IPsec and SSL/TLS. Applied Cryptography. Andreas Hülsing (Slides mostly by Ruben Niederhagen) Dec. 1st, /43

Similar documents
Transport Layer Security

Protocols, Technologies and Standards Secure network protocols for the OSI stack P2.1 WLAN Security WPA, WPA2, IEEE i, IEEE 802.1X P2.

IPSec. Slides by Vitaly Shmatikov UT Austin. slide 1

IP Security. Have a range of application specific security mechanisms

CS 356 Internet Security Protocols. Fall 2013

CSCE 715: Network Systems Security

The IPsec protocols. Overview

Transport Layer Security

Internet Security. - IPSec, SSL/TLS, SRTP - 29th. Oct Lee, Choongho

Cryptography and secure channel. May 17, Networks and Security. Thibault Debatty. Outline. Cryptography. Public-key encryption

CSCE 715: Network Systems Security

Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München. ilab. Lab 8 SSL/TLS and IPSec

IPSec. Overview. Overview. Levente Buttyán

Cryptography and Network Security Chapter 16. Fourth Edition by William Stallings

COSC4377. Chapter 8 roadmap

Lecture 33. Firewalls. Firewall Locations in the Network. Castle and Moat Analogy. Firewall Types. Firewall: Illustration. Security April 15, 2005

Chapter 4: Securing TCP connections

IPsec (AH, ESP), IKE. Guevara Noubir CSG254: Network Security

Computer Security 3e. Dieter Gollmann. Security.di.unimi.it/sicurezza1415/ Chapter 16: 1

MTAT Applied Cryptography

Transport Level Security

CSC 6575: Internet Security Fall 2017

CIS 6930/4930 Computer and Network Security. Topic 8.1 IPsec

