3.2. The Client/Server Authentication Exchange (クライアント/サーバー認証交換)
3.2. The Client/Server Authentication Exchange (クライアント/サーバー認証交換)
Overview (概要)
Client/Server (CS) authentication exchange (クライアント/サーバー認証交換) は, クライアントが TGS から取得したサービスチケットを用いてアプリケーションサーバーに認証するときに使われます。
Message Flow (メッセージの流れ)
- KRB_AP_REQ: クライアントがアプリケーションサーバーに認証要求を送る
- サービスチケットを含む
- Authenticator (セッション鍵で暗号化) を含む
- KRB_AP_REP: サーバーからの相互認証応答 (オプション)
The KRB_AP_REQ Message (KRB_AP_REQ メッセージ)
Components (構成要素)
- Ticket (チケット): サーバーの long-term key (長期鍵) で暗号化され, 次を含む:
- Client identity (クライアントの身元)
- Session key (セッション鍵)
- Validity period (有効期間)
- Authenticator (オーセンティケータ): セッション鍵で暗号化され, 次を含む:
- Client principal name (クライアントのプリンシパル名)
- Timestamp (タイムスタンプ)
- Optional sub-session key (オプションのサブセッション鍵)
Generation Process (生成手順)
クライアントは Authenticator を構築し, チケットとまとめてアプリケーションサーバーへ送ります。
Receipt and Verification (受信と検証)
アプリケーションサーバーは次を行います:
- long-term key でチケットを復号する
- セッション鍵を取り出す
- Authenticator を復号して検証する
- タイムスタンプでリプレイ保護を確認する
The KRB_AP_REP Message (KRB_AP_REP メッセージ)
Purpose (目的)
相互認証を提供し, サーバーがセッション鍵を保持していることをクライアントに示します。
Generation (生成)
サーバーは, クライアントの Authenticator のタイムスタンプを含む応答をセッション鍵で暗号化して作成します。
Receipt (受信)
クライアントはタイムスタンプを検証し, サーバーがセッション鍵を持っていることを確認します。
Using the Encryption Key (暗号鍵の利用)
認証が成功した後, セッション鍵 (またはオプションのサブセッション鍵) で次ができます:
- 以降のメッセージの暗号化
- 完全性の保護
- セキュアチャネルの確立
Reference (参照)
技術的な詳細は RFC 4120 Section 3.2 を参照してください。