Information Security



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

SECURE SOCKETS LAYER (SSL)

SSL Secure Socket Layer

Communication Systems SSL

Web Security Considerations

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.

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

SSL Secure Socket Layer

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

Secure Socket Layer. Security Threat Classifications

Transport Layer Security (TLS)

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

CSC 474 Information Systems Security

CSC Network Security

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

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

Communication Security for Applications

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

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

Authenticity of Public Keys

Lecture 4: Transport Layer Security (secure Socket Layer)

Lab 7. Answer. Figure 1

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

Transport Level Security

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

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

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

Security Protocols/Standards

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

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

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

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

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Network Security Essentials Chapter 5

Network Security Protocols

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

SSL/TLS/X.509. Aggelos Kiayias

Chapter 7 Transport-Level Security

Overview. SSL Cryptography Overview CHAPTER 1

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

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

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

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

ISA 562 Information System Security

Secure Sockets Layer

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

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

Protocol Rollback and Network Security

Transport Layer Security Protocols

Chapter 17. Transport-Level Security

The Secure Sockets Layer (SSL)

Internet Engineering Task Force (IETF) Request for Comments: Category: Standards Track ISSN: A. Langley Google June 2015

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

Network Security Protocols

, ) I Transport Layer Security

Embedded SSL. Christophe Kiennert, Pascal Urien. Embedded SSL - Christophe Kiennert, Pascal Urien 1

Web Security (SSL) Tecniche di Sicurezza dei Sistemi 1

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

Introduction to Cryptography

Three attacks in SSL protocol and their solutions

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

Network Security Part II: Standards

SE 4472a / ECE 9064a: Information Security

Low-Level TLS Hacking

Einführung in SSL mit Wireshark

On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption

Network Security. Chapter 12 Security Protocols of the Transport Layer

SSL: Secure Socket Layer

Network Security Standards. Key distribution Kerberos SSL/TLS

Secure Communication Protocol for ATM Using TLS Handshake

CS 758: Cryptography / Network Security

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

Table of Contents. Bibliografische Informationen digitalisiert durch

Practical Invalid Curve Attacks on TLS-ECDH

Chapter 10. Network Security

Vulnerabilità dei protocolli SSL/TLS

MatrixSSL Developer's Guide Version 3.7

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

Cryptography and Network Security IPSEC

Learning Network Security with SSL The OpenSSL Way

SSL/TLS: The Ugly Truth

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

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

Forward Secrecy: How to Secure SSL from Attacks by Government Agencies

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

Strengthening Master Secrets! (to get good TLS Channel Identifiers)

Transport Layer Security

Web security problems*

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

Chapter 8. Network Security

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

Is Your SSL Website and Mobile App Really Secure?

Computer and Network Security

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

IPSec and SSL Virtual Private Networks

SBClient SSL. Ehab AbuShmais

Transcription:

SE 4472 / ECE 9064 Information Security Week 11: Transport Layer Security (TLS): Putting it all together Fall 2015 Prof. Aleksander Essex

Security at the Transport Layer Where we started in this course: no security

Security at the Transport Layer Where we ve ended up in this course: practical security

Security at the Transport Layer TLS is the protocol that secures the web Combines all the concepts you ve learned about so far

SSL/TLS History Secure Sockets Layer (SSL) 1.0 not released. Originally written by Taher Elgamal. 2.0 1995. MITM possible through cipher downgrade attacks. Disallowed by IETF in 2011 (RFC 6176) 3.0 1996. Major redesign. SHA-1 introduced. POODLE attack (Sept 2014) Transport Layer Security (TLS) 1.0 1999. Different key derivation functions (HMAC) 1.1 2006. Better IV handling mitigates CBC-mode attacks (BEAST) 1.2 2008. SHA-256. AES-GCM 1.3 >2015. Deprecate RSA Kx?

TLS Handshake

TLS Handshake Phases: Phase 1: Establish security capabilities Phase 2: Authentication and public key exchange Phase 3: Secret key exchange and derivation Phase 4: Finish

Client Server client_hello server_hello Phase 1 Establish security capabilities, including protocol version, session ID, cipher suite, compression method, and initial random numbers. certificate server_key_exchange certificate_request server_hello_done Phase 2 Server may send certificate, key exchange, and request certificate. Server signals end of hello message phase. Time certificate client_key_exchange certificate_verify Phase 3 Client sends certificate if requested. Client sends key exchange. Client may send certificate verification. change_cipher_spec finished change_cipher_spec finished Phase 4 Change cipher suite and finish handshake protocol. Note: Shaded transfers are optional or situation-dependent messages that are not always sent. Figure 17.6 Handshake Protocol Action Source: William Stallings. Cryptography and Network Security.

