Take-home points. Distributed Systems Security II. Remember digital signatures. Today: Auth protocols 15-440



Similar documents
Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

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

CSCI 454/554 Computer and Network Security. Final Exam Review

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

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

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

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

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

Q: Why security protocols?

Web Security: Encryption & Authentication

Chapter 16: Authentication in Distributed System

SSL/TLS: The Ugly Truth

Chapter 4. Authentication Applications. COSC 490 Network Security Annie Lu 1

Authentication Applications

Authenticity of Public Keys

Contents. Identity Assurance (Scott Rea Dartmouth College) IdM Workshop, Brisbane Australia, August 19, 2008

Basic network security threats

Is Your SSL Website and Mobile App Really Secure?

SSH, SSL, and IPsec: wtf?

Introduction to Cryptography

SSL Server Rating Guide

Module 7 Security CS655! 7-1!

Basic network security threats

Authentication. Agenda. IT Security course Lecture April 14 th Niels Christian Juul 2. April 14th, 2003

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 15.1

Authentication Applications

Network Security. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Certificates. Noah Zani, Tim Strasser, Andrés Baumeler

Cryptography and Network Security: Summary

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

Part 2 D(E(M, K),K ) E(M, K) E(M, K) Plaintext M. Plaintext M. Decrypt with private key. Encrypt with public key. Ciphertext

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

Transport Level Security

Cryptography and Network Security Chapter 14

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

High-speed cryptography and DNSCurve. D. J. Bernstein University of Illinois at Chicago

This Course. Modelling and Analysing of Security Protocol: Lecture 1. Introductions to Modelling Protocols. Course Outline. Course Outline.

CSCE 465 Computer & Network Security

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

Key Management and Distribution

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

SSL: Secure Socket Layer

CS 348: Computer Networks. - Security; 30 th - 31 st Oct Instructor: Sridhar Iyer IIT Bombay

Computer and Network Security. Outline

Understanding Digital Certificates and Secure Sockets Layer (SSL)

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

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

Client Server Registration Protocol

What is network security?

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

Secure Client Applications

Chapter 7: Network security

7 Key Management and PKIs

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

Security: Focus of Control. Authentication

Dr. Arjan Durresi. Baton Rouge, LA These slides are available at:

Security Goals Services

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

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

Overview. SSL Cryptography Overview CHAPTER 1

SSL BEST PRACTICES OVERVIEW

Kerberos. Guilin Wang. School of Computer Science, University of Birmingham

Key Management and Distribution

Recent (2014) vulnerabilities in SSL implementations. Leiden University. The university to discover.

Overview of Public-Key Cryptography

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

How To Understand And Understand The Security Of A Key Infrastructure

Module 8. Network Security. Version 2 CSE IIT, Kharagpur

OPENID AUTHENTICATION SECURITY

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

Message authentication and. digital signatures

IPSEC: IKE. Markus Hidell Based on material by Vitaly Shmatikov, Univ. of Texas, and by the previous course teachers

SSL implementieren aber sicher!

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

Introduction to Network Security Key Management and Distribution

Public Key Infrastructure (PKI)

Cryptography and Network Security

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

Chapter 8. Cryptography Symmetric-Key Algorithms. Digital Signatures Management of Public Keys Communication Security Authentication Protocols

Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket

CS 758: Cryptography / Network Security

Chapter 17. Transport-Level Security

mod_ssl Cryptographic Techniques

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

Certificate technology on Pulse Secure Access

Lecture 10 - Authentication

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

Certificate technology on Junos Pulse Secure Access

Authentication. Computer Security. Authentication of People. High Quality Key. process of reliably verifying identity verification techniques

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Network Security Essentials Chapter 5

Security + Certification (ITSY 1076) Syllabus

Modeling and verification of security protocols

CS Final Exam

Web Security Considerations

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

Internet Key Exchange (IKE) EJ Jung

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

Transcription:

Distributed Systems Security II 5-440 Take-home points What does using public-key for our authentication buy us? Compare kerberos (needham-schroeder) and SSL with a certificate authority Metrics: Scaling, robustness, timeliness Motivate & understand perfect forward secrecy and diffie-hellman A touch of research: Perspectives SSL auth vs. CA auth Remember digital signatures From last time... Shared key crypto with key KAB: Intuition: Hash them together HMAC(KAB, m) = H( (K..) H(K... m)) Public key crypto with KA, K - A: Intuition: signing is encryption using the private key. But pub key operations are expensive: To make it practical, hash first so that the message is small, fixed-size. E(K - A, H(m)) Today: Auth protocols Needham-Schroeder - basis of Kerberos authentication Goal: Secure, usable authenticaiton system without needing public-key cryptography Idea: Everyone shares a key with a trusted third party server If A wants to talk to B, on demand, that server generates key KAB and shares it with (and only with) A and B.

