+ All Categories
Home > Business > Key Exchange

Key Exchange

Date post: 11-Jul-2015
Category:
Upload: phanleson
View: 231 times
Download: 0 times
Share this document with a friend
Popular Tags:
39
csci5233 Computer Security 1 Bishop: Chapter 10 Key Management
Transcript
Page 1: Key Exchange

csci5233 Computer Security 1

Bishop: Chapter 10

Key Management

Page 2: Key Exchange

csci5233 Computer Security 2

Topics

• Key exchange– Session vs interchange keys– Classical vs public key methods– Key generation

• Cryptographic key infrastructure– Certificates

• Key storage– Key escrow

– Key revocation

• Digital signatures

Page 3: Key Exchange

csci5233 Computer Security 3

Notation• X → Y : { Z || W } kX,Y

– X sends Y the message produced by concatenating Z and W enciphered by key kX,Y, which is shared by users X and Y

• A → T : { Z } kA || { W } kA,T

– A sends T a message consisting of the concatenation of Z enciphered using kA, A’s key, and W enciphered using kA,T, the key shared by A and T

• r1, r2: nonces (nonrepeating random numbers)

Page 4: Key Exchange

csci5233 Computer Security 4

Session, Interchange Keys• Alice wants to send a message m to Bob

– Assume public key encryption– Alice generates a random cryptographic key ks and uses

it to encipher m• To be used for this message only• Called a session key

– She enciphers ks with Bob’s public key kB

• kB enciphers all session keys Alice uses to communicate with Bob

• Called an interchange key

– Alice sends { m } ks { ks } kB

Page 5: Key Exchange

csci5233 Computer Security 5

Benefits• Limits amount of traffic enciphered with single

key– Standard practice, to decrease the amount of traffic an

attacker can obtain

• Possible attacks– Example: Alice will send Bob a message that is either

“BUY” or “SELL”. Eve computes possible ciphertexts { “BUY” } kB and { “SELL” } kB. Eve intercepts enciphered message, compares, and gets plaintext at once.

Page 6: Key Exchange

csci5233 Computer Security 6

Key Exchange Algorithms• Goal: Alice, Bob get shared key

– Key cannot be sent in clear• Attacker can listen in• Key can be sent enciphered, or derived from

exchanged data plus data not known to an eavesdropper

– Alice, Bob may trust third party– All cryptosystems, protocols publicly known

• Only secret data is the keys, ancillary information known only to Alice and Bob needed to derive keys

• Anything transmitted is assumed known to attacker

Page 7: Key Exchange

csci5233 Computer Security 7

Classical Key Exchange

• Bootstrap problem: how do Alice, Bob begin?– Alice can’t send it to Bob in the clear!

• Assume trusted third party, Cathy– Alice and Cathy share secret key kA

– Bob and Cathy share secret key kB

• Use this to exchange shared key ks

Page 8: Key Exchange

csci5233 Computer Security 8

Simple Protocol

1. Alice Cathy{ request for session key to Bob } kA

2. Alice Cathy{ ks } kA || { ks } kB

3. Alice Bob{ ks } kB

• Then ks can be used as the secret key between Alice and Bob. e.g., 4. Alice Bob {M} ks

Page 9: Key Exchange

csci5233 Computer Security 9

Problems ?

• How does Bob know he is talking to Alice?– Replay attack: Eve records message from Alice to Bob

(esp. messages 3 and 4), later replays it; Bob may think he’s talking to Alice, but he isn’t.

e.g., Session key reuse: Eve replays message from Alice to Bob, so Bob re-uses session key.

e.g., Eve replays the message {“Deposit $500 to Jack’s account” }, originally sent from Alice to Bob.

• Protocols must provide authentication and defense against replay.

Page 10: Key Exchange

csci5233 Computer Security 10

Needham-Schroeder

1. Alice CathyAlice || Bob || r1

2. Alice Cathy{ Alice || Bob || r1 || ks || { Alice || ks } kB } kA

3. Alice Bob{ Alice || ks } kB

4. Alice Bob{ r2 } ks

5. Alice Bob{ r2 – 1 } ks

Page 11: Key Exchange

csci5233 Computer Security 11

Argument: Alice talking to Bob

• Second message– Enciphered using key only she and Cathy know

• So Cathy must have enciphered it

– Response to first message• As r1 in it matches r1 in first message

• Third message– Alice knows only Bob can read it

• As only Bob can derive session key from that message

– Any messages enciphered with that key are from Bob

Page 12: Key Exchange

csci5233 Computer Security 12

Argument: Bob talking to Alice• Third message

– Enciphered using key only he and Cathy know• So Cathy must have enciphered it

– Names Alice, session key• Cathy provided session key, says Alice is the other party

//identity associated with the session key

• Fourth message– Uses session key to determine if it is replay from Eve

• If not, Alice will respond correctly in fifth message• If so, Eve can’t decipher r2 and so can’t respond, or responds

incorrectly

Page 13: Key Exchange

csci5233 Computer Security 13

Denning-Sacco Modification• Assumption of Needham-Schroeder: All keys are

