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

5.3. Tickets (チケット)

5.3. Tickets (チケット)

チケットは, Kerberosにおける基本的な認証情報です。チケットには, クライアントがサービスに認証できるようにする情報が含まれています。チケットはサービスの長期鍵で暗号化されており, 意図されたサービスのみがそれを復号化できることを保証します。

チケット構造

外部構造

Ticket ::= [APPLICATION 1] SEQUENCE {
tkt-vno [0] INTEGER (5),
realm [1] Realm,
sname [2] PrincipalName,
enc-part [3] EncryptedData
}
  • tkt-vno - チケットバージョン番号 (Kerberos V5では常に5)
  • realm - サービスのレルム
  • sname - サービスプリンシパル名
  • enc-part - チケットの暗号化された部分

暗号化部分 (EncTicketPart)

サービスの鍵で暗号化されて含まれる内容:

  • flags - チケットのプロパティを示すフラグ
  • key - クライアント-サービス通信用のセッション鍵
  • crealm - クライアントのレルム
  • cname - クライアントのプリンシパル名
  • transited - クロスレルム認証で通過したレルム
  • authtime - 初期認証の時刻
  • starttime - チケットの有効開始時刻 (オプション)
  • endtime - 有効期限
  • renew-till - 更新可能チケットの最終有効期限 (オプション)
  • caddr - クライアントのネットワークアドレスのリスト (オプション)
  • authorization-data - 認可データ (オプション)

チケットのプロパティ

有効期間

チケットには定義された有効期間があります:

  • authtime - 元の認証が発生した時刻
  • starttime - チケットが有効になる時刻 (ポストデートチケットの場合)
  • endtime - チケットが期限切れになる時刻
  • renew-till - 更新可能チケットの最終有効期限

チケットフラグ

チケットの動作を制御します:

  • FORWARDABLE (転送可能), FORWARDED (転送済み)
  • PROXIABLE (プロキシ可能), PROXY (プロキシ)
  • MAY-POSTDATE (ポストデート可能), POSTDATED (ポストデート済み), INVALID (無効)
  • RENEWABLE (更新可能)
  • INITIAL (初期), PRE-AUTHENT (事前認証済み), HW-AUTHENT (ハードウェア認証済み)
  • TRANSITED-POLICY-CHECKED (通過ポリシーチェック済み)
  • OK-AS-DELEGATE (委任可能として承認済み)

詳細についてはセクション2を参照してください。

セッション鍵

  • KDCによってランダムに生成されます
  • クライアントとサービスの間で共有されます
  • 認証子の暗号化に使用されます
  • アプリケーションデータの保護にも使用できます

認可データ

  • オプションの構造化された認可情報
  • チケットの使用を制限できます
  • 様々な認可モデルをサポートします
  • 拡張可能なフレームワーク

セキュリティ考慮事項

  • チケットはサービスの長期鍵で暗号化されています
  • 意図されたサービスのみが復号化できます
  • クライアントのアイデンティティ情報を含みます
  • セキュアな通信のためのセッション鍵を含みます
  • アドレスはチケットが有効な場所を制限できます
  • タイムスタンプはリプレイ攻撃を防ぎます

使用法

チケットは:

  • ASおよびTGS交換でKDCによって発行されます
  • クライアントによってAP-REQメッセージで提示されます
  • サービスによってクライアントを認証するために検証されます
  • (フラグが許可する場合) 更新または転送できます

完全なチケット構造定義については, RFC 4120のセクション5.3を参照してください。