The Internet community has developed application-specific security mechanisms in a number of application areas, including electronic mail (S/MIME,

CS 393 Network Security. Nasir Memon Polytechnic University Module 12 SSL

IP Security IK2218/EP2120

Chapter 6. IP Security. Dr. BHARGAVI H. GOSWAMI Department of Computer Science Christ University

The World Wide Web is widely used by businesses, government agencies, and many individuals. But the Internet and the Web are extremely vulnerable to

IP Security. Cunsheng Ding HKUST, Kong Kong, China

Cryptography and Network Security

Internet security and privacy

MTAT Applied Cryptography

Virtual Private Network

Lecture 9: Network Level Security IPSec

Auth. Key Exchange. Dan Boneh

Security Protocols. Professor Patrick McDaniel CSE545 - Advanced Network Security Spring CSE545 - Advanced Network Security - Professor McDaniel

Network Security: TLS/SSL. Tuomas Aura T Network security Aalto University, Nov-Dec 2014

Internet security and privacy

Securing IoT applications with Mbed TLS Hannes Tschofenig Arm Limited

Secure Socket Layer. Security Threat Classifications

IPSec Transform Set Configuration Mode Commands

Lecture 13 Page 1. Lecture 13 Page 3

Outline. 0 Topic 4.1: Securing Real-Time Communications 0 Topic 4.2: Transport Layer Security 0 Topic 4.3: IPsec and IKE

VPN Overview. VPN Types

CSE509: (Intro to) Systems Security

Computer Security 3e. Dieter Gollmann. Security.di.unimi.it/sicurezza1516/ Chapter 16: 1

Security Engineering. Lecture 16 Network Security Fabio Massacci (with the courtesy of W. Stallings)

CSE543 Computer and Network Security Module: Network Security

Network Security: TLS/SSL. Tuomas Aura T Network security Aalto University, Nov-Dec 2010

Network Encryption 3 4/20/17

Configuring Security for VPNs with IPsec

Universität Hamburg. SSL & Company. Fachbereich Informatik SVS Sicherheit in Verteilten Systemen. Security in TCP/IP. UH, FB Inf, SVS, 18-Okt-04 2

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

IPSec Transform Set Configuration Mode Commands

Cryptography and Network Security. Sixth Edition by William Stallings

Lecture 12 Page 1. Lecture 12 Page 3

Chapter 6/8. IP Security

Security Protocols and Infrastructures. Winter Term 2010/2011

Lecture 10: Communications Security

FIPS Compliance of Industry Protocols in Edward Morris September 25, 2013

Sample excerpt. Virtual Private Networks. Contents

Introduction. INF3510 Information Security. Lecture 10: Communications Security. Outline. Network Security Concepts. University of Oslo Spring 2018

IBM i Version 7.2. Security Virtual Private Networking IBM

Chapter 5: Network Layer Security

Protocol Architecture (2) Suguru Yamaguchi Nara Institute of Science and Technology Department of Information Science

Lecture 9a: Secure Sockets Layer (SSL) March, 2004

IKE and Load Balancing

Junos Security. Chapter 8: IPsec VPNs Juniper Networks, Inc. All rights reserved. Worldwide Education Services

CSC 4900 Computer Networks: Security Protocols (2)

IP Security Discussion Raise with IPv6. Security Architecture for IP (IPsec) Which Layer for Security? Agenda. L97 - IPsec.

Computer Security. 10r. Recitation assignment & concept review. Paul Krzyzanowski. Rutgers University. Spring 2018

Int ernet w orking. Internet Security. Literature: Forouzan: TCP/IP Protocol Suite : Ch 28

Chapter 8 Network Security

SharkFest 17 Europe. SSL/TLS Decryption. uncovering secrets. Wednesday November 8th, Peter Wu Wireshark Core Developer

Chapter 32 Security in the Internet: IPSec, SSL/TLS, PGP,

Chapter 11 The IPSec Security Architecture for the Internet Protocol

The IPSec Security Architecture for the Internet Protocol

Overview. SSL Cryptography Overview CHAPTER 1

Security Protocols and Infrastructures. Winter Term 2015/2016

Coming of Age: A Longitudinal Study of TLS Deployment

COMPUTER SECURITY. Computer Security Secure Communication Channels (2)

Acronyms. International Organization for Standardization International Telecommunication Union ITU Telecommunication Standardization Sector

Chapter 8. Network Security. Cryptography. Need for Security. An Introduction to Cryptography 10/7/2010

IP Security Part 1 04/02/06. Hofstra University Network Security Course, CSC290A

Security for VPNs with IPsec Configuration Guide, Cisco IOS XE Release 3S

Secure channel, VPN and IPsec. stole some slides from Merike Kaeo

IPsec and ISAKMP. About Tunneling, IPsec, and ISAKMP

TLS1.2 IS DEAD BE READY FOR TLS1.3

BCA III Network security and Cryptography Examination-2016 Model Paper 1

L13. Reviews. Rocky K. C. Chang, April 10, 2015

Computer Networking. What is network security? Chapter 7: Network security. Symmetric key cryptography. The language of cryptography

Chapter 12 Security Protocols of the Transport Layer

TLS/sRTP Voice Recording AddPac Technology

8. Network Layer Contents

Application Layer. Presentation Layer. Session Layer. Transport Layer. Network Layer. Data Link Layer. Physical Layer

IPsec and ISAKMP. About Tunneling, IPsec, and ISAKMP

INFS 766 Internet Security Protocols. Lectures 7 and 8 IPSEC. Prof. Ravi Sandhu IPSEC ROADMAP

Network Security IN2101

Security Protocols and Infrastructures

Chapter 8 Web Security

Transcription:

0/43 IPsec and SSL/TLS Applied Cryptography 0 Andreas Hülsing (Slides mostly by Ruben Niederhagen) Dec. 1st, 2016

Cryptography in the TCP/IP stack application layer transport layer network layer data-link layer physical layer Alice application data (HTTP, SMTP...) session (TCP, UDP,...) IP packets frames application layer transport layer network layer data-link layer physical layer Bob

Cryptography in the TCP/IP stack 1/43 application layer transport layer network layer data-link layer physical layer application data (HTTP, SMTP...) session (TCP, UDP,...) IP packets frames application layer transport layer network layer data-link layer physical layer Alice application layer security (SSH, S-MIME, PGP,... ) transport layer security (TLS/SSL,... ) network layer security (IPsec,... ) data-link layer security (WEP, WPA, WPA2,... ) Bob

Data-Link Layer Security 2/43 encrypt all network packets between network links, e.g., WPA2 point-to-point security between network interfaces transparent encryption and decryption for higher layers authentication between endpoints

Data-Link Layer Security 2/43 data-link layer security encrypt all network packets between network links, e.g., WPA2 point-to-point security between network interfaces transparent encryption and decryption for higher layers authentication between endpoints

Network Layer Security 3/43 Internet LAN router ISP router encrypt IP packets, main protocol IPsec point-to-point security between entities identified by IP addresses, e.g. routers, firewalls routers encrypt and decrypt unnoticed by higher layers authentication of routers to each other

Network Layer Security 3/43 network layer security Internet LAN router ISP router encrypt IP packets, main protocol IPsec point-to-point security between entities identified by IP addresses, e.g. routers, firewalls routers encrypt and decrypt unnoticed by higher layers authentication of routers to each other

Transport Layer Security 4/43 Internet web server application server encrypt sessions and messages, e.g. TLS/SSL communication between web browser and server, or email clients and servers entities identified by connections, port numbers encrypt and authenticate sessions

Transport Layer Security 4/43 transport layer security Internet web server application server encrypt sessions and messages, e.g. TLS/SSL communication between web browser and server, or email clients and servers entities identified by connections, port numbers encrypt and authenticate sessions

Transport Layer Security 4/43 transport layer security Internet web server application server encrypt sessions and messages, e.g. TLS/SSL communication between web browser and server, or email clients and servers entities identified by connections, port numbers encrypt and authenticate sessions

Transport Layer Security 5/43

Transport Layer Security 6/43 mail server Internet mail server

Transport Layer Security 6/43 SMTP transport layer security mail server Internet IMAP transport layer security mail server

Transport Layer Security 6/43 SMTP transport layer security mail server Internet IMAP transport layer security mail server

Application Layer Security 7/43 Internet mail server mail server add security to standard message formats (e.g. S/MIME, OTR) for email: entire link between two user mail clients is protected authentication of sender and receiver end users have control over their keys (but need to know what they are doing, how to use PKI) end-to-end security

Application Layer Security 7/43 application layer security Internet mail server mail server add security to standard message formats (e.g. S/MIME, OTR) for email: entire link between two user mail clients is protected authentication of sender and receiver end users have control over their keys (but need to know what they are doing, how to use PKI) end-to-end security

8/43 Network Layer Security IPsec

IPsec 9/43 Obvious first reflex: we want end-to-end security

IPsec 9/43 Obvious first reflex: we want end-to-end security How many people here regularly encrypt e-mail?

IPsec 9/43 Obvious first reflex: we want end-to-end security How many people here regularly encrypt e-mail? How many people here already did before their first Security lecture?

IPsec 9/43 Obvious first reflex: we want end-to-end security How many people here regularly encrypt e-mail? How many people here already did before their first Security lecture? Problem with application-level security: users Need to rewrite every single application. Need users to switch to secured applications. Need users to take care of keys.

IPsec 9/43 Obvious first reflex: we want end-to-end security How many people here regularly encrypt e-mail? How many people here already did before their first Security lecture? Problem with application-level security: users Need to rewrite every single application. Need users to switch to secured applications. Need users to take care of keys. Transport-layer security needs applications to be modified to use secure transport layer.

IPsec 9/43 Obvious first reflex: we want end-to-end security How many people here regularly encrypt e-mail? How many people here already did before their first Security lecture? Problem with application-level security: users Need to rewrite every single application. Need users to switch to secured applications. Need users to take care of keys. Transport-layer security needs applications to be modified to use secure transport layer. Idea of network-layer security: No need to change applications (or user behavior). IPsec s promise: Network security happening without you even noticing.

IPsec 10/43 IP packet: IP header IP data (payload) IPsec was mandatory for IPv6 and is now optional; optional for IPv4. IPsec provides cryptographic functionality to protect IP packets: packet integrity, packet origin authentication, confidentiality, some traffic flow confidentiality, protection against replay attacks. IPsec protocols AH - Authentication Header, ESP - Encapsulating Security Payload.

IPsec Modes of Operation 11/43 Transport mode: only the payload of the IP packet is protected, header is not encrypted in ESP, parts of it are authenticated in AH, data is protected from source to destination, header information is completely in the clear, used only between hosts.

IPsec Modes of Operation 11/43 Transport mode: only the payload of the IP packet is protected, header is not encrypted in ESP, parts of it are authenticated in AH, data is protected from source to destination, header information is completely in the clear, used only between hosts. Tunnel mode: entire IP packet is protected (i.e. IP header and data), becomes the payload of a new IP packet, may contain different source and destination addresses, provides data flow confidentiality to some extent, can be used between hosts, gateways or host-gateway.

IPsec Modes of Operation 12/43 transport mode Internet host gateway gateway host tunnel mode Internet local network host gateway

IPsec Modes of Operation 12/43 transport mode Internet host gateway gateway host local network tunnel mode Internet local network gateway gateway

IPsec Authentication Header The Authentication Header provides data integrity, authentication of IP packets, protection against replay attacks. First two by use of a Message Authentication Code (MAC), e.g. HMAC-SHA1-96. 13/43 IP packet is expanded with an AH that contains items such as: next header type of the header following this header, payload length length of AH, Security Parameter Index (SPI) identifies a SA, sequence number, authentication data contains the MAC of the packet, also called Integrity Check Value (ICV).

IPsec Authentication Header 14/43 Protocol 6 IP Header TCP Header TCP Segment Data IP Data ICV (truncated HMAC) is computed over: immutable IP header fields (fields that do not change in transit), e.g., source address, IP header length, Auth. Header (except authentication data field), IP data. Excluded fields are set to zero for HMAC computation.

IPsec Authentication Header 14/43 IPSec Transport Mode Protocol 51 Next Header 6 TCP Header TCP Segment Data IP Header Auth. Header IP Data Authenticated Fields ICV (truncated HMAC) is computed over: immutable IP header fields (fields that do not change in transit), e.g., source address, IP header length, Auth. Header (except authentication data field), IP data. Excluded fields are set to zero for HMAC computation.

IPsec Authentication Header 14/43 IPSec Tunnel Mode Protocol 51 Next Header 4 Protocol 6 TCP Header TCP Segment Data IP Header IP Data IP Header Auth. Header original IP Datagram (encapsulated) Authenticated Fields ICV (truncated HMAC) is computed over: immutable IP header fields (fields that do not change in transit), e.g., source address, IP header length, Auth. Header (except authentication data field), IP data. Excluded fields are set to zero for HMAC computation.

IPsec Authentication Header 15/43 Anti-replay protection prevents resending copies of authenticated packets. Uses sequence number field. For each new SA, sequence counter set to 0. Keep track of overflow (sequence number is 32 bits), negotiate new SA when counter reaches 2 32 1. Check whether counter is in window of fixed size. Right edge = highest sequence number so far received (with valid authentication). Mark numbers of received packets with valid authentication. Advance window if new sequence number falls to the right of window and packet authenticates. Discard packet if number falls to the left of window or packet does not authenticate.

IPsec Encapsulating Security Payload 16/43 The Encapsulating Security Payload provides: confidentiality, i.e. encryption with block cipher in CBC mode, e.g. AES-CBC, functionality as in AH like authentication, anti-replay (optional). ESP adds an ESP header, encrypts the payload and adds an ESP trailer. An ESP packet contains: security parameter index (SPI), sequence number, payload data (encrypted), padding to achieve data length a multiple of 32 bits (encrypted), padding length (encrypted), next header (encrypted), (optional) authentication data.

IPsec Encapsulating Security Payload 17/43 Protocol 6 IP Header TCP Header TCP Segment Data IP Data In transport mode, only data is encrypted, i.e. source and destination are in the clear. In tunnel mode, the whole package is encrypted, i.e. real source and destination addresses are hidden. Authentication not over IP header fields, only ESP header and data.

IPsec Encapsulating Security Payload 17/43 IPSec Transport Mode Protocol 50 IP Header ESP Header TCP Header TCP Segment Data IP Data Next Header 6 ESP Trailer ESP Auth. Data Encrytped Fields Authenticated Fields In transport mode, only data is encrypted, i.e. source and destination are in the clear. In tunnel mode, the whole package is encrypted, i.e. real source and destination addresses are hidden. Authentication not over IP header fields, only ESP header and data.

IPsec Encapsulating Security Payload 17/43 IPSec Tunnel Mode Protocol 50 Protocol 6 TCP Header TCP Segment Data Next Header 4 IP Header ESP Header IP Header IP Data original IP Datagram (encapsulated and encrypted) ESP Trailer ESP Auth. Data Encrypted Fields Authenticated Fields In transport mode, only data is encrypted, i.e. source and destination are in the clear. In tunnel mode, the whole package is encrypted, i.e. real source and destination addresses are hidden. Authentication not over IP header fields, only ESP header and data.

IPsec Security Associations 18/43 Concept to formalize unidirectional security relationships between two parties. Enforce security policy defined in Security Policy Database (SPDB). Security Association Database (SADB) contains list of active security associations (SA).

IPsec Security Associations 18/43 Concept to formalize unidirectional security relationships between two parties. Enforce security policy defined in Security Policy Database (SPDB). Security Association Database (SADB) contains list of active security associations (SA). SA parameters: sequence number, sequence number overflow, anti-replay window, AH information: authentication algorithm, key, key lifetime, etc., ESP information: encryption algorithm, key, key lifetime, etc., lifetime of the SA, IPsec protocol mode (tunnel, transport), maximal packet size.

IPsec Security Associations 19/43 The Security Policy Database describes how to treat certain IP packets (BYPASS, DISCARD, PROTECT). Which SA to use for certain traffic is derived from selectors such as destination IP address, source IP address, transport layer protocol, source and destination ports. Most selectors are read off from the IP packet (headers).

IPsec Security Associations 19/43 The Security Policy Database describes how to treat certain IP packets (BYPASS, DISCARD, PROTECT). Which SA to use for certain traffic is derived from selectors such as destination IP address, source IP address, transport layer protocol, source and destination ports. Most selectors are read off from the IP packet (headers). A security association can be used for one communication direction (bidirectional needs two SAs), for AH or ESP; can be combined, e.g. ESP then AH. SAs are negotiated by public-key mechanisms (see below).

Combining Security Associations 20/43 Using ESP in encryption-only mode is insecure: manipulate data of inner encrypted IP packets, use padding checks to build an ESP trailer oracle. Degabriele/Paterson Attacking the IPsec Standards in Encryption-only Configurations, IEEE Symposium on Security and Privacy 2007

Combining Security Associations 20/43 Using ESP in encryption-only mode is insecure: manipulate data of inner encrypted IP packets, use padding checks to build an ESP trailer oracle. Degabriele/Paterson Attacking the IPsec Standards in Encryption-only Configurations, IEEE Symposium on Security and Privacy 2007 Recall: SA can be combined for AH and ESP if ESP Auth. unavailable. For protecting communication against active adversary, need authenticated encryption (security vs. Chosen Ciphertext attacks). AH covers more header fields than authentication in ESP, in particular source and destination addresses in the IP header. Can do encrypt-then-mac, i.e. first ESP then AH in transport mode, this gives authenticated encryption.

Crypto Algorithms (until 2014) 21/43 See RFC 4835 (now obsolete) Encryption: block ciphers in Cipher Block Chaining (CBC) mode, must have: NULL encryption (RFC 2410), AES-CBC with 128-bit keys, TripleDES-CBC (168-bit keys).

Crypto Algorithms (until 2014) 21/43 See RFC 4835 (now obsolete) Encryption: block ciphers in Cipher Block Chaining (CBC) mode, must have: NULL encryption (RFC 2410), AES-CBC with 128-bit keys, TripleDES-CBC (168-bit keys). Message authentication/integrity: Hash-based Message Authentication Code (HMAC), must have: HMAC-SHA1-96, may have: HMAC-MD5-96.

Crypto Algorithms (since 2014) 22/43 See RFC 7321 Old Requirement New Requirement Algorithm MAY SHOULD AES-GCM with a 16 octet ICV MAY SHOULD AES-GMAC with AES-128 MUST MAY TripleDES-CBC SHOULD NOT MUST NOT DES-CBC SHOULD SHOULD AES-XCBC-MAC-96 SHOULD MAY AES-CTR

Crypto Algorithms (since 2014) 22/43 See RFC 7321 Old Requirement New Requirement Algorithm MAY SHOULD AES-GCM with a 16 octet ICV MAY SHOULD AES-GMAC with AES-128 MUST MAY TripleDES-CBC SHOULD NOT MUST NOT DES-CBC SHOULD SHOULD AES-XCBC-MAC-96 SHOULD MAY AES-CTR These are symmetric algorithms, need a pre-shared secret key. Different options for key-agreement protocols: PSK, Internet Key Exchange (IKE, IKE2), Kerberos (KINK), IPSECKEY DNS records.

IPsec Problems 23/43 Crypto of IPsec is not really state of the art.

IPsec Problems 23/43 Crypto of IPsec is not really state of the art. IPsec ESP allows (in principle) encryption without authentication. Attack by Degabriele and Paterson, 2007. Consequence: don t use encrypt-only!

IPsec Problems 23/43 Crypto of IPsec is not really state of the art. IPsec ESP allows (in principle) encryption without authentication. Attack by Degabriele and Paterson, 2007. Consequence: don t use encrypt-only! IPsec AH authenticates IP header (incl. source and dest.). NAT changes IP header (source or dest.). Possible to get IPsec through NAT, but requires extra effort.

IPsec Problems 23/43 Crypto of IPsec is not really state of the art. IPsec ESP allows (in principle) encryption without authentication. Attack by Degabriele and Paterson, 2007. Consequence: don t use encrypt-only! IPsec AH authenticates IP header (incl. source and dest.). NAT changes IP header (source or dest.). Possible to get IPsec through NAT, but requires extra effort. Most important problem: It s complicated!

Quotes on IPsec 24/43 The first two generations of these documents (principally RFCs 1825 1829, published in 1995, and 2401 2412, published in 1998) are really only intended to provide a guide for implementors and are notoriously complex, difficult to interpret and lacking in overall structure.... The third and latest incarnation of the core IPsec standards were published as RFCs 4301 4309 in December 2005, and are somewhat more accessible.... However, the new RFCs are still a long and complex set of documents, totalling over 300 pages. Paterson, 2006

More Quotes on IPsec 25/43 We are of two minds about IPsec. On the one hand, IPsec is far better than any IP security protocol that has come before: Microsoft PPTP, L2TP, etc. On the other hand, we do not believe that it will ever result in a secure operational system. It is far too complex, and the complexity has lead to a large number of ambiguities, contradictions, inefficiencies, and weaknesses. It has been very hard work to perform any kind of security analysis; we do not feel that we fully understand the system, let alone have fully analyzed it. Ferguson, Schneier, 2003

26/43 Transport Layer Security SSL/TLS

Timeline of SSL/TLS 27/43 1995 2000 2005 2010 2015 2020 SSL 3.0 SSL 2.0 TLS 1.0 TLS 1.2 TLS 1.1 TLS 1.2 refined TLS 1.3 (draft)

SSL/TLS 28/43 Secure Sockets Layer (SSL) and Transport Layer Security (TLS): TLS is a variant of SSLv3, SSL originally designed for web environment by Netscape, design goals: security of web traffic, email, etc., had to work well with HTTP, provides transparency for higher layers.

SSL/TLS 28/43 Secure Sockets Layer (SSL) and Transport Layer Security (TLS): TLS is a variant of SSLv3, SSL originally designed for web environment by Netscape, design goals: security of web traffic, email, etc., had to work well with HTTP, provides transparency for higher layers. SSL/TLS provides a secure channel between server and client: confidentiality, server/client authentication, message integrity.

SSL/TLS 29/43 SSL/TLS runs on top of TCP: Transparent for application layer protocols, SSL/TLS connection acts like a secured TCP connection, most protocols running over TCP can be run over SSL/TLS instead, e.g., HTTP HTTPS, SMTP SMTPS,...

SSL/TLS 29/43 SSL/TLS runs on top of TCP: Transparent for application layer protocols, SSL/TLS connection acts like a secured TCP connection, most protocols running over TCP can be run over SSL/TLS instead, e.g., HTTP HTTPS, SMTP SMTPS,... Protocols in SSL/TLS: Handshake Protocol: initiate session. Authenticate server/client, establish keys. Record Protocol: data transfer. Compute MAC for integrity, encrypt MAC and data. Alert Protocol: alert the other side of exceptional conditions. E.g., errors and warnings.

SSL/TLS Handshake 30/43 Client Server: ClientHello ClientRandom: random number, Session ID (when resuming a session), List of available CipherSuites: pk key exchange, pk auth, sym encryption, hash alg. Example: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 ECDH ECDSA AES_128_CBC SHA256 Elliptic curve Diffie Hellman key exchange. Elliptic curve digital signature algorithm. AES with 128-bit key in CBC mode. SHA with 256-bit output for HMAC.

SSL/TLS Handshake (cont.) 31/43 Server Client: ServerHello ServerRandom: random number, Session ID: implementation specific, random number, Chosen CipherSuite. Server Client: Certificate Server sends server certificate to client, client obtains server s public key and verifies certificate. Server Client: ServerKeyExchange for DHE: P a }, random a, signed for ECDHE: [a]p, random a, for RSA: (Server Client: CertificateRequest) Server Client: ServerHelloDone Message marks end of server messages.

