4. 適合要件
すべての IKEv2 実装が相互運用できることを保証するため、他で挙げられているものに加えて「サポートしなければならない(MUST support)」要件が存在する。もちろん、IKEv2 はセキュリティプロトコルであり、その主要な機能の 1 つは、認可された当事者のみが SA の確立を正常に完了できるようにすることである。したがって、特定の実装は、アルゴリズムや信頼された認証局に関する多数の制限を伴うよう設定され得て、それが普遍的な相互運用性を妨げる。
IKEv2 は、すべての準拠実装と相互運用できる最小実装を許容するよう設計されている。最小実装で省略可能な機能は以下の通り:
- NAT を通じて SA を交渉し、得られた ESP SA を UDP 上でトンネリングする能力。
- トンネル遠端の一時的な IP アドレスを要求(および要求に応答)する能力。
- 基づく EAP 認証をサポートする能力。
- 1 より大きいウィンドウサイズをサポートする能力。
- 単一の IKE SA 内に複数の ESP または AH SA を確立する能力。
- SA を再キーイングする能力。
相互運用性を保証するため、すべての実装はすべてのペイロード型を(単にスキップするだけでも)解析できなければならず(MUST)、かつ critical bit がペイロードヘッダに設定されていない限り、サポートしないペイロード型を無視しなければならない(MUST)。サポートされないペイロードヘッダに critical bit が設定されていた場合、すべての実装はそれらのペイロードを含むメッセージを拒否しなければならない(MUST)。
各実装は、4 メッセージの IKE_SA_INIT および IKE_AUTH 交換を実行し、2 つの SA(1 つは IKE 用、1 つは ESP または AH 用)を確立できなければならない(MUST)。実装は、そのプラットフォームに適している場合、initiate-only または respond-only であってよい(MAY)。各実装は INFORMATIONAL 交換に応答できなければならない(MUST)が、最小実装は INFORMATIONAL 交換内のいかなる要求にも空の応答で応答してよい(MAY)(IKE SA の文脈では、「空」メッセージは、それに含まれるペイロードのない Encrypted ペイロードが後続する IKE ヘッダからなることに注意)。最小実装は、要求を認識し、それらを型 NO_ADDITIONAL_SAS の Notify ペイロードで拒否する範囲でのみ CREATE_CHILD_SA 交換をサポートしてよい(MAY)。最小実装は CREATE_CHILD_SA または INFORMATIONAL 交換を開始できる必要はない。SA が(ローカルで設定された生存期間または通過したオクテット数の値に基づき)期限切れとなったとき、実装は CREATE_CHILD_SA 交換で更新を試みてもよく(MAY)、または旧 SA を削除(閉鎖)して新しい SA を作成してもよい(MAY)。応答側が CREATE_CHILD_SA 要求を NO_ADDITIONAL_SAS 通知で拒否した場合、実装は代わりに旧 SA を削除し新しい SA を作成できなければならない(MUST)。
実装は、一時的な IP アドレスの要求やそのような要求への応答をサポートすることが要求されない。実装がそのような要求の発行をサポートし、そのポリシーが一時的な IP アドレスの使用を要する場合、IKE_AUTH 交換の最初のメッセージに、少なくとも型 INTERNAL_IP4_ADDRESS または INTERNAL_IP6_ADDRESS のフィールドを含む CP ペイロードを含めなければならない(MUST)。他のすべてのフィールドはオプションである。実装がそのような要求への応答をサポートする場合、IKE_AUTH 交換の最初のメッセージにおける型 CFG_REQUEST の CP ペイロードを解析し、型 INTERNAL_IP4_ADDRESS または INTERNAL_IP6_ADDRESS のフィールドを認識しなければならない(MUST)。適切な型のアドレスのリースをサポートする場合、要求された型のアドレスを含む型 CFG_REPLY の CP ペイロードを返さなければならない(MUST)。応答側は他の任意の関連属性を含めてよい(MAY)。
ある実装が本仕様に適合すると呼ばれるためには、以下を受け入れるよう設定可能でなければならない(MUST):
- X.509(PKIX)証明書を用いた公開鍵基盤。1024 または 2048 ビットの RSA 鍵によって署名され、かつ渡される ID が ID_KEY_ID、ID_FQDN、ID_RFC822_ADDR、または ID_DER_ASN1_DN のいずれかであるもの。
- 共有鍵認証。渡される ID が ID_KEY_ID、ID_FQDN、または ID_RFC822_ADDR のいずれかであるもの。
- 応答側が PKIX 証明書で認証され、開始側が共有鍵認証で認証される認証。