Top Banner
CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric Public Keys X.509 Key Management and Distribution CSS322: Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 January 2011 CSS322Y10S2L12, Steve/Courses/CSS322/Lectures/key.tex, r1640
33

Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

Apr 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Key Management and Distribution

CSS322: Security and Cryptography

Sirindhorn International Institute of TechnologyThammasat University

Prepared by Steven Gordon on 23 January 2011CSS322Y10S2L12, Steve/Courses/CSS322/Lectures/key.tex, r1640

Page 2: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Contents

Key Distribution and Management

Symmetric Key Distribution using Symmetric Encryption

Symmetric Key Distribution using Asymmetric Encryption

Distribution of Public Keys

X.509 Certificates

Page 3: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Key Distribution and Management

I Symmetric key cryptography: fast implementations,good for encrypting large amounts of data; requiresshared secret key

I Asymmetric (public) key cryptography: inefficient forlarge data, good for authentication; no need to share asecret

I How to share symmetric keys?

I How to distribute public keys?

Page 4: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Contents

Key Distribution and Management

Symmetric Key Distribution using Symmetric Encryption

Symmetric Key Distribution using Asymmetric Encryption

Distribution of Public Keys

X.509 Certificates

Page 5: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Symmetric Key Distribution using SymmetricEncryption

I Objective: two entities share same secret key

I Principle: change keys frequentlyI How to exchange a secret key?

1. A physically delivers key to B2. Third party, C, can physically deliver key to A and B3. If A and B already have a key, can securely transmit

new key to each other, encrypted with old key4. If A and B have secure connection with third party C, C

can securely send keys to A and B

I Option 1 and 2: manual delivery; feasible if number ofentites is small (link encryption)

I Option 3: requires initial distribution of key; discoveryof initial key releases all subsequent keys

I Option 4: requires initial distribution of key with C;practical for large-scale systems (end-to-end encryption)

Page 6: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Link Encryption vs End-to-End Encryption

Link Encryption

I Encrypt data over individual links in network

I Each link end-point shares a secret key

I Decrypt/Encrypt at each device in path

I Requires all links/devices to support encryption

End-to-End Encryption

I Encrypt data at network end-points (e.g. hosts orapplications)

I Each pair of hosts/applications share a secret key

I Does not rely on intermediate network devices

Page 7: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

How Many Keys Need To Be Exchanged?

SW1

SW2

R1

SW4

SW3

R2

R3

R4

D

E

C

B

A

I

SW6

J

SW5

G

F

H

I Link-level encryption?

I End-to-end encryption between hosts?

I End-to-end encryption between applications?

Page 8: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Using a Key Distribution Centre

I Key Distribution Centre (KDC) is trusted third partyI Hierarchy of keys used:

I Data sent between end-systems encrypted withtemporary session key

I Session keys obtained from KDC over network;encrypted with master key

I Master keys can be distributed using manual delivery

Page 9: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Use of a Key Hierarchy

Page 10: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Key Distribution Scenario

Page 11: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

KDC Scenario Notation

I End-systems: A and B, identified by IDA and IDB

I Master keys: Ka, Kb

I Session key (between A and B): Ks

I Nonce values: N1, N2

I E.g. timestamp, counter, random valueI Must be different for each requestI Must be difficult for attacker to guess

Page 12: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Practical Considerations

Hierarchical Key Control

I Use multiple KDCs in a hierarchy

I E.g. KDC for each LAN (or building); central KDC toexchange keys between hosts in different LANs

I Reduces effort in key distribution; limits damage if localKDC is compromised

Session Key Lifetime

I Shorter lifetime is more secure; but increases overheadof exchanges

I Connection-oriented protocols (e.g. TCP): new sessionkey for each connection

I Connection-less protocols (e.g. UDP/IP): change afterfixed period or certain number of packets sent

Page 13: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Decentralised Key Distribution

I Alternative that doesn’t rely on KDC

I Each end-system must manually exchange n − 1 masterkeys (Km) with others

Page 14: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Contents

Key Distribution and Management

Symmetric Key Distribution using Symmetric Encryption

Symmetric Key Distribution using Asymmetric Encryption

