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

8. Interoperability Requirements (相互運用性要件)

8. Interoperability Requirements (相互運用性要件)

このセクションでは, 異なる実装と展開間の相互運用性を確保するためのKerberos実装の要件を指定します。

目的

相互運用性要件は以下を定義します:

  • 必須機能: すべての実装がサポートしなければならない機能 (MUST)
  • オプション機能: 機能性を向上させる機能
  • 互換性考慮事項: 異なるバージョンと実装間の互換性
  • 推奨プラクティス: 相互運用性を向上させるベストプラクティス

8.1. Specification 2 (仕様2)

特定の相互運用性要件を定義します:

必須暗号化タイプ

実装は以下の暗号化タイプをサポートしなければなりません (MUST):

  • AES暗号化 (RFC 3962で定義)
  • その他RFC 3961で指定された必須暗号化タイプ

必須メッセージ形式

すべての実装は以下を処理しなければなりません (MUST):

  • 基本的なKDC交換 (AS-REQ/REP, TGS-REQ/REP)
  • アプリケーション認証 (AP-REQ/REP)
  • エラーメッセージ (KRB-ERROR)
  • チケット構造

必須プロトコル機能

実装は以下をサポートしなければなりません (MUST):

  • 基本的な認証フロー
  • チケット管理 (発行, 検証)
  • 事前認証メカニズム
  • 基本的なクロスレルムサポート

動作要件

相互運用性のために:

  • DERエンコーディングを使用しなければなりません (MUST)
  • RFC 2119のキーワードに従わなければなりません (MUST)
  • 未知の拡張を適切に処理すべきです (SHOULD)
  • 後方互換性を維持すべきです (SHOULD)

運用パラメーターに関するガイダンスを提供します:

デフォルトチケット有効期間

  • 標準チケット: 8-10時間
  • 更新可能チケット: 7日間
  • 最大更新期間: 組織のポリシーに依存

これらは推奨値であり, 組織は独自のポリシーに基づいて調整できます (MAY)。

クロックスキュー許容範囲

  • デフォルト: 5分
  • リプレイ攻撃のウィンドウとネットワーククロックの精度のバランスを取ります
  • より厳格な環境では短縮できます (MAY)

その他の運用パラメーター

  • 事前認証は有効にすべきです (SHOULD)
  • 弱い暗号化タイプは無効にすべきです (SHOULD)
  • ログとモニタリングを実装すべきです (SHOULD)

主要要件のまとめ

暗号化アルゴリズム

実装は:

  • 強力な暗号化アルゴリズムを使用しなければなりません (MUST)
  • 弱いアルゴリズム (DES, RC4) を避けるべきです (SHOULD)
  • AES暗号化をサポートすべきです (SHOULD)
  • RFC 3961に準拠しなければなりません (MUST)

メッセージ処理

実装は:

  • すべての基本メッセージタイプを処理しなければなりません (MUST)
  • エラーを適切に処理しなければなりません (MUST)
  • 拡張を正しく処理すべきです (SHOULD)
  • 未知のフィールドを無視すべきです (SHOULD)

プロトコル機能

実装は:

  • コア認証フローをサポートしなければなりません (MUST)
  • チケット管理を実装しなければなりません (MUST)
  • 基本的なクロスレルムをサポートすべきです (SHOULD)
  • 事前認証を実装すべきです (SHOULD)

構成推奨事項

セキュリティと使いやすさのバランス

  • 合理的なデフォルト値を提供します
  • セキュリティを損なわずにユーザビリティを最大化します
  • 組織のポリシーに基づいて調整可能にします

運用ベストプラクティス

  • 定期的なセキュリティ更新
  • ログとモニタリングの実装
  • インシデント対応計画
  • 定期的なセキュリティ評価

テストと検証

相互運用性を確保するために:

  • 他の実装に対してテストすべきです (SHOULD)
  • 標準的な適合性テストを使用すべきです (SHOULD)
  • エッジケースと例外条件をテストすべきです (SHOULD)
  • クロスレルムシナリオをテストすべきです (SHOULD)

展開考慮事項

実装を展開する際:

  • 段階的な展開を計画します
  • 既存のシステムとの互換性をテストします
  • ロールバック計画を用意します
  • 完全な展開前にパイロットテストを実施します

完全な相互運用性要件については, RFC 4120のセクション8を参照してください。