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

3.3. The Ticket-Granting Service (TGS) Exchange (チケット付与サービス交換)

3.3. The Ticket-Granting Service (TGS) Exchange (チケット付与サービス交換)

概要

TGS 交換は, クライアントがアプリケーションサーバー用のサービスチケットを取得するために使用されます。クライアントは Ticket-Granting Ticket (TGT, チケット付与チケット) を用いて TGS に認証し, サービスチケットを要求します。

メッセージフロー

  1. KRB_TGS_REQ: クライアントが TGS にチケット要求を送信する
    • TGT を含む
    • Authenticator を含む
    • 希望するサービスを指定する
  2. KRB_TGS_REP: TGS がサービスチケットで応答する
  3. KRB_ERROR: 要求を満たせない場合に返される

KRB_TGS_REQ メッセージの生成

クライアントは次を含む要求を構築します:

  • 以前の AS 交換からの TGT
  • TGT のセッション鍵で暗号化された Authenticator
  • サービス principal 名
  • 要求するチケットのオプションおよびフラグ
  • 要求する有効期間

KRB_TGS_REQ メッセージの受信

TGS は要求を検証します:

  1. TGT を復号し検証する
  2. Authenticator を復号し検証する
  3. 認可を確認する
  4. ポリシー制約を検証する
  5. 特別なオプション (RENEW, VALIDATE, PROXY, FORWARDED など) を処理する

KRB_TGS_REP メッセージの生成

要求が有効な場合, TGS はサービスチケットを発行します:

  • サービスの長期鍵でチケットを暗号化する
  • 応答 (セッション鍵を含む) を TGT のセッション鍵で暗号化する
  • 適切なチケットフラグを設定する
  • チケットの有効期間を確立する

KRB_TGS_REP メッセージの受信

クライアントは次を行います:

  1. TGT のセッション鍵を用いて応答を復号する
  2. 新しいサービスチケットとセッション鍵を取り出す
  3. 要求したサービスに対して認証できるようになる

特別な処理

TGS はさまざまな特別なケースを扱います:

  • チケットの更新
  • チケットの検証 (事後日付チケット用)
  • プロキシおよび転送チケットの要求
  • クロスレルムの紹介 (referral)
  • ユーザー間認証 (user-to-user authentication)

参照

完全な技術的詳細はRFC 4120 セクション3.3を参照してください。