「[[マイクロソフト系技術情報 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]
**refresh_tokenの盗聴 [#faad9812]
***影響 [#i0ef5b3e]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#hf690590]]と同じ。

***攻撃 [#i403e34f]
盗聴

***対策 [#y09f020b]
-SSL/TLSの利用
-SSL/TLSの利用できない場合。
--有効期間を短くする。
--スコープを制限する。

**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]
-クライアント認証
-Tokenハンドルに高いエントロピーを使用
-自己完結型トークンに署名をしたアサーションを使用
-client_idにrefresh_tokenをバインド

**偽造Authorization Serverによるrefresh_tokenフィッシング [#bf6eb687]
***影響 [#n9e3f1c4]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#hf690590]]と同じ。

***攻撃 [#w3418ab3]
Authorization Serverへの要求をプロキシする

***対策 [#s907505d]
SSL/TLS(サーバ証明)の利用

*Resources Server Endpoint (WebAPI) [#eaab3837]
**access_tokenの盗聴 [#ifd33efc]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。

**有効な要求の再生 [#ec7e94fe]
***影響 [#ie77054a]

***攻撃 [#ic468af6]
キャプチャ&リプレイ

***対策 [#bd69bb0a]
-SSL/TLS(サーバ証明)の利用
-署名されたリクエストの利用
-若しくはnonceとtimestampを使用

**access_tokenのオンライン推測 [#z45968eb]
***影響 [#nc0ce891]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。

***攻撃 [#f52ebba1]
access_tokenのオンライン推測

***対策 [#n61594b4]
-Tokenハンドルに高いエントロピーを使用
-自己完結型トークンに署名をしたアサーションを使用
-有効期間を短くすることで更に強化される。

**偽造Resource Serverによるaccess_tokenフィッシング [#fba8410a]
***影響 [#b19bf5e3]
影響は、[[コチラ>OAuth 2.0 Threat Model (Role)#a1503bb7]]と同じ。

***攻撃 [#fe6f6f99]
偽造Resource Serverによるaccess_tokenフィッシング

***対策 [#r7a7dabc]
-SSL/TLS(サーバ証明)~
不明なResource Serverへaccess_tokenを使用してリクエストしない。

-access_tokenのaudに対して、Endpoint関連付けを行う。
--Endpointの検証ポリシーは厳密(完全一致)または緩やか(たとえば、同じホスト)
--事前にResource ServerのEndpoint URLをAuthorization Serverに通知する必要がある。

-(Resource Serverでの)クライアント認証
--client_idではなく、audを使用
--client_secretではなく、処理を使用

-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に制限する。

**HTTP proxyによるaccess_token漏洩 [#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]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS