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

Appendix A. ASN.1 Module (ASN.1モジュール)

Appendix A. ASN.1 Module (ASN.1モジュール)

この付録は, Kerberosバージョン5プロトコルの完全なASN.1モジュール定義を提供します。このモジュールには, プロトコルで使用されるすべてのメッセージタイプとデータ構造が含まれています。

モジュール定義

KerberosV5Spec2 {
iso(1) identified-organization(3) dod(6) internet(1)
security(5) kerberosV5(2) modules(4) krb5spec2(2)
}

DEFINITIONS EXPLICIT TAGS ::= BEGIN

-- OID arc for KerberosV5
--
-- This OID may be used to identify Kerberos protocol messages
-- encapsulated in other protocols.
--
-- This OID also designates the OID arc for KerberosV5-related OIDs.
--
-- NOTE: RFC 1510 had an incorrect value (5) for "dod" in its OID.

id-krb5 OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1)
security(5) kerberosV5(2)
}

基本型定義

このモジュールは以下の基本型を定義します:

  • Int32: 32ビット符号付き整数
  • UInt32: 32ビット符号なし整数
  • Microseconds: マイクロ秒 (0..999999)
  • KerberosString: Kerberos文字列 (GeneralString)
  • Realm: レルム名
  • PrincipalName: プリンシパル名構造
  • KerberosTime: タイムスタンプ (GeneralizedTime)
  • HostAddress: ネットワークアドレス
  • HostAddresses: アドレスのシーケンス
  • AuthorizationData: 認可データ
  • PA-DATA: 事前認証データ
  • KerberosFlags: フラグビット文字列
  • EncryptedData: 暗号化されたデータ
  • EncryptionKey: 暗号化鍵
  • Checksum: チェックサム

チケット関連型

  • Ticket: チケット構造
  • EncTicketPart: 暗号化されたチケット部分
  • TransitedEncoding: 通過レルム情報

メッセージ型

KDC交換メッセージ

  • KDC-REQ: KDCへの要求 (AS-REQおよびTGS-REQ)
  • KDC-REQ-BODY: KDC要求の本体
  • KDC-REP: KDCからの応答 (AS-REPおよびTGS-REP)
  • EncKDCRepPart: 暗号化されたKDC応答部分
  • AS-REQ: 認証サービス要求
  • AS-REP: 認証サービス応答
  • TGS-REQ: チケット発行サービス要求
  • TGS-REP: チケット発行サービス応答

アプリケーションメッセージ

  • AP-REQ: アプリケーション要求
  • Authenticator: 認証子
  • AP-REP: アプリケーション応答
  • EncAPRepPart: 暗号化されたAP-REP部分
  • KRB-SAFE: 完全性保護メッセージ
  • KRB-SAFE-BODY: KRB-SAFEメッセージ本体
  • KRB-PRIV: 暗号化メッセージ
  • EncKrbPrivPart: 暗号化されたKRB-PRIV部分
  • KRB-CRED: 資格情報転送メッセージ
  • EncKrbCredPart: 暗号化されたKRB-CRED部分
  • KRB-ERROR: エラーメッセージ

アプリケーションタグ

各メッセージタイプには一意のアプリケーションタグが割り当てられています:

  • AS-REQ: 10
  • AS-REP: 11
  • TGS-REQ: 12
  • TGS-REP: 13
  • AP-REQ: 14
  • AP-REP: 15
  • KRB-SAFE: 20
  • KRB-PRIV: 21
  • KRB-CRED: 22
  • KRB-ERROR: 30

エンコーディング規則

すべてのKerberosメッセージは以下のルールに従ってエンコードされます:

  1. Distinguished Encoding Rules (DER): すべてのメッセージはDERを使用してエンコードされなければなりません (MUST)
  2. 明示的タグ付け: このモジュールはEXPLICIT TAGSを使用します
  3. オプションフィールド: オプションフィールドは, 存在しない場合は省略されます

使用上の注意

このASN.1モジュールは:

  • Kerberos V5プロトコルの正式な定義です
  • 実装者は, 相互運用性を確保するためにこの定義に従うべきです (SHOULD)
  • RFC 1510からのいくつかの明確化と修正が含まれています
  • 完全なモジュール定義については, RFC 4120のAppendix Aの完全版を参照してください

実装ガイダンス

ASN.1モジュールを実装する際:

  • すべての必須フィールドを含める必要があります (MUST)
  • オプションフィールドは適切に処理される必要があります (MUST)
  • 未知のタグは, 将来の拡張のために無視されるべきです (SHOULD)
  • DERエンコーディング規則に厳密に従う必要があります (MUST)

完全なASN.1モジュール定義については, RFC 4120の本文のAppendix Aを参照してください。