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

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