LoginSignup
5
1

More than 3 years have passed since last update.

OAuth 2.0 Security Best Current Practice (Draft 13)

Posted at

ドラフト第13版が先日公開された OAuth 2.0 Security Best Current Practice について、チェックリストとして使えるように推奨事項を整理した。

3.1 Protecting Redirect-Based Flows
  • 認可サーバーはリダイレクトURIを完全一致で検証しなければならない(MUST)
  • クライアントはリダイレクト時のパラメータを使ったURIへのリダイレクトをすべきでない(SHOULD)
  • クライアントはstateもしくはPKCEを使ってCSRFを防止しなければならない(MUST)
  • クライアントは認可要求を送信したサーバーからのリダイレクトのみしか処理してはいけない(MUST)
  • Authorization Code Grantでは、クライアントはPKCE(OpenID Connectではnouceでも可)を使わなければならない(MUST)
  • クライアントはImplicit Grantなどのアクセストークンをリダイレクトで返却するフローを使うべきでない(SHOULD)
3.2 Token Replay Prevention
  • 認可サーバーはTLSベースの送信者を制限できるアクセストークンを使うべきである(SHOULD)
  • リフレッシュトークンは送信者を制限できるトークンとするか、トークンローテーションを使わなければならない(MUST)
3.3 Access Token Privilege Restriction
  • アクセストークンに関連付けられる権限は必要最小限とするべきである(SHOULD)
  • アクセストークンを特定のリソースサーバー(理想は1つのリソースサーバー)のみで使えるように制限すべきである(SHOULD)
  • アクセストークンを特定のリソースとアクションに対してのみ使えるように制限すべきである(SHOULD)
3.4 Resource Owner Password Credentials Grant
  • Resource Owner Password Credentials Grantは使用してはならない(MUST)
3.5 Client Authentication
  • 認可サーバーは可能であればクライアント認証を実施すべき(SHOULD)
  • クライアント認証には公開鍵ベースの非対称な方式を使うことが推奨される(RECOMMENDED)
3.6 Other Recommendations
  • サーバーはclient_idもしくはsubの値をクライアントが指定できるようにすべきでない(SHOULD)
5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1