3.3. The Ticket-Granting Service (TGS) Exchange (チケット付与サービス交換)
3.3. The Ticket-Granting Service (TGS) Exchange (チケット付与サービス交換)
概要
TGS 交換は, クライアントがアプリケーションサーバー用のサービスチケットを取得するために使用されます。クライアントは Ticket-Granting Ticket (TGT, チケット付与チケット) を用いて TGS に認証し, サービスチケットを要求します。
メッセージフロー
- KRB_TGS_REQ: クライアントが TGS にチケット要求を送信する
- TGT を含む
- Authenticator を含む
- 希望するサービスを指定する
- KRB_TGS_REP: TGS がサービスチケットで応答する
- KRB_ERROR: 要求を満たせない場合に返される
KRB_TGS_REQ メッセージの生成
クライアントは次を含む要求を構築します:
- 以前の AS 交換からの TGT
- TGT のセッション鍵で暗号化された Authenticator
- サービス principal 名
- 要求するチケットのオプションおよびフラグ
- 要求する有効期間
KRB_TGS_REQ メッセージの受信
TGS は要求を検証します:
- TGT を復号し検証する
- Authenticator を復号し検証する
- 認可を確認する
- ポリシー制約を検証する
- 特別なオプション (RENEW, VALIDATE, PROXY, FORWARDED など) を処理する
KRB_TGS_REP メッセージの生成
要求が有効な場合, TGS はサービスチケットを発行します:
- サービスの長期鍵でチケットを暗号化する
- 応答 (セッション鍵を含む) を TGT のセッション鍵で暗号化する
- 適切なチケットフラグを設定する
- チケットの有効期間を確立する
KRB_TGS_REP メッセージの受信
クライアントは次を行います:
- TGT のセッション鍵を用いて応答を復号する
- 新しいサービスチケットとセッション鍵を取り出す
- 要求したサービスに対して認証できるようになる
特別な処理
TGS はさまざまな特別なケースを扱います:
- チケットの更新
- チケットの検証 (事後日付チケット用)
- プロキシおよび転送チケットの要求
- クロスレルムの紹介 (referral)
- ユーザー間認証 (user-to-user authentication)
参照
完全な技術的詳細はRFC 4120 セクション3.3を参照してください。