- 追加された行はこの色です。
- 削除された行はこの色です。
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>OAuth 2.0 Threat Model and Security Considerations]]
* 目次 [#sa0ed533]
#contents
*概要 [#j0f9297f]
OAuth 2.0 Threat Model and Security ConsiderationsのAccessに着目した脅威モデル。
-[[Token Endpoint (Refresh)>#f64b702b]]
-[[Resources Server Endpoint (WebAPI)>#eaab3837]]
*Token Endpoint (Refresh) [#f64b702b]
**refresh_tokenの盗聴 [#faad9812]
***影響 [#i0ef5b3e]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#hf690590]]と同じ。
***攻撃 [#i403e34f]
盗聴
***対策 [#y09f020b]
-SSL/TLSの利用
-SSL/TLSの利用できない場合。
--有効期間を短くする。
--スコープを制限する。
-client_idにrefresh_tokenをバインド
**DBからrefresh_tokenを盗難 [#t1405624]
***影響 [#ye11af8c]
すべての[[refresh_tokenの開示>OAuth 2.0 Threat Model (Role)#hf690590]]
***攻撃 [#e8806ab3]
-データベースへのアクセス権を取得
-SQLインジェクション攻撃
***対策 [#mdb3e53b]
-システムのセキュリティ対策を実施
-標準のSQLインジェクション対策を実施
-client_idにrefresh_tokenをバインド
**refresh_tokenのオンライン推測 [#j7fc5fd1]
***影響 [#cfbb67c0]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#hf690590]]と同じ。
***攻撃 [#he07aaa0]
refresh_tokenのオンライン推測
***対策 [#pb91a799]
-クライアント認証
-トークン・ハンドルに高いエントロピーを使用
-自己完結型トークンに署名をしたアサーションを使用
-client_idにrefresh_tokenをバインド
**偽造Authorization Serverによるrefresh_tokenフィッシング [#bf6eb687]
***影響 [#n9e3f1c4]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#hf690590]]と同じ。
***攻撃 [#w3418ab3]
Authorization Serverへの要求をプロキシする
Authorization Serverへの要求をプロキシする。~
※ 偽造Authorization Serverにより横取りする的な意味か。
***対策 [#s907505d]
SSL/TLS(サーバ証明)の利用
SSL/TLS([[サーバ証明>OAuth 2.0 Security Considerations (General)#rf5914dc]])の利用
*Resources Server Endpoint (WebAPI) [#eaab3837]
**access_tokenの盗聴 [#ifd33efc]
***影響 [#dd700b73]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。
***攻撃 [#gcf6cdd3]
盗聴
***対策 [#u1b159d8]
-SSL/TLSの利用
-SSL/TLSの利用できない場合。
--有効期間を短くする。
--スコープを制限する。
-client_idにaccess_tokenをバインド~
([[認証されたリクエスト>OAuth 2.0 Security Considerations (Role)#g49766f4]]の利用)
**有効な要求の再生 [#ec7e94fe]
***影響 [#ie77054a]
ユーザーデータの変更/破棄
***攻撃 [#ic468af6]
キャプチャ&リプレイ
攻撃者は有効な要求をキャプチャ&リプレイ
***対策 [#bd69bb0a]
-SSL/TLS(サーバ証明)の利用
-SSL/TLS([[サーバ証明>OAuth 2.0 Security Considerations (General)#rf5914dc]])の利用
-SSL/TLSの代替
--署名されたリクエストの利用
--[[署名されたリクエスト>OAuth 2.0 Security Considerations (Role)#ab4b2f83]]の利用
--若しくはnonceとtimestampを使用
**access_tokenのオンライン推測 [#z45968eb]
***影響 [#nc0ce891]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。
***攻撃 [#f52ebba1]
access_tokenのオンライン推測
***対策 [#n61594b4]
-トークン・ハンドルに高いエントロピーを使用
-自己完結型トークンに署名をしたアサーションを使用
-有効期間を短くすることで更に強化される。
**偽造Resource Serverによるaccess_tokenフィッシング [#fba8410a]
***影響 [#b19bf5e3]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。
***攻撃 [#fe6f6f99]
偽造Resource Serverによるaccess_tokenフィッシング
***対策 [#r7a7dabc]
-SSL/TLS(サーバ証明)~
-SSL/TLS([[サーバ証明>OAuth 2.0 Security Considerations (General)#rf5914dc]])~
不明なResource Serverへaccess_tokenを使用してリクエストしない。
-access_tokenのaudに対して、Endpoint関連付けを行う。
--Endpointの検証ポリシーは厳密(完全一致)または緩やか(たとえば、同じホスト)
--事前にResource ServerのEndpoint URLをAuthorization Serverに通知する必要がある。
-access_tokenのaudに対して、Endpointを関連付ける。
--事前にAuthorization ServerがResource ServerのEndpoint URLを通知する必要がある。
--Endpointの検証ポリシーは
---厳密(完全一致)
---または緩やか(たとえば、同じホスト)
-(Resource Serverでの)クライアント認証
--client_idではなく、audを使用
--client_secretではなく、処理を使用
-[[認証されたリクエスト>OAuth 2.0 Security Considerations (Role)#g49766f4]]の+クライアント証明書などで、Resource Serverはクライアント認証する。
-access_tokenの制限
--scopeを制限
--特定のResource Serverに制限する。
**access_tokenの不正使用 [#d05f27b3]
***影響 [#n6de4342]
不正使用(意図していないResource Serverでの利用が拡大する)。
***攻撃 [#p2da7f08]
-Resource Serverが、別のResource Serverにaccess_tokenを使用してリクエスト
-ClientやUserAgentが、別のResource Serverにaccess_tokenを使用してリクエスト
***対策 [#m0a059c3]
access_tokenは、特定のResource Serverに制限する。
access_tokenは、特定のResource Serverに制限する(audを使用する)。
**HTTP proxyによるaccess_token漏洩 [#o0b6d121]
**HTTP proxyによる機密情報の漏洩 [#o0b6d121]
***影響 [#v84b9735]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。
***攻撃 [#f148787f]
Authorization と WWW-Authenticate ヘッダの読み取り。
***対策 [#h1181389]
-Client
--Cache-Control: no-store~
Webサーバから返されてくるコンテンツをキャッシュに記録するな、という指示。
-Resource Server
--Cache-Control: private~
Webサーバから返されるコンテンツが1人のユーザのためのものであることを示す。
---共有キャッシュに記録されるべきではないことを表す。
---ブラウザのキャッシュ等への記録はされる。
-軽減
--有効期間を短くする。
--スコープを制限する。
**ログやHTTP refererからのaccess_token漏洩 [#k8a61c41]
***影響 [#r12c7a61]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。
***攻撃 [#v9bfe6f8]
Query String利用時、(記録から)漏洩
-HTTP referer
-WWWサーバの要求ログ
-WWWブラウザの履歴情報
***対策 [#xf4447ee]
-AuthorizationヘッダまたはPOSTパラメタを使用する。
-認証済みリクエストの利用~
アサーションのsubと認証済みリクエストのidを検証
-軽減
--有効期間を短くする。
--スコープを制限する。
--ワンタイム・トークン
----
Tags: [[:認証基盤]], [[:クレームベース認証]], [[:OAuth]]
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認証]], [[:OAuth]]