Phase 1: Security Capabilities Client_Hello Highest SSL/TLS version supported Client nonce Session ID Server_Hello Highest SSL/TLS version supported Appropriate ciphersuite o Kx (e.g., RSA, DHE/ECDHE) o Cipher algorithm (e.g., AES) o Hash function (e.g., SHA1) Server nonce

TLS Ciphersuites Example: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 Key agreement RSA, DHE, ECDHE Signature scheme RSA, DSA, ECDSA Block cipher and mode of operation AES_256_CBC, 3DES_EDE, AES-GCM (i.e., AES in CTR) Hash function MD5, SHA1, SHA256, SHA512

Chrome s Ciphersuite Preferences

TLS Ciphersuites The hash function is used as a pseudo-random function to derive keys. Depending on the What about this: TLS_RSA_WITH_AES_128_GCM_SHA256 What is the key agreement method? What is the signature scheme? What is the MAC?

Phase 2: Authentication and Public-key Exchange Certificate message Server sends certificate chain Server_key_exchange If using DHE/ECDHE, server sends its public key and signature Client checks certificate chain, and signature on Pk if using DHE/ECDHE

Phase 3: Key Exchange/Derivation 1. Exchange pre-master secret If using RSA for Kx Client generates 48-byte pre-master secret, encrypts with public key and sends to server If using DHE/ECDHE Parties compute Diffie-Hellman shared secret (becomes pre-master secret) 2. Derive master secret 3. Derive symmetric keys Use key derivation function to derive key material (see next slide)

Pseudo-random Function (PRF) TLS makes use of an HMAC as a PRF Used to expand secrets into keys Recall HMAC(K,m) accepts a message and a key First we define P_hash, which takes a secret (and a seed value) and expands it into a desired number of bytes: P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) + HMAC_hash(secret, A(2) + seed) + HMAC_hash(secret, A(3) + seed) +... where + indicates concatenation. A() is defined as: A(0) = seed A(i) = HMAC_hash(secret, A(i-1))

Pseudo-random Function (PRF) The PRF is constructed as follows: PRF(secret, label, seed) = P_<hash>(secret, label + seed) The label is a UTF-8 string. For example, the label "slithy toves" would be represent the following bytes: 73 6C 69 74 68 79 20 74 6F 76 65 73

Master Secret Derived from the pre-master secret (either RSA or Diffie-Hellman shared secret): master_secret = PRF(pre_master_secret, "master secret", ClientHello.random + ServerHello.random) [0..47]; Used to generate the key block : key_block = PRF(SecurityParameters.master_secret, "key expansion", SecurityParameters.server_random + SecurityParameters.client_random);

Key Block The key block consists of all the values used in the symmetric-key operations TLS generates separate keys for client and sever (though both ends have all keys): client_write_mac_key[securityparameters.mac_key_length] server_write_mac_key[securityparameters.mac_key_length] client_write_key[securityparameters.enc_key_length] server_write_key[securityparameters.enc_key_length]

Phase 4: Finished Parties exchange Finished messages An HMAC d copy of everything the client (resp. the server) has seen in the handshake so far PRF(master_secret, finished_label, Hash(handshake_messages)) Prevents a variety of subtle man-in-the-middle attacks Once client (resp. server) sends its Finished message and receives and validates the Finished message from its peer, it can start using the TLS connection.

Wireshark Let s see a TLS handshake in Wireshark

TLS Record Protocol

SSL/TLS Record Protocol Data Fragment Data Fragment Data Fragment Data Fragment MAC Data Fragment MAC k ( ) MAC Combine Encrypt Data Fragment Enc k ( ) Ciphertext MAC

TLS Attacks

A Few SSL/TLS Attacks Major SSL/TLS attack focus on trying to recover a encrypted single session cookie/token BEAST (TLS 1.0) Predictable IV ( optimization : reuse last block of ciphertext as IV of current block) CRIME Exploits TLS compression. Eve injects data into plaintext. If ciphertext is smaller, she knows injected data is similar to target data, and vice versa if ciphertext is larger. POODLE (SSL 3.0) MAC was taken message, padding applied after (i.e., padding is unauthenticated). What could possibly go wrong?