Acn 2013-2014
Acn 2013-2014
Acn 2013-2014
SSL Secure Socket Layer TLS Transport Layer Security both provide a secure transport connection between applications (e.g., a web server and a browser) SSL was developed by Netscape SSL version 3.0 has been implemented in many web browsers (e.g., Netscape Navigator and MS Internet Explorer) and web servers and widely used on the Internet SSL v3.0 was specified in an Internet Draft (1996) it evolved into TLS specified in RFC 2246 TLS can be viewed as SSL v3.1
Broad overview
SSL runs on top of TCP Provides an API similar to that of TCP Technically, SSL runs in the application layer Advantage: does not require changes to TCP From the programmers point of view, it is in the transport layer Same API as for TCP Runs only with TCP, not UDP Primarily used for HTTP traffic
SSL architecture
SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Alert Protocol applications (e.g., HTTP)
Architecture
Record Protocol to transfer application and TLS information A session is established using a Handshake Protocol
INITIALIZES SECURE COMMUNICATION
ERROR HANDLING
Handshake Protocol
Alert Protocol
SSL Components
SSL Handshake Protocol negotiation of security algorithms and parameters key exchange server authentication and optionally client authentication SSL Record Protocol fragmentation compression message authentication and integrity protection encryption SSL Alert Protocol error messages (fatal alerts and warnings) SSL Change Cipher Spec Protocol a single message that indicates the end of the SSL handshake
To Exchange an authenticated and confidential message, the client and server each need six cryptographic secrets (Four keys and two initialization vector). To create these secrets, one pre-master secret must be established between the two parties. SSL defines six key-exchange methods to establish this pre-master secret
Null
There is no key exchange in this method. No pre-master secret is established between the client and the server.
In this method, the pre-master secret key is 48byte random number created by the client encrypted with the server s RSA public key and sent to the server. The server needs to send its RSA Encryption/Decryption certificate.
This is the simplest and most insecure method. The premaster secret is established between the client and server using Diffe-Hellman (DH) protocol. The Diffe-Hellman half keys are sent in plaintext. It is called Anonymous Diffie-Hellman because neither party is known to the other. The most serious disadvantage of this method is the Manin-the-Middle attack.
To thwart the Man-in-the-Middle attack, the Ephemeral DiffieHellman key exchange can be used. Each part sends a Diffie-Hellman key signed by its private key. The receiving needs to verify the signature using public key of the sender. The public key for verification are exchanged using either RSA or DSS digital signature certificate.
Fixed Diffie-Hellman
Another solution is the fixed Diffie-Hellman method. All entities in a group can prepare fixed Diffie-Hellman parameters (g and p). Then each entity can create a fixed Diffie-Hellman half-key (gx ). For additional security, each individual half-key is inserted into a certificate verified by a Certificate Authority (CA)
Fortezza
Fortezza is a registered trademark of the U.S. National Security Agency (NSA). It is a family of security protocols developed for the Defense Department.
Encryption/Decryption Algorithms
There are several choices for the Encryption/Decryption Algorithm. These are divided into six group as shown in figure. All block protocols use an 8-byte initialization vector(IV) except for Fortezza which used 20-byte IV.
NULL
The NULL category simply encryption/decryption algorithm. defines the lack of an
Fortezza
algorithm
defined
in
block
mode
is
NULL
The two parties may decline to use an algorithm. In this case, there is no hash function and the message is not authenticated.
MD5
The two parties may choose MD5 as the hash algorithm. In this case, a 128-key MD5 hash algorithm is used.
SHA-1
The two parties may choose SHA as the hash algorithm. In this case, a 160-bit SHA-1 hash algorithm is used.
Cipher Suite
The combination of key exchange, hash, and encryption algorithms defines a cipher suite for each SSL session. Each suite starts with the term SSL followed by the key exchange algorithm. The word WITH separates the key exchange algorithm from the encryption and hash algorithm.
DHE-RSA (Ephemeral Diffie-Hellman with RSA digital Signature. DH is fixed Diffie-Hellman DHE is Ephemeral Diffie-Hellman DH-anon is anonymous Diffie-Hellman
SSL_RSA_WITH_NULL_MD5 = { 0, 1 } SSL_RSA_WITH_NULL_SHA = { 0, 2 }