TLS/SSL in distributed systems. Eugen Babinciuc

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

Web Security Considerations

Chapter 17. Transport-Level Security

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

Overview. SSL Cryptography Overview CHAPTER 1

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

The Secure Sockets Layer (SSL)

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

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Security Protocols/Standards

Protocol Rollback and Network Security

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

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

Chapter 7 Transport-Level Security

CSC Network Security

CSC 474 Information Systems Security

TLS and SRTP for Skype Connect. Technical Datasheet

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

Transport Layer Security Protocols

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

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.

Network Security Part II: Standards

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Communication Systems SSL

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

Web Security: Encryption & Authentication

How To Understand And Understand The Security Of A Key Infrastructure

Spirent Abacus. SIP over TLS Test 编 号 版 本 修 改 时 间 说 明

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

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

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

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

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

Lecture 10: Communications Security

SSL/TLS: The Ugly Truth

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

SSL Handshake Analysis

Communication Security for Applications

Network Security Essentials Chapter 5

SSL A discussion of the Secure Socket Layer

Computer Networks. Secure Systems

Instructions on TLS/SSL Certificates on Yealink Phones

Lab 7. Answer. Figure 1

Authenticity of Public Keys

Understanding Digital Certificates and Secure Sockets Layer (SSL)

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

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

Security vulnerabilities in the Internet and possible solutions

Chapter 9. IP Secure

ERserver. iseries. Secure Sockets Layer (SSL)

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

SECURE SOCKETS LAYER (SSL)

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

Chapter 10. Network Security

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

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

Transport Level Security

Learning Network Security with SSL The OpenSSL Way

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

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

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

Secure Sockets Layer

As enterprises conduct more and more

INTERNET SECURITY: FIREWALLS AND BEYOND. Mehernosh H. Amroli

Internet Security. Internet Security Voice over IP. Introduction. ETSF10 Internet Protocols ETSF10 Internet Protocols 2011

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

Vulnerabilità dei protocolli SSL/TLS

Savitribai Phule Pune University

SSL DOES NOT MEAN SOL What if you don t have the server keys?

CS5008: Internet Computing

Virtual Private Networks

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

Chapter 32 Internet Security

Network Security Protocols

Secure Socket Layer. Security Threat Classifications

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

Lecture 4: Transport Layer Security (secure Socket Layer)

Low-Level TLS Hacking

ETSF10 Part 3 Lect 2

Network Security Fundamentals

Cornerstones of Security

Certificates and network security

OpenADR 2.0 Security. Jim Zuber, CTO QualityLogic, Inc.

APNIC elearning: Network Security Fundamentals. 20 March :30 pm Brisbane Time (GMT+10)

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

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

Other VPNs TLS/SSL, PPTP, L2TP. Advanced Computer Networks SS2005 Jürgen Häuselhofer

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

Programming with cryptography

March PGP White Paper. Transport Layer Security (TLS) & Encryption: Complementary Security Tools

Secure Use of the New NHS Network (N3): Good Practice Guidelines

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

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

SSL: Secure Socket Layer

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

Web Security (SSL) Tecniche di Sicurezza dei Sistemi 1

EXAM questions for the course TTM Information Security May Part 1

Transcription:

TLS/SSL in distributed systems Eugen Babinciuc

Contents 1. Introduction to TLS/SSL 2. A quick review of cryptography 3. TLS/SSL in distributed systems 4. Conclusions

Introduction to TLS/SSL

TLS/SSL History Secure Sockets Layer (SSL) was originally developed by Netscape SSL 1.0 was never publicly released SSL 2.0 was released in 1995 SSL 3.0 was released in 1996 Transport Layer Security (TLS) TLS 1.0 was defined in 1999 and was an upgrade of SSL 3.0 TLS 1.1 was defined in 2006 TLS 1.2 was defined in 2008

Transport Layer Security (TLS) TLS is a security protocol that provides secure communication between applications over unsecured channels. It provides the following security properties: Privacy Data integrity

A quick review of Cryptography Symmetric Cryptography One shared key Asymmetric/Public Cryptography Key Pair Public Key Private Key

Symmetric Cryptography One Key

Asymmetric Cryptography Key Pair

Key Exchange Cl Client Server S Cl S

Secure data transmission Cl Client Server S Cl S S Cl S

A A A S Man in the Middle Attack (MiTM) Cl Client Server S Cl S Attacker

