2017-04-07 4 views
0

私はプルーフ・キーRFC [2]とともにauth 2.0プロトコル[1]を使っていました。プロトコルがネットワークトラフィックを傍受している悪意のあるアプリからどのように保護されるかを説明します。しかし、auth 2.0プロトコルがブラウザ上で動作する悪質なコードからどのように保護されるかを理解することはできません。OAuth 2.0ブラウザ上の悪意のある傍受者

証明鍵RFCプロトコルの簡単な例を考えてみましょう。高エントロピーコードベリファイアを生成しますが、それを再度使用してトークンを取得するには、ブラウザのどこかに(おそらくクッキー/ブラウザのローカルストレージに)格納する必要があります。今や、ブラウザ上で悪意のあるコードが実行されている場合、常にクッキー/ローカルストレージにアクセスしてコードベリファイアを取得できます。

Cookieベースの攻撃から保護するプロトコル拡張機能(RFC-7636に似ています)がありますか?そうでない場合は、どうすれば軽減できますか?

[1]クライアントの異なるタイプのhttps://tools.ietf.org/html/rfc6749

[2] https://tools.ietf.org/html/rfc7636

答えて

1

OAuth 2.0の向き、すなわちWebクライアント、ブラウザ内のクライアントおよびネイティブモバイルアプリケーションクライアント。

PCKE OAuth 2.0のメカニズムは、主にネイティブモバイルアプリ向けに設計されています。これにより、公開されているクライアントは、認証コードを取得する可能性のある悪意のあるアプリや攻撃者から身を守ることができます。

Webクライアントを扱う場合、PCKEメカニズムは必要ありません。これらの攻撃は、サーバー側に格納されたクライアント秘密の機密クライアントを使用することで防ぐことができます。

ブラウザ内のクライアントを扱うときは、あなたが言及している問題がありますが、一般に、ブラウザで悪質なコードが実行されていると、すべての希望が失われます。

要約:PKCEは、ブラウザでのクロスサイトスクリプティング攻撃を防御するメカニズムではありません。

+0

ありがとうございます!だから、ブラウザ内のクライアントのためのそのようなシナリオから保護する方法は何ですか? – Hrishi

+0

何もOAuthに固有ではありません。 XSSに対する一般的な保護が適用されます –