lecture 4.2: key distribution

43
Lecture 4.2: Key Distribution CS 436/636/736 Spring 2014 Nitesh Saxena

Upload: gerald

Post on 05-Jan-2016

31 views

Category:

Documents


3 download

DESCRIPTION

Lecture 4.2: Key Distribution. CS 436/636/736 Spring 2014 Nitesh Saxena. Fun/Informative Bit: Brain Study to Measure Security Behavior. Read More. Course Administration. HW2 was just due We will start grading soon Give out solution soon. Course Administration. Mid-Term Exam - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lecture 4.2: Key Distribution

Lecture 4.2: Key Distribution

CS 436/636/736 Spring 2014

Nitesh Saxena

Page 2: Lecture 4.2: Key Distribution

Fun/Informative Bit: Brain Study to Measure Security Behavior

• Read More

04/20/23 Lecture 4.2: Key Distribution 2

Page 3: Lecture 4.2: Key Distribution

Course Administration

• HW2 was just due• We will start grading soon• Give out solution soon

04/20/23 3Lecture 4.2: Key Distribution

Page 4: Lecture 4.2: Key Distribution

Course Administration

• Mid-Term Exam– On March 13 (Thursday)– In class, from 5pm-7pm

• Covers lectures up to lectures 4.* (Mar 6)• In-class review today• Strictly closed-book (no cheat-sheets are allowed)• Study topic list provided• A sample exam will be provided as we near the exam

date

04/20/23 4Lecture 4.2: Key Distribution

Page 5: Lecture 4.2: Key Distribution

Course Administration

• Extended office hours for Mid-Term– Will email

04/20/23 5Lecture 4.2: Key Distribution

Page 6: Lecture 4.2: Key Distribution

Outline of Today’s lecture

• Key Distribution • Introduction• Protocol for private key distribution• Kerberos: Real-world system• Public Key distribution

04/20/23 6Lecture 4.2: Key Distribution

Page 7: Lecture 4.2: Key Distribution

Some questions from last time

• Can OTP make for a good MAC?• Can H(K||m) make for a good MAC?• Does HMAC provide non-repudiation?

04/20/23 7Lecture 4.2: Key Distribution

Page 8: Lecture 4.2: Key Distribution

Key Distribution

• Cryptographic primitives seen so far assume– In private key setting: Alice and Bob share a secret

key which is unknown to Oscar.– In public key setting: Alice has a “trusted” (or

authenticated) copy of Bob’s public key.• But how does this happen in the first place?• Alice and Bob meet and exchange key(s)• Not always practical or possible.• We need key distribution, first and foremost!• Idea: make use of a trusted third party (TTP)04/20/23 8Lecture 4.2: Key Distribution

Page 9: Lecture 4.2: Key Distribution

“Private Key” Distribution: an attempt • Protocol assumes that Alice and Bob share a

session key KA and KB with a Key Distribution Center (KDC).– Alice calls Trent (Trusted KDC) and requests a

session key to communicate with Bob.– Trent generates random session key K and sends E

KA(K) to Alice and E KB

(K) to Bob.

– Alice and Bob decrypt with KA and KB respectively to get K.

• This is a key distribution protocol.• Susceptible to replay attack! 9

Page 10: Lecture 4.2: Key Distribution

Session Key Exchange with KDC – Needham-Schroeder Protocol

• A -> KDC IDA || IDB || N1

(Hello, I am Alice, I want to talk to Bob, I need a session Key and here is a random nonce identifying this request)

• KDC -> A E KA( K || IDB || N1 || E KB

(K || IDA))

Encrypted(Here is a key, for you to talk to Bob as per your request N1 and also an envelope to Bob containing the same key)

• A -> B E KB(K || IDA)

(I would like to talk using key in envelope sent by KDC)

• B -> A E K(N2) (OK Alice, But can you prove to me that you are indeed Alice and know the key?)

• A -> B E K(f(N2)) (Sure I can!)

• Dennig-Sacco (replay) attack on the protocol04/20/23 10Lecture 4.2: Key Distribution

Page 11: Lecture 4.2: Key Distribution

Session Key Exchange with KDC – Needham-Schroeder Protocol (corrected version with

mutual authentication)• A -> KDC: IDA || IDB || N1

(Hello, I am Alice, I want to talk to Bob, I need a session Key and here is a random

nonce identifying this request)

• KDC -> A: E KA( K || IDB || N1 || E KB

(TS1, K || IDA))

Encrypted(Here is a key, for you to talk to Bob as per your request N1 and also an

envelope to Bob containing the same key)

• A -> B: E K(TS2), E KB(TS1, K || IDA)

(I would like to talk using key in envelope sent by KDC; here is an authenticator)

• B -> A: E K(TS2+1) (OK Alice, here is a proof that I am really Bob)

04/20/23 11Lecture 4.2: Key Distribution

Page 12: Lecture 4.2: Key Distribution

Kerberos - Goals

• Security– Next slide.

• Reliability• Transparency– Minimum modification to existing network

applications.

• Scalability– Modular distributed architecture.

04/20/23 12Lecture 4.2: Key Distribution

