メインコンテンツまでスキップ

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 (プロトコルの流れ)

  1. ユーザー A が AS から TGT を取得する
  2. ユーザー B が TGS に TGS_REQ を送る:
    • ユーザー A 向けのチケットを要求する
    • ENC-TKT-IN-SKEY オプションを含める
    • ユーザー A の TGT を含める
  3. TGS がユーザー A の TGT セッション鍵で暗号化したチケットを発行する
  4. ユーザー B がチケットをユーザー A に提示する
  5. ユーザー A が TGT セッション鍵でチケットを復号できる
  6. 両ユーザーは新しいチケットのセッション鍵を共有する

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 を参照してください。