「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- OAuth 2.0 の脅威モデルとセキュリティ考慮事項 (RFC 6819)
- OAuth 2.0 の実装にあたり、脅威モデルとセキュリティ考慮事項を列挙
- セクション4以降からの内容で、OAuth 2.0 の前提は飛ばしている。
脅威モデル †
セキュリティ考慮事項 †
ざっくり †
対策 †
漏洩対策 †
- SSL/TLS(サーバ証明)を利用する。
- 正規のClientへ発行されたトークンの漏洩に注意。
- code(state):code置換攻撃が可能。
- access_token:access_tokenを利用可能。
エンドポイント防御 †
- stateを付与・検証する。
- redirect_uri 検証を行う。
- クライアント認証を行う。
トークン堅牢化 †
- 低いエントロピーの値を使用しない。
- access_tokenをJWT化する。
トークン検証 †
- (JWT化した場合、)Client、Resource Serverでも、
- クレームセット検証する。
- iss(issuer)
issは署名検証があるので偽装困難
- aud(client_id)
Resource Serverでもaudによるクライアント検証を行う。
- sub(ユーザID)
ユーザへの明示に加え、
Client、Resource Serverで認証済みリクエストでsub検証するなど。
- クレームセット検証する。
- iss(issuer)
- aud(client_id)
- sub(ユーザID)
- jti(無効化状況)
- クレームセットをJSONで返却
Client、Resource Serverで検証を容易にする。
ユーザの教育 †
注意 †
オープンリダイレクタ †
- 完全なredirect_uriの事前登録と検証
- スターターとアクセストークン・リクエストでのredirect_uriの要求
自動再認証、認可画面非表示 †
- 悪意のあるクライアントと組み合わさる。
- その際のscopeなど注意が必要。
クライアント登録機能 †
悪意のあるクライアントが容易に登録可能。
パブリック・クライアント †
参考 †
Tags: :認証基盤, :クレームベース認証, :OAuth