Page 13: Lecture 4.2: Key Distribution

Kerberos – Security Goals

• No cleartext passwords over network.• No cleartext passwords stored on servers.• Minimum exposure of client and server keys.• Compromise of a session should only affect

that session • Require password only at login.

04/20/23 13Lecture 4.2: Key Distribution

Page 14: Lecture 4.2: Key Distribution

Kerberos - Assumptions

• Global clock.• There is a way to distribute authorization

data.– Kerberos provides authentication and not

authorization.

04/20/23 14Lecture 4.2: Key Distribution

Page 15: Lecture 4.2: Key Distribution

Kerberos Key Distribution (1)

Joe KDCI would like toTalk to the File Server

KDC

Step 1Joe toKDC

Step 2KDC Session key

for User

Session key for service

04/20/23 15Lecture 4.2: Key Distribution

Page 16: Lecture 4.2: Key Distribution

Kerberos Key Distribution (2)

Step 3KDC

Session Key forJoe

Dear Joe,This key for File server

Box 1

LockedWith Joe’skey

Session Key forFile server

Dear File server,This key for Use with Joe

Box 2

LockedWith FileServer’skey

Joe KDCStep 4KDC to Joe

Box 1 Box 2

04/20/23 16Lecture 4.2: Key Distribution

Page 17: Lecture 4.2: Key Distribution

Kerberos Key Distribution (3)

Dear Joe,This key for File server

OpenedBox 1 Session Key for

File server

Dear File server,This key for Use with Joe

Box 2

LockedWith FileServer’skey

Step 5Joe

Step 6Joe

Session Key forFile server

Dear File server,This key for Use with Joe

Box 2

LockedWith FileServer’skey

Dear File server,The time is

3:40 pm

Box 3

LockedWith Sessionkey

04/20/23 17Lecture 4.2: Key Distribution

Page 18: Lecture 4.2: Key Distribution

Kerberos Key Distribution (4)

JoeFile

Server

Step 7Joe toFileserver

Box 2 Box 3

Step 8Fileserver Dear File server,

This key for Use with Joe

UnlockedBox 2

Dear File server,The time is

3:40 pm

UnlockedBox 3

04/20/23 18Lecture 4.2: Key Distribution

Page 19: Lecture 4.2: Key Distribution

Kerberos Key Distribution (5)

• For mutual authentication, file server can create box 4 with time stamp and encrypt with session key and send to Joe.

• Box 2 is called ticket.• KDC issues ticket only after authenticating

password• To avoid entering passwords every time access

needed, KDC split into two – authenticating server and ticket granting server.

04/20/23 19Lecture 4.2: Key Distribution

Page 20: Lecture 4.2: Key Distribution

Kerberos– One Slide Overview

04/20/23 20

Page 21: Lecture 4.2: Key Distribution

Version 4 Summary

04/20/23 21Lecture 4.2: Key Distribution

Page 22: Lecture 4.2: Key Distribution

Kerberos - Limitations

• Every network service must be individually modified for use with Kerberos.

• Requires a global clock• Requires secure Kerberos server.• Requires continuously available or online

server.

04/20/23 22Lecture 4.2: Key Distribution

Page 23: Lecture 4.2: Key Distribution

Further Reading

• Stallings Chapter 15 • HAC Chapter 12

04/20/23 23Lecture 4.2: Key Distribution

Page 24: Lecture 4.2: Key Distribution

Some questions

• Can a KDC learn communication between Alice and Bob, to whom it issued keys?

• What if the KDC server is down or congested?• What if the KDC server is compromised?

04/20/23 24Lecture 4.2: Key Distribution

Page 25: Lecture 4.2: Key Distribution

Public Key Distribution• Public announcements (such as email)– Can be forged

• Public directory– Can be tampered with

• Public-key certification authority (CA) (such as verisign)– This is what we use in practice– CA issues certificates to the users

2504/20/23 Lecture 4.2: Key Distribution

Page 26: Lecture 4.2: Key Distribution

Naming and Certificates

• Certification authority’s vouch for the identity of an entity - Distinguished Names (DN).

/O=UAB/OU=CIS/CN=Nitesh Saxena

– Although CN may be same, DN is different.• Policies of certification– Authentication policy

What level of authentication is required to identify the principal.

– Issuance policyGiven the identity of principal will the CA issue a certificate?

2604/20/23 Lecture 4.2: Key Distribution

Page 27: Lecture 4.2: Key Distribution

Types of Certificates

• CA’s vouch at some level the identity of the principal.

• Example – Verisign:– Class 1 – Email address– Class 2 – Name and address verified through

database.– Class 3- Background check.

2704/20/23 Lecture 4.2: Key Distribution

Page 28: Lecture 4.2: Key Distribution

Public Key Certificate

• Public Key Certificate – Signed messages specifying a name (identity) and the corresponding public key.

• Signed by whom – Certification Authority (CA), an organization that issues public key certificates.

• We assume that everyone is in possession of a trusted copy of the CA’s public key.

• CA could be

– Internal CA.– Outsourced CA.– Trusted Third-Party CA.

2804/20/23 Lecture 4.2: Key Distribution

