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

1.7. Significant Differences between RFC 4306 and RFC 5996

1.7 Significant Differences between RFC 4306 and RFC 5996

本ドキュメントは IKEv2 [IKEV2] に対する明確化と拡張を含む. 多くの明確化は [Clarif] に基づく. そのドキュメントに列挙された変更は IPsec ワーキンググループで議論され, ワーキンググループ解散後は IPsec メーリングリストで議論された. そのドキュメントは IKEv2 で不明瞭だった領域の詳細な説明を含み, したがって IKEv2 実装者に有用である.

本ドキュメントが記述するプロトコルは RFC 4306 で用いられたのと同じ major バージョン番号 (2) と minor バージョン番号 (0) を保持する. すなわち, バージョン番号は RFC 4306 から 変更されていない. ここに列挙される少数の技術的変更は, 本ドキュメントの公開時点で既に展開されている RFC 4306 実装に影響しないことが期待される.

本ドキュメントは図と参照を [IKEV2] よりやや一貫させた.

IKEv2 開発者は RFC 4306 の SHOULD レベル要件が, いつ従わなくてよいかを述べていないことが多く不明瞭であると指摘した. また相互運用性に関係ない MUST レベル要件があることも指摘した. 本ドキュメントはこれらの要件の一部についてより多くの説明を含む. 大文字でない SHOULD と MUST の使用はすべて通常の英語の意味であり, [MUSTSHOULD] の相互運用性の意味ではない.

IKEv2 (および IKEv1) 開発者は RFC 4306 の第 3.10.1 節のコード表に大量の材料があると指摘した. これにより実装者が本文に必要なすべての情報を持てない. それらの表の多くの材料は本文の関連部分へ移された.

本ドキュメントは AH と ESP のネスティングに関する議論を削除した. これは RFC 4306 の完成と RFC 4301 の完成との間の時間差により RFC 4306 に生じた誤りであった. 基本的に IKEv2 は RFC 4301 に基づき, 後者は RFC 2401 の一部であった "SA bundles" を含まない. 単一パケットは IPsec 処理を複数回通過しうるが, 各パスは別々の SA を用い, パスはフォワーディングテーブルで調整される. IKEv2 では, これらの SA のそれぞれは別々の CREATE_CHILD_SA 交換で作成されなければならない.

本ドキュメントは INTERNAL_ADDRESS_EXPIRY 設定属性に関する議論を削除した. 実装が非常に問題であった. 本ドキュメントに適合する実装は, 設定属性タイプ 5 (INTERNAL_ADDRESS_EXPIRY の旧値) を持つ提案を無視しなければならない (MUST). 本ドキュメントは INTERNAL_IP6_NBNS を設定属性からも削除した.

本ドキュメントは, ペイロードが "正しい" 順序でないメッセージを拒否することを許す記述を削除した, 現在実装はそれらを拒否してはならない (MUST NOT). ペイロードの順序が記述される箇所の不明瞭さによる.

RFC 4306 から IANA レジストリに載った項目の一覧は, RFC 4306 で実際に定義された項目のみを含むよう整理された. また多くの一覧の前に, RFC 4306 以降に新項目が追加されているため開発時に IANA レジストリを確認すべきという開発者への重要な指示が付された.

本ドキュメントは, 交渉の状態に応じて通知をいつ暗号化して送るか/送らないかについて明確化を追加した.

本ドキュメントは combined-mode 暗号の交渉方法についてより多く論じる.

第 1.3.2 節で "The KEi payload SHOULD be included" は "The KEi payload MUST be included" に変更された. これは第 2.18 節の変更ももたらした.

第 2.1 節に, イニシエータの SPI および/または IP が "half-open" IKE SA か新しいリクエストかを区別する方法を扱う新規材料がある.

本ドキュメントは第 2.5 節で critical フラグの使用を明確化した.

第 2.8 節で "Note that, when rekeying, the new Child SA MAY have different Traffic Selectors and algorithms than the old one" は "Note that, when rekeying, the new Child SA SHOULD NOT have different Traffic Selectors and algorithms than the old one" に変更された.

新しい第 2.8.2 節は同時 IKE SA rekey を扱う.

本ドキュメントは第 2.13 節に, IKEv2 で用いるすべての pseudorandom function (PRF) は可変長鍵を取らなければならない (MUST) という制限を追加した. 固定長鍵の標準化された PRF はなかったため実装に影響しないはずである.

第 2.18 節は IKE_SA の rekey 時に Diffie-Hellman 交換を行うことを要求する. 理論上 RFC 4306 は Diffie-Hellman 交換をオプションとする方針を許したが, IKE_SA の rekey 時には有用でも適切でもなかった.

第 2.21 節はエラーレスポンスが必要なさまざまなケースと適切なレスポンスを扱うため大幅に拡張された.

第 2.23 節は NAT トラバーサルで, 受信時に UDP カプセル化 IPsec パケットと非 UDP カプセル化 IPsec パケットの両方を理解する必要があることを明確化した.

第 2.23.1 節を追加し, トランスポートモードが要求される場合の NAT トラバーサルを記述した.

第 2.25 節を追加し, SA の削除および/または rekey 時のタイミング衝突時の振る舞いを説明し, 2 つの新しいエラー通知 TEMPORARY_FAILURE と CHILD_SA_NOT_FOUND を定義した.

第 3.6 節に "Implementations MUST support the http: scheme for hash-and-URL lookup. The behavior of other URL schemes is not currently specified, and such schemes SHOULD NOT be used in the absence of a document specifying them" を追加した.

第 3.15.3 節に IPv6 アドレス設定に関連する新ドキュメントへのポインタを追加した.

付録 C を拡張し明確化した.