Title

  Test IKEv2.EN.R.1.1.4.4: Unrecognized payload types and critical bit is set
  Part C: Invalid payload type 49 and Critical bit is set (BASIC)


Purpose

  To verify an IKEv2 device drops invalid payload types when the invalid type payload's
  critical bit is set.


References

  * [RFC 4306] - Sections 2.5


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)
    |                    | (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 {iP, N, N+, SA, Ni, TSi, TSr})
    |                    | (Packet #3)
    |--------X           | No Response
    |                    |      or
    |------------------->| CREATE_CHILD_SA response (HDR, SK {N(UNSUPPORTED_CRITICAL_PAYLOAD)})
    |                    | (Judgement #3)
    |                    |
    V                    V P: Payload with an invalid payload type
 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
IPv6 Header All fields are same as Common Packet #13 Payload
UDP Header All fields are same as Common Packet #13 Payload
IKEv2 Header All fields are same as Common Packet #13 Payload
E Payload Next Payload Invalid payload type value
Other fields are same as Common Packet #13
Invalid Payload Next Payload 41(N)
Critical 1
Reserved 0
Payload Length 4
N Payload All fields are same as Common Packet #13 Payload
N Payload All fields are same as Common Packet #13 Payload
SA Payload All fields are same as Common Packet #13 Payload
Ni, Nr paylaod All fields are same as Common Packet #13 Payload
TSi Payload All fields are same as Common Packet #13 Payload
TSr Payload All fields are same as Common Packet #13 Payload
  Part C: Invalid payload type 49 and Critical bit is set (BASIC)
     13. TN1 starts to negotiate with NUT by sending IKE_SA_INIT request.
     14. Observe the messages transmitted on Link A.
     15. After reception of IKE_SA_INIT response from the NUT, TN transmits an IKE_AUTH
         request to the NUT.
     16. Observe the messages transmitted on Link A.
     17. After reception of IKE_AUTH response from the NUT, TN1 transmits an
         CREATE_CHILD_SA request including a payload invalid payload type to the NUT. The
         CREATE_CHILD_SA request's IKE Header Next Payload field is set to 49 and the pointed
         pyaload's Critical bit is set.
     18. Observe the messages transmitted on Link A.


Observable Result

  Part C
       Step 14: 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 16: 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 18: Judgment #3
       The NUT doest not transmit any packets or transmits an CREATE_CHILD_SA response with
       a Notify payload of type UNSUPPORTED_CRITICAL_PAYLOAD with the invalid payload
       type value (49).


Possible Problems

  * None.