Secure Socket Layer (SSL)

Slides:



Advertisements
Similar presentations
Internet Protocol Security (IP Sec)
Advertisements

Cryptography and Network Security Chapter 16
Web security: SSL and TLS
Spring 2012: CS419 Computer Security Vinod Ganapathy SSL, etc.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
TLS Introduction 14.2 TLS Record Protocol 14.3 TLS Handshake Protocol 14.4 Summary.
Cryptography and Network Security
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
Unifying the conceptual levels of network security through use of patterns Ph.D Dissertation Proposal Candidate: Ajoy Kumar, Advisor: Dr Eduardo B. Fernandez.
Kerberized Credential Translation Olga Kornievskaia Peter Honeyman Bill Doster Kevin Coffman Center for Information Technology Integration University of.
17.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Security at the Transport Layer: SSL and TLS.
Socket Layer Security. In this Presentation: need for web security SSL/TLS transport layer security protocols HTTPS secure shell (SSH)
J. Wang. Computer Network Security Theory and Practice. Springer 2009 Chapter 5 Network Security Protocols in Practice Part II.
Working Connection Computer and Network Security - SSL, IPsec, Firewalls – (Chapter 17, 18, 19, and 23)
An Introduction to Secure Sockets Layer (SSL). Overview Types of encryption SSL History Design Goals Protocol Problems Competing Technologies.
1 SSL/TLS 2 Web security Security requirements Secrecy to prevent eavesdroppers to learn sensitive information Entity authentication Message authentication.
COMP043-Cryptology Week 4 – Certs and Sigs. Digital Signatures Digital signatures provide –Integrity –Authenticity and –Non-repudiation How do they work?
December 2006Prof. Reuven Aviv, SSL1 Web Security with SSL Prof. Reuven Aviv Dept. of Computer Science Tel Hai Academic College.
BASIC CRYPTOGRAPHY CONCEPT. Secure Socket Layer (SSL)  SSL was first used by Netscape.  To ensure security of data sent through HTTP, LDAP or POP3.
Mar 19, 2002Mårten Trolin1 This lecture On the assignment Certificates and key management SSL/TLS –Introduction –Phases –Commands.
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
Guide to Network Defense and Countermeasures Second Edition
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 30 Internet Security.
Apr 22, 2003Mårten Trolin1 Agenda Course high-lights – Symmetric and asymmetric cryptography – Digital signatures and MACs – Certificates – Protocols Interactive.
Encryption An Overview. Fundamental problems Internet traffic goes through many networks and routers Many of those networks are broadcast media Sniffing.
Lecture 22 Internet Security Protocols and Standards modified from slides of Lawrie Brown.
Chapter 8 Web Security.
Announcement Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed. 1.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
11 Secure Sockets Layer (SSL) Protocol (SSL) Protocol Saturday, University of Palestine Applied and Urban Engineering College Information Security.
SSL and https for Secure Web Communication CSCI 5857: Encoding and Encryption.
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003.
Behzad Akbari Spring 2012 (These slides are based on lecture slides by Lawrie Brown)
1 Chapter 8 Copyright 2003 Prentice-Hall Cryptographic Systems: SSL/TLS, VPNs, and Kerberos.
Cosc 4765 SSL/TLS and VPN. SSL and TLS We can apply this generally, but also from a prospective of web services. Multi-layered: –S-http (secure http),
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Introduction to Secure Sockets Layer (SSL) Protocol Based on:
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Network Security Essentials Chapter 5
Cryptography and Network Security (CS435) Part Fourteen (Web Security)
Web Security : Secure Socket Layer Secure Electronic Transaction.
December 2008Prof. Reuven Aviv, SSL1 Web Security with SSL Network Security Prof. Reuven Aviv King Mongkut’s University of Technology Faculty of information.
Web Security Network Systems Security
Tunneling and Securing TCP Services Nathan Green.
1 Security Protocols in the Internet Source: Chapter 31 Data Communications & Networking Forouzan Third Edition.
SARVAJANIK COLLEGE OF ENGINEERING & TECHNOLOGY. Secure Sockets Layer (SSL) Protocol Presented By Shivangi Modi Presented By Shivangi ModiCo-M(Shift-1)En.No
X.509 Topics PGP S/MIME Kerberos. Directory Authentication Framework X.509 is part of the ISO X.500 directory standard. used by S/MIME, SSL, IPSec, and.
Chapter 32 Internet Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
SMUCSE 5349/7349 SSL/TLS. SMUCSE 5349/7349 Layers of Security.
IPSec and TLS Lesson Introduction ●IPSec and the Internet key exchange protocol ●Transport layer security protocol.
Secure Sockets Layer (SSL) Protocol by Steven Giovenco.
1 SSL/TLS. 2 Web security Security requirements Secrecy to prevent eavesdroppers to learn sensitive information Entity authentication Message authentication.
 authenticated transmission  secure tunnel over insecure public channel  host to host transmission is typical  service independent WHAT IS NEEDED?
