next up previous contents
Next: Init0 Message Up: ESCP Secure Stream Protocol Previous: Packet Types

Initialization Phase

The Initialization Phase is used by two communicating applications to establish identities, challenge and authenticate the other's identity, advertise and select cipher, compression and other miscellaneous options, as well as to setup a shared session key.

Both client and server applications behave identically in this phase and their actions are completely symmetrical. Both applications transmit three messages in this phase:

  1. Init0 Message: This message contains the sending entity's public key information and additional information about the capabilities of the protocol implementation.
  2. Init1 Message: This is an encrypted message containing a randomly generated key material (used to derive the secret session in the symmetric cipher for data received from the peer), a random cookie, and a selection of protocol options. The peer's public key is used to encrypt this message.
  3. InitD Message: This and subsequent messages are sent using the symmetric cipher and session key selected by the peer. This message contains the MD5 hash of the previous Init0 and Init1 messages sent to the peer.

The following description of the Initialization Phase makes several references to ``sending'' and ``receiving'' applications (or ``sender'' and ``receiver''). This is intended to clarify the relationship between applications and the various initialization messages they send or receive.





Lai Zit Seng
Mon Mar 17 10:37:02 SGT 1997