SSL/TLS Handshake (cont.) 32/43 Client Server: ClientKeyExchange for DH(E): P b, random b, for ECDH(E): [b]p, random b, for RSA: random value encrypted with server public key. used to compute / is (RSA) the Pre-Master Secret. (Client Server: CertificateVerify) Client Server: ChangeCipherSpec Notify that client switched to new CipherSuite. Client Server: Finished Encrypted Finished message containing hash over the previous handshake messages. For DHE and ECDHE, client and server compute joint session key.

SSL/TLS Handshake (cont.) 33/43 Server Client: ChangeCipherSpec Notify that client switched to new CipherSuite. Server Client: Finished Encrypted Finished message containing hash over the previous handshake messages.

SSL/TLS Handshake (cont.) 33/43 Server Client: ChangeCipherSpec Notify that client switched to new CipherSuite. Server Client: Finished Encrypted Finished message containing hash over the previous handshake messages. Interrupted session can be resumed: Server and client are supposed to store session ID and MasterSecret, client sends session ID in ClientHello, reduced protocol: Hello, ChangeCipherSpec and Finished messages, new keying data is exchanged, new session keys are derived.

TLS 1.2 key derivation 34/43 Pseudo-random function: Define a pseudo-random function (PRF) as PRF(secret, label, seed) = P SHA256 (secret, label seed).

