Test IKEv2.EN.I.1.1.5.2: Interaction of COOKIE and INVALID_KE_PAYLOAD
Part A: (ADVANCED)
To verify an IKEv2 device properly handles a series of the Initial Exchanges using a Notify
ayload of type COOKIE and type INVALID_KE_PAYLOAD.
* [RFC 4306] - Sections 2.6, 2.7 and 3.10.1
* [RFC 4718] - Sections 2.2 and 2.4
* 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.
NUT TN1
(End-Node) (End-Node)
| |
|------------------->| IKE_SA_INIT request (HDR, SAi1, KEi, Ni)
| | (Judgement #1)
|<-------------------| IKE_SA_INIT Response (HDR, N(COOKIE))
| | (Packet #1)
| |
|------------------->| IKE_SA_INIT request (HDR, N(COOKIE), SAi1, KEi, Ni)
| | (Judgement #2)
|<-------------------| IKE_SA_INIT Response (HDR, N(INVALID_KE_PAYLOAD))
| | (Packet #2)
| |
|------------------->| IKE_SA_INIT request (HDR, SAi1, KEi', Ni)
| | or
|------------------->| IKE_SA_INIT request (HDR, N(COOKIE), SAi1, KEi', Ni)
| | (Judgement #3)
| |
V V
| Packet #1 |
See below |
| Packet #2 |
See below |
Packet #1: IKE_SA_INIT 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 |
The same value as corresponding request's IKE_SA Initiator's SPI value |
| IKE_SA Responder's SPI |
0 |
| Next Payload |
41(N) |
| Major Version |
2 |
| Minor Version |
0 |
| Exchange Type |
34 (IKE_SA_INIT) |
| X (bits 0-2 of Flags) |
0 |
| I (bit 3 of Flags) |
0 |
| V (bit 4 of Flags) |
0 |
| R (bit 5 of Flags) |
1 |
| X (bits 6-7 Flags) |
0 |
| Message ID |
0 |
| Length |
any |
| N Payload |
Next Payload |
0 |
| Critical |
0 |
| Reserved |
0 |
| Payload Length |
any |
| Protocol ID |
0 |
| SPI Size |
0 |
| Notify Message Type |
COOKIE (16390) |
| Notification Data |
Cookie value |
Packet #2: IKE_SA_INIT 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 |
The same value as corresponding request's IKE_SA Initiator's SPI value |
| IKE_SA Responder's SPI |
0 |
| Next Payload |
41(N) |
| Major Version |
2 |
| Minor Version |
0 |
| Exchange Type |
34 (IKE_SA_INIT) |
| X (bits 0-2 of Flags) |
0 |
| I (bit 3 of Flags) |
0 |
| V (bit 4 of Flags) |
0 |
| R (bit 5 of Flags) |
1 |
| X (bits 6-7 Flags) |
0 |
| Message ID |
0 |
| Length |
any |
| N Payload |
Next Payload |
0 |
| Critical |
0 |
| Reserved |
0 |
| Payload Length |
10 |
| Protocol ID |
0 |
| SPI Size |
0 |
| Notify Message Type |
INVALID_KE_PAYLOAD (17) |
| Notification Data |
The accepted D-H Group # (2) |
Part A: (ADVANCED)
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 including a Notify payload of type COOKIE
to the NUT.
4. Observe the messages transmitted on Link A.
5. TN1 responds with an IKE_SA_INIT response including a Notify payload of type
INVALID_KE_PAYLOAD to the NUT.
6. 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
lgorithms.
Step 4: Judgment #2
The NUT transmits an IKE_SA_INIT request including a Notify payload of type COOKIE
ontaining the responder supplied cookie data as the first payload and all other payloads
nchanged.
Step 6: Judgment #3
The NUT transmits an IKE_SA_INIT request including a Notify payload of type COOKIE
ontaining the responder supplied cookie data as the first payload, a KE payload containing the
orrected Diffie-Hellman group and all other payloads unchanged..
* None.