Secure Sockets Layer (SSL) / Transport Layer Security (TLS)



Similar documents
SSL/TLS: The Ugly Truth

Authenticity of Public Keys

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.

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Outline. Transport Layer Security (TLS) Security Protocols (bmevihim132)

Introduction to Cryptography

Overview. SSL Cryptography Overview CHAPTER 1

Web Security: Encryption & Authentication

Managing and Securing Computer Networks. Guy Leduc. Chapter 4: Securing TCP. connections. connections. Chapter goals: security in practice:

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Lecture 7: Transport Level Security SSL/TLS. Course Admin

Security Engineering Part III Network Security. Security Protocols (I): SSL/TLS

TLS-RSA-PSK. Channel Binding using Transport Layer Security with Pre Shared Keys

Communication Systems SSL

Protocol Rollback and Network Security

Transport Layer Security Protocols

Communication Systems 16 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2009

Real-Time Communication Security: SSL/TLS. Guevara Noubir CSU610

KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE. Mihir Bellare UCSD 1

Chapter 7 Transport-Level Security

Chapter 17. Transport-Level Security

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

Information Security

Introduction to Network Security Key Management and Distribution

Common security requirements Basic security tools. Example. Secret-key cryptography Public-key cryptography. Online shopping with Amazon

Secure Sockets Layer (SSL ) / Transport Layer Security (TLS) Network Security Products S31213

SSL Secure Socket Layer

Three attacks in SSL protocol and their solutions

As enterprises conduct more and more

Chapter 9 Key Management 9.1 Distribution of Public Keys Public Announcement of Public Keys Publicly Available Directory

Lecture slides by Lawrie Brown for Cryptography and Network Security, 5/e, by William Stallings, Chapter 14 Key Management and Distribution.

Security: Focus of Control. Authentication

HTTPS: Transport-Layer Security (TLS), aka Secure Sockets Layer (SSL)

What is network security?

Understanding Digital Certificates and Secure Sockets Layer (SSL)

Transport Level Security

SSL Secure Socket Layer

Web Payment Security. A discussion of methods providing secure communication on the Internet. Zhao Huang Shahid Kahn

Properties of Secure Network Communication

Security & Privacy on the WWW. Topic Outline. Information Security. Briefing for CS4173

Secure Socket Layer. Carlo U. Nicola, SGI FHNW With extracts from publications of : William Stallings.

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Secure network protocols: how SSL/TLS, SSH, SFTP and FTPS work

Network Security Web Security and SSL/TLS. Angelos Keromytis Columbia University

Client Server Registration Protocol

Insecure network services. Firewalls. Two separable topics. Packet filtering. Example: blocking forgeries. Example: blocking outgoing mail

Authentication Types. Password-based Authentication. Off-Line Password Guessing

Public Key Infrastructure (PKI)

TLS/SSL in distributed systems. Eugen Babinciuc

CSC Network Security

CSC 474 Information Systems Security

Cryptography and Network Security Chapter 14

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

Secure Sockets Layer

Software Engineering 4C03 Research Project. An Overview of Secure Transmission on the World Wide Web. Sean MacDonald

Certificates and network security

SSL A discussion of the Secure Socket Layer

Cryptography and Network Security Sicurezza delle reti e dei sistemi informatici SSL/TSL

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

Network Security #10. Overview. Encryption Authentication Message integrity Key distribution & Certificates Secure Socket Layer (SSL) IPsec

SSL: Secure Socket Layer

Cryptography and Network Security Chapter 14. Key Distribution. Key Management and Distribution. Key Distribution Task 4/19/2010

Lecture 31 SSL. SSL: Secure Socket Layer. History SSL SSL. Security April 13, 2005

Savitribai Phule Pune University

Authentication Application

Chapter 16: Authentication in Distributed System

Apache Security with SSL Using Linux

Secure Socket Layer (SSL) and Transport Layer Security (TLS)

Network Security Essentials Chapter 5

Websense Content Gateway HTTPS Configuration

SSL BEST PRACTICES OVERVIEW

Evaluation of Certificate Revocation in Microsoft Information Rights Management v1.0

You re FREE Guide SSL. (Secure Sockets Layer) webvisions

Chapter 7: Network security

Binding Security Tokens to TLS Channels. A. Langley, Google Inc. D. Balfanz, Google Inc. A. Popov, Microsoft Corp.

Brocade Engineering. PKI Tutorial. Jim Kleinsteiber. February 6, Page 1

First Semester Examinations 2011/12 INTERNET PRINCIPLES