TLS 1.2 key derivation 34/43 Pseudo-random function: Define a pseudo-random function (PRF) as PRF(secret, label, seed) = P SHA256 (secret, label seed). The function P in PRF is an expansion function defined as P H (secret, seed) = HMAC H (secret, A(1) seed) HMAC H (secret, A(2) seed)... and is iterated as often as necessary. The A(i) are defined as A(0) = seed, A(i) = HMAC H (secret, A(i-1)).

TLS 1.2 key derivation 35/43 Figure of the PRF at http://www.cs.bham.ac.uk/~mdr/teaching/ modules06/netsec/lectures/tls/tls.html.

TLS 1.2 key derivation 36/43 Message authentication code: The message authentication code HMAC H is constructed from a hash function H as HMAC H (k, m) = H ((k opad) H ( (k ipad) m )) where opad is the outer padding (0x5c5c5...5c5c), and ipad is the inner padding (0x363636...3636).

HMAC SHA1 37/43 key key i_pad XOR o_pad XOR i key pad o key pad 64 Byte 64 Byte <= 64 Byte <= 64 Byte i key pad hash sum 1 message SHA1-1st pass o key pad hash sum 1 hash sum 2 64 Byte 20 Byte SHA1-2nd pass

TLS 1.2 key derivation 38/43 Computing the MasterSecret: MasterSecret = PRF(PreMasterSecret, "master secret", ClientRandom ServerRandom)[0..47];

