Secure Sockets Layer (SSL) uses private or secret key cryptography or symmetric cryptography to support message confidentiality or privacy. After an initial handshake (a negotiation process by message exchange), the client and server decide on a secret key and a cipher suite. Between the communicating parties, each message encryption and decryption using the secret key occurs based on the cipher suite.
Private key cryptography requires the two communicating parties to use the same key for encryption and decryption. Both parties must have the key and keep the key private. Well-known secret key cryptographic algorithms include the Data Encryption Standard (DES), triple-strength DES (3DES), and Rivest Cipher 4 (RC4), which are all supported in WebSphere Application Server. These algorithms provide excellent security and quick encryption.
A cryptographic algorithm is a cipher, while a set of ciphers is a cipher suite. A cipher suite is a combination of cryptographic parameters that define the security algorithms and the key sizes that are used for authentication, key agreement, encryption strength, and integrity protection.
Important: Although anonymous cipher suites are enabled, the IBM version of the Java Secure Sockets Extension (JSSE) client trust manager does not support anonymous cipher suites. The default implementation can be overwritten by providing your own trust manager that does support anonymous cipher suites.
All of the previously mentioned cipher suites provide data integrity protection by using hash algorithms like MD5 and SHA-1. The cipher suite name that end with _SHA indicate that the SHA-1 algorithm is used. SHA-1 is considered a stronger hash, while MD5 provides better performance.
The SSL_DH_anon_xxx cipher suites (for example, those cipher suites that begin with SSL_DH_anon_, where, anon is anonymous) are not enabled on the product client side. Because the Java Secure Socket Extension (JSSE) client trust manager does not support anonymous connections, the JSSE client must always establish trust in the server. However, the SSL_DH_anon_xxx cipher suites are enabled on the server side to support another type of client connection. That client might not require trust in the server. These cipher suites are vulnerable to man-in-the-middle attacks and are strongly discouraged. In a man-in-the-middle attack, an attacker can intercept and potentially modify communications between two parties without either party being aware of the attack. Where:
Name | Description |
---|---|
SSL | Secure Sockets Layer |
RSA |
|
DH |
|
DHE |
|
DSS | Digital Signature Standard, using the digital signature algorithm for digital signatures |
DES |
|
3DES |
|
RC4 |
|
EDE | Encrypt-decrypt-encrypt for the triple DES algorithm |
CBC |
|
128 | 128-bit key size |
40 | 40-bit key size |
EXPORT | Exportable |
MD5 |
|
SHA |
|
anon | For anonymous connections |
NULL | No encryption |
WITH | The cryptographic algorithm is defined after this key word |
Refer to the Transport Layer Security (TLS) specification at http://www.ietf.org/rfc/rfc2246.txt for further information.