In following diagrams: initiates a connection to server S generates session key K SC for them to use to talk to each other. Only A, S, and C will know this key. Each entity shares a private key with the authentication server: C and A share a secret key K AC S and A share secret key K AS Nobody else knows either of those two keys. : C to A: C,S,n A nonce: a number used once. In Kerberos this is usually the time. : C to A: C,S,n : A to C: {K cs,s,n} KAC {C,S,K cs,t,t } KAS the session key start and end time for K CS : C to A: C,S,n : A to C: {K cs,s,n} KAC {C,S,K cs,t,t } KAS : C to S: {request,n, } Ksc {C,S,K cs,t,t } KAS K CS,S,n encrypted with private key K AC C,S,K CS,t,t encrypted with secret key K AS

: C to A: C,S,n : A to C: {K cs,s,n} Kc {C,S,K cs,t,t } Ks : C to S: {request,n, } Ksc {C,S,K cs,t,t } Ks 4: S to C: {n,response, } Ksc 4 History The first version of N-S didn t have the nonce/timestamp. It was vulnerable to a replay attack Replay Attack: An attacker can sniff the traffic and re-play an old value. They don t have to know what it means, necessaril In N-S s case, if an attacker compromised an old key, they could use a replay attack to still use that old key. Usual warning: Needham and Schroeder are (were - Needham died in 00) really smart guys. And they goofed this protocol... twice. The vulnerabilities survived in one of the most widely-examined crypto protocols from 978 until 995! 0 Analysis Everyone trusts the auth server It can read, modify, etc., all traffic. It knows all the keys. All connections require a conversation with the auth server. If the auth server goes down, nobody can talk. Auth server must store all keys. And must be online and thus exposed to potential compromise. Let s fix some of these... with public keys! :) Simplified SSL/TLS I m S. <proof> Certificate Authority {S s public key is Ks}, signed -- CA. Step : offline, the server gets a certificate from the CA that binds its identity to a key it generated. You do this when you configure the server... gets the CA s public key (pre-baked in to the software?)

Simplified SSL/TLS Simplified SSL Online, for C to talk to S... : request : S s X.509v certificate, containing its public key signed by a certificate authority : request : S s X.509v certificate, containing its public key signed by a certificate authority : Client verifies the certificate using the certificate authority s public key, sends session key for subsequent communication (encrypted with S s public key) Note: Actual TLS protocol is a lot more complicated - it can negotiate different versions, cipher suites, etc... Analysis Public key lets us take the trusted third party offline: If it s down, we can still talk! But we trade-off ability for fast revocation If server s key is compromised, we can t revoke it immediately... Usual trick: Certificate expires in, e.g., a year. Have an on-line revocation authority that distributes a revocation list. Kinda clunky but mostly works, iff revocation is rare. Clients fetch list periodically. Better scaling: CA must only sign once... no matter how many connections the server handles. If CA is compromised, attacker can trick clients into thinking they re the real server. But... 5 Forward secrecy In N-S, if auth server key KAS is compromised a year later, from the traffic log, attacker can extract session key (encrypted with auth server keys). attacker can decode all traffic retroactively. In SSL, if CA key is compromised a year later, Only new traffic can be compromised. Cool... But in SSL, if server s key is compromised... Old logged traffic can still be compromised... 6

Diffie-Hellman Key Exchange Different model of the world: How to generate keys between two people, securely, no trusted party, even if someone is listening in. image from wikipedia This is cool. But: Vulnerable to man-in-themiddle attack. Attacker pair-wise negotiates keys with each of A and B and decrypts traffic 7 in the middle. No authentication... Authentication? But we already have protocols that give us authentication! They just happen to be vulnerable to disclosure if long-lasting keys are compromised later... Hybrid solution: Use diffie-hellman key exchange with the protocols we ve discussed so far. Auth protocols prevent M-it-M attack if keys aren t yet compromised. D-H means that an attacker can t recover the real session key from a traffic log, even if they can decrypt that log. Client and server discard the D-H parameters and session key after use, so can t be recovered later. 8 This is called perfect forward secrecy. Nice property. Big picture, usability, etc. public key infrastructures (PKI)s are great, but have some challenges... Yesterday, we discussed how your browser trusts many, many different CAs. If any one of those is compromised, an attacker can convince your browser to trust their key for a website... like your bank. Often require payment, etc. Alternative: the ssh model, which we call trust on first use (TOFU). Sometimes called prayer. 9 Perspectives approach 0