Real-Time Communication Security: SSL/TLS. Guevara Noubir noubir@ccs.neu.edu CSU610



Similar documents
Communication Systems SSL

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

SSL/TLS. What Layer? History. SSL vs. IPsec. SSL Architecture. SSL Architecture. IT443 Network Security Administration Instructor: Bo Sheng

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

Network Security Essentials Chapter 5

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

Web Security Considerations

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

Chapter 7 Transport-Level Security

CSC Network Security

CSC 474 Information Systems Security

Transport Layer Security Protocols

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

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

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

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.

Transport Level Security

Communication Security for Applications

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

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

SECURE SOCKETS LAYER (SSL)

Secure Sockets Layer

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

SSL Secure Socket Layer

SSL Secure Socket Layer

Chapter 17. Transport-Level Security

Overview of SSL. Outline. CSC/ECE 574 Computer and Network Security. Reminder: What Layer? Protocols. SSL Architecture

Network Security Part II: Standards

3.2: Transport Layer: SSL/TLS Secure Socket Layer (SSL) Transport Layer Security (TLS) Protocol

Secure Socket Layer. Security Threat Classifications

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

INF3510 Information Security University of Oslo Spring Lecture 9 Communication Security. Audun Jøsang

SSL: Secure Socket Layer

Security Protocols/Standards

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

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

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

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

The Secure Sockets Layer (SSL)

Security Protocols and Infrastructures. h_da, Winter Term 2011/2012

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

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

SECURE SOCKETS LAYER (SSL) SECURE SOCKETS LAYER (SSL) SSL ARCHITECTURE SSL/TLS DIFFERENCES SSL ARCHITECTURE. INFS 766 Internet Security Protocols

Network Security - Secure upper layer protocols - Background. Security. Question from last lecture: What s a birthday attack? Dr.

Protocol Rollback and Network Security

Authentication applications Kerberos X.509 Authentication services E mail security IP security Web security

Lecture 4: Transport Layer Security (secure Socket Layer)

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

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

, ) I Transport Layer Security

Overview. SSL Cryptography Overview CHAPTER 1

Cryptography and Network Security IPSEC

Authenticity of Public Keys

Information Security

ISA 562 Information System Security

Web Security. Mahalingam Ramkumar

Web Security (SSL) Tecniche di Sicurezza dei Sistemi 1

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

, SNMP, Securing the Web: SSL

Computer and Network Security

APNIC elearning: IPSec Basics. Contact: esec03_v1.0

Part III-b. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Using etoken for SSL Web Authentication. SSL V3.0 Overview

IPSec and SSL Virtual Private Networks

T Cryptography and Data Security

Chapter 10. Network Security

Overview SSL/TLS HTTPS SSH. TLS Protocol Architecture TLS Handshake Protocol TLS Record Protocol. SSH Protocol Architecture SSH Transport Protocol

Learning Network Security with SSL The OpenSSL Way

Einführung in SSL mit Wireshark

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

SSL Handshake Analysis

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Today s Topics SSL/TLS. Certification Authorities VPN. Server Certificates Client Certificates. Trust Registration Authorities

Institute of Computer Technology - Vienna University of Technology. L96 - SSL, PGP, Kerberos

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

Network Security Protocols

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

Transport Layer Security (TLS)

Introduction. Haroula Zouridaki Mohammed Bin Abdullah Waheed Qureshi

Cryptography and network security CNET4523

SSL and TLS. An Overview of A Secure Communications Protocol. Simon Horman aka Horms. horms@valinux.co.jp horms@verge.net.au horms@debian.

SSL A discussion of the Secure Socket Layer

Outline. INF3510 Information Security. Lecture 10: Communications Security. Communication Security Analogy. Network Security Concepts

Lecture 10: Communications Security

Three attacks in SSL protocol and their solutions

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

As enterprises conduct more and more

Lab 7. Answer. Figure 1

Is Your SSL Website and Mobile App Really Secure?

Lecture 9 - Network Security TDTS (ht1)

Bit Chat: A Peer-to-Peer Instant Messenger

Some solutions commonly used in order to guarantee a certain level of safety and security are:

Chapter 11 Security Protocols. Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

mod_ssl Cryptographic Techniques

ERserver. iseries. Secure Sockets Layer (SSL)

Certificates and network security

Network Security. Lecture 3

Security in IPv6. Basic Security Requirements and Techniques. Confidentiality. Integrity

Chapter 34 Secure Sockets Layer (SSL)

Transcription:

Real-Time Communication Security: SSL/TLS Guevara Noubir noubir@ccs.neu.edu CSU610 1