[SMO-SFO-ICO-PE-046-GU-

Security vulnerabilities in the Internet and possible solutions

Security Goals Services

CPS Computer Security Lecture 9: Introduction to Network Security. Xiaowei Yang

Secure Socket Layer. Security Threat Classifications

mod_ssl Cryptographic Techniques

How To Understand And Understand The Security Of A Key Infrastructure

WEB Security & SET. Outline. Web Security Considerations. Web Security Considerations. Secure Socket Layer (SSL) and Transport Layer Security (TLS)

CSE/EE 461 Lecture 23

Web Security Considerations

Computer and Network Security. Outline

CSE543 - Introduction to Computer and Network Security. Module: Public Key Infrastructure

Secure Socket Layer/ Transport Layer Security (SSL/TLS)

Lecture 13. Public Key Distribution (certification) PK-based Needham-Schroeder TTP. 3. [N a, A] PKb 6. [N a, N b ] PKa. 7.

Chapter 8 Security. IC322 Fall Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Network Security Standards. Key distribution Kerberos SSL/TLS

How To Understand And Understand The Ssl Protocol ( And Its Security Features (Protocol)

CS 758: Cryptography / Network Security

Message authentication and. digital signatures

Transcription:

Secure Sockets Layer (SSL) / Transport Layer Security (TLS) Brad Karp UCL Computer Science CS GZ03 / M030 19 th November 2014

What Problems Do SSL/TLS Solve? Two parties, client and server, not previously known to one another i.e., haven t been able to establish a shared secret in a secure room Want to authenticate one another in today s lecture, focus on client authenticating server; e.g., am I talking to the real amazon.com server? Want secrecy and integrity of communications in both directions 2

Problem: Man in the Middle Attacks Recall: public-key cryptography alone not enough to give robust authentication Client can ask server to prove identity by signing data But how does client know he has real server s public key? Attacker may impersonate server Gives client his own public key, claiming to be server Client may send sensitive data to attacker Attacker may send incorrect data back to client Client Server Attacker 3

Problem: Man in the Middle Attacks Recall: public-key cryptography alone not enough to give robust authentication Client can ask server to prove identity by signing data But how does client know he has real server s public key? Attacker may impersonate server Gives client his own public key, claiming to be server Client may send sensitive data to attacker Attacker may send incorrect data back to client Client Server Attacker 4

Man in the Middle Attacks (2) Attacker may not appear like server e.g., might not have same content as real web server s page Solution: attacker acts as man in the middle Emulates server when talking to client Emulates client when talking to server Passes through most messages as-is Substitutes own public key for client s and server s Records secret data, or modifies data to cause damage Client Attacker Server 5

Challenge: Key Management Publish public keys in a well-known broadcast medium e.g., in the telephone directory, or in the pages of the New York Times How do you know you have the real phone directory, or New York Times? How can software use these media? Exchange keys with people in person Web of trust : accept keys for others via friends you trust (used by PGP) 6

Approach to Key Management: Offline Certification Authorities (CAs) Idea: use digital signatures to indicate endorsement of binding between principal and public key i.e., if I sign {amazon.com, pubkey}, I am stating, I attest that amazon.com s public key is pubkey. Certification Authority (CA): third-party organization trusted by parties that wish to mutually authenticate Each CA has public/private key pair: K CA, K -1 CA CA creates certificate C S for server S containing, e.g.,: info = { www.amazon.com, Amazon, Inc., K S = www.amazon.com s public key, expiration date, CA s name} sig = {H(info)} K CA -1 Server S can present C S to browser If browser knows K CA, can validate that CA attests that S s public key is K S 7

Approach to Key Management: Offline Certification Authorities (CAs) Idea: use digital signatures to indicate endorsement of binding between principal and public key i.e., if I sign {amazon.com, pubkey}, I am stating, I attest that amazon.com s public key is pubkey. Key benefit: CA need not be reachable by C or S at time C wishes to authenticate S! CAs and certificates are the heart of SSL s authentication mechanism Certification Authority (CA): third-party organization trusted by parties that wish to mutually authenticate Each CA has public/private key pair: K CA, K -1 CA CA creates certificate C S for server S containing, e.g.,: info = { www.amazon.com, Amazon, Inc., K S = www.amazon.com s public key, expiration date, CA s name} sig = {H(info)} K CA -1 Server S can present C S to browser If browser knows K CA, can validate that CA attests that S s public key is K S 8

Offline Certification Authorities (2) Key benefit: CA need not be reachable by C or S at time C wishes to authenticate S! Hence offline certification authority SSL/TLS model for browsers authenticating web servers: Everybody trusts CA Everybody knows CA s public key (i.e., preconfigured into web browser) 9

SSL 3.0 Handshake Overview Client (RSA) Server ClientHello: client_version, client_random, client_cipher_list ServerHello: server_version, server_random, server_cipher_list ServerCertificate: server_certificate_list compute session keys ClientKeyExchange: {pre_master_secret}k S ChangeCipherSpec: client_cipher Finished: MAC<master_secret, all messages> compute session keys ChangeCipherSpec: server_cipher Finished: MAC<master_secret, all messages> 10

Establishing Session Keys Client randomly generates pre-master secret, sends to server encrypted with server s public key Server also contributes randomness in server_random Using both pre-master secret and server_random, server and client independently compute symmetric session keys: Client MAC key Server MAC key Client Write key Server Write key Client IV Server IV 11

Establishing Session Keys (2) [SSL and TLS, Eric Rescorla] 12

Using Session Keys to Send Data Data encrypted by client and server using each s own write key Data MAC ed by client and server using each s own MAC key Each SSL record (block) includes a sequence number for that sender, and a MAC over: Sequence number Data plaintext Data length 13

Why MAC Data Length? Plaintext padded to fit symmetric cipher block length Length of data (without padding) must be sent to receiver SSL 2.0 didn t MAC data length; only MAC ed padded data itself Active adversary could change plaintext data length field MAC over data would still verify Attacker could truncate plaintext as desired! 14

Why MAC Data Length? Plaintext padded to fit symmetric cipher block length Length of data (without padding) must be sent to receiver SSL 2.0 didn t MAC data length; only MAC ed padded data itself Active adversary could change plaintext data length field MAC over data would still verify Attacker could truncate plaintext as desired! Lesson: Always MAC what you mean, including all context used to interpret message at receiver 15

Properties Provided by SSL (1) Secrecy: passive eavesdropper can t decrypt data; pre-master secret encrypted with server s public key, and server s private key secret Authentication of server by client: can trust each data record came from server that holds private key matching public key in certificate Authentication of client by server? Not without client certificates or client can send username/ password over encrypted SSL channel Key exchange can t be replayed; new random nonce from each side each time 16

Properties Provided by SSL (2) Data from earlier in session can t be replayed Caught by MAC Fake server can t impersonate real one using real certificate and public key Doesn t know real server s private key, so can t decrypt pre-master secret from client Fake server obtains own certificate for own domain name from valid CA, supplies to client If domain name differs from one in https:// URL, client detects mismatch when validating certificate 17

Forward Secrecy Suppose attacker records entire communication between client and server At later time, attacker obtains server s private key If attacker cannot decrypt data from recorded session, scheme provides forward secrecy Does SSL 3.0 provide forward secrecy? No. 18

Cipher Roll-Back SSL supports various ciphers of various key lengths and strengths Suppose attacker modifies cipher selection messages, to force client and server into using weak ciphers Each direction of handshake ends with MAC of all messages Can attacker adjust this MAC so it verifies? No. Doesn t know master_secret! 19

What Is CA Actually Certifying? That a public key belongs to someone authorized to represent a hostname? That a public key belongs to someone who is associated in some way with a hostname? That a public key belongs to someone who has many paper trails associated with a company related to a hostname? That the CA has no liability? >100-page Certification Practice Statement (CPS)! 20

How to Get a VeriSign Certificate Pay VeriSign ($300) Get DBA license from city hall ($20) No on-line check for name conflicts; can I do business as Microsoft? Letterhead from company (free) Notarize document (need driver s license) (free) Easy to get fradulent certificate Maybe hard to avoid being prosecuted afterwards But this is just VeriSign s policy many other CAs 21

CA Security How trustworthy is a VeriSign certificate? In mid-march 2001, VeriSign, Inc., advised Microsoft that on January 29 and 30, 2001, it issued two... [fraudulent] certificates. The common name assigned to both certificates is Microsoft Corporation. VeriSign has revoked the certificates.... However... it is not possible for any browser s CRL-checking mechanism to locate and use the VeriSign CRL. Microsoft Security Bulletin MS01-017 22

CA Security (2) In 2011, it was reported that DigiNotar, a Dutch CA, had its servers compromised Believed DigiNotar unaware of compromise for weeks Intruders generated over 500 forged SSL certificates, including for google.com Between 27 July 2011 and 29 August 2011, over 300K IP addresses accessed web sites presenting this forged SSL certificate for google.com 99% of IP addresses in Iran Assumption by press: forged certificate used to monitor Iranian Gmail users email 23

CA Security (2) In 2011, it was reported that DigiNotar, a Dutch Lesson: CA, had its servers compromised The weakest CA your browser trusts by default Intruders may generated be very over weak 500 indeed forged SSL certificates, including for google.com Between 27 July 2011 and 29 August 2011, over 300K IP addresses accessed web sites presenting this forged SSL certificate for google.com 99% of IP addresses in Iran Assumption by press: forged certificate used to monitor Iranian Gmail users email Believed DigiNotar unaware of compromise for weeks 24

Recent News: POODLE Vulnerability October 14 th, 2014: Google reports vulnerability in SSL 3.0 But all major browsers support TLS 1.0 or later But many browsers fall back to SSL 3.0 when TLS not supported by server! 25