TLS 1.2 key derivation 38/43 Computing the MasterSecret: MasterSecret = PRF(PreMasterSecret, "master secret", ClientRandom ServerRandom)[0..47]; Computing the MAC keys for the Finished messages: PRF(MasterSecret, FinishedLabel, SHA256(handshake-messages))[0..95] FinishedLabel: "client finished" or "server finished".

TLS 1.2 key derivation 39/43 Computing the KeyBlock for session keys: KeyBlock = PRF(MasterSecret, "key expansion", ServerRandom ClientRandom) Compute as many bits as needed to obtain six values from the key block: client MAC key, server MAC key, client encryption key, server encryption key, client IV, server IV.

SSL/TLS Record Protocol 40/43 Record protocol to exchange encrypted and authenticated data: Payload data is split into fragments which are protected and transmitted independently; when received, fragments are decrypted and verified independently. Each fragment is authenticated with a MAC which is appended; MAC is over a sequential number (anti-replay) and the content. Data fragment and MAC are encrypted. A record header is attached to the encrypted data, containing information necessary for interpreting the record such as type of data (e.g. Handshake or ApplicationData), length, and SSL version. (header encrypted fragment and MAC) is sent.

SSL/TLS Record 41/43 Byte +0 Byte +1 Byte +2 Byte +3 Byte 0 Bytes 1...4 Bytes 5...(m 1) Bytes m...(p 1) Bytes p...(q 1) Content type Version Length (Major) (Minor) (bits 15..8) (bits 7..0) Protocol message(s) MAC (optional) Padding (block ciphers only) Type ChangeCipherSpec Alert Handshake Application Heartbeat Hex 0x14 0x15 0x16 0x17 0x18 Dec 20 21 22 23 24

