🕗

OAuth 2.1の差分を見守る会 : draft 07-08

2023/03/27に公開

本投稿は OAuth 2.1 って呼ばれたい感を出してる仕様の差分を見守る会です。

本投稿含め、差分を スクラップ - OAuth 2.1を見守る会 でまとめています。

差分

差分

draft08 における主な差分としては、Appendix E. Document History に記載の以下の通りです。一見変更点が多いように見受けられますが、新しい内容の追加自体は少なめで関連仕様に合わせた表現の修正などが多い印象です。
念のため、上から見ていきましょう。なお、当方の主観で対応する変更を記載していますが、認識が間違っている可能性は十分あります。もし、認識間違っている箇所があれば GitHub から Issue また PR を作成してご指摘いただけますと幸いです。

  • Updated acknowledgments
  • Swap "by a trusted party" with "by an outside party" in client ID definition
  • Replaced "verify the identity of the resource owner" with "authenticate"
  • Clarified refresh token rotation to match RFC6819
  • Added appendix to hold application/x-www-form-urlencoded examples
  • Fixed references to entries in appendix
  • Incorporated new "Phishing via AS" section from Security BCP
  • Rephrase description of the motivation for client authentication
  • Moved "scope" parameter in token request into specific grant types to match OAuth 2.0
  • Updated Clickjacking and Open Redirection description from the latest version of the Security BCP
  • Moved normative requirements out of authorization code security considerations section
  • Security considerations clarifications, and removed a duplicate section

Updated acknowledgments

Acknowledgments を更新したとのことで特に言及する点はありません。

Swap "by a trusted party" with "by an outside party" in client ID definition

"trusted party" から "an outside party" に表現が変更されています。変更箇所の全体を見る限り、当該 Authorization Server 以外が発行したクライアント ID を扱うユースケースについてのようです。この場合、当該 Authorization Server が必ずしも信頼している必要はなく、ユースケースを限定しない表現に変更されたということでしょうか。

Replaced "verify the identity of the resource owner" with "authenticate"

"verify the identity of the resource owner" から "authenticate" に表現が変更されています。変更箇所は Authorization Endpoint のセクションのようです。リソースオーナーの ID を検証するのではなく、ユーザー名およびパスワードといったクレデンシャルも含めて検証する必要があるため誤解のないような表現に変更されたということでしょうか。また、地味に passkey や federated login とった記載も増えており、新しい仕様なども考慮した記載になっています。

Clarified refresh token rotation to match RFC6819

リフレッシュトークンのローテーションに関する差分は以下の箇所くらいでした。リフレッシュトークンを失効させるだけではなく認可も取り消すように表現が追記されているようです。

Added appendix to hold application/x-www-form-urlencoded examples

"Original Appendix B was removed but non-link references remain" という Issue での議論内容が反映される予定とのことです。
URL パラメーターだけでなく、クライアント ID およびシークレットにおいても application/x-www-form-urlencoded が使用されていることおよびその例が記載される予定のようです。

Fixed references to entries in appendix

Appendix が追加されたため各所で参照が修正されています。

Incorporated new "Phishing via AS" section from Security BCP

"Phishing via AS" セクションが Security BCP から追記されたようです。
攻撃者が用意・細工した Authorization / Authentication Request を被害者に送信させる系の攻撃パターンが具体的に記載されました。

Rephrase description of the motivation for client authentication

クライアント認証に関する説明の表現が変更されています。例を挙げて説明していたような部分がより明確な記載になった印象です。

Moved "scope" parameter in token request into specific grant types to match OAuth 2.0

Token Request のセクションに記載されていた "scope" パラメーターの説明が特定のグラントタイプの説明に移動しました。

Updated Clickjacking and Open Redirection description from the latest version of the Security BCP

クリックジャッキングおよびオープンリダイレクトに関する説明が最新の Security BCP に合わせるように更新されたようです。

クリックジャッキングでは、攻撃の手順が例を交えて説明されるようになりました。

オープンリダイレクトでは、特に "Authorization Server as Open Redirector" が複数の攻撃パターンに分けて説明されるようになりました。

Moved normative requirements out of authorization code security considerations section

Security Considerations セクションに記載されていた認可コードに関する記述が Security Considerations 以外のセクションに移動したようです。

Security considerations clarifications, and removed a duplicate section

Security Considerations セクション中に細かい表現の修正や重複箇所の削除が見受けられます。

おわり

新規トピックの追加などは無く、適切な最新の拡張仕様を参照するようにするといった変更が多いように見受けられました。
素人意見ですが仕様としての完成度を高めていくような段階のようにも思えます。
ではまた!

GitHubで編集を提案

Discussion