SG_R_A_RFC2408_5_9_1_1_C - [Responder Test] Certificate Payload Format check
SGW
SG_R_A_RFC2408_5_9_1_1_C.seq [-tooloption ...] -pkt SG_R_A_RFC2408_5_9_1_1_C.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
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
Certificate Request Payload Format
Next Payload field
Place the value of the Next Payload in the Next Payload field.
RESERVED Fields
All RESERVED fields in the ISAKMP protocol MUST be set to zero (0).
Place the value zero (0) in the RESERVED field.
Payload Length field
Place the length (in octets) of the payload in the Payload Length
field.
Certificate Encoding field
This field indicates the type of certificate or certificate-related
information contained in theCertificate Data field.
Certificate Data field
Actual encoding of certificate data
Configuration
Initiator and Responder generate the public key and the secret key
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 |
Proto ID |
Trans ID |
Mode |
Auth Alg |
PH2 Lt |
IDci |
IDcr |
Upper |
| SGW-1 |
SGW-1 addr |
SGW-2 addr |
Aggressive |
|
3DES |
SHA |
RSA signatures |
2 |
8 Hour |
SGW-1 addr |
PROTO_IPSEC_ESP |
ESP_3DES |
Tunnel |
HMAC-SHA |
8 Hour |
Net-v addr |
Net-z addr |
any |
| SGW-2 |
SGW-2 addr |
SGW-1 addr |
Aggressive |
|
3DES |
SHA |
RSA signatures |
2 |
8 Hour |
SGW-2 addr |
PROTO_IPSEC_ESP |
ESP_3DES |
Tunnel |
HMAC-SHA |
8 Hour |
Net-v addr |
Net-z addr |
any |
*Ex Mode = Exchange 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
*Proto ID = Protocol Identifier
*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
This test check is following.
AGGRESSIVE EXCHANGE
# Initiator(TN) Direction Responder(NUT)
(1) HDR; SA, KE, Ni, IDii ========>
CERT Req
(2) <======== HDR; SA, KE, Nr, IDir, SIG_R
CERT, CERT Req
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).
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. Additionally, the initiator
transmits identification information.
And the initiator send Certificate Request Payload.
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.
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.Additionally, the responder
transmits identification information and the signed data, SIG_R is
the result of the negotiated digital signature algorithm applied
to HASH_R.Additionally the responder send Certificate and Certificate
Request Payload
The second message's Certificate Payload Format must be base
on description of RFC(see above Verification Points).
And must conform to above Configuration.
Clean up SAD and SPD
RFC2408
3.9 Certificate Payload
(omit)
o Next Payload (1 octet) - Identifier for the payload type of the
next payload in the message. If the current payload is the last
in the message, then this field will be 0.
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Next Payload ! RESERVED ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Cert Encoding ! !
+-+-+-+-+-+-+-+-+ !
~ Certificate Data ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(omit)
o RESERVED (1 octet) - Unused, set to 0.
o Payload Length (2 octets) - Length in octets of the current
payload, including the generic payload header.
o Certificate Encoding (1 octet) - This field indicates the type of
certificate or certificate-related information contained in the
Certificate Data field.
Certificate Type Value
NONE 0
PKCS #7 wrapped X.509 certificate 1
PGP Certificate 2
DNS Signed Key 3
X.509 Certificate - Signature 4
X.509 Certificate - Key Exchange 5
Kerberos Tokens 6
Certificate Revocation List (CRL) 7
Authority Revocation List (ARL) 8
SPKI Certificate 9
X.509 Certificate - Attribute 10
RESERVED 11 - 255
o Certificate Data (variable length) - Actual encoding of
certificate data. The type of certificate is indicated by the
Certificate Encoding field.
(omit)
5.3 Generic Payload Header Processing
When creating any of the ISAKMP Payloads described in sections 3.4
through 3.15 a Generic Payload Header is placed at the beginning of
these payloads. When creating the Generic Payload Header, the
transmitting entity (initiator or responder) MUST do the following:
1. Place the value of the Next Payload in the Next Payload field.
These values are described in section 3.1.
2. Place the value zero (0) in the RESERVED field.
3. Place the length (in octets) of the payload in the Payload Length
field.
4. Construct the payloads as defined in the remainder of this
section.
(omit)
5.9 Certificate Payload Processing
When creating a Certificate Payload, the transmitting entity
(initiator or responder) MUST do the following:
1. Determine the Certificate Encoding to be used. This may be
specified by the DOI.
2. Ensure the existence of a certificate formatted as defined by the
Certificate Encoding.
3. Construct a Certificate payload.
4. Transmit the message to the receiving entity as described in
section 5.1.
(omit)
perldoc V6evalTool
IKE.html IKE Test Common Utility