Some Issues with Real-time Communication Session key establishment Perfect Forward Secrecy Diffie-Hellman based PFS Escrow-foilage: If keys are escrowed Diffie-Hellman protects against passive attacks Signature keys are usually not escrowed Preventing Denial of Service SYN attack on TCP: use stateless cookies = hash(ip addr, secret) Puzzles: e.g., what 27-bit number has an MD = x? These techniques do not fully protect against DDOS launched through viruses Hiding endpoint identity: DH + authentication allows anonymous connection or detects man-in-the-middle Live partner reassurance: Modify DH to include a nonce in the computation of the session key Optimization using parallel computation, session resumption, deniability CSU610: Network Security SSL TLS 2

Securing Networks Where to put the security in a protocol stack? Practical considerations: End to end security No modification to OS/network stack Control/Management (configuration) Applications Layer telnet/ftp, ssh, http: https, mail: PGP (SSL/TLS) Transport Layer (TCP) (IPSec, IKE) Network Layer (IP) Link Layer (IEEE802.1x/IEEE802.10) Physical Layer (spread-spectrum, quantum crypto, etc.) Network Security Tools: Monitoring/Logging/Intrusion Detection CSU610: Network Security SSL TLS 3

SSL vs. IPsec SSL: Avoids modifying TCP stack and requires minimum changes to the application Mostly used to authenticate servers IPsec Transparent to the application and requires modification of the network stack Authenticates network nodes and establishes a secure channel between nodes Application still needs to authenticate the users CSU610: Network Security SSL TLS 4

General Description of SSL/TLS Terminology: SSL: Secure Socket Layer TLS: Transport Layer Security Concept: secure connections on top of TCP OS independent TCP instead of UDP Cons: Rogue packet problem Pro: SSL/TLS doesn t have to deal with packet retransmission History: SSLv2 proposed and deployed in Netscape 1.1 (1995) PCT (Private Communications Technology) by Microsoft SSLv3: most commonly used (1995) TLS proposed by the IETF based on SSLv3 but not compatible (1996) Uses patent free DH and DSS instead of RSA which patent didn t expire yet CSU610: Network Security SSL TLS 5

SSL Architecture SSL session An association between client & server Created by the Handshake Protocol Defines a set of cryptographic parameters May be shared by multiple SSL connections SSL connection A transient, peer-to-peer, communications link Associated with 1 SSL session CSU610: Network Security SSL TLS 6

SSL/TLS Basic Protocol SSL/TLS partitions TCP byte stream into records: A record has: header, cryptographic protection => provides a reliable encrypted, and integrity protected stream of octet Record types: User data Handshake messages Alerts: error messages or notification of connection closure Change cipher spec Basic Protocol: A -> B: I want to talk, ciphers I support, R A B -> A: certificates, cipher I choose, R B A -> B: {S} B, {keyed hash of handshake msgs} B -> A: {keyed hash of handshake msgs} A <-> B: data encrypted and integrity checked with keys derived from K Keyed hashes use K = f(s, R A, R B ) CSU610: Network Security SSL TLS 7

SSL/TLS Basic Protocol (Cont d) How do you make sure that keyed hash in message 3 is different from B s response? Include a constant CLNT/client finished (in SSL/TLS) for A and SRVR/server finished for B Keyed hash is sent encrypted and integrity protected for no real reason Keys: derived by hashing K and R A and R B 3 keys in each direction: encryption, integrity and IV Write keys (to send: encrypt, integrity protect) Read keys (to receive: decrypt, integrity check) CSU610: Network Security SSL TLS 8

What s still missing? SSL/TLS allowed to authenticate the server How would the server authenticate the user? SSL/TLS allows clients to authenticate using certificates: B requests a certificate in message 2 A sends: certificate, signature of hash of the handshake messages CSU610: Network Security SSL TLS 9

Session Resumption Many secure connections can be derived from the session Cheap: how? Session initiation: modify message 2 B -> A: session_id, certificate, cipher, R B A and B remember: (session_id, master key) To resume a session: A presents the session_id in message 1 A -> B: session_id, ciphers I support, R A B -> A: session_id, cipher I choose, R B, {keyed hash of handshake msgs} A -> B: {keyed hash of handshake msgs} A <-> B: data encrypted and integrity checked with keys derived from K CSU610: Network Security SSL TLS 10

Computing the Keys S: pre-master secret (forget it after establishing K) K= f(s, R A, R B ) 6 keys = g (K, i R A, R B ) Rs: 32 bytes (usually the first 4 bytes are Unix time) CSU610: Network Security SSL TLS 11

PKI in SSL Client comes configured with a list of trusted organizations : CA What happens when the server sends its certificate? When the server whishes to authenticate the client: Server sends a list of CA it trusts and types of keys it can handle In SSLv3 and TLS a chain of certificates can be sent CSU610: Network Security SSL TLS 12

Negotiating Cipher Suites A cipher suite is a complete package: (encryption algorithm, key length, integrity checksum algorithm, etc.) Cipher suites are predefined: Each assigned a unique value (contrast with IKE) SSLv2: 3 bytes, SSLv3: 2 bytes => upto 65000 combinations 30 defined, 256 reserved for private use: FFxx (risk of non-interoperability) Selection decision: In v3 A proposes, B chooses In v2 A proposes, B returns acceptable choices, and A chooses Suite names examples: SSL_RSA_EXPORT_WITH_DES40_CBC_SHA SSL2_RC4_128_WITH_MD5 CSU610: Network Security SSL TLS 13

Attacks fixed in v3 Downgrade attack: In SSLv2 there is no integrity protection for the initial handshake Active attacker can remove strong crypto algorithm from proposed cipher suite by A => forcing A and B to agree on a weak cipher Fixed by adding a finished message containing a hash of previous messages Truncation attack: Without the finished message an attacker can send a TCP FIN message and close the connection without communicating nodes detecting it CSU610: Network Security SSL TLS 14

SSL Stack CSU610: Network Security SSL TLS 15

SSL Record Protocol SSL Record Protocol defines these two services for SSL connections: Confidentiality Using symmetric encryption with a shared secret key defined by Handshake Protocol IDEA, RC2-40, DES-40, DES, 3DES, Fortezza, RC4-40, RC4-128 CBC mode (except for RC4) Message is compressed before encryption Message integrity Using a MAC with shared secret key Based on HMAC and MD5 or SHA (with a padding difference due to a typo in an early draft of HMAC RFC2104) Records sent after ChangeCipherSpec record are cryptographically protected Record header: [record type, version number, length] ChangeCipherSpec = 20, Alert = 21, Handshake = 22, Application_data = 23 CSU610: Network Security SSL TLS 16

SSL Change Cipher Spec Protocol One of 3 SSL-specific protocols which use the SSL Record Protocol Single message Causes pending state to become current all records following this will be protected with the ciphers agreed upon CSU610: Network Security SSL TLS 17

SSL Alert Protocol Conveys SSL-related alerts to peer entity Severity warning or fatal Specific alerts Unexpected message, bad record mac, decompression failure, handshake failure, illegal parameter Close notify, no certificate, bad certificate, unsupported certificate, certificate revoked, certificate expired, certificate unknown Compressed & encrypted CSU610: Network Security SSL TLS 18

SSL Handshake Protocol Allows server & client to: Authenticate each other Negotiate encryption & MAC algorithms Negotiate cryptographic keys to be used Comprises a series of messages in phases Establish Security Capabilities Server Authentication and Key Exchange Client Authentication and Key Exchange Finish CSU610: Network Security SSL TLS 19

Handshake Messages ClientHello message: [type=1, length, version number, R A, length of session_id, session_id, length of cipher suite list, sequence of cipher suites, list of compression methods] ServerHello: [type=2, length, version number, R B, length of session_id, session_id, chosen cipher, chosen compression method] Certificate: [type=11, length, length of first certificate, first certificate, ] ServerKeyExchange: (for export: ephemeral public key) [type=12, length, length of modulus, modulus, length of exponent, exponent] CertificateRequest: [type=13, length, length of key type list, list of types of keys, length of CA name list, length of first CA name, 1stCA name, ] ServerHelloDone: [type=14, length=0] ClientKeyExchange: [type=16, length, encrypted pre-master secret] CertificateVerify:[type=15, length, length of signature, signature] HandshakeFinished:[type=20, length=36 (SSL) or 12 (TLS), digest] CSU610: Network Security SSL TLS 20

SSL Handshake Protocol CSU610: Network Security SSL TLS 21

Exportability Issues Exportable suites in SSLv2: 40 secret bits out of 128 in symmetric keys 512-bits RSA keys Exportability in SSLv3: Integrity keys computed the same way Encryption keys: 40 bits secret IV non-secret When a domestic server (e.g., 1024-bit RSA key) communicates with an external client the server creates an ephemeral key of 512-bits and signs it with it s 1024-bit key CSU610: Network Security SSL TLS 22

TLS (Transport Layer Security) IETF standard RFC 2246 similar to SSLv3 Minor differences Record format version number HMAC for MAC Pseudo-random function to expand the secrets Additional alert codes Changes in supported ciphers Changes in certificate negotiations Changes in use of padding CSU610: Network Security SSL TLS 23