OAuth 2.0 Security Considerations (Role)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>OAuth 2.0 Threat Model and Security Consideration...
* 目次 [#m202f7bf]
#contents
*概要 [#h8c47a31]
OAuth 2.0 Threat Model and Security Considerationsの~
各種役割に適用されるセキュリティ考慮事項。
*Authorization Server [#e55b2047]
**code [#fdd9b505]
***対象 [#n20003b7]
codeを使用したアクセストークン・リクエスト
***脅威 [#ec01e3cd]
codeの不正使用(オンライン推測などによる)
***対策 [#af2ddda9]
-不正使用が検出された場合、トークンを自動失効する。
-jtiで、トークンを識別して[[OAuth 2.0 Token Revocation]]...
**refresh_token [#tf3e1153]
***対象 [#iae18d98]
refresh_tokenを使用したアクセストークン・リクエスト
***脅威 [#db115a06]
refresh_tokenの不正使用
-refresh_tokenの漏洩/盗難
-Deviceの盗難
-脆弱な、侵害されたClient
-クリック・ジャッキング攻撃
-Resource Ownerの偽装
***対策 [#t1aca042]
-制限付き発行
--ポリシー
---クライアントのタイプ~
パブリック or コンフェデンシャル
---サービスのタイプ
---Resource Owner設定
--ポリシー+選好
-ローテーション処理の実装
--リフレッシュ要求ごとにrefresh_token値を変更する。
--これにより、以下の試みを自動的に検出して防止できる。
---refresh_tokenを並行して使用
---古いrefresh_tokenを使用
-バインド
--Client識別(ClientID)
--Device識別(DeviceID)
-X-FRAME-OPTIONSヘッダ~
IFRAME防止によるクリックジャック攻撃の防止
-[[OAuth 2.0 Token Revocation]]で失効。
*Client [#t83200b3]
**Client認証 [#u4b01da1]
***対象 [#i06a6f19]
-Clientの認証
-Client ( ---> Authorization Server・Resource Serverの各E...
***脅威 [#z01e8fcb]
-脆弱なClient、~
パブリック・クライアント
--client_secret漏洩
-悪意のあるClient、~
パブリック・クライアント偽装
--XSS攻撃
--codeフィッシング攻撃
--オープンリダイレクタ
***対策 [#ue0d953d]
クライアント認証により、Authorization Server・Resource Se...
-脆弱なClientにclient_secretを発行しない。
-パブリック・クライアントの自動認可を許可すべきでない。
-client_id/(client_secret/)redirect_uriを要求。
--対象
---認可リクエスト
---アクセストークン・リクエスト
--要件
---インストール固有のclient_secretを使用する。~
(DeviceにインストールするClientの場合、インストール毎に...
---redirect_uriのフルパス登録・検証
---取り消し可能なclient_id/client_secret
-[[強力なクライアント認証>JWT bearer token authorization...
**Clientセキュリティ [#eef988d2]
***対象 [#w709e12f]
-Clientのセキュリティ
-Client ( ---> Authorization Serverの各Endpoint )
***脅威 [#jc7f8357]
-脆弱なClientに対する攻撃
--リエンジ攻撃
--Clientの脆弱性に対する攻撃
***対策 [#ga404253]
-Clientパッケージ内にclient_secretを保存しない(デプロイ...
-refresh_tokenストレージを信頼できるバックエンドにスワップ
-サーバ:セキュリティ対策を実施
--システムのセキュリティ対策を実施
--標準のSQLインジェクション対策を実施
-モバイル:
--Deviceロック(パスワード、PIN、指紋認証、顔認証)
--安全なローカル・ストレージに保存
---パーソナル分離ストレージ
---アプリケーション固有ストレージ
-ClientはUserAgentセッションにstateパラメタを追加
**ClientとResource Owner間のやり取り [#vb22a0b4]
***対象 [#a29261fb]
ユーザ操作
***脅威 [#ec012fa2]
-一般ユーザ(Resource Owner)にとって、認可画面の意味が不明
--認可画面で「はい」と回答した結果を理解する専門知識を持...
--要求の文言に微妙な違いを見ることができない。
-Device上でのソフトウェア脆弱性の脅威は強く、緩和も困難。
--WWWブラウザの脆弱性
--人気のあるClientの脆弱性
-インストールしたClientソフトウェアの使用を制限
---一部の限定的な環境では実用的。
---しかし、一般的な環境では実用的ではなく、~
事実回復後のメカニズムが整備されているべき(?
-自動再認証、認可画面非表示により、認証認可プロセスを隠す。
--攻撃者は、侵害されたまたは悪意のある役割上で資格情報を...
***対策 [#i19fe730]
-自動再認証、認可画面非表示の問題に解決策はなく、~
UXとセキュリティ間のトレード・オフを考慮して決定する必要...
-DeviceにインストールしたClientプロパティのアサート
--検証できないプロパティを明示的に指摘
--特定のClientへのアクセス許可に関連するリスクをエンド・...
*Resource Server [#le69104f]
Authorization: Bearer JWTで、大方、解決する。
**Authorization Headers [#la8902f2]
***対象 [#n0859146]
[[Authenticated Requests>#g49766f4]]
Authorization: Bearer XXXXX
***脅威 [#t85cacca]
未認証アクセス
-漏洩
-または意図しない永続化
***対策 [#ke79cc5b]
Authorizationヘッダを利用し認証アクセス
-HTTPプロキシとサーバによって認識され、特別に扱われる。
-これにより、漏洩または意図しない永続化の可能性が低減され...
**認証されたリクエスト [#g49766f4]
***対象 [#df0d3f91]
トークン乱用
***脅威 [#dafe4632]
トークン乱用の防止。
***対策 [#ra99d42c]
以下のような方法で、Client認証を行う。
-client_idにaccess_tokenをバインドする。
--Resource Serverはclient_idを[[クライアント証明書>OAuth ...
オプションとして、リクエストを署名するケースもある。
--[[持参人切符ではなく、記名式切符を使用する。>トークン#b...
この場合、トークン内の暗号化セクションにclient_secretを同...
**署名されたリクエスト [#ab4b2f83]
***対象 [#o1977e50]
ユーザーデータの変更/破棄
***脅威 [#wdf8840b]
キャプチャ&リプレイ
***対策 [#wa70e6ca]
リクエストは
-一意に識別可能にする。
-2回処理されないようにする。
*Resource Owner [#c9edb9bc]
**End-User許可 [#z95f0c96]
***対象 [#p4cf22aa]
-Resource OwnerによるClientの許可
-Client ( ---> Authorization Serverの各Endpoint )
***脅威 [#w676b11a]
-脆弱なClient
-悪意のあるClient
-オンライン推測
-オープンリダイレクタ
***対策 [#wfa63e53]
-認証・認可の自動処理でクライアント認証を要求
--client_id/(client_secret/)redirect_uri
--[[強力なクライアント認証>JWT bearer token authorization...
-インフォームド・デシジョン~
認証・認可画面の表示
--Clientに何のscopeをどの期間許可するか?
--Clientプロパティ検証
---Webサイト名
---アプリケーション名
-client_id/(client_secret/)redirect_uriへのバインディング
--code
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>OAuth 2.0 Threat Model and Security Consideration...
* 目次 [#m202f7bf]
#contents
*概要 [#h8c47a31]
OAuth 2.0 Threat Model and Security Considerationsの~
各種役割に適用されるセキュリティ考慮事項。
*Authorization Server [#e55b2047]
**code [#fdd9b505]
***対象 [#n20003b7]
codeを使用したアクセストークン・リクエスト
***脅威 [#ec01e3cd]
codeの不正使用(オンライン推測などによる)
***対策 [#af2ddda9]
-不正使用が検出された場合、トークンを自動失効する。
-jtiで、トークンを識別して[[OAuth 2.0 Token Revocation]]...
**refresh_token [#tf3e1153]
***対象 [#iae18d98]
refresh_tokenを使用したアクセストークン・リクエスト
***脅威 [#db115a06]
refresh_tokenの不正使用
-refresh_tokenの漏洩/盗難
-Deviceの盗難
-脆弱な、侵害されたClient
-クリック・ジャッキング攻撃
-Resource Ownerの偽装
***対策 [#t1aca042]
-制限付き発行
--ポリシー
---クライアントのタイプ~
パブリック or コンフェデンシャル
---サービスのタイプ
---Resource Owner設定
--ポリシー+選好
-ローテーション処理の実装
--リフレッシュ要求ごとにrefresh_token値を変更する。
--これにより、以下の試みを自動的に検出して防止できる。
---refresh_tokenを並行して使用
---古いrefresh_tokenを使用
-バインド
--Client識別(ClientID)
--Device識別(DeviceID)
-X-FRAME-OPTIONSヘッダ~
IFRAME防止によるクリックジャック攻撃の防止
-[[OAuth 2.0 Token Revocation]]で失効。
*Client [#t83200b3]
**Client認証 [#u4b01da1]
***対象 [#i06a6f19]
-Clientの認証
-Client ( ---> Authorization Server・Resource Serverの各E...
***脅威 [#z01e8fcb]
-脆弱なClient、~
パブリック・クライアント
--client_secret漏洩
-悪意のあるClient、~
パブリック・クライアント偽装
--XSS攻撃
--codeフィッシング攻撃
--オープンリダイレクタ
***対策 [#ue0d953d]
クライアント認証により、Authorization Server・Resource Se...
-脆弱なClientにclient_secretを発行しない。
-パブリック・クライアントの自動認可を許可すべきでない。
-client_id/(client_secret/)redirect_uriを要求。
--対象
---認可リクエスト
---アクセストークン・リクエスト
--要件
---インストール固有のclient_secretを使用する。~
(DeviceにインストールするClientの場合、インストール毎に...
---redirect_uriのフルパス登録・検証
---取り消し可能なclient_id/client_secret
-[[強力なクライアント認証>JWT bearer token authorization...
**Clientセキュリティ [#eef988d2]
***対象 [#w709e12f]
-Clientのセキュリティ
-Client ( ---> Authorization Serverの各Endpoint )
***脅威 [#jc7f8357]
-脆弱なClientに対する攻撃
--リエンジ攻撃
--Clientの脆弱性に対する攻撃
***対策 [#ga404253]
-Clientパッケージ内にclient_secretを保存しない(デプロイ...
-refresh_tokenストレージを信頼できるバックエンドにスワップ
-サーバ:セキュリティ対策を実施
--システムのセキュリティ対策を実施
--標準のSQLインジェクション対策を実施
-モバイル:
--Deviceロック(パスワード、PIN、指紋認証、顔認証)
--安全なローカル・ストレージに保存
---パーソナル分離ストレージ
---アプリケーション固有ストレージ
-ClientはUserAgentセッションにstateパラメタを追加
**ClientとResource Owner間のやり取り [#vb22a0b4]
***対象 [#a29261fb]
ユーザ操作
***脅威 [#ec012fa2]
-一般ユーザ(Resource Owner)にとって、認可画面の意味が不明
--認可画面で「はい」と回答した結果を理解する専門知識を持...
--要求の文言に微妙な違いを見ることができない。
-Device上でのソフトウェア脆弱性の脅威は強く、緩和も困難。
--WWWブラウザの脆弱性
--人気のあるClientの脆弱性
-インストールしたClientソフトウェアの使用を制限
---一部の限定的な環境では実用的。
---しかし、一般的な環境では実用的ではなく、~
事実回復後のメカニズムが整備されているべき(?
-自動再認証、認可画面非表示により、認証認可プロセスを隠す。
--攻撃者は、侵害されたまたは悪意のある役割上で資格情報を...
***対策 [#i19fe730]
-自動再認証、認可画面非表示の問題に解決策はなく、~
UXとセキュリティ間のトレード・オフを考慮して決定する必要...
-DeviceにインストールしたClientプロパティのアサート
--検証できないプロパティを明示的に指摘
--特定のClientへのアクセス許可に関連するリスクをエンド・...
*Resource Server [#le69104f]
Authorization: Bearer JWTで、大方、解決する。
**Authorization Headers [#la8902f2]
***対象 [#n0859146]
[[Authenticated Requests>#g49766f4]]
Authorization: Bearer XXXXX
***脅威 [#t85cacca]
未認証アクセス
-漏洩
-または意図しない永続化
***対策 [#ke79cc5b]
Authorizationヘッダを利用し認証アクセス
-HTTPプロキシとサーバによって認識され、特別に扱われる。
-これにより、漏洩または意図しない永続化の可能性が低減され...
**認証されたリクエスト [#g49766f4]
***対象 [#df0d3f91]
トークン乱用
***脅威 [#dafe4632]
トークン乱用の防止。
***対策 [#ra99d42c]
以下のような方法で、Client認証を行う。
-client_idにaccess_tokenをバインドする。
--Resource Serverはclient_idを[[クライアント証明書>OAuth ...
オプションとして、リクエストを署名するケースもある。
--[[持参人切符ではなく、記名式切符を使用する。>トークン#b...
この場合、トークン内の暗号化セクションにclient_secretを同...
**署名されたリクエスト [#ab4b2f83]
***対象 [#o1977e50]
ユーザーデータの変更/破棄
***脅威 [#wdf8840b]
キャプチャ&リプレイ
***対策 [#wa70e6ca]
リクエストは
-一意に識別可能にする。
-2回処理されないようにする。
*Resource Owner [#c9edb9bc]
**End-User許可 [#z95f0c96]
***対象 [#p4cf22aa]
-Resource OwnerによるClientの許可
-Client ( ---> Authorization Serverの各Endpoint )
***脅威 [#w676b11a]
-脆弱なClient
-悪意のあるClient
-オンライン推測
-オープンリダイレクタ
***対策 [#wfa63e53]
-認証・認可の自動処理でクライアント認証を要求
--client_id/(client_secret/)redirect_uri
--[[強力なクライアント認証>JWT bearer token authorization...
-インフォームド・デシジョン~
認証・認可画面の表示
--Clientに何のscopeをどの期間許可するか?
--Clientプロパティ検証
---Webサイト名
---アプリケーション名
-client_id/(client_secret/)redirect_uriへのバインディング
--code
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
ページ名: