RFC 7636 - Proof Key for Code Exchange by OAuth Public Clients
公開日: 2015年9月
ステータス: 標準化過程 (Standards Track)
著者: N. Sakimura (野村総合研究所), J. Bradley (Ping Identity), N. Agarwal (Google)
概要 (Abstract)
OAuth 2.0パブリッククライアント (Public Clients) が認可コード許可 (Authorization Code Grant) を利用する場合、認可コード傍受攻撃に対して脆弱です。本仕様書は、この攻撃と、Proof Key for Code Exchange (PKCE、"pixy"と発音) の使用を通じてこの脅威を軽減する技術について説明します。
目次 (Contents)
- 1. Introduction (はじめに)
- 1.1 Protocol Flow (プロトコルフロー)
- 2. Notational Conventions (表記規則)
- 3. Terminology (用語)
- 3.1 Abbreviations (略語)
- 4. Protocol (プロトコル)
- 4.1 Client Creates a Code Verifier (クライアントによるコード検証子の作成)
- 4.2 Client Creates the Code Challenge (クライアントによるコードチャレンジの作成)
- 4.3 Client Sends the Code Challenge with the Authorization Request (認可リクエストとともにコードチャレンジを送信)
- 4.4 Server Returns the Code (サーバーによるコードの返却)
- 4.5 Client Sends the Authorization Code and the Code Verifier to the Token Endpoint (トークンエンドポイントへの認可コードとコード検証子の送信)
- 4.6 Server Verifies code_verifier before Returning the Tokens (トークン返却前のcode_verifierの検証)
- 5. Compatibility (互換性)
- 6. IANA Considerations (IANAに関する考慮事項)
- 6.1 OAuth Parameters Registry (OAuthパラメータレジストリ)
- 6.2 PKCE Code Challenge Method Registry (PKCEコードチャレンジ方法レジストリ)
- 7. Security Considerations (セキュリティに関する考慮事項)
- 7.1 Entropy of the code_verifier (code_verifierのエントロピー)
- 7.2 Protection against Eavesdroppers (盗聴者に対する保護)
- 7.3 Salting the code_challenge (code_challengeのソルト)
- 7.4 OAuth Security Considerations (OAuthセキュリティに関する考慮事項)
- 7.5 TLS Security Considerations (TLSセキュリティに関する考慮事項)
- 8. References (参考文献)
- 8.1 Normative References (規範的参考文献)
- 8.2 Informative References (参考情報)
附録 (Appendices)
- Appendix A. Notes on Implementing Base64url Encoding without Padding
- Appendix B. Example for the S256 code_challenge_method
関連リソース
- 公式RFC: RFC 7636
- 公式ページ: RFC 7636 DataTracker
- 正誤表: RFC Editor Errata