This section provides a quick overview of the SSL (Secure Socket Layer) protocol. There are 4 sub-protocols in SSL: Record Protocol, Handshake Protocol, Change Cipher Spec Protocol, and Alert Protocol.
SSL protocol operates between the TCP/IP layer and the application layer
in the communication layer model. See the following diagram:
The objective of SSL protocol is to offer to the application the following security properties:
Privacy - Application data can be encrypted with symmetric cryptography technologies.
Authenticity - Remote host can be authenticated with certificate technologies.
Integrity - Application data's integrity can be checked with message digest technologies.
SSL protocol is actually composed of 4 sub-protocols:
Record Protocol - Operates between the TCP/IP layer and application layer
to apply fragmentation, compression, encryption, and message digest operations.
Handshake Protocol - Operates on top of the record protocol layer
before any real application data transmission to authenticate remote host,
exchange encryption settings and initializing the record protocol layer.
Change Cipher Spec Protocol - Operates on top of the record protocol
layer to inform remote host to change security settings in the record protocol
layer.
Alert Protocol - Operates on top of the record protocol layer
to send alerts to the remote host.
SSL's sub-protocols work together with application protocols
as shown in the following diagram:
As you can see, the handshake protocol is very important for establishing
the SSL. The following diagram shows you what are the messages used
in the handshake protocol and in what sequence they are used: