Main Page | See live article | Alphabetical index

Transport Layer Security

Secure Sockets Layer or SSL is a protocol designed by Netscape Communications Corporation to provide encrypted communications on the Internet. SSL Version 3.0, released in 1996, was later used as a basis to develop Transport Layer Security or TLS, an IETF standard protocol. TLS was first defined in RFC 2246: "The TLS Protocol Version 1.0".

These protocols provide communications privacy over the Internet, using cryptography. They allow client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.

They are layered beneath application protocols such as HTTP, SMTP and NNTP and above the TCP transport protocol, which is part of the TCP-IP protocol suite. While both SSL and TLS can be used to add security to any protocol that uses TCP, they are most commonly used in the HTTPS access method. HTTPS is used to secure World Wide Web pages for applications such as Electronic commerce. Both protocols use public key cryptography and public key certificates to identify the identity of endpoints.

Like SSL, on which it was based, TLS is a modular protocol, designed to be extended, with support for forwards and backwards compatibility and negotiation between peers.

Both TLS and SSL involve a number of basic phases:

Some early implementations of SSL were limited to 40-bit symmetric keys because of legal restrictions on the export of cryptographic technology. The 40 bit keyspace was intended to be small enough to be breakable by brute force search by law enforcement agencies wishing to read the encrypted traffic, while still presenting obstacles to less-well-funded attackers. After a series of lawsuits forced relaxation of the export restrictions, the 40-bit limitation mostly went away. Modern implementations use 128-bit or longer keys for symmetric cipher encryption.

TLS has subsequently been extended by other RFCs including:

While an increasing number of client and server products can support TLS or SSL natively, there are many that still do not. In these cases, a user may wish to use standalone SSL products like Stunnel to provide SSL encryption.

External links

This article (or an earlier version of it) contains material from FOLDOC's article on SSL, used with permission.