Distribution of Public Keys

X.509 Certificates

Page 15: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Symmetric Key Distribution using AsymmetricEncryption

I Asymmetric encryption generally too slow for encryptinglarge amount of data

I Common application of asymmetric encryption isexchanging secret keys

I Three examples:

1. Simple Secret Key Distribution2. Secret Key Distribution with Confidentiality and

Authentication3. Hybrid Scheme: Public-Key Distribution of KDC Master

Keys

Page 16: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Simple Secret Key Distribution

I Simple: no keys prior to or after communication

I Provides confidentiality for session key

I Subject to man-in-the-middle attack

I Only useful if attacker cannot modify/insert messages

Page 17: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Man-in-the-Middle Attack

Page 18: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Secret Key Distribution with Confidentiality andAuthentication

I Provides both confidentiality and authentication inexchange of secret key

Page 19: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Hybrid Scheme: Public-Key Distribution of KDCMaster Keys

I Use public-key distribution of secret keys whenexchaning master keys between end-systems and KDC

I Efficient method of delivering master keys (rather thanmanual delivery)

I Useful for large networks, widely distributed set of userswith single KDC

Page 20: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Contents

Key Distribution and Management

Symmetric Key Distribution using Symmetric Encryption

Symmetric Key Distribution using Asymmetric Encryption

Distribution of Public Keys

X.509 Certificates

Page 21: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Distribution of Public Keys

I By design, public keys are made public

I Issue: how to ensure public key of A actually belongs toA (and not someone pretending to be A)

I Four approaches for distributing public keys

1. Public announcement2. Publicly available directory3. Public-key authority4. Public-key certificates

Page 22: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Public Announcements

I Make public key available in open forum: newspaper,email signature, website, conference, . . .

I Problem: anyone can announce a key pretending to beanother user

Page 23: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Publicly Available Directory

I All users publish keys in central directory

I Users must provide identification when publishing key

I Users can access directory electronically

I Weakness: directory must be secure

Page 24: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Public-Key Authority

I Specific instance of using publicly available directoryI Assume each user has already security published

public-key at authority; each user knows authoritiespublic key

Page 25: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Public-Key Authority

I First 5 messages are for key exchange; last 2 areauthentication of users

I Although 7 messages, public keys obtained fromauthority can be cached

I Problem: authority can be bottleneck

I Alternative: public-key certificates

Page 26: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Public-Key Certificates

I Assume public keys sent to CA can be authenticated byCA; each user has certificate of CA

Page 27: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Public Key Certificates

I A certificate is the ID and public-key of a user signed byCA

CA = E(PRauth, [T ||IDA||PUa])

I Timestamp T validates currency of certificate(expiration date)

I Common format for certificates is X.509 standard (byITU)

I S/MIME (secure email)I IP security (network layer security)I SSL/TLS (transport layer security)I SET (e-commerce)

Page 28: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Contents

Key Distribution and Management

Symmetric Key Distribution using Symmetric Encryption

Symmetric Key Distribution using Asymmetric Encryption

Distribution of Public Keys

X.509 Certificates

Page 29: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

X.509 Certificates

I Each user has a certificate, although it is created by theCertificate Authority (CA)

I Certificates are stored in a public directoryI Certificate format includes:

I Version of X.509 certificateI Signature algorithmI CA’s name and unique identifierI Period of validityI User’s name and unique identifierI User’s public key informationI Signature

Page 30: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Public-Key Certificate Use

Page 31: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

X.509 Formats

Page 32: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Certificate Revocation List

I Certificates may be revoked before expiry

I CA signs a CRL, which is stored in public directory

Page 33: Key Management and Distribution - t Uict.siit.tu.ac.th/~steven/css322y10s2/unprotected/... · CSS322 Key Management Key Distribution Symmetric with Symmetric Symmetric with Asymmetric

CSS322

Key Management

Key Distribution

Symmetric withSymmetric

Symmetric withAsymmetric

Public Keys

X.509

Multiple Certificate Authorities

I Multiple CA’s can be arranged in hierarchyI Notation: Y << X >> certificate of X issued by CA Y