Title

  Test IKEv2.EN.I.1.2.4.7: Changing PRFs when rekeying the IKE_SA
  Part A: (BASIC)


Purpose

  To verify an IKEv2 device properly handles CREATE_CHILD_SA to rekey IKE_SA.


References

  * [RFC 4306] - Sections 2.8
  * [RFC 4718] - Sections 5.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.
      In addition, set IKE_SA Lifetime to 60 seconds and set CHILD_SA Lifetime to 300
      seconds.
      Configure the devices according to the Common Configuration except for Italic
      parameters.
IKE_SA Rekeying Algorithms
Encryption PRF Integrity D-H Group
Part A ENCR_3DES PRF_HMAC_SHA1 AUTH_HMAC_SHA1_96 Group 14
  * 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 {SA, Ni})
    |                    | (Judgement #4)
    |<-------------------| CREATE_CHILD_SA response (HDR, SK {SA, Nr})
    |                    | (Packet #4)
    |                    |
    |------------------->| INFORMATIONAL request (HDR, SK {D})
    |                    | (Judgement #5)
    |<-------------------| INFORMATIONAL response (HDR, SK {})
    |                    | (Packet #5)
    |                    |
    |<-------------------| INFORMATIONAL request (HDR, SK {})
    |                    | (Judgement #6)
    |------------------->| INFORMATIONAL response (HDR, SK {})
    |                    | (Packet #6)
    |                    |
    V                    V

 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 below
Packet #5 See Common Packet #18
Packet #6 See Common Packet #17
Packet #4: CREATE_CHILD_SA response
Packet #4 is same as Common Packet #12 except SA Transform proposed in each test.
Part A:
SA Transform of Tranform Type D-H is replaced by the following SA Transform.
SA Transform Next Payload 0 (last)
Reserved 0
Transform Length 8
Transform Type 4 (D-H)
Reserved 0
Transform ID 14 (2048 MODP Group)
  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. After reception of CREATE_CHILD_SA request for rekeying from the NUT, TN1 responds
         with a CREATE_CHILD_SA response to the NUT.
     11. Observe the messages transmitted on Link A.
     12. TN1 responds with an INFORMATIONAL response to an INFORMATIONAL request to
         close the replaced IKE_SA.
     13. TN1 transmits an INFORMATIONAL request with no payloads cryptographically protected
         by new IKE_SA.
     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",
       "PRF_HMAC_SHA1", "AUTH_HMAC_SHA1_96" and "D-H group 14" as proposed
       algorithms. And the CREATE_CHILD_SA request includes 1 (IKE) in the Protocol ID field,
       8 in the SPI size field and rekeyed IKE_SA's SPI value in the SPI field.
       Step 11: Judgment #5
       The NUT transmits an INFORMATIONAL request with a Delete payload to close the
       replaced IKE_SA.
       Step 14: Judgment #6
       The NUT resopndes with an INFORMATIONAL response with not payloads
       cryptographically protected by new IKE_SA.


Possible Problems

  * Each NUT has the different lifetime of SA.