RFC 8628 - セクション5-8概要
ドキュメントステータス説明
RFC 8628の残りのセクション(セクション5.1-8および付録)は長く詳細であるため、著作権で保護された原文コンテンツの大量の繰り返しを避けるため、このドキュメントはセクション概要と重要ポイントを提供します。
完全な公式英語原文: https://www.rfc-editor.org/rfc/rfc8628.txt
セクション5: セキュリティ考慮事項
5.1 User Code Brute Forcing (ユーザーコードブルートフォース)
重要ポイント:
- ユーザーコードは使いやすさ向上のため短く、したがってエントロピーが低い
- 推奨: サーバーはレート制限を実装すべき
- 推奨: 十分なエントロピーのコードを使用(例: 8文字base-20エンコード ≈ 34.5ビットエントロピー)
- レート制限と限定的な有効期間の組み合わせがブルートフォース攻撃を防ぐ
5.2 Device Code Brute Forcing (デバイスコードブルートフォース)
重要ポイント:
- デバイスコードはユーザーに表示されないため、高エントロピーを使用すべき
- デバイスコードを推測した攻撃者は認可を取得する可能性がある
5.3 Device Trustworthiness (デバイスの信頼性)
重要ポイント:
- 認可を要求するデバイスとユーザーが認可するデバイスは異なる
- 中間者攻撃の可能性を考慮する必要がある
- デバイス製造元と認可サーバーの信頼性に依存
5.4 Remote Phishing (リモートフィッシング)
重要ポイント:
- 攻撃者はメール等を通じてユーザーにコードを入力させる可能性がある
- 推奨: 認可プロセス中にデバイス所有権を確認
- verification_uri_complete最適化については、デバイス確認に特別な注意が必要
- ユーザーコードの有効期間はフィッシング攻撃を制限するために十分に短くすべき
5.5 Session Spying (セッション盗聴)
重要ポイント:
- 悪意のあるユーザーがデバイスインターフェースを物理的に盗み見る可能性がある
- デバイスはコードが観察される機会を減らすため、運用環境を考慮すべき
5.6 Non-Confidential Clients (非機密クライアント)
重要ポイント:
- デバイスクライアントは通常、認証情報の機密性を保持できない
- パブリッククライアントとみなすべきで、なりすまし攻撃に脆弱
- RFC6819セクション5.3.1とRFC8252セクション8.5、8.6を参照
5.7 Non-Visual Code Transmission (非視覚的コード伝送)
重要ポイント:
- ユーザーコードは非視覚的手段(例: 音声、Bluetooth)で伝送できる
- 推奨: 通信チャネルは近接アクセスに制限すべき
セクション6: ユーザビリティ考慮事項
6.1 User Code Recommendations (ユーザーコード推奨事項)
推奨形式:
- Base-20文字セット: "BCDFGHJKLMNPQRSTVWXZ" (母音除去、ランダムな単語生成を回避)
- 例: "WDJB-MJHT" (8有効文字、20^8エントロピー)
- 純数字: "019-450-730" (9桁数字、10^9エントロピー)
- 処理推奨: 大文字小文字非依存、ダッシュと句読点の自動除去
ベストプラクティス:
- 混同しやすい文字を避ける(0/O、1/l/I)
- モバイルデバイスでの入力の利便性を考慮
- A-Z以外のキーボード領域では、純数字コードを検討
6.2 Non-Browser User Interaction (非ブラウザユーザーインタラクション)
重要ポイント:
- 代替コード伝送方法を交渉可能
- 例: Bluetooth経由でコンパニオンアプリに伝送
- この仕様の範囲外だが、プロトコルはこのような拡張をサポート
セクション7: IANA考慮事項
7.1 OAuthパラメータ登録
登録されたパラメータ:
- device_code
- user_code
- verification_uri
- verification_uri_complete
7.2 OAuth URI登録
登録されたURI:
- urn:ietf:params:oauth:grant-type:device_code
7.3 OAuth拡張エラー登録
登録されたエラーコード:
- authorization_pending
- slow_down
- expired_token
7.4 OAuth認可サーバーメタデータ
新しいメタデータフィールド:
- device_authorization_endpoint
セクション8: 参考文献
8.1 規範的参考文献
- RFC2119 - キーワード定義
- RFC6749 - The OAuth 2.0 Authorization Framework
- RFC6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage
- RFC8174 - Ambiguity of Uppercase vs Lowercase
- RFC8259 - The JavaScript Object Notation (JSON) Data Interchange Format
- RFC8414 - OAuth 2.0 Authorization Server Metadata
- RFC8446 - The Transport Layer Security (TLS) Protocol Version 1.3
8.2 参考情報
- RFC6819 - OAuth 2.0 Threat Model and Security Considerations
- RFC7525 - Recommendations for Secure Use of TLS and DTLS
- RFC8252 - OAuth 2.0 for Native Apps
完全なRFCドキュメント: https://www.rfc-editor.org/rfc/rfc8628 発行日: 2019年8月 Standard Track: Standards Track