Secure Socket Layer SSL and TLS. SSL Protocol Peer negotiation for algorithm support Public key encryptionPublic key encryption -based key exchange and.
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Secure Socket Layer Protocol Dr. John P. Abraham Professor, UTRGV.
@Yuan Xue CS 285 Network Security Secure Socket Layer Yuan Xue Fall 2013.
Cryptography CSS 329 Lecture 13:SSL.
Apr 1, 2003Mårten Trolin1 Previous lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
TLS/SSL Protocol Presented by: Vivek Nelamangala Includes slides presented by Miao Zhang on April Course: CISC856 - TCP/IP and Upper Layer Protocols.
Network security Presentation AFZAAL AHMAD ABDUL RAZAQ AHMAD SHAKIR MUHAMMD ADNAN WEB SECURITY, THREADS & SSL.
Secure Sockets Layer (SSL)
CSCE 715: Network Systems Security
SSL (Secure Socket Layer)
SSL Protocol Figures used in the presentation
The Secure Sockets Layer (SSL) Protocol
Presentation transcript:

Secure Socket Layer (SSL)

TCP/IP Protocol Stack Application Layer HTTP Transport UDP Layer TCP ICMP UDP LDAP IMAP DNS NFS PING TELNET HTTP Transport Layer TCP Network Layer IP Physical Layer IP packet

Protocols IP (Internet Protocol) has IP address (32 bits, network + host portions) ICMP (Internet Control Message Protocol) control IP traffic TCP (Transmission Control Protocol) implements virtual circuit for reliable connection-oriented comm. UDP (User Datagram Protocol) implements connectionless comm. HTTP -- for WWW LDAP – directory access IMAP – access email over Internet TELNET -- for remote login DNS -- translates names into IP addresses NFS -- network file system, for sharing files among systems PING -- checks other machines

Let us find out the routers when we shop on-line When we connect from campus computers to http://www.amazon.com/ via IE or Netscape, our packets have a long trip to get there:

Such IP Tracing is available on sites like http://visualroute Such IP Tracing is available on sites like http://visualroute.visualware.com and http://samspade.org/

Location of SSL Application Layer HTTP Transport Layer TCP Network IP IP packet Physical Layer

SSL v.s. IPSec and others Application App Layer Transport TCP Layer IKE (ISAKMP/Oakley in IPSec), S/MIME, Kerberos, Proxies, SET, PGP Application Layer App Transport Layer SSL, TLS, SOCKS TCP AH, ESP (in IPSec), Packet filtering, Network Layer IP Tunneling (L2TP, PPTP, L2F), CHAP (challenge handshake protocol) PAP (password auth. protocol), MS-CHAP Data link Layer Network driver

X.509 public key certificate 1 Version 2 Serial number 3 Sign. alg. identifier 4 Issuer 5 Period of validity 6 Subject 7 Subject’s public key 8 Issuer unique ID 9 Subject unique ID 10 Extensions 11 Signature

Flow of actions in SSL Authenticate the server to the client. Allow the client and server to select the cryptographic algorithms they both support. Optionally authenticate the client to the server. Use public-key encryption to generate shared secrets. Establish an encrypted SSL connection.

Capabilities of SSL To establish an encrypted, not necessarily authenticated, communication channel between a client and a server. To authenticate the server, and establish an secure channel (the case of RSA). To authenticate the server, and establish an secure channel (general case, incl RSA). To authenticate the server AND the client, and establish an authenticated secure channel. Less preferred preferred