secret.• Question: Suppose Eve can obtain the session key.

How does that affect the protocol?– In what follows, Eve knows ks .

a. Eve Bob{ Alice || ks } kB

b. Alice (intercepted by Eve) Bob{ r2 } ks

c. Eve Bob{ r2 – 1 } ks

Page 14: Key Exchange

csci5233 Computer Security 14

Problem & Solution

• In the protocol above, Eve impersonates Alice.• Problem: replay in the third step of Needham-

Schroeder– i.e., Step a in the previous slide

• Solution: use time stamp T to detect replay

Page 15: Key Exchange

csci5233 Computer Security 15

Needham-Schroeder with Denning-Sacco Modification

1. Alice CathyAlice || Bob || r1

2. Alice Cathy{ Alice || Bob || r1 || ks || { Alice || T || ks } kB } kA

3. Alice Bob{ Alice || T || ks } kB

4. Alice Bob{ r2 } ks

5. Alice Bob{ r2 – 1 } ks

• Bob will reject the message if T is too old.

Page 16: Key Exchange

csci5233 Computer Security 16

Needham-Schroeder with Denning-Sacco Modification

• Weakness: If clocks are not synchronized, Bob may either reject valid messages or accept replays.– [Denning-Sacco] Parties with slow clocks are vulnerable

to replay.– [Gong] Parties with fast clocks are also vulnerable.

+ Resetting clock does not eliminate vulnerability.

Page 17: Key Exchange

csci5233 Computer Security 17

Otway-Rees Protocol

• Corrects the problem in the Needham-Schroeder– That is, Eve replaying the third message in the protocol

• Does not use timestamps– Not vulnerable to the problems that Denning-Sacco

modification has

• Uses an integer n to associate all messages with particular exchange

Page 18: Key Exchange

csci5233 Computer Security 18

The Protocol

1. Alice Bobn || Alice || Bob || { r1 || n || Alice || Bob } kA

2. Cathy Bobn || Alice || Bob || { r1 || n || Alice || Bob } kA ||{ r2 || n || Alice || Bob } kB

3. Cathy Bobn || { r1 || ks } kA || { r2 || ks } kB

4. Alice Bobn || { r1 || ks } kA

Page 19: Key Exchange

csci5233 Computer Security 19

Argument: Alice talking to Bob

• Fourth message– If n matches the first message, Alice knows it is

part of this exchange protocol.

– Cathy generated ks because only she and Alice know kA .

– Alice determines that the enciphered part belongs to the exchange as r1 matches r1 in encrypted part of the first message.

Page 20: Key Exchange

csci5233 Computer Security 20

Argument: Bob talking to Alice

• Third message– If n matches the second message, Bob knows it

is part of this exchange protocol.

– Cathy generated ks because only she and Bob know kB .

– Bob knows that the enciphered part belongs to the exchange as r2 matches r2 in encrypted part of the second message.

Page 21: Key Exchange

csci5233 Computer Security 21

Replay Attack against the Otway-Rees Protocol ?

• Eve acquires a ks and the message in the third step– n || { r1 || ks } kA || { r2 || ks } kB

• Eve forwards appropriate part to Alice– Alice has no ongoing key exchange with Bob: n

matches nothing, so is rejected.– Alice has ongoing key exchange with Bob: n does not

match, so is again rejected.• If replay is for the current key exchange, and Eve sent the

relevant part before Bob did, Eve could simply listen to traffic; no replay is needed for Eve to get the information.

Page 22: Key Exchange

csci5233 Computer Security 22

Kerberos

• Authentication system– Based on Needham-Schroeder with Denning-Sacco

modification– Central server plays role of trusted third party

(“Cathy”)

• Ticket– Issuer vouches for identity of requester of service

• Authenticator– Identifies sender

Page 23: Key Exchange

csci5233 Computer Security 23

Idea

• User u authenticates to the Kerberos server:– Obtains ticket Tu,TGS for ticket granting service (TGS)

• User u wants to use service s:– User u sends authenticator Au, ticket Tu,TGS to the TGS

asking for ticket for service s.

– TGS sends ticket Tu,s to user u.

– User sends Au, Tu,s to the server as a request to use s.

• Details follow

Page 24: Key Exchange

csci5233 Computer Security 24

Ticket• Credential saying the ticket issuer (i.e., the

authentication server) has identified the ticket requester (i.e., user u)

• Example ticket issued to user u for service s

Tu,s = s || { u || u’s address || valid time || ku,s } ks

where:

– ku,s is session key for user u and the ticket granting service s.

– ks is the key shared between s and the authentication server

– Valid time is interval for which the ticket is valid.– u’s address may be IP address or something else

• Note: more fields, but not relevant here

Page 25: Key Exchange

csci5233 Computer Security 25

Authenticator• Credential containing identity of the sender of a

ticket– Used to confirm the sender is the entity to which the

ticket was issued.

• Example: an authenticator that user u generates for authenticating himself to service s

Au,s = { u || generation time || kt } ku,s

where:– kt is an alternate session key

– Generation time is when authenticator generated• Note: more fields, not relevant here

Page 26: Key Exchange

