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

3.6. The KRB_CRED Exchange (KRB_CRED 交換)

3.6. The KRB_CRED Exchange (KRB_CRED 交換)

Overview (概要)

KRB_CRED メッセージは, Kerberos のクレデンシャル (チケットとセッション鍵) をあるプリンシパルから別のプリンシパルへ転送するときに使われます。サービスがクライアントに代わって動作する委任シナリオを可能にします。

Purpose (目的)

KRB_CRED は次の用途に使われます:

  • Credential forwarding (クレデンシャルの転送)
  • Delegation of authentication rights (認証権限の委任)
  • システム間でのチケットの受け渡し
  • Credential caching (クレデンシャルキャッシュ) の支援

Message Structure (メッセージ構造)

KRB_CRED には次が含まれます:

  • 1 つ以上のチケット
  • 対応するセッション鍵とメタデータ (暗号化)
  • オプションのタイムスタンプ
  • オプションの送信者・受信者アドレス

Generation of KRB_CRED Message (KRB_CRED メッセージの生成)

送信者:

  1. 転送するチケットとクレデンシャルを選ぶ
  2. 機微な情報 (セッション鍵など) を暗号化する
  3. 暗号化したクレデンシャル情報とチケットをパッケージする
  4. KRB_CRED メッセージを送信する

Receipt of KRB_CRED Message (KRB_CRED メッセージの受信)

受信者:

  1. クレデンシャル情報を復号する
  2. 存在すればタイムスタンプを検証する
  3. チケットとセッション鍵を後で使うために保存する
  4. 転送されたクレデンシャルでサービスに認証できるようになる

Security Considerations (セキュリティ上の考慮)

  • クレデンシャルはセキュアな経路でのみ転送すべきである
  • 受信者はクレデンシャルを適切に使う信頼できる相手でなければならない
  • 転送されたクレデンシャルは能力が制限されている場合がある (チケットフラグを参照)
  • タイムスタンプがある程度のリプレイ保護になる

Use Cases (ユースケース)

  • Authentication Forwarding (認証の転送): ユーザーがリモートにログインし, ローカル利用のためにクレデンシャルを転送する
  • Service Delegation (サービス委任): Web サーバーがユーザーの代わりにバックエンド DB にアクセスするためにクレデンシャルを受け取る
  • Credential Caching (クレデンシャルキャッシュ): 後で使うためにクレデンシャルを保存する

Reference (参照)

技術的な詳細は RFC 4120 Section 3.6 を参照してください。