");
#======================================================================
vStop($IF0);
vStop($IF1);
ikeReset();
ikeExitPass();
#NOTREACHED
######################################################################
__END__
=head1 NAME
SG_R_RFC2408_4_2_P2_1 - [Responder Test] Multiple Proposal and Transform Payloads check(select proposal)
=head1 TARGET
SGW
=head1 SYNOPSIS
=begin html
SG_R_RFC2408_4_2_P2_1.seq [-tooloption ...] -pkt SG_R_RFC2408_4_2_P2_1.def -tooloption : v6eval tool option
See also ike_common.def and ike_ipsec.def and ike_addr.def and ike_pkt_ph1_recv.def and ike_pkt_ph2_recv.def
=end html
=head1 INITIALIZATION
=begin html
HOST-2(TN)
|3ffe:501:ffff:104::11
|
Net-v --+------------------------+-------- 3ffe:501:ffff:104::/64
|
|
SGW-2(TN):initiator
|3ffe:501:ffff:103::11
|
Net-w --+--------+------------------------ 3ffe:501:ffff:103::/64
|
|
ROUTER-2(TN)
| 3ffe:501:ffff:102::11
|
Net-x --+--------+------------------------ 3ffe:501:ffff:102::/64
|
|3ffe:501:ffff:102::1
SGW-1(NUT):responder
|3ffe:501:ffff:101::1
|
Net-y --+--------+------------------------ 3ffe:501:ffff:101::/64
|
| 3ffe:501:ffff:101::11
ROUTER-1(TN)
|
|
Net-z -----------+---------------+-------- 3ffe:501:ffff:100::/64
|
|3ffe:501:ffff:100::13
HOST-1(TN)
Verification Points
An initiator MAY provide multiple proposals for negotiation;
a responder MUST reply with only one.
The receiving entity MUST select a single transform for
each protocol in a proposal or reject the entire proposal.
When responding to a Security Association payload, the responder MUST
send a Security Association payload with the selected proposal, which
may consist of multiple Proposal payloads and their associated
Transform payloads.
Each of the Proposal payloads MUST contain a single Transform
payload associated with the Protocol.
The responder SHOULD retain the Proposal # field in the Proposal
payload and the Transform # field in each Transform payload
of the selected Proposal.
Configuration
Initiator and Responder IKE parameter
At least, following parameter must be included in proposal.
| Machine |
Src |
Dest |
Phase I |
Phase II |
| Ex mode |
Key Value |
Enc Alg |
Hash Alg |
Auth Method |
DH Group |
PH1 Lt |
IDx |
Prop # |
Proto ID |
Trans # |
Trans ID |
Mode |
Auth Alg |
PH2 Lt |
IDci |
IDcr |
Upper |
| SGW-1 |
SGW-1 addr |
SGW-2 addr |
Main |
IKE-TEST |
3DES |
SHA |
pre-shared key |
2 |
8 Hour |
SGW-1 addr |
|
PROTO_IPSEC_ESP |
|
ESP_3DES |
Tunnel |
HMAC-SHA |
8 Hour |
|
| SGW-2 |
SGW-2 addr |
SGW-1 addr |
Main |
IKE-TEST |
3DES |
SHA |
pre-shared key |
2 |
8 Hour |
SGW-2 addr |
1 |
PROTO_IPSEC_AH |
1 |
249 |
Tunnel |
61440 |
8 Hour |
Net-v addr |
Net-z addr |
any |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
250 |
Tunnel |
61441 |
8 Hour |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
PROTO_IPSEC_ESP |
1 |
249 |
Tunnel |
61440 |
8 Hour |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
ESP_3DES |
Tunnel |
HMAC-SHA |
8 Hour |
|
*Ex Mode = Exchange mode(Aggresive mode can also be chosen as Ex Mode)
*IDx = identity payload(FQDN or user FQDN can also be chosen as IDx)
*IDci = identity payload
*IDcr = identity payload
*Enc Alg = IKE Encryption Algorithm
*Hash Alg = IKE Authentication Algorithm
*Key Value = pre-shared key value
*PH1 Lt = Phase-1 Lifetime
*PH2 Lt = Phase-2 Lifetime
*Prop # = Proposal number
*Proto ID = Protocol Identifier
*Trans # = Transform number
*Trans ID = Transform Identifier
*Mode = Encapsulation Mode
*Auth Alg = Authentication Algorithm
*Auth Method = Authentication Method
*DH Group = Diffie-Hellman Group
*Upper = Upper Layer Protocol
*SGW-1 addr = SGW-1 address
*SGW-2 addr = SGW-2 address
*Net-z = Net-z network address
*Net-v = Net-v network address
=end html
=head1 TEST PROCEDURE
=begin html
This test check is following.
* PHASE I
Either IDENTITY PROTECTION EXCHANGE or AGGRESSIVE EXCHANGE is performed as a pre sequence.
IDENTITY PROTECTION EXCHANGE
# Initiator(TN) Direction Responder(NUT)
(1) HDR; SA ========>
(2) <======== HDR; SA
(3) HDR; KE; NONCE ========>
(4) <======== HDR; KE; NONCE
(5) HDR*; IDii; HASH_I ========>
(6) <======== HDR*; IDir; HASH_R
1. Send the first message from TN
In the first message (1), the initiator generates a proposal it
considers adequate to protect traffic for the given situation. The
Security Association, Proposal, and Transform payloads are included
in the Security Association payload (for notation purposes).
2. Receive the second message from NUT
In the second message (2), the responder indicates the protection
suite it has accepted with the Security Association, Proposal, and
Transform payloads.
3. Send the third message from TN
In the third (3) message, the initiator send keying material
used to arrive at a common shared secret and random information
which is used to guarantee liveness and protect against replay attacks.
4. Receive the fourth message from NUT
In the fourth (4) message, the responder send keying material
used to arrive at a common shared secret and random information
which is used to guarantee liveness and protect against replay attacks.
5. Send the fifth message from TN
In the fifth (5) message, the initiator send identification
information and the results of the agreed upon authentication
function(hash function).
6. Receive the sixth message from NUT
In the sixth (6) message, the responder send identification
information and the results of the agreed upon authentication
function(hash function).
AGGRESSIVE EXCHANGE
# Initiator(TN) Direction Responder(NUT) NOTE
(1) HDR; SA; KE; => Begin ISAKMP-SA or
Proxy negotiation
NONCE; IDii and Key Exchange
(2) <= HDR; SA; KE;
NONCE; IDir; AUTH
Initiator Identity
Verified by Responder
Key Generated
Basic SA agreed upon
(3) HDR*; AUTH =>
Responder Identity
Verified by Initiator
SA established
1. Send the first message from TN
In the first message (1), the initiator generates a proposal it
considers adequate to protect traffic for the given situation. The
Security Association, Proposal, and Transform payloads are included
in the Security Association payload (for notation purposes). There
can be only one Proposal and one Transform offered (i.e. no choices)
in order for the aggressive exchange to work. Keying material used
to arrive at a common shared secret and random information which is
used to guarantee liveness and protect against replay attacks are
also transmitted. Random information provided by both parties SHOULD
be used by the authentication mechanism to provide shared proof of
participation in the exchange. Additionally, the initiator transmits
identification information.
2. Recieve the second message from NUT
In the second message (2), the responder indicates the protection
suite it has accepted with the Security Association, Proposal, and
Transform payloads. Keying material used to arrive at a common
shared secret and random information which is used to guarantee
liveness and protect against replay attacks is also transmitted.
Random information provided by both parties SHOULD be used by the
authentication mechanism to provide shared proof of participation in
the exchange. Additionally, the responder transmits identification
information. All of this information is transmitted under the
protection of the agreed upon authentication function. Local
security policy dictates the action of the responder if no proposed
protection suite is accepted. One possible action is the
transmission of a Notify payload as part of an Informational
Exchange.
3. Send the third message from TN
In the third (3) message, the initiator transmits the results of the
agreed upon authentication function. This information is transmitted
under the protection of the common shared secret. Local security
policy dictates the action if an error occurs during these messages.
One possible action is the transmission of a Notify payload as part
of an Informational Exchange.
The test sequence is following.
* PHASE II
QUICK MODE
# Initiator(TN) Direction Responder(NUT)
(1) HDR*, HASH(1),
SA, Ni,IDci, IDcr; ========>
(2) <======== HDR*, HASH(2), SA, Nr, IDci, IDcr;
Judgement (Check *1)
1. Send the first message from TN
In the first message (1), the initiator generates a proposal it
considers adequate to protect traffic for the given situation. The
Security Association, Proposal, and Transform payloads are included
in the Security Association payload (for notation purposes).
And initiator send HASH(1) and Nonce. HASH(1) is the prf over the
message id (M-ID) from the ISAKMP header concatenated with the entire
message that follows the hash including all payload headers,
but excluding any padding added for encryption. Nonce is random
information which is used to guarantee liveness. IDci and IDcr is
identification information.
2. Receive the second message from NUT
In the second message (2), the responder indicates the protection
suite it has accepted with the Security Association, Proposal, and
Transform payloads. And responder send HASH(2) and Nonce.
HASH(2) is identical to HASH(1) except the initiator's nonce-- Ni,
minus the payload header-- is added after M-ID but before the
complete message. Nonce is random
information which is used to guarantee liveness. IDci and IDcr is
identification information.
=end html
=head1 JUDGEMENT
In Phase I , messages must be exchanged correctly.
In Phase II , the first message must be accepted.
The second message that has two Proposal(Proposal # = 2)
and only one Transform(Transform # = 2)
(attribute is ESP_3DES, Transport, HMAC-SHA, 8 Hour) must be returned.
=head1 TERMINATION
Clean up SAD and SPD
=head1 REFERENCE
=begin html
RFC2408
4.1.1 Notation
(omit)
SA is an SA negotiation payload with one or more Proposal and
Transform payloads. An initiator MAY provide multiple proposals
for negotiation; a responder MUST reply with only one.
(omit)
4.2 Security Association Establishment
(omit)
The Transform payload provides the initiating entity with the
capability to present to the responding entity multiple mechanisms,
or transforms, for a given protocol. The Proposal payload identifies
a Protocol for which services and mechanisms are being negotiated.
The Transform payload allows the initiating entity to present several
possible supported transforms for that proposed protocol. There may
be several transforms associated with a specific Proposal payload
each identified in a separate Transform payload. The multiple
transforms MUST be presented with monotonically increasing numbers in
the initiator's preference order. The receiving entity MUST select a
single transform for each protocol in a proposal or reject the entire
proposal. The use of the Transform number in multiple Transform
payloads provides a second level OR operation, i.e. Transform 1 OR
Transform 2 OR Transform 3. Example 1 below shows two possible
transforms for ESP and a single transform for AH. Example 2 below
shows one transform for AH AND one transform for ESP OR two
transforms for ESP alone. Note that the Next Payload field of the
Transform payload points to another Transform payload or 0. The
Proposal payload delineates the different proposals.
When responding to a Security Association payload, the responder MUST
send a Security Association payload with the selected proposal, which
may consist of multiple Proposal payloads and their associated
Transform payloads. Each of the Proposal payloads MUST contain a
single Transform payload associated with the Protocol. The responder
SHOULD retain the Proposal # field in the Proposal payload and the
Transform # field in each Transform payload of the selected Proposal.
Retention of Proposal and Transform numbers should speed the
initiator's protocol processing by negating the need to compare the
respondor's selection with every offered option. These values enable
the initiator to perform the comparison directly and quickly. The
initiator MUST verify that the Security Association payload received
from the responder matches one of the proposals sent initially.
RFC2409
3.2 Notation
(omit)
SA is an SA negotiation payload with one or more proposals. An
initiator MAY provide multiple proposals for negotiation; a
responder MUST reply with only one.
(omit)
=end html
=head1 SEE ALSO
perldoc V6evalTool
=begin html
IKE.html IKE Test Common Utility
=end html
=cut