「[[マイクロソフト系技術情報 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により横取りする的な意味か。

***対策 [#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を関連付ける。
--事前にAuthorization ServerがResource ServerのEndpoint URLを通知する必要がある。
--Endpointの検証ポリシーは
---厳密(完全一致)
---または緩やか(たとえば、同じホスト)

-[[認証されたリクエスト>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に制限する(audを使用する)。

**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: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認証]], [[:OAuth]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS