Title

  Test IKEv2.EN.I.1.2.2.2: Stop of retransmission of CREATE_CHILD_SA requests
  Part A: (BASIC)


Purpose

  To verify an IKEv2 device stops retransmission when it receives the corresponding response.


References

  * [RFC 4306] - Sections 2.1, 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.
      In addition, set IKE_SA Lifetime to 300 seconds and set CHILD_SA Lifetime to 30
      seconds.
  * 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, SAr1, KEr, Nr)
    |                    | (Packet #1)
    |                    |
    |------------------->| IKE_AUTH request (HDR, SK {IDi, AUTH, N+, SAi2, TSi, TSr})
    |                    | (Judgement #2)
    |<-------------------| IKE_AUTH Response (HDR, SK {IDr, AUTH, N+, SAr2, TSi, TSr})
    |                    | (Packet #2)
    |                    |
   ---                  ---
    |                    |                        ---
    |<-------------------| IPSec {Echo Request}    |
    |                    | (Packet #3)             |
    |------------------->| IPSec {Echo Reply}      | repeat Echo exchange until lifetime of SA is expired
    |                    | (Judgement #3)          |
    |                    |                        ---
   ---                  ---
    |                    |
    |------------------->| CREATE_CHILD_SA request (HDR, SK {N, N+, SA, Ni, KEi, TSi, TSr})
    |                    | (Judgement #4)
    |                    |
    |                    * wait for the event of a timeout
    |                    |
    |------------------->| CREATE_CHILD_SA request (HDR, SK {N, N+, SA, Ni, KEi, TSi, TSr})
    |                    | (Judgement #5)
    |<-------------------| CREATE_CHILD_SA response(HDR, SK {N+, SA, Nr, KEi, TSi, TSr})
    |                    | (Packet #4)
    |                    |
    |--------X           | never send CREATE_SA request (HDR, SK {N, N+, SA, Ni, KEi, TSi, TSr})
    |                    | (Judgement #6)
    |                    |
    V                    V

N: REKEY_SA N+: USE_TRANSPORT_MODE
Packet #1 See Common Packet #2
Packet #2 See Common Packet #4
Packet #3 See Common Packet #19
Packet #4 See Common Packet #14
  Part A: (BASIC)
       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 to the NUT.
       4. Observe the messages transmitted on Link A.
       5. After reception of IKE_AUTH request from the NUT, TN1 responds with an IKE_AUTH
          response to the NUT
       6. TN1 transmits an Echo Request with IPsec ESP using corresponding algorithms to NUT.
       7. Observe the messages transmitted on Link A.
       8. Repeat Steps 6 and 7 until lifetime of SA is expired.
       9. Observe the messages transmitted on Link A.
      10. TN1 waits for the event of a timeout on NUT.
      11. Observe the messages transmitted on Link A.
      12. TN1 responds with a CREATE_CHILD_SA response to the NUT.
      13. TN1 waits for the event of a timeout on NUT.
      14. 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
      algorithms.
  
    Step 4: Judgment #2
      The NUT transmits an IKE_AUTH request including "ENCR_3DES",
      "AUTH_HMAC_SHA1_96" and "No Extended Sequence Numbers" as proposed algorithms.
  
    Step 7: Judgment #3
      The NUT transmits an Echo Reply with IPsec ESP using corresponding algorithms.
  
    Step 9: Judgment #4
      The NUT transmits a CREATE_CHILD_SA request including "ENCR_3DES",
      "AUTH_HMAC_SHA1_96" and "No Extended Sequence Numbers" as proposed algorithms.
  
    Step 11: Judgment #5
      The NUT retransmits a CREATE_CHILD_SA request which has the same Message ID value
      as the previous CREATE_CHILD_SA request's Message ID value in IKE Header.
  
    Step 14: Judgment #6
      The NUT stops the retransmissions of a CREATE_CHILD_SA request which has the same
      Message ID value as the previous CREATE_CHILD_SA request's Message ID value in IKE
      Header.


Possible Problems

  * Each NUT has the different lifetime of SA.
  * Each NUT has the different retransmission timers.