| Transport Layer Security |
| Transport Layer Security (TLS) was designed to provide security at the transport layer. |
| TLS was derived from a security protocol called Secure Sockets Layer (SSL), designed by Netscape to provide security on the WWW. |
| TLS is a nonproprietary version of SSL designed by IETF. For, transactions on the Internet, a browser need the following: |
| 1. The customer needs to be sure that the server belongs to the actual vendor, not an imposter. |
| . For example, ; |
| a customer does not want to give an imposter her credit card number. In other words, the server must be authenticated. |
| 2. The customer needs to be sure that the contents of the message are not modified during transition. |
| A bill for $100 must not be changed to $1000. The integrity of the message must be preserved. |
| 3. The customer needs to be sure that an imposter does not intercept sensitive information such as a credit card number. There is a need for privacy. |
| There are other optional security aspects that can be added to the above list. |
| For example, |
| the vendor may need to authenticate the customer. TLS can provide additional features to cover these aspects of security. |
| Position of TLS |
| TLS lies between the application layer and the transport layer (TCP), as shown in Figure |
![]() |
| The application layer protocol, in this case HTTP, uses the services of TLS, and TLS uses the services of the transport layer. |
| Two Protocols |
| TLS is actually two protocols: the handshake protocol and the data exchange (sometimes called the record) protocol. |
| Handshake Protocol |
| The handshake protocol is responsible for negotiating security, authenticating the server to the browser, and (optionally) defining other communication parameters. |
| The handshake protocol defines the exchange of a series of messages between the browser and server. |
| We discuss a simplified version, as shown in Figure |
![]() |
| 1. The browser sends a hello message that includes the TLS version and some preferences. |
| 2. The server sends a certificate message that includes the public key of the server. |
| The public key is certified by some certification authority, which means that the public key is encrypted by a CA private key. |
| The browser has a list of CAs and their public keys. It uses the corresponding key to decrypt the certificate and finds the server public key. |
| This also authenticates the server because the public key is certified by the CA. |
| 3. The browser generates a secret key, encrypts it with the server public key, and sends it to the server. |
| 4. The browser sends a message, encrypted by the secret key, to inform the server that handshaking is terminating from the browser side. |
| 5. The server decrypts the secret key using its private key and decrypts the message using the secret key. |
| It then sends a message, encrypted by the secret key, to inform the browser that handshaking is terminating from the server side. |
| Note that handshaking uses the public key for two purposes: to authenticate the server and to encrypt the secret key, which is used in the data exchange protocol. |
| Data Exchange Protocol |
| The data exchange (record) protocol uses the secret key to encrypt the data for secrecy and to e:1crypt the message digest for integrity. |
| The details and specification of algorithms are agreed upon during the handshake phase. |
Thursday, February 5, 2009
Transport Layer Security
Subscribe to:
Post Comments (Atom)


No comments:
Post a Comment