Test IKEv2.EN.I.1.2.6.6: Simultaneous IKE_SA Rekeying with retransmission
Part A: (BASIC)
To verify an IKEv2 device properly handles a CREATE_CHILD_SA to rekey IKE_SA.
* [RFC 4718] - Sections 5.11.4
* 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.
* Pre-Sequence and Cleanup Sequence
IKEv2 on the NUT is disabled after each part.
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) |
| | | repeat Echo exchange until lifetime of SA is expired
|------------------->| IPsec {Echo Reply} |
| | (Judgement #3) |
| | ---
--- ---
| |
|------------------->| CREATE_CHILD_SA request (HDR, SK {SA, Ni})
| | (Judgement #4)
| |
|<-------------------| CREATE_CHILD_SA request (HDR, SK {SA, Ni})
| | (Packet #4)
|------------------->| CREATE_CHILD_SA Response (HDR, SK {SA, Nr})
| | (Judgement #4)
| |
|<-------------------| INFORMATIONAL request (HDR, SK {D})
| | (Packet #5)
| |
|------------------->| INFORMATIONAL response (HDR, SK {})
| | (Judgement #5)
| |
|---------X | CREATE_CHILD_SA request (HDR, SK {SA, Ni})
| | (Judgement #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 Common Packet #11 |
| Packet #5 |
See below |
* Packet #5: INFORMATIONAL 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 |
any |
| IKE_SA Responder's SPI |
any |
| Next Payload |
46 (E) |
| Major Version |
2 |
| Minor Version |
0 |
| Exchange Type |
37 (INFORMATIONAL) |
| X (bits 0-2 of Flags) |
0 |
| I (bit 3 of Flags) |
any |
| V (bit 4 of Flags) |
0 |
| R (bit 5 of Flags) |
0 |
| X (bits 6-7 Flags) |
0 |
| Message ID |
0 |
| Length |
any |
| E Payload |
Next Payload |
42 (D) |
| Critical |
0 |
| Reserved |
0 |
| Payload Length |
any |
| Initialization Vector |
The same value as block length of the underlying encryption algorithm |
Encrypted IKE Payloads |
Subsequent payloads encrypted by underlying encryption algorithm |
| Padding |
Any value which to be a multiple of the encryption block size |
| Pad Length |
The length of the Padding field |
| Integrity Checksum Data |
The Cryptographic checksum of the entire message |
| D Payload |
Next Payload |
0 |
| Critical |
0 |
| Reserved |
0 |
| Payload Length |
8 |
| Protocol ID |
1 (IKE_SA) |
| SPI Size |
0 |
| # of SPIs |
0 |
| Security Parameter Index |
none |
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 transmits a CREATE_CHILD_SA request to rekey IKE_SA to the NUT.
11. Observe the messages transmitted on Link A.
12. TN1 transmits an INFORMATONAL request to close the original IKE_SA. The message
has a Delete Payload including 1 (IKE_SA) as Protocol ID, zero as SPI Size and no SPI
value.
13. Observe the messages transmitted on Link A.
14. Observe the messages transmitted on Link A.
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 to rekey an IKE_SA. The message
includes "ENCR_3DES", "PRF_HMAC_SHA1", "AUTH_HMAC_SHA1_96" and "D-H
group 2" as proposed algorithms. And the CREATE_CHILD_SA request has a SA payload
including 1 (IKE) in the Protocol ID field, 8 in the SPI size field and new IKE_SA's SPI
value in the SPI field.
Step 11: Judgment #5
The NUT responds a CREATE_CHILD_SA response including "ENCR_3DES",
"AUTH_HMAC_SHA1_96" and "No Extended Sequence Numbers" as proposed algorithms.
And the proposal in the SA payload Response has a SA payload including 1 (IKE) in the
Protocol ID field, 8 in the SPI size field and new IKE_SA's responder's SPI value in the SPI
field.
Step 13: Judgment #6
The NUT responds with an INFORMATIONAL response to the INFORMATIONAL request
to close the original IKE_SA.
Step 14: Judgment #7
The NUT never retransmits a CREATE_CHILD_SA request transmitted at Step 9.
* Each NUT has the different lifetime of SA.