NAME

  SG_I_RFC2406_2_2 - [Initiator Test] Increasing Sequence Number


TARGET

  SGW


SYNOPSIS

  SG_I_RFC2406_2_2.seq [-tooloption ...] -pkt SG_I_RFC2406_2_2.def -tooloption : v6eval tool option
  See also ike_common.def and ike_ipsec.def and ike_pkt_ph1_recv.def and ike_pkt_ph2_recv.def


INITIALIZATION

  • Configuration
  • Pre-Sequence
  •        In order to start the negotiation of IKE, 
           TN(HOST-1) transmits Echo Request to TN(HOST-2).
    	


    TEST PROCEDURE

      This test check is following.
    
    * PHASE I
    Either IDENTITY PROTECTION EXCHANGE or AGGRESSIVE EXCHANGE is performed as a pre sequence.

    IDENTITY PROTECTION EXCHANGE
    # Initiator(NUT) Direction Responder(TN) (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. Receive the first message from NUT 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. Send the second message from TN In the second message (2), the responder indicates the protection suite it has accepted with the Security Association, Proposal, and Transform payloads.
    3. Receive the third message from NUT 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. Send the fourth message from TN 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. Receive the fifth message from NUT In the fifth (5) message, the initiator send identification information and the results of the agreed upon authentication function(hash function).
    6. Send the sixth message from TN In the sixth (6) message, the responder send identification information and the results of the agreed upon authentication function(hash function).

    AGGRESSIVE EXCHANGE
    # Initiator(NUT) Direction Responder(TN) 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. Recieve the first message from NUT 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. Send the second message from TN 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. Recieve the third message from NUT 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.

    * PHASE II
    QUICK MODE
    # Initiator(NUT) Direction Responder(TN) (1) HDR*, HASH(1), SA, Ni,IDci, IDcr; ========>
    (2) <======== HDR*, HASH(2), SA, Nr, IDci, IDcr;
    (3) HDR*, HASH(3) ========>
    1. Receive the first message from NUT 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. Send the second message from TN 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.
    3. Receive the third message from NUT In the third (3) message, the initiator send HASH(3). HASH(3)-- for liveliness-- is the prf over the value zero represented as a single octet, followed by a concatenation of the message id and the two nonces-- the initiator's followed by the responder's-- minus the payload header.

    The test sequence is following.
    * IPsec transmission
    # Initiator(NUT) Direction Responder(TN) (1) IP_HDR; ESP*; ICMP(Echo request) ========>
    (2) IP_HDR; ESP*; ICMP(Echo request) ========> Judgement (Check *1)
    1. Receive the first message from NUT In the first message (1), initiator(NUT) forward Echo request from HOST-1(TN) to responder(TN) with IPsec SA.
    2. Receive the second message from NUT In the second message (2), initiator(NUT) forward Echo request from HOST-1(TN) to responder(TN) with IPsec SA.


    JUDGEMENT

            In Phase I , messages must be exchanged correctly.
            In Phase II , the first to the third message must be exchanged correctly,
            In IPsec SA transmission, the first message's Sequence Number must be "1".
            and the second message's Sequence Number must be "2".
            And must conform to above Configuration.


    TERMINATION

      Clean up SAD and SPD


    REFERENCE

      RFC2406
      2.  Encapsulating Security Payload Packet Format
    
    The protocol header (IPv4, IPv6, or Extension) immediately preceding the ESP header will contain the value 50 in its Protocol (IPv4) or Next Header (IPv6, Extension) field [STD-2].
    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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- | Security Parameters Index (SPI) | ^Auth. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov- | Sequence Number | |erage +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ---- | Payload Data* (variable) | | ^ ~ ~ | | | | |Conf. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov- | | Padding (0-255 bytes) | |erage* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | Pad Length | Next Header | v v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------ | Authentication Data (variable) | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    (omit)
    2.2 Sequence Number
    This unsigned 32-bit field contains a monotonically increasing counter value (sequence number). It is mandatory and is always present even if the receiver does not elect to enable the anti-replay service for a specific SA. Processing of the Sequence Number field is at the discretion of the receiver, i.e., the sender MUST always transmit this field, but the receiver need not act upon it (see the discussion of Sequence Number Verification in the "Inbound Packet Processing" section below).
    The sender's counter and the receiver's counter are initialized to 0 when an SA is established. (The first packet sent using a given SA will have a Sequence Number of 1; see Section 3.3.3 for more details on how the Sequence Number is generated.) If anti-replay is enabled (the default), the transmitted Sequence Number must never be allowed to cycle. Thus, the sender's counter and the receiver's counter MUST be reset (by establishing a new SA and thus a new key) prior to the transmission of the 2^32nd packet on an SA.
    (omit)
    3.3.3 Sequence Number Generation
    The sender's counter is initialized to 0 when an SA is established. The sender increments the Sequence Number for this SA and inserts the new value into the Sequence Number field. Thus the first packet sent using a given SA will have a Sequence Number of 1.
    If anti-replay is enabled (the default), the sender checks to ensure that the counter has not cycled before inserting the new value in the Sequence Number field. In other words, the sender MUST NOT send a packet on an SA if doing so would cause the Sequence Number to cycle. An attempt to transmit a packet that would result in Sequence Number overflow is an auditable event. (Note that this approach to Sequence Number management does not require use of modular arithmetic.)
    The sender assumes anti-replay is enabled as a default, unless otherwise notified by the receiver (see 3.4.3). Thus, if the counter has cycled, the sender will set up a new SA and key (unless the SA was configured with manual key management).
    If anti-replay is disabled, the sender does not need to monitor or reset the counter, e.g., in the case of manual key management (see Section 5). However, the sender still increments the counter and when it reaches the maximum value, the counter rolls over back to zero.


    SEE ALSO

      perldoc V6evalTool
      IKE.html IKE Test Common Utility