X.509 Certificate (TLS/SSL Certificate) example.com Server example.com S h CA Certificate Authority S CA S CA

Certificate Authority Cl S Client Server Cl S? CA =? h Certificate Authority S h CA S h CA CA

TLS/SSL protocol TLS protocol has two layers: - TLS Handshake Protocol - TLS Record Protocol

TLS/SSL Handshake protocol TLS Version Session ID Selected Cipher Random Number Client Verify Certificate ClientHello ServerHello Server Certificate ClientCertificate* ClientKeyExchange Finished Finished TLS Version Session ID List of Cipher Suites Random number Server Pre Master Key

TLS/SSL Handshake protocol - Agree on protocol version - Select cryptographic algorithms - Optionally authenticate each other - Establish a shared secret (master key)

TLS/SSL Record protocol - Uses the master key that was established during Handshake Protocol - Uses symmetric key cryptography - Ensures data confidentiality - Ensures data integrity

TLS/SSL Vulnerabilities What about the Heartbleed vulnerability? Isn t TLS/SSL broken?

Openssl Heartbleed Vulnerability Please send me back: Ping (4 letters) Ping (4 letters) Client Server

Openssl Heartbleed Vulnerability - TLS has a Heartbeat Extension, which is similar to an echo service. - It may be used for a Liveliness Check - It has two types of messages: HeartbeatRequest HeartbeatResponse

Openssl Heartbleed Vulnerability Please send me back: Ping; user=admin; Ping (100 letters) password=qwerty; private_key=124973518 (100 letters) Attacker Server

Openssl Heartbleed Vulnerability HeartbeatRequest Payload PayloadSize Attacker Payload = 1 byte PayloadSize = 64KB HeartbeatResponse Payload + other data PayloadSize Server Memory Payload

Cryptography summary - TLS is based on public key cryptography - Certificates should be signed by a CA - Self-Signed certificates are vulnerable to MiTM - Only the owner of the private key can decrypt the message that was encrypted with his public key

Typical HTTPS Communication HTTP + TLS = HTTPS HTTPS Client Server

Encapsulation of data TLS TCP Client Server

TLS in TCP/IP Stack Application Layer Transport Layer HTTP TCP, UDP TLS Network Layer IP Data link layer Ethernet

TLS in OSI Model Application Layer Presentation Layer Session Layer Transport layer Network layer Data link layer Physical layer HTTP TCP, UDP IP Ethernet TLS

Distributed applications

Distributed applications Client Load Balancer Back-end services

Distributed applications Load balancer features: Stickiness Client IP forwarding

Load Balancer with Stickiness Client Load Balancer Back-end services

Load Balancer without Stickiness Client Load Balancer Back-end services

Load Balancer and Client IP IP: 2.2.2.2 IP: 10.0.0.2 IP: 1.1.1.1 IP: 10.0.0.1 Client IP: 1.1.1.1 Load Balancer IP: 10.0.0.1 Back-end services

Case Studies on application architectures that use TLS

Different Architectures TLS architectures in distributed systems: HTTPS HTTP HTTPS HTTPS TCP TCP

First Case HTTPS - HTTP HTTPS Client Load Balancer Back-end services

Second Case HTTPS - HTTPS HTTPS Client Load Balancer Back-end services

Third Case TCP - TCP TCP HTTPS Client Load Balancer Back-end services

Proxy Protocol IP TCP Proxy Protocol DATA

"PROXY TCP4 255.255.255.255 255.255.255.255 65535 65535\r\n" Proxy Protocol Proxy Protocol format: TCP/IPv4 (maximum 56 chars) "PROXY TCP4 255.255.255.255 255.255.255.255 65535 65535\r\n TCP/IPv6 : (maximum 104 chars) "PROXY TCP6 ffff:f...f:ffff ffff:f...f:ffff 65535 65535\r\n"

Summary HTTPS-HTTP Supports Sticky Sessions Supports X-Forwarded-For header Internal network should be trusted HTTPS-HTTPS Supports Sticky Sessions Supports X-Forwarded-For header SSL certificate should be installed on load balancer

Summary TCP-TCP Generic TCP load balancer Should be used Proxy Protocol header Provides best security

TLS in AWS Client Elastic Load Balancer EC2 Instances AWS Cloud

Conclusions You should use TLS for secure communication between applications. There are multiple architectures that use TLS in distributed systems, your choice should be made based on your needs.

?