Scope
This paper is intended to
serve as a primer for learning the basic concepts of how SSL operates.
Overview information on how SSL termination devices are deployed in a
Web server environment also is included. Because this paper is intended
for a technical audience, a basic understanding of network
infrastructure and security concepts is assumed.
SSL Basics
SSL Element
The main role of SSL is to
provide security for Web traffic. Security includes confidentiality,
message integrity, and authentication. SSL achieves these elements of
security through the use of cryptography, digital signatures, and
certificates.
Cryptography
SSL protects confidential
information through the use of cryptography. Sensitive data is
encrypted across public networks to achieve a level of confidentiality.
There are two types of data encryption: symmetric cryptography and
asymmetric cryptography (refer to Table 1).
Symmetric cryptography uses
the same key for encryption and decryption. An example of symmetric
cryptography is a decoder ring. Alice has a ring and Bob has the same
ring. Alice can encode messages to Bob using her ring as the cipher.
Bob can then decode the sent message using his ring. In cryptography,
the "decoder ring" is considered a preshared key. The key is agreed
upon by both sides and can remain static. Both sides must know each
other already and have agreed upon what key to use for the encryption
and decryption of messages. Remember that the same key is used for
encoding as well as decoding messages—thus the term symmetric cryptography.
Asymmetric algorithms use
one key for encryption of data, and then a separate key for decryption.
Asymmetric algorithms are more favorable than symmetric algorithms
because even if the encryption key is learned in one direction, the
third party still needs to know the other key in order to decrypt the
message in the other direction. Originally developed by
Netscape Communications to allow secure access of a browser to a Web
server, Secure Sockets Layer (SSL) has become the accepted standard for
Web security.1 The first version of SSL was never released
because of problems regarding protection of credit card transactions on
the Web. In 1994, Netscape created SSLv2, which made it possible to
keep credit card numbers confidential and also authenticate the Web
server with the use of encryption and digital certificates. In 1995,
Netscape strengthened the cryptographic algorithms and resolved many of
the security problems in SSLv2 with the release of SSLv3. SSLv3 now
supports more security algorithms than SSLv2.