3.7. User-to-User Authentication Exchanges (ユーザー間認証交換)
3.7. User-to-User Authentication Exchanges (ユーザー間認証交換)
Overview (概要)
User-to-user authentication (ユーザー間認証) は Kerberos プロトコルの変形で, どちらのクライアントも long-term key (長期鍵) を保持しなくても互いに認証できるようにします。ピアツーピアの場面で特に有用です。
The Problem (課題)
標準的な Kerberos モデルでは:
- サーバーが long-term key を保持する
- クライアントはサーバーの long-term key で暗号化されたチケットを使ってサーバーに認証する
- どちらのピアも long-term key を維持したくないピアツーピア認証には向かない
The Solution (解決策)
User-to-user authentication では:
- 一方のユーザーが AS から TGT を取得する
- もう一方のユーザーが最初のユーザー向けのチケットを TGS に要求する
- チケットは最初のユーザーの TGT のセッション鍵で暗号化される (long-term 鍵ではない)
- 2 番目のユーザーがこのチケットを最初のユーザーに提示して認証する
Protocol Flow (プロトコルの流れ)
- ユーザー A が AS から TGT を取得する
- ユーザー B が TGS に TGS_REQ を送る:
- ユーザー A 向けのチケットを要求する
- ENC-TKT-IN-SKEY オプションを含める
- ユーザー A の TGT を含める
- TGS がユーザー A の TGT セッション鍵で暗号化したチケットを発行する
- ユーザー B がチケットをユーザー A に提示する
- ユーザー A が TGT セッション鍵でチケットを復号できる
- 両ユーザーは新しいチケットのセッション鍵を共有する
Requirements (要件)
- TGS 要求に ENC-TKT-IN-SKEY オプションを設定しなければならない
- 最初のユーザーの TGT を TGS に渡す必要がある
- 最初のユーザーは着信チケットを復号するために TGT を利用可能にしておく必要がある
Use Cases (ユースケース)
- ピアツーピアアプリケーション
- ワークステーション間通信
- どちらも long-term key を持たないシナリオ
- モバイルや一時的なサービス
Security Considerations (セキュリティ上の考慮)
- 両ユーザーとも有効な TGT を持っている必要がある
- 最初のユーザーの TGT のセッション鍵が暗号鍵として使われる
- ピア間の相互認証を提供する
- ピアサービスの long-term key を露出させない
Reference (参照)
技術的な詳細は RFC 4120 Section 3.7 を参照してください。