SSL/TLS Authentication, Key Exchange 42/43 Algorithm SSL 2.0 SSL 3.0 TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 RSA Yes Yes Yes Yes Yes No DH-RSA No Yes Yes Yes Yes No DHE-RSA No Yes Yes Yes Yes Yes ECDH-RSA No No Yes Yes Yes No ECDHE-RSA No No Yes Yes Yes Yes DH-DSS No Yes Yes Yes Yes No DHE-DSS No Yes Yes Yes Yes No ECDH-ECDSA No No Yes Yes Yes No ECDHE-ECDSA No No Yes Yes Yes Yes PSK No No Yes Yes Yes No PSK-RSA No No Yes Yes Yes No DHE-PSK No No Yes Yes Yes Yes ECDHE-PSK No No Yes Yes Yes Yes SRP No No Yes Yes Yes No SRP-DSS No No Yes Yes Yes No SRP-RSA No No Yes Yes Yes No Kerberos No No Yes Yes Yes No DH-ANON No Yes Yes Yes Yes No ECDH-ANON No No Yes Yes Yes No GOST No No Yes Yes Yes No Session Resumption

SSL/TLS Cipher Security 43/43 Cipher Protocol Version Algorithm Strength (bits) SSL 2.0 SSL 3.0 TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 AES GCM N/A N/A N/A N/A Secure Secure AES CCM 256, 128 N/A N/A N/A N/A Secure Secure AES CBC N/A N/A Depends Secure Secure N/A Camellia GCM N/A N/A N/A N/A Secure Secure 256, 128 Camellia CBC N/A N/A Depends Secure Secure N/A ARIA GCM N/A N/A N/A N/A Secure Secure 256, 128 ARIA CBC N/A N/A Depends Secure Secure N/A SEED CBC 128 N/A N/A Depends Secure Secure N/A 3DES EDE CBC 112 Insecure Insecure Low/Dep. Low Low N/A GOST CNT 256 N/A N/A Secure Secure Secure N/A IDEA CBC 128 Insecure Insecure Depends Secure N/A N/A DES CBC 40 Insecure Insecure N/A N/A N/A N/A 56 Insecure Insecure Insecure N/A N/A N/A RC2 CBC 56 Insecure Insecure Insecure N/A N/A N/A ChaCha20-Poly1305 256 N/A N/A N/A N/A Secure Secure 40 Insecure Insecure Insecure N/A N/A N/A RC4 128 Insecure Insecure Insecure Insecure Insecure N/A NULL N/A Insecure Insecure Insecure Insecure Insecure