-1

私は Web サービスを初めて使用するので、Web サービスで使用できるトークン ベースの認証については、トークン ベースの認証とは? を参照してください。. 私はインターネットで検索しましたが、 http ベースの Web サイトがセキュリティの脆弱性なしでトークンベースの認証を行う方法は非常に混乱しています。

私が持っているポイントは何ですか?

サーバーとクライアントの間に座って、トラフィックを盗聴することで何らかの方法でトークンを保存し、有効期限が切れる前に悪用することができます。私はここで間違っていますか?

EDIT

https://security.stackexchange.com/questions/46348/token-based-authentication-under-httpで述べたように。

「Facebook は、Cookie または HTTP ヘッダーとして渡され、HTTPS によって保護された OAuth トークンを使用します。」

その場合、Web サイトは http ベースになり、http ヘッダーのみが https を使用するため、これをどのように実装できますか。間違っている場合は修正してください。

4

1 に答える 1

2

あなたの編集は、HTTPS の機能の誤解を示唆しています。

規範的に言えば、HTTP ( https://www.ietf.org/rfc/rfc2616.txtで定義された、ネットワーク上で話される「言語」を意味する) は、TCP を介して使用されるテキストベースの「アプリケーションレベルプロトコル」です。ソケット (TCP は「トランスポート レベル」レイヤーです)。

その意味で、HTTP と HTTPS は同じ「言語」であり、違いはありません。HTTP と HTTPS はどちらもテキスト ベースの要求/応答プロトコルであり、それぞれがヘッダーと本文で構成され、要求は GET、POST、PUT などの動詞を指定します。違いはありません。

HTTPとHTTPS の違いは、この HTTP "言語" (アプリケーション レベル プロトコル) の下で、HTTPS が暗号化を提供する SSL または TLS レイヤーを使用して暗号化された TCP ソケットを使用することです

SSL/TLS レイヤーは HTTP レイヤーの下で発生するため、リクエストのヘッダーに発生することと本文に発生することに違いはありません。

あなたの質問に戻る:

その場合、Web サイトは http ベースになり、http ヘッダーのみが https を使用するため、これをどのように実装できますか。間違っている場合は修正してください。

単一の要求/応答サイクルで HTTPS を使用して、ヘッダーだけを使用し、本文を使用することはできません。それはすべてまたは何もありません。

結論は、リンク先の記事によると、トークンベースの認証は、トークンが常に保護されている場合にのみ安全になります。常に HTTPS を (すべての要求/応答で) 使用している場合は、これが保証されます (ヘッダーと本文の両方が保護されます)。リクエストまたはレスポンスが 1 つでも HTTPS 経由で送信されない場合は、欠陥があります。

于 2015-10-08T20:43:27.797 に答える