Title

  Test IKEv2.EN.I.1.1.5.2: Interaction of COOKIE and INVALID_KE_PAYLOAD
  Part A: (ADVANCED)


Purpose

  To verify an IKEv2 device properly handles a series of the Initial Exchanges using a Notify
  ayload of type COOKIE and type INVALID_KE_PAYLOAD.


References

  * [RFC 4306] - Sections 2.6, 2.7 and 3.10.1
  * [RFC 4718] - Sections 2.2 and 2.4


Test Setup

  * Network Topology
      Connect the devices according to the Common Topology.
  * Configuration
      In each part, configure the devices according to the Common Configuration.
  * 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)
    |                    | (Judgement #1)
    |<-------------------| IKE_SA_INIT Response (HDR, N(COOKIE))
    |                    | (Packet #1)
    |                    |
    |------------------->| IKE_SA_INIT request (HDR, N(COOKIE), SAi1, KEi, Ni) 
    |                    | (Judgement #2)
    |<-------------------| IKE_SA_INIT Response (HDR, N(INVALID_KE_PAYLOAD))
    |                    | (Packet #2)
    |                    |
    |------------------->| IKE_SA_INIT request (HDR, SAi1, KEi', Ni)
    |                    |   or
    |------------------->| IKE_SA_INIT request (HDR, N(COOKIE), SAi1, KEi', Ni) 
    |                    | (Judgement #3)
    |                    |
    V                    V
Packet #1 See below
Packet #2 See below
Packet #1: IKE_SA_INIT request
IPv6 Header Source Address TN1's Global Address on Link X
Destination Address NUT's Global Address on Link A
UDP Header Source Port 500
Destination Port 500
IKEv2 Header IKE_SA Initiator's SPI The same value as corresponding
request's IKE_SA Initiator's SPI value
IKE_SA Responder's SPI 0
Next Payload 41(N)
Major Version 2
Minor Version 0
Exchange Type 34 (IKE_SA_INIT)
X (bits 0-2 of Flags) 0
I (bit 3 of Flags) 0
V (bit 4 of Flags) 0
R (bit 5 of Flags) 1
X (bits 6-7 Flags) 0
Message ID 0
Length any
N Payload Next Payload 0
Critical 0
Reserved 0
Payload Length any
Protocol ID 0
SPI Size 0
Notify Message Type COOKIE (16390)
Notification Data Cookie value
Packet #2: IKE_SA_INIT request
IPv6 Header Source Address TN1's Global Address on Link X
Destination Address NUT's Global Address on Link A
UDP Header Source Port 500
Destination Port 500
IKEv2 Header IKE_SA Initiator's SPI The same value as corresponding
request's IKE_SA Initiator's SPI value
IKE_SA Responder's SPI 0
Next Payload 41(N)
Major Version 2
Minor Version 0
Exchange Type 34 (IKE_SA_INIT)
X (bits 0-2 of Flags) 0
I (bit 3 of Flags) 0
V (bit 4 of Flags) 0
R (bit 5 of Flags) 1
X (bits 6-7 Flags) 0
Message ID 0
Length any
N Payload Next Payload 0
Critical 0
Reserved 0
Payload Length 10
Protocol ID 0
SPI Size 0
Notify Message Type INVALID_KE_PAYLOAD (17)
Notification Data The accepted D-H Group # (2)
  Part A: (ADVANCED)
       1. NUT starts to negotiate with TN1 by sending IKE_SA_INIT request.
       2. Observe the messages transmitted on Link A.
       3. TN1 responds with an IKE_SA_INIT response including a Notify payload of type COOKIE
          to the NUT.
       4. Observe the messages transmitted on Link A.
       5. TN1 responds with an IKE_SA_INIT response including a Notify payload of type
          INVALID_KE_PAYLOAD to the NUT.
       6. Observe the messages transmitted on Link A.


Observable Result

  Part A
    Step 2: Judgment #1
      The NUT transmits an IKE_SA_INIT request including "ENCR_3DES",
      "PRF_HMAC_SHA1", "AUTH_HMAC_SHA1_96" and "D-H group 2" as proposed
      lgorithms.
  
    Step 4: Judgment #2
      The NUT transmits an IKE_SA_INIT request including a Notify payload of type COOKIE
      ontaining the responder supplied cookie data as the first payload and all other payloads
      nchanged.
  
    Step 6: Judgment #3
      The NUT transmits an IKE_SA_INIT request including a Notify payload of type COOKIE
      ontaining the responder supplied cookie data as the first payload, a KE payload containing the
      orrected Diffie-Hellman group and all other payloads unchanged..


Possible Problems

  * None.