Title


  Test IKEv2.EN.R.1.1.6.7: Sending INVALID_KE_PAYLOAD
  Part A: (ADVANCED)


Purpose

  To verify an IKEv2 device properly handles an invalid KE payload which has different D-H
  Group # from proposed D-H Group #.


References

  * [RFC 4306] - Sections 2.7, 3.4 and 3.10.1
  * [RFC 4718] - Sections 2.1 and 2.2


Test Setup


  * 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.


Procedure

   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.


Observable Result

  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.


Possible Problems

  * None.