Key concepts to understanding SSL control includel
SSL- Secure Sockets Layer (SSL) is a network security mechanism introduced by Netscape in 1995. SSL was designed to provide privacy between two communicating applications (a client and a server) and also to authenticate the server, and optionally the client. SSL’s most popular application is HTTPS, designated by a URL beginning with https:// rather than simply http://, and it is recognized as the standard method of encrypting Web traffic on the Internet. An SSL HTTP transfer typically uses TCP port 443, whereas a regular HTTP transfer uses TCP port 80. Although HTTPS is what SSL is best known for, SSL is not limited to securing HTTP, but can also be used to secure other TCP protocols such as SMTP, POP3, IMAP, and LDAP. SSL session establishment occurs as shown below.
Establishing an SSL session
SSLv3 – SSLv3 was designed to maintain backward compatibility with SSLv2, while adding the following enhancements:
TLS – Transport Layer Security, also known as SSLv3.1, is very similar to SSLv3, but improves upon SSLv3 in the ways shown below.
| SSL | TLS |
|---|---|
| Uses a preliminary HMAC algorithm | Uses HMAC as described in RFC 2104 |
| Does not apply MAC to version info | Applies MAC to version info |
| Does not specify a padding value | Initializes padding to a specific value |
| Limited set of alerts and warning | Detailed Alert and Warning messages |
SonicOS 7 supports TLS 1.1 and 1.2.
Client Hello – The first message sent by the client to the server following TCP session establishment. This message starts the SSL session, and consists of the following components:
Certificates – X.509 certificates are unalterable digital stamps of approval for electronic security. There are four main characteristics of certificates:
Virtual Hosting – A method employed by Web servers to host more than one website on a single server. A common implementation of virtual hosting is name-based (Host-header) virtual hosting, which allows for a single IP address to host multiple websites. With Host-header virtual hosting, the server determines the requested site by evaluating the “Host:” header sent by the client. For example, both www.website1.com and www.website2.com might resolve to 64.41.140.173. If the client sends a “GET /” along with “Host: www.website1.com”, the server can return content corresponding to that site.
Host-header virtual hosting is generally not employed in HTTPS because the host header cannot be read until the SSL connection is established, but the SSL connection cannot be established until the server sends its Certificate. Since the server cannot determine which site the client will request (all that is known during the SSL handshake is the IP address) it cannot determine the appropriate certificate to send. While sending any certificate might allow the SSL handshake to commence, a certificate name (subject) mismatch will trigger a browser alert.
Weak Ciphers – Relatively weak symmetric cryptography ciphers. Ciphers are classified as weak when they are less than 64 bits. For the most part, export ciphers are weak ciphers. The table below lists common weak ciphers:
| Cipher | Encryption | Occurs in |
|---|---|---|
|
EXP1024-DHE-DSS-DES-CBC-SHA EXP1024-DHE-CBC-SHA |
DES(56) DES(56) |
SSLv3, TLS (export) SSLv3, TLS (export) |
| EXP1024-RC2-CBC-MD5 | RC2(56) | SSLv3, TLS (export) |
| EDH-RSA-DES-CBC-SHA | DES(56) | SSLv3, TLS |
| EDH-DSS-DES-CBC-SHA | DES(56) | SSLv3, TLS |
| DES-CBC-SHA | DES(56) | SSLv2, SSLv3, TLS |
| EXP1024-DHE-DSS-RC4-SHA | RC4(56) | SSLv3, TLS (export) |
| EXP1024-RC4-SHA | RC4(56) | SSLv3, TLS (export) |
|
EXP1024-RC4-MD5 EXP-EDH-RSA-DES-CBC-SHA EXP-EDH-DSS-DES-CBC-SHA EXP-DES-CBC-SHA |
RC4(56) DES(40) DES(40) DES(40) |
SSLv3, TLS (export) SSLv3, TLS (export) SSLv3, TLS (export) SSLv3, TLS (export) |
| EXP-RC2-CBC-MD5 | RC2(40) | SSLv2, SSLv3, TLS (export) |
| EXP-RC4-MD5 | RC4(40) | SSLv2, SSLv3, TLS (export) |