2. IKE Protocol Details and Variations (IKE プロトコルの詳細とバリエーション)
2. IKE Protocol Details and Variations (IKE プロトコルの詳細とバリエーション)
IKE は通常 UDP ポート 500 で待受し送信するが, IKE メッセージは UDP ポート 4500 でも受信されうる (形式はやや異なる, 2.23 節). UDP はデータグラム (非信頼) プロトコルであるため, IKE はパケット損失, リプレイ, 改ざんなど伝送エラーからの回復を定義に含む. IKE は, (1) 再送シリーズの少なくとも 1 つがタイムアウト前に宛先に届くこと, および (2) 偽造・リプレイでチャネルがいずれかのエンドポイントのネットワークまたは CPU 容量を使い果たさない限り, 動作するよう設計されている. これら最低性能を満たさない場合でも, IKE は (ネットワークが断れたかのように) きれいに失敗するよう設計されている.
IKEv2 メッセージは短いことを意図するが, サイズに硬い上限のない構造 (特にデジタル証明書) を含み, IKEv2 自体に大きなメッセージを断片化する機構はない. IP は巨大な UDP メッセージの断片化を定義するが, 実装ごとにサポートする最大メッセージ長が異なる. さらに IP 断片化は DoS 攻撃に晒される [DOSUDPPROT]. 最後に, 一部の NAT やファイアウォール実装は IP 断片をブロックしうる.
すべての IKEv2 実装は, 最大 1280 オクテットの IKE メッセージを送受信・処理できなければならず, 最大 3000 オクテットまで送受信・処理できるべきである. IKEv2 実装はサポートする最大 UDP メッセージ長を把握し, 証明書や暗号スイート提案の省略で最大長を下回れるならば省略してもよい. 可能なら証明書を交換に含めず "Hash and URL" 形式を使うと多くの問題を避けられる. ただし Child SA 確立後にしか URL 参照できない場合, 再帰の問題で技法が使えない可能性がある.
ポート 4500 で送られる IKE を含むパケットの UDP ペイロードは, 先頭に 4 オクテットのゼロがなければならない. そうでなければ受信側は処理方法が分からない.
Contents
- 2.1. Use of Retransmission Timers (再送タイマの使用)
- 2.2. Use of Sequence Numbers for Message ID (Message ID のシーケンス番号)
- 2.3. Window Size for Overlapping Requests (重複要求のウィンドウサイズ)
- 2.4. State Synchronization and Connection Timeouts (状態同期と接続タイムアウト)
- 2.5. Version Numbers and Forward Compatibility (バージョン番号と前方互換)
- 2.6. IKE SA SPIs and Cookies (IKE SA の SPI とクッキー)
- 2.6.1. COOKIE と INVALID_KE_PAYLOAD の相互作用 (2.6 節参照)
- 2.7. Cryptographic Algorithm Negotiation (暗号アルゴリズムの交渉)
- 2.8. Rekeying (再鍵化)
- 2.8.1. Child SA の同時再鍵化 (2.8 節参照)
- 2.8.2. IKE SA の同時再鍵化 (2.8 節参照)
- 2.8.3. IKE SA 再鍵化と再認証 (2.8 節参照)
- 2.9. Traffic Selector Negotiation (トラフィックセレクタの交渉)
- 2.9.1. 自ポリシーに反するトラフィックセレクタ (2.9 節参照)
- 2.9.2. 再鍵化におけるトラフィックセレクタ (2.9 節参照)
- 2.10. Nonces (ノンス)
- 2.11. Address and Port Agility (アドレスとポートの敏捷性)
- 2.12. Reuse of Diffie-Hellman Exponentials (Diffie-Hellman 指数の再利用)