NAME

  CookieEchoBadMD5.seq - COOKIE-ECHO chunk is received with wrong MD5 signature


PURPOSE

  To check that if COOKIE-ECHO chunk is received with wrong MD5 signature
  then the endpoint should silent discard the COOKIE-ECHO chunk.


SYNOPSIS

  ./CookieEchoBadMD5.seq [-tooloption ...] -pkt ./CookieEchoBadMD5.def
    -tooloption : v6eval tool option
  See Also: ../common/STD_PKT_COMMON.def
            ../common/SCTP_COMMON.def


PRE-TEST CONDITION

  Association is not established between endpoint A and B. Arrange the data
  in endpoint A such that COOKIE-ECHO message is sent with MD5 signature
  different from received cookie in INIT-ACK.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (CLOSED)                             (CLOSED)
                                                   <-----    Associate
  INIT          ----------------->
                <-----------------      INIT-ACK
  COOKIE-ECHO   ----------------->      Silently discarded
  (with wrong MD5 signature)
  COOKIE-ECHO   ----------------->
                <-----------------      COOKIE-ACK
  TEST DESCRIPTION:
  1. Try to initiate an association from endpoint A to B.Send COOKIE-ECHO 
     message containing different MD5 signature from the one received in 
     INIT-ACK. 
     Record the message sequence using a signal emulator.
  2. Check A: COOKIE-ECHO message is discarded.
  3. Check B: Association remains in closed state. 
  4. Check C: COOKIE-ACK will not be sent from endpoint B.


NOTE

  None


REFERENCE

  RFC 4960
  5.1.5.  State Cookie Authentication
    When an endpoint receives a COOKIE ECHO chunk from another endpoint
    with which it has no association, it shall take the following
    actions:
    1)  Compute a MAC using the TCB data carried in the State Cookie and
        the secret key (note the timestamp in the State Cookie MAY be
        used to determine which secret key to use).  [RFC2104] can be
        used as a guideline for generating the MAC,
    2)  Authenticate the State Cookie as one that it previously generated
        by comparing the computed MAC against the one carried in the
        State Cookie.  If this comparison fails, the SCTP packet,
        including the COOKIE ECHO and any DATA chunks, should be silently
        discarded,
    3)  Compare the port numbers and the Verification Tag contained
        within the COOKIE ECHO chunk to the actual port numbers and the
        Verification Tag within the SCTP common header of the received
        packet.  If these values do not match, the packet MUST be
        silently discarded.