すべてのapi呼び出しがhttpsを通じて送信される場合、HMACは追加のセキュリティを追加しますか?たとえば、oauth 2では、クライアントはハッシュをまったく使用せずにその秘密鍵をプロバイダに送信します。これはhttpsを超えているため安全だと考えられますか?厳密にoauthではなく、この呼び出しでHMACを使用するとoauth 2がより安全になりますか?もしそうなら、なぜそれがoauth 2の標準的な部分ではないのですか?すべてのAPI呼び出しがhttpsを通じて行われる場合、HMACは必要ですか?
答えて
OAuth 2標準では、認証サーバはすべてのエンドポイントでHTTPSを使用しなければならず、クライアントはHTTPSで保護されたコールバックを使用する必要があります(SHOULD)。メッセージの内容(ヘッダ、クエリパラメータ、OAuthを考慮したフラグメント)はサーバとクライアントだけが知っているので、HTTPS接続の使用は安全と考えられます。したがって、認証要求に別の署名を使用することは得られません。そのため、そのような署名は標準で言及されていません。
これは必ずしも応答のために保持する必要はありません。クライアントが保護されていないコールバックに対する認証応答を受け取った場合、クライアントはその有効性を検証できません。このような場合、攻撃者は任意の認証結果をクライアントに送信できます。コールバックパラメータでシグネチャを追加すると、これを回避できます。しかし、代わりにHTTPSコールバックを使用して相互クライアント/サーバー認証を使用する方が良い方法と思われます。
承認中に署名を使用することは実際にはありませんが、アクセストークンを盗むのを防ぐために保護されたリソースにアクセスすると便利です。このため、MACトークンタイプが標準になっています(section 7.1を参照)。
HMACはあなたが誰であるかを判断する認証用です。httpsは、トランスポートのセキュリティを目的としたもので、途中の人に確実にトランスポートのコンテンツが表示されます。
Oauth 2認証サーバーは、あなたが誰であるかを決定する秘密鍵またはパスワードを使用します。 Oauth2リソースサーバーは、自分が誰であるかを判断する認証サーバーからのトークンを使用します。 httpsを使用するかどうかは、秘密鍵とトークンを保護するかどうかによって異なります。
- 1. Web APIとレンダリングテンプレートは、同じ関数呼び出しで呼び出す必要がありますか?
- 2. ScheduledExecutorService:シャットダウンを呼び出す必要がある場合
- 3. androidカスタムビューコンストラクタの場合はsuper()を呼び出すかthis()を呼び出す必要がありますか?
- 4. プロセスが終了している場合は、Marshal.ReleaseComObjectを呼び出す必要がありますか?
- 5. ベースのプロトコル(https://で)すべてのレンダリング/ redirect_to呼び出し
- 6. SqlReader.Readを呼び出す場合はSqlDataReader.HasRowsを呼び出す必要があります
- 7. クラスライブラリ/ファイルから呼び出しウィンドウフォームを閉じる方法は?呼び出しフォームにアクセスして.close()を実行する必要があります
- 8. 必要に応じて関数を呼び出す
- 9. UILocalNotification cancelAllLocalNotificationsを呼び出すと、呼び出されているアプリまたはすべての通知の通知のみがキャンセルされますか?
- 10. Graph APIと通信するためにはHTTPSが必要ですか?
- 11. jquery accordion - httpsの場合はすべて表示しますか?
- 12. このAPI呼び出しには、有効なapp_idが必要です
- 13. Redbean PHP ORMを使用する場合は、すべてのスクリプトでR :: freeze()を呼び出す必要がありますか?
- 14. 動的ディスパッチの場合、オーバーライドされたメソッドの呼び出しはどのように行われますか
- 15. すべてのdef呼び出しのRuby呼び出しメソッド?
- 16. glMatrixModeを呼び出すたびにglLoadIdentityを呼び出す必要があるのはなぜですか?
- 17. Fiddlerを開いている場合にのみASP.NETでAPIを呼び出すのはなぜですか?
- 18. プロセスが終了コード0で終了する場合、Process.destroy()を呼び出す必要がありますか?
- 19. すべてのMSHTMLオブジェクトでReleaseComObjectを必ず呼び出す必要はありますか?
- 20. 呼び出し値がnullの場合
- 21. SharedPreferencesオブジェクトはjavaで値が割り当てられている場合にリスナーを呼び出しますか?
- 22. インライン関数へのすべての呼び出しを再コンパイルする必要がありますか?
- 23. RailsでAJAX呼び出しをチェーンするには?最初の呼び出しの結果に応じて実行される一連の呼び出し
- 24. Web Api/Restfulに必要なHTTPステータスはhttpsが必要です
- 25. Smart GWT:ListGrid.createRecordComponent()がすべての行に対して呼び出されない
- 26. ユーザーが検索エンジンを通じてjspを要求したときにstruts2アクションが呼び出される
- 27. Googleの場所を呼び出すapi
- 28. JUnitテスト - JUnitCore.main()の呼び出しが必要ですか?
- 29. 同じインスタンスのWebアプリケーションとWebサービス内でHTTPS通信が必要ですか?
- 30. glBindBufferが呼び出されるたびにglVertexAttribPointerが必要ですか?