20
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Embed Size (px)

Citation preview

Page 1: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

SSL / TLS in ITDS

Arun Vishwanathan

23rd Dec 2003

Page 2: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Agenda

Introduction to SSL/TLS Digital Certificates How SSL works SSL/TLS differences SSL/TLS jargon in ITDS Security in ITDS using SSL/TLS ldapsearch with SSL demystified Pointers and References

Page 3: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Introduction to SSL/TLS

The Problem TCP/IP protocol does not provide any security. Any transactions

have to be made over an insecure network by default. Everything that passes between server and client may be

eavesdropped, altered and modified. The security problems have become the number one obstacle for

expansion of Web.

Page 4: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Introduction cont…

The Solution SSL and TLS can layer on top of any transport protocol, they are

not TCP/IP dependant, and can run under application protocols such as HTTP, FTP and TELNET etc.

Both SSL and TSL provide authentication, confidentiality and integrity. They give protection against message tampering, eavesdropping and spoofing.

We can thus achieve secure communication over an insecure protocol in an application independent way.

Page 5: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

SSL/TLS on the Stack

Page 6: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Digital Certificates (Quick Detour)

Digital certificates allow unique identification of an entity; they are, in essence, electronic ID cards issued by trusted parties.

Digital certificates allow a user to verify to whom a certificate is issued as well as the issuer of the certificate.

Digital certificates are the vehicle that SSL uses for public-key cryptography.

A digital certificate serves two purposes: it establishes the owner’s identity, it makes the owner’s public key available.

A digital certificate is issued by a trusted authority—a certificate authority (CA)—and it is issued only for a limited time.

Page 7: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Format of Digital Certificates

The digital certificate contains specific pieces of information about the identity of the certificate owner and about the certificate authority: Owner’s distinguished name. Owner’s public key. Date the digital certificate was issued. Date the digital certificate expires. Issuer’s distinguished name. This is the distinguished name

of the CA. Issuer’s digital signature.

Page 8: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Distinguished Names

A distinguished name is the combination of the owner’s common name and its context (position) in the directory tree.

In the simple directory tree shown in Figure 1, for example, LaurenA is the owner’s common name, and the context is OU=Engnring. O=XYZCorp; therefore, the distinguished name is:

CN=LaurenA. OU=Engnring.O=XYZCorp

Page 9: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Simple Layout of a digital Certificate

Page 10: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

How SSL works

SSL is a protocol that provides privacy and integrity between two

communicating applications using TCP/IP.

The data going back and forth between client and server is

encrypted using a symmetric algorithm such as DES or RC4.

A public-key algorithm—usually RSA—is used for the exchange

of the encryption keys and for digital signatures.

The algorithm uses the public key in the server’s digital

certificate.

Page 11: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

The four principles of Security

Confidentiality (privacy)

Authentication (who created or sent the data)

Integrity (has not been altered)

Non-repudiation (the order is final)

We will see how SSL achieves all of these !!!

Page 12: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

A Simple SSL session

Page 13: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

The details (Step 1)

Step 1

Client sends a client “hello”

message with the version of SSL. the cipher suites supported

by the client. the data compression

methods supported by the client.

a 28-byte random number.

Page 14: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Details Cont .. (Step 2)

Step 2The server responds with aserver “hello” message thatcontains the cryptographic method (cipher suite) the data compression method selected by the server the session ID another random number.

Page 15: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Details (Step 3)

Step 3 The server sends its digital

certificate. If the server uses SSL V3,

and if the server application requires a digital certificate for client authentication, the server sends a “digital certificate request” message.

The server sends a server “hello done” message and waits for a client response.

Page 16: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Details Cont… (Step 4)

Step 4 Upon receipt of the server

“hello done” message, the client verifies the validity of the server’s digital certificate and checks that the server’s “hello” parameters are acceptable.

If the server requested a client digital certificate, the client sends a digital certificate, or if no suitable digital certificate is available, the client sends a “no digital certificate” alert.

Page 17: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Details Cont … (Step 5)

Step 5 The client sends a “client key

exchange” message. This message contains the pre-master secret, a

46-byte random number used in the generation of the symmetric encryption keys

the message authentication code (MAC) keys,

This is encrypted with the public key of the server.

Page 18: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Details Cont …. (Step 5 cont)

Step 5 cont… If the client sent a digital

certificate to the server, the client sends a “digital certificate verify” message signed with the client’s private key.

By verifying the signature of this message, the server can explicitly verify the ownership of the client digital certificate.

Page 19: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Details Cont … (Step 6)

Step 6 The client uses a series of

cryptographic operations to convert the pre-master secret into a master secret, from which all key material required for encryption and message authentication is derived.

Then the client sends a “change cipher spec” message to make the server switch to the newly negotiated cipher suite.

Page 20: SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003

Details … (Step 7)

Step 7 The next message sent by

the client (the “finished” message) is the first message encrypted with this cipher method and keys

The server responds with a “change cipher spec” and a “finished” message of its own.

The SSL handshake ends, and encrypted application data can be sent.