Test IKEv2.EN.R.1.1.6.7: Sending INVALID_KE_PAYLOAD Part A: (ADVANCED)
To verify an IKEv2 device properly handles an invalid KE payload which has different D-H Group # from proposed D-H Group #.
* [RFC 4306] - Sections 2.7, 3.4 and 3.10.1 * [RFC 4718] - Sections 2.1 and 2.2
* Network Topology Connect the devices according to the Common Topology. * Configuration In each part, configure the devices according to the Common Configuration. Enable PFS. * Pre-Sequence and Cleanup Sequence IKEv2 on the NUT is disabled after each part.
NUT TN1 (End-Node) (End-Node) | | |<-------------------| IKE_SA_INIT request (HDR, SAi1, KEi, Ni) | | (Packet #1) |------------------->| IKE_SA_INIT response (HDR, SAr1, KEr, Nr) | | (Judgement #1) | | |<-------------------| IKE_AUTH request (HDR, SK {IDi, AUTH, N+, SAi2, TSi, TSr}) | | (Packet #2) |------------------->| IKE_AUTH response (HDR, SK {IDr, AUTH, N+, SAr2, TSi, TSr}) | | (Judgement #2) | | |<-------------------| CREATE_CHILD_SA request (HDR, SK {N, N+, SA(DH#2, DH#14), Ni, KEi(DH#14), TSi, TSr}) | | (Packet #3) |------------------->| CREATE_CHILD_SA Response (HDR, SK {N(INVALID_KE_PAYLOAD(DH#2))}) | | (Judgement #3) | | |<-------------------| CREATE_CHILD_SA request (HDR, SK {N, N+, SA(DH#2, DH#14), Ni, KEi, TSi, TSr}) | | (Packet #4) |------------------->| CREATE_CHILD_SA Response (HDR, SK {N+, SA(DH#2), Ni, KEi(DH#2), TSi, TSr}) | | (Judgement #4) | | V V
N: REKEY_SA N+: USE_TRANSPORT_MODE
Packet #1 See Common Packet #1 Packet #2 See Common Packet #3 Packet #3 See below
Packet #3: CREATE_CHILD_SA request for rekeying CHILD_SA
IPv6 Header Same as the common packet #13 UDP Header Same as the common packet #13 IKEv2 Header Same as the common packet #13 E Payload Same as the common packet #13 N Payload Same as the common packet #13 N Payload Same as the common packet #13 SA Payload Same as the common packet #13 Ni, Nr Payload Other fields are same as the Common Packet #13 Next Payload 34 (KE) KEi Payload Next Payload 44 (TSi) Critical 0 Reserved 0 Payload Length 264 DH Group # 14 Reserved 0 Key Exchange Data any TSi Payload Same as the common packet #13 TSr Payload Same as the Common Packet #13
Part A: (ADVANCED) 1. TN1 starts to negotiate with NUT by sending IKE_SA_INIT request. 2. Observe the messages transmitted on Link A. 3. After a reception of IKE_SA_INIT response from the NUT, TN1 transmits IKE_AUTH request to the NUT. 4. Observe the messages transmitted on Link A. 5. After reception of IKE_AUTH response from the NUT, TN1 transmits CREATE_CHILD_SA request to the NUT to rekey CHILD_SAs. The CREATE_CHILD_SA contains a D-H Group transform to use D-H Group 2 and a Key Exchange payload which contains 14 (D-H Group 14) as DH Group # field and the Key Exchage Data. 6. Observe the messages transmitted on Link A. 7. After reception of CREATE_CHILD_SA response indicating INVALID_KE_PAYLOAD CHILD_SAs. The CREATE_CHILD_SA contains a D-H Group transform to use D-H Group 2 or D-H Group 14, and a Key Exchage payload which contains 2 (D-H Group 2) as DH Group # field and the Key Exchange Data. 8. Observe the messages transmitted on Link A.
Part A Step 2: Judgment #1 The NUT transmits an IKE_SA_INIT response including "ENCR_3DES", "PRF_HMAC_SHA1", "AUTH_HMAC_SHA1_96" and "D-H group 2" as accepted algorithms.
Step 4: Judgment #2 The NUT transmits an IKE_AUTH response including "ENCR_3DES", "AUTH_HMAC_SHA1_96" and "No Extended Sequence Numbers" as accepted algorithms.
Step 6: Judgment #3 The NUT does not transmits any packets or transmits a CREATE_CHILD_SA response including a Notify payload of type INVALID_KE_PAYLOAD which contains 2 (D-H Group 2) as Notification Data.
Step 8: Judgment #4 The NUT transmits a CREATE_CHILD_SA response including "ENCR_3DES", "AUTH_HMAC_SHA1_96", "No Extended Sequence Numbers" and "D-H Group 2" as proposed algorithms.
* None.