5.4. Specifications for the AS and TGS Exchanges (ASおよびTGS交換の仕様)
5.4. Specifications for the AS and TGS Exchanges (ASおよびTGS交換の仕様)
概要
本節では, 認証サービス (Authentication Service, AS) 交換およびチケット付与サービス (Ticket-Granting Service, TGS) 交換のメッセージ構造を定義します。これらの交換は, わずかな差異を除き共通のメッセージ構造を共有します。
5.4.1. KRB_KDC_REQの定義
要求メッセージの構造はASとTGSで共通です:
共通構造
KRB_AS_REQとKRB_TGS_REQの両方が, 次を含むKDC-REQ構造を用います:
pvno- プロトコルバージョン番号 (5)msg-type- メッセージタイプ (AS-REQまたはTGS-REQ)padata- 事前認証データ (シーケンス)req-body- 詳細パラメータを含む要求本体
要求本体 (KDC-REQ-BODY)
次を含みます:
kdc-options- 要求オプションを示すフラグcname- クライアント名 (TGS-REQではオプション)realm- サービスレルムsname- サービス名 (オプション)from- 要求開始時刻 (オプション)till- 要求終了時刻rtime- 要求されたrenew-till時刻 (オプション)nonce- リプレイ防止用の乱数値etype- 要求する暗号化タイプ (シーケンス)addresses- クライアントアドレス (オプション)enc-authorization-data- 暗号化された認可データ (オプション)additional-tickets- 追加チケット (オプション, TGS-REQ用)
KDCオプションフラグ
利用可能なオプションには次が含まれます:
- FORWARDABLE, FORWARDED
- PROXIABLE, PROXY
- ALLOW-POSTDATE, POSTDATED
- RENEWABLE, RENEWABLE-OK
- ENC-TKT-IN-SKEY
- RENEW, VALIDATE
- その他
5.4.2. KRB_KDC_REPの定義
応答メッセージの構造はASとTGSで共通です:
共通構造
KRB_AS_REPとKRB_TGS_REPの両方がKDC-REP構造を用います:
pvno- プロトコルバージョン番号 (5)msg-type- メッセージタイプ (AS-REPまたはTGS-REP)padata- 事前認証データ (オプション)crealm- クライアントレルムcname- クライアント名ticket- 発行されたチケットenc-part- 応答の暗号化部分
暗号化部分 (EncKDCRepPart)
クライアント向けに暗号化され, 次を含みます:
key- セッション鍵last-req- 最終要求に関する情報nonce- 要求からの値 (照合用)key-expiration- クライアント鍵の有効期限 (オプション)flags- チケットフラグauthtime- 初回認証の時刻starttime- チケットが有効になる時刻 (オプション)endtime- チケットの失効時刻renew-till- 更新可能期限 (オプション)srealm- サービスレルムsname- サービス名caddr- クライアントアドレス (オプション)encrypted-pa-data- 暗号化された事前認証データ (オプション)
処理要件
要求の処理
- 要求構造を検証すること
- 事前認証を検証すること
- ポリシーおよび制約を確認すること
- セッション鍵を生成すること
- 適切なフラグでチケットを発行すること
- クライアント向けに応答を暗号化すること
応答の処理
- 適切な鍵で応答を復号すること
- nonceが一致することを検証すること
- セッション鍵とチケットを取り出すこと
- チケットの属性を検証すること
- 後続利用のために保存すること
AS交換とTGS交換の相違
AS交換
- クライアントは長期鍵で認証する
- 事前認証がしばしば必要
- 初期TGTを発行する
TGS交換
- クライアントはTGTで認証する
- TGTから得たセッション鍵を用いる
- サービスチケットを発行する
- チケットの更新および検証をサポートする
参照
メッセージの完全な仕様はRFC 4120 セクション5.4を参照してください。