Establish encrypted, but unauthenticated, channel (1) ClientHello (Browser) Client (Web) Server ServerHello, ServerKeyExchange, ServerHelloDone (2) ClientKeyExchange, ChangeCipherSpec, Finished (3) ChangeCipherSpec, Finished (4)

4 moves & 9 messages in SSL 1  ClientHello C proposes SSL options 2  ServerHello S selects the SSL options 3 ServerKeyExchange S sends its public key 4 ServerHelloDone S sends its part of negotiation 5 ClientKeyExchange C sends session key, encrypted with S’s public key 6 ChangeCipherSpec C agrees on negotiated/activated options for all future messages 7 Finished C sends an authentication message to allow S to verify the activated options 8 S agrees on activated options for all future messages 9 S sends an authentication message to allow C to verify the activated options

1. ClientHello (C  S) Version RandonNumber Session ID CipherSuites Identifies the highest version of the SSL protocol that the client can support RandonNumber 32-bit random number used to seed the cryptographic computation Session ID Identifies a specific SSL session CipherSuites A list of cryptographic parameters/schemes that the client can support CompressionMethods Identifies data compression methods that the client can support

2. ServerHello (C  S) Version RandonNumber Session ID CipherSuites Identifies the highest version of the SSL protocol to be used for this communication RandonNumber 32-bit random number used to seed the cryptographic computation Session ID Identifies a specific SSL session CipherSuites The cryptographic parameters/schemes to be used CompressionMethods The data compression methods to be used

3. ServerKeyExchange (C  S) Contains the (public) key information Exact format depends on the particular public key algorithm selected Not encrypted !

4. ServerHelloDone (C  S) Contains no information, other than that it’s done !

5. ClientKeyExchange (C  S) Client tells the server key information for symmetric ciphers to be used Encrypted using the server’s public key !

6 & 8. ChangeCipherSpec (C  S & C  S) After the message #5, a preliminary SSL negotiation is complete, and both parties are ready to use security services negotiated These 2 messages are to explicitly indicate that security services should now be invoked In other words, to activate the options

7 & 9. Finished To authenticate Key information Contents of all previous SSL handshake messages exchanged between the 2 parties A special value to indicate whether the sender is a client or a server

Establish encrypted channel, with server being authenticated (1) ClientHello (Browser) Client (Web) Server ServerHello, Certificate, ServerKeyExchange, ServerHelloDone (2) ClientKeyExchange, ChangeCipherSpec, Finished (3) ChangeCipherSpec, Finished (4)

Certificate message from server Contains a certificate chain beginning with the server’s public key certificate and ending with the root certificate authority’s certificate The client browser usually has well known CA certificates preloaded The certificate contains Internet domain name of the server which must be verified by the client

Advantages Separating encryption from authentication Applicable to not only RSA but also other digital signature-only schemes such as DSS Preferred to the previous technique which did NOT separate encryption from authentication (ServerKeyExchange is signed using the server’s private key, for the client to verify using the server’s matching public key !)

Establish encrypted channel, with mutual authentication (1) ClientHello (Browser) Client (Web) Server ServerHello, Certificate, CertificateRequest, ServerHelloDone (2) Certificate, ClientKeyExchange, CertificateVerify, ChangeCipherSpec, Finished (3) ChangeCipherSpec, Finished (4)

CertificateRequest (C  S) CertificateTypes A list of certificate types acceptable to the server DistinguishedNames A list of distinguished names of certificate authorities acceptable to the server (X.500 names) (the server MUST authenticate itself, ie, must have “Certificate” from S to C)

Certificate (C  S) The client’s public key is used for signature verification only, not for encryption If the client does not have a certificate, it sends a “NoCertificateAlert”

CertificateVerify (C  S) The client signs Key information Contents of all previous SSL handshake messages exchanged between them The server verifies the identify of the client using its public key

Cryptographic algorithms supported by SSL v3.0 Public key encryption/key-distribution RSA, Diffie-Hellman Digital signature RSA, DSS Symmetric ciphers RC2, RC4, DES, 3DES, IDEA, FORTEZZA 1-Way hash MD5, SHA

Securing other applications using SSL … HTTP LDAP IMAP FTP SSL TCP IP IP packet

SSL Components of SSL HTTP Record Layer TCP Change Cipher Alert Hand- shake Appli- cation SSL Record Layer TCP

References for SSL Open source for SSL developers http://www.openssl.org/