Page 29: Lecture 4.2: Key Distribution

Public Key Certificate

29

Note: Mechanism of certification and content of certificate, will vary but at the minimum we have email verification and contains ID and Public Key.

04/20/23 Lecture 4.2: Key Distribution

Page 30: Lecture 4.2: Key Distribution

Certificate Verification/Validation

3004/20/23 Lecture 4.2: Key Distribution

Page 31: Lecture 4.2: Key Distribution

Certificate Revocation• CA also needs some mechanism to revoke certificates

– Private key compromised.– CA mistake in issuing certificate.– Particular service the certificate grants access to may no longer

exist.– CA compromised.

• Expiration time solves the problems only partially.• Certification Revocation Lists (CRL) – a list of every

certificate that has been revoked but not expired.– CRL’s quickly grow large!

• CRL’s distributed periodically.– What about time period between revocation and distribution of

CRL?• Other mechanisms

– OCSP (online certificate status protocol)3104/20/23 Lecture 4.2: Key Distribution

Page 32: Lecture 4.2: Key Distribution

X.509

• Clearly, there is a need for standardization – X.509.

• Originally 1988, revised 93 and 95.• X.509 is part of X.500 series that defines a

directory service.• Defines a framework for authentication

services by X.500 directory to its users.• Used in S/MIME, IPSEC, SSL etc.• Does not dictate use of specific algorithm

(recommends RSA).3204/20/23 Lecture 4.2: Key Distribution

Page 33: Lecture 4.2: Key Distribution

X.509 Certificate

3304/20/23 Lecture 4.2: Key Distribution

Page 34: Lecture 4.2: Key Distribution

Advantages of CA Over KDC

• CA does not need to be on-line all the time!• CA can be very simple computing device.• If CA crashes, life goes on (except CRL).• Certificates can be stored in an insecure

manner!!• Compromised CA cannot decrypt messages.• Scales well.

3404/20/23 Lecture 4.2: Key Distribution

Page 35: Lecture 4.2: Key Distribution

Internet Certificate Hierarchy

35

Internet Policy Registration Authority

Policy Certification Authorities

Certification Authority

Individuals/roles/orgs.

04/20/23 Lecture 4.2: Key Distribution

Page 36: Lecture 4.2: Key Distribution

Types of certificates

• Organizational CertificatesPrincipal’s affiliation with an organization

• Residential certificatesPrincipal’s affiliation with an address

• Persona CertificatesPrincipal’s Identity

• Principal need not be a person. It could be a role.

3604/20/23 Lecture 4.2: Key Distribution

Page 37: Lecture 4.2: Key Distribution

Public-key Infrastructure (PKI)• Combination of digital certificates, public-key

cryptography, and certificate authorities. • A typical enterprise's PKI encompasses – issuance of digital certificates to users and servers– end-user enrollment software– integration with corporate certificate directories– tools for managing, renewing, and revoking

certificates; and related services and support• Verisign, Thawte and Entrust – PKI providers.• Your own PKI using Mozilla/Microsoft certificate

servers

3704/20/23 Lecture 4.2: Key Distribution

Page 38: Lecture 4.2: Key Distribution

Problems with PKI – Private Key

• Where and how is private key stored?– Host – encrypted with pass phrase– Host – encrypted by OS or application– Smart Card

• Assumes secure host or tamper proof smartcard.

3804/20/23 Lecture 4.2: Key Distribution

Page 39: Lecture 4.2: Key Distribution

Problems with PKI - Conflicts

• X.509, and PGP remain silent on conflicts.• They assume CA’s will ensure that no conflicts

arise.• But in practice conflicts may exist –– John A. Smith and John B. Smith may live at the

same address.

3904/20/23 Lecture 4.2: Key Distribution

Page 40: Lecture 4.2: Key Distribution

Trustworthiness of Issuer

• A certificate is the binding of an external identity to a cryptographic key and a distinguished name. If the issuer can be fooled, all who rely upon the certificate can be fooled

• How do you trust CA from country XYZ (your favorite prejudice).

4004/20/23 Lecture 4.2: Key Distribution

Page 41: Lecture 4.2: Key Distribution

Further Reading

• Kerberos RFC: RFC-1510• X.509 page

http://www.ietf.org/html.charters/pkix-charter.html

• Ten Risks of PKI - http://www.schneier.com/paper-pki.html

4104/20/23 Lecture 4.2: Key Distribution

Page 42: Lecture 4.2: Key Distribution

Some questions

• Can a KDC learn communication between Alice and Bob, to whom it issued keys?

• Can a CA learn communication between Alice and Bob, to whom it issued certificates?

• What happens if the CA is online all the time?• Alice uses her private key, public key pairs and

a CA issued certificate. She learnt that Eve might have leaned her key. What should she do?

4204/20/23 Lecture 4.2: Key Distribution

Page 43: Lecture 4.2: Key Distribution

Some Questions

• Sometimes when you access an https web-site, you get a security warning. What is that warning for?

• Sometimes when you connect to an SSH server, you get a security warning. What is that warning for?

• What is a self-signed certificate?

4304/20/23 Lecture 4.2: Key Distribution