csci5233 Computer Security 26

Page 27: Key Exchange

csci5233 Computer Security 27

Protocol

1. user Cathyuser || TGS

Cathy2. user{ ku,TGS } ku || Tu,TGS

3. user TGSservice || Au,TGS || Tu,TGS

4. user TGSuser || { ku,s } ku,TGS || Tu,s

5. user serviceAu,s || Tu,s

6. user service{ t + 1 } ku,s

Page 28: Key Exchange

csci5233 Computer Security 28

Exercises• In constructing Au,s (see steps 3 and 5), the user u needs to

know his session key with s, i.e., ku,s. How does u get the

session key? Hint: Show details of Au,s and Tu,s .

• How is the session key between u and the TGS, i.e., ku,TGS ,

used in the protocol?• How is the session key between u and the service provider s,

i.e., ku,s , used in the protocol?

c.f., An alternative illustration of the Kerberos protocol: http://sce.cl.uh.edu/yang/teaching/csci5233fall02/Kerberos_Authentication_Steps.html

Page 29: Key Exchange

csci5233 Computer Security 29

Analysis

• First two steps get user ticket to use TGS

– User u can obtain session key, ku,TGS , only if u

knows key shared with Cathy, Ku .

• Next four steps show how u gets and uses ticket for service s– Service s validates request by checking sender

(using Au,s) is the same as entity ticket issued to

– Step 6 optional; used when u requests confirmation

Page 30: Key Exchange

csci5233 Computer Security 30

Problems

• Relies on synchronized clocks– If not synchronized and old tickets, authenticators not

cached, replay is possible.

• Tickets have some fixed fields– Dictionary attacks possible– Kerberos 4 session keys weak (had much less than 56

bits of randomness); researchers at Purdue found them from tickets in minutes

• Solutions? A potential research or survey project

Page 31: Key Exchange

csci5233 Computer Security 31

Key Exchange using Public Key

• Here interchange keys known– eA, eB : Alice and Bob’s public keys known to all

– dA, dB : Alice and Bob’s private keys known only to the owner

• Simple protocol– ks is the desired session key

Alice Bob{ ks } eB

Page 32: Key Exchange

csci5233 Computer Security 32

Problem and Solution

• Vulnerable to forgery or replay

– Because eB known to anyone, Bob has no assurance that

it was really Alice that sent the message

• Simple fix uses Alice’s private key

– ks is the desired session key

Alice Bob{ { ks } dA } eB

Page 33: Key Exchange

csci5233 Computer Security 33

Notes• Can include message enciphered with ks• Assumes Bob has Alice’s public key, and vice

versa– If not, each must get it from a public server– If keys not bound to identity of the owner, attacker Eve

can launch a man-in-the-middle attack (next slide; Cathy is public server providing public keys)

• Solution to this (binding identity to keys) discussed later as public key infrastructure (PKI)

Page 34: Key Exchange

csci5233 Computer Security 34

Man-in-the-Middle Attack (in key exchange using public keys)

Alice Cathysend Bob’s public key

Eve Cathysend Bob’s public key

Eve CathyeB

AliceeE Eve

Alice Bob{ ks } eE

Eve Bob{ ks } eB

Eve intercepts request

Eve intercepts message

Page 35: Key Exchange

csci5233 Computer Security 35

Key Generation

• Goal: generate difficult-to-guess keys• Problem statement: given a set of K potential keys,

choose one randomly– Equivalent to selecting a random number between 0

and K–1 inclusive

• Why is this hard: generating random numbers– Actually, numbers are usually pseudo-random, that is,

generated by an algorithm

Page 36: Key Exchange

csci5233 Computer Security 36

What is “Random”?

• Sequence of cryptographically ransom numbers: a sequence of numbers n1, n2, … such that for any integer k > 0, an observer cannot predict nk even if all of n1, …, nk–1 are known– Best: physical source of randomness

• Random pulses

• Electromagnetic phenomena

• Characteristics of computing environment such as disk latency

• Ambient background noise

Page 37: Key Exchange

csci5233 Computer Security 37

What is “Pseudorandom”?

• Sequence of cryptographically pseudorandom numbers: sequence of numbers intended to simulate a sequence of cryptographically random numbers but generated by an algorithm– Very difficult to do this well

• Linear congruential generators [nk = (ank–1 + b) mod n]: broken

• Polynomial congruential generators [nk = (ajnk–1j + … + a1nk–1

a0) mod n]: broken too

• Here, “broken” means next number in sequence can be determined

Page 38: Key Exchange

csci5233 Computer Security 38

Best Pseudorandom Numbers

• Strong mixing function: function of 2 or more inputs with each bit of output depending on some nonlinear function of all input bits– Examples: DES, MD5, SHA-1– Use on UNIX-based systems:

(date; ps gaux) | md5

where “ps gaux” lists all information about all processes on system

Page 39: Key Exchange

csci5233 Computer Security 39

Next

Continued (Bishop, Chapter 10):

• Cryptographic key infrastructure– Certificates

• Key storage– Key escrow– Key revocation

• Digital signatures


Recommended