Sockets Layer (SSL) and The Follow-On (Subsequent) Internet Standard of
Sockets Layer (SSL) and The Follow-On (Subsequent) Internet Standard of
Virtually all businesses, most government agencies, and many individuals now have Web sites. The number of individuals and companies with Internet access is expanding rapidly, and all of them have graphical Web browsers. As a result, businesses are enthusiastic about setting up facilities on the Web for electronic commerce. But the reality is that the Internet and the Web are extremely vulnerable to compromises of various sorts. Have a variety of threats; Integrity, Confidentiality, Denial of service, and Authentication. As businesses utilize the Internet for more than information dissemination, they will need to use trusted security mechanisms. An increasingly popular general-purpose solution is to implement security as a protocol that sits between the underlying transport protocols (TCP) and the application. The foremost example of this approach is the Secure Sockets Layer (SSL) and the follow-on (subsequent) Internet standard of SSL known as Transport Layer Security (TLS). At this level, there are two implementation choices;
For full generality, SSL (or TLS) could be provided as part of the underlying protocol suite and therefore be transparent to applications. Alternatively, SSL can be embedded in specific packages. For example, Netscape and Microsoft Explorer browsers come equipped with SSL, and most Web servers have implemented the protocol.
Although it is possible to use SSL for applications other than Web transactions, its use at present is typically as part of Web browsers and servers; and hence limited to Web traffic. Most of this article deals with the technical details of SSL; the status of TLS is described at the end. -SSL was originated by Netscape. -Version 3 of the protocol was designed with public review and input from industry and was published as an Internet Draft document. -Subsequently, when a consensus was reached to submit the protocol for Internet standardization, the TLS working group was formed within the Internet Engineering Task Force (IETF) to develop a common standard.
-The current work on TLS is aimed at producing an initial version as an Internet Standard.
SSL Architecture
-SSL is designed to make use of TCP to provide a reliable end-toend secure service. -SSL is not a single protocol but rather two layers of protocols. The SSL Record Protocol provides basic security services to various higher-layer protocols. In precise, the HTTP, which provides the transfer service for Web client/server interaction, can operate on top of SSL. Three higher-layer protocols are defined as part of SSL: the Handshake Protocol, the Change CipherSpec Protocol, and the Alert Protocol. These SSL-specific protocols are used in the management of SSL exchanges. Two important SSL concepts are the SSL session and the SSL connection, which are defined in the specification as follows:
Connection: A logical client/server link that provides a suitable type of service. For SSL, such connections are peer-to-peer relationships. The connections are transient. Every connection is associated with one session. Session: An association between a client and a server. Sessions are created by the Handshake Protocol. Sessions define a set of cryptographic security parameters, which can be shared among
multiple connections. Sessions are used to avoid the expensive negotiation of new security parameters for each connection.
Alert Protocol
The Alert Protocol is used to convey SSL-related alerts to the peer entity. -As with other applications that use SSL, alert messages are compressed and encrypted, as specified by the current state. -Each message in this protocol consists of two bytes;
The first byte takes the value "warning" (1) or "fatal"(2) to convey the severity of the message. If the level is fatal, SSL immediately terminates the connection. Other connections on the same session may continue, but no new connections on this session may be established. The second byte contains a code that indicates the specific alert. An example of a fatal message is illegal parameter (a field in a handshake message was out of range or inconsistent with other fields). An example of a warning message is close notify (notifies the recipient that the sender will not send any more messages on this connection; each party is required to send a close notify alert before closing the write side of a connection).
Other examples [fatal] include Unexpected message, bad record mac, decompression failure, handshake failure, illegal parameter Other Examples [warning] include Close notify, no certificate, bad certificate, unsupported certificate, certificate revoked, certificate expired, certificate unknown.
Handshake Protocol
The most complex part of SSL is the Handshake Protocol. -This protocol allows the server and client to authenticate each other and to negotiate an encryption and MAC algorithm and cryptographic keys to be used to protect data sent in an SSL record. -The Handshake Protocol is used before any application data is transmitted. The Handshake Protocol consists of a series of messages [phases] exchanged by the client and the server. Establish security capabilities Server authentication and key exchange Client authentication and key exchange Finish Figure 2 shows the initial exchange needed to establish a logical connection between the client and the server. The exchange can be viewed as having four phases.
version of its browser and Web server products, and Netscape has made a similar commitment. With this kind of support, it is likely that TLS will move quickly along the Internet Standards track. The current draft version of TLS is very similar to SSLv3. TLS uses slightly different cryptographic algorithms for such things as the MAC function generation of secret keys. TLS also includes more alert codes. SSL is already widely deployed and, under the name TLS, is moving toward Internet standardization. It is the solution of choice for Web transaction security.