Title

  Test IKEv2.EN.R.1.2.5.3: Receiving Multiple Transform
  Part A: Multiple Encryption Algorithms (BASIC)


Purpose

  To verify an IKEv2 device properly handles a CREATE_CHILD_SA request with multiple
  transforms to rekey CHILD_SA.


References

  * [RFC 4306] - Sections 2.7, 2.8 and 3.3


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 {N, N+, SA, Ni, TSi, TSr})
    |                    | (Packet #3)
    |------------------->| CREATE_CHILD_SA response (HDR, SK {N+, SA, Nr, TSi, TSr})
    |                    | (Judgement #3)
    |                    |
    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

From part A to part C, TN1 transmits a CREATE_CHILD_SA request including a SA
payload which contains the transforms as follows:
CREATE_CHILD_SA exchanges Algorithms
Encryption Integrity ESN
Part A ENCR_3DES
ENCR_AES_CBC
AUTH_HMAC_SHA1_96 No ESN

* Packet #3: CREATE_CHILD_SA request
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
IDi Payload Same as the common packet #13
AUTH 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 Other fields are same as the Common Packet #13
SA Proposals See below
TSi Payload Same as the common packet #13
TSr Payload Same as the common packet #13
Proposal #1 SA Proposal Next Payload 0 (last)
Reserved 0
Proposal Length 40
Proposal # 1
Proposal ID 3 (ESP)
SPI Size 4
# of Transforms 4
SPI Any
SA Transform Next Payload 3 (more)
Reserved 0
Transform Length 8
Transform Type According to above configuration
Reserved 0
Transform ID According to above configuration
SA Transform Next Payload 3 (more)
Reserved 0
Transform Length 8
Transform Type 1 (ENCR)
Reserved 0
Transform ID 3 (3DES)
SA Transform Next Payload 3 (more)
Reserved 0
Transform Length 8
Transform Type 3 (INTEG)
Reserved 0
Transform ID 2 (HMAC_SHA1_96)
SA Transform Next Payload 0 (last)
Reserved 0
Transform Length 8
Transform Type 5 (ESN)
Reserved 0
Transform ID 0 (No ESN)
  Part A: Multiple Encryption Algorithms (BASIC)
     1. TN1 starts to negotiate with NUT by sending IKE_SA_INIT request.
     2. Observe the messages transmitted on Link A.
     3. After reception of IKE_SA_INIT response from the NUT, TN1 transmits an IKE_AUTH
        request to the NUT.
     4. Observe the messages transmitted on Link A.
     5. TN1 transmits a CREATE_CHILD_SA request including a Notify Payload of type
        REKEY_SA and rekeyed CHILD_SA's SPI value in the SPI field 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 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 transmits a CREATE_CHILD_SA response including "ENCR_3DES",
       "AUTH_HMAC_SHA1_96" and "No Extended Sequence Numbers" as proposed algorithms.


Possible Problems

  * None.