「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>OAuth 2.0 Threat Model (Flow)]]

* 目次 [#hcdf0e5c]
#contents

*概要 [#cfaa27f5]
[[OAuth 2.0 Threat Model and Security Considerations]]の~
Flowに着目した脅威モデルのうち、ここでは唯一、~
サインイン・プロセスの問題を扱う(ただし非対話)。

※ [[OAuth]] 2.0ではIdPの仕様について言及されていないので。

*サインイン・プロセスの問題 [#x903cf86]
レガシー/マイグレーションの理由でよく使用される。

**攻撃 [#b387a0f5]
-ユーザID/パスワードの漏洩
-非対話的問題を突いた攻撃。

**対策 [#l915dfd8]
限定的に利用する。

-基本認証から移行する過渡期
-UserAgentがAuthorization Serverに接続できない場合
-ClientとAuthorization Serverが同じ組織に利用されているケース

**共通項 [#t3a417b9]
-Resource Ownerは認可プロセスを制御できない。
-ClientにユーザID/パスワードが渡る。

***共通的な影響 [#dffb5785]
悪意のあるClientにscopeの広いトークンが悪用され得る。

-Resource Ownerは、認可プロセスを制御できない。~
故に、非対話的問題を突いた攻撃を受け易い(scopeの広いトークン)。

-ClientにユーザID/パスワードが渡る。~
故に、トークン取り消しが機能しない。

*ユーザID/パスワードの漏洩 [#xbbd1ae3]

**ユーザID/パスワードの盗難 [#db447962]

***影響 [#h002f857]
[[共通的な影響>#dffb5785]]

***攻撃 [#ueae69f1]
悪意のあるClientによるユーザID/パスワード盗難

***対策 [#b6dc1303]
-ユーザに異なるサービスに同じ~
-Resource Ownerに異なるサービスに同じ~
ユーザID/パスワードを使用しないように促す。~
(悪意のあるClientが別のサービスにログイン可能)

-refresh_tokenとclient_idの紐付けを検証~
(audによるClient制限を行うことが出来る)

**ユーザID/パスワードの盗聴 [#g872ebc1]

***影響 [#ubfda847]
[[共通的な影響>#dffb5785]]

***攻撃 [#hf181037]
エンドポイントに対するユーザID/パスワード盗聴

***対策 [#k5d9ffbf]
-SSL/TLSを利用する。
-平文認証を使用しない代替認証を使用する。

**ユーザID/パスワードのオンライン推測 [#s789d1f8]

***影響 [#k2df1fdd]
単一のユーザID/パスワードの組み合わせの啓示

***攻撃 [#p3f485b4]
有効なユーザID/パスワードの組み合わせを推測

***対策 [#se987155]
-他のフローを使用する。

-サインイン
--安全なパスワード・ポリシー設定する。
--ロックアウトを使用する。
--タールピットを使用する。
--CAPTCHAを使用する。

-クライアント認証を併用する。

**Client側でのユーザID/パスワードの露見アクシデント [#v557e2e3]

***影響 [#a85d7b1b]
[[共通的な影響>#dffb5785]]

***攻撃 [#ma826c54]
Clientが十分な保護を提供していない場合、偶発的に起きる。

***対策 [#adb2505d]
-他のフローを使用する。
-(Client側で)ログのパスワードを難読化
-(Client-AuthZ側で)
--要求の機密性を確保する(TLS、VPN)
--ダイジェスト認証を使用

**DBからユーザID/パスワードを盗難 [#g0480796]

***影響 [#eb0bced2]
すべてのユーザID/パスワードの開示

***攻撃 [#s49566e3]
-データベースへのアクセス権を取得
-SQLインジェクション攻撃

***対策 [#d4349cdc]
-システムのセキュリティ対策を実施
-標準のSQLインジェクション対策を実施
-ハッシュのみを格納

*非対話的問題を突いた攻撃。 [#g0549aa5]

**[[ユーザID/パスワードのオンライン推測>#s789d1f8]] [#h0ad9251]

**意図しない不要に大きなscope [#w71cb4d0]

***影響 [#v8648471]
悪意のあるClientが、不要に大きなscopeを持ったトークンを取得できる。

***攻撃 [#j88ae5de]
悪意のあるClientが、不要に大きなscopeを持ったトークンを要求する。

***対策 [#w094e5b5]
-他の(対話的)フローを使用する。

-認可されるscopeを、
--当該(非対話的)フローで制限
--Clientの信頼性よって緩和
--任意の通知手段によってResource Ownerに通知する。

**refresh_tokenによる長期的認可の維持 [#bafbe5ca]

***影響 [#f5f2399c]
長期的認可の維持~
(この場合、Resource OwnerのCredential変更も有効でない)

***攻撃 [#xff0ef19]
自動再認可でrefresh_tokenを入手。

***対策 [#ze601703]
-他の(対話的)フローを使用する。

-当該フローでrefresh_tokenの発行を
--しない。
--Clientの信頼性よって緩和
--任意の通知手段によってResource Ownerに通知する。

----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認証]], [[:OAuth]]

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