handshake protocols coen 350. simple protocol alice: hi, i am alice. my password is...

23
Handshake Protocols COEN 350

Upload: beatriz-washington

Post on 14-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Handshake Protocols

COEN 350

Page 2: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Simple Protocol

Alice: Hi, I am Alice. My password is “fiddlesticks”.

Bob: Welcome, Alice.

Page 3: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Simple Protocol

Vulnerable to sniffing and replay attack.

Alice: Hi, I am Alice. My password is “fiddlesticks”.

Bob: Welcome, Alice....Mallory: Hi, I am Alice. My password

is “fiddlesticks”.Bob: Welcome, Alice.

Page 4: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Shared Secret

Alice and Bob share a secret key K.Alice: I am Alice.Bob: Encrypt R.Alice: EK(R)

Bob (calculates EK(R) as well.):

Welcome Alice.

Page 5: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Shared Secret

Vulnerable to DOS attack.while(1) {Mallory: I am Alice.Bob: Encrypt R.Mallory: X.Bob (EK(R) != X): Access denied.

}

Page 6: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Shared Secret

Vulnerable to sniffing and replay attack if R is not random or if R is repeated.

Page 7: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Shared Secret, use of clock

Alice: I am Alice, EK(clock).

Bob calculates clock, compares with his value: Welcome Alice.

Page 8: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Shared secret, use of clock

Man in the Middle + replay attack:Mallory to Bob: KILL, KILL, KILL, KILL.Alice: Hi, I’m Alice. EK(clock).

Mallory to Alice: KILL, KILL, KILL, KILL.Mallory to Bob: Hi, I’m Alice. EK(clock).

Bob: Hi, Alice.

Page 9: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Public Key

Alice: “I’m Alice.”Bob: “R”.Alice: “EAlice(R)”.

Bob calculates “DAliceEAlice(R) == R: Hi Alice.

Page 10: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Public Key

Alice: “I’m Alice.”Bob creates random challenge R:

“EAlice(R)”.

Alice: “R”.Bob checks R == R: Hi Alice.

Page 11: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Public Key: DOS attack

Trudy: “I’m Alice.”Bob: “R”.Trudy: “X”Bob calculates “DAliceEAlice(X) != R:

Access Denied.

Bob spends much more time computing than Trudy!

Page 12: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Mutual Authentication: Shared Secret

Alice: “I am Alice”Bob: “RB”

Alice: EK(RB). RA.

Bob calculates EK(RB) himself: EK(RA). Hi Alice.

Alice calculates EK(RA) herself: Hi Bob.

Page 13: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Mutual Authentication with less messages?

Alice: I am Alice. RA

Bob: RB. EK(RA).

Alice: Hi Bob. EK(RB).

Bob: Hi Alice.

Page 14: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Mutual Authentication with less steps is vulnerable to the replay attack

Session 1 Trudy: I am Alice. RA.

Session 1 Bob: RB. EK(RA).

Session 2 Trudy: I am Alice. RB.

Session 2 Bob: RB’. EK(RB).

Session 1 Trudy: Hi Bob. EK(RB).

Session 1 Bob: Hi Alice.

Page 15: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Warning Signals

Requestor should authenticate herself first.

Don’t have requestor and requestee do exactly the same thing. (E.g. use different key pairs.)

If you provide encryption service, you set yourself up for a key guessing attack.

Page 16: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Public Key: Simple Mutual Authentication

Alice: “I am Alice. RA”

Bob: “EBob(RA). RB”

Alice DBobEBob (RA)=RA: Hello Bob. EAlice(RB).

Bob: DAliceEAlice(RB) = RB: Hello Alice.

Page 17: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Key Distribution Centers

Maintains a shared secret for each registered user.

To set-up a connection requires the KDC to set up a session key.

Page 18: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Key Distribution CenterOriginal Algorithm

Alice to KDC: Alice wants Bob. KDC to Alice: Here is your session

key. KDC to Bob: Here is your session

key.

This needs to be modified.

Page 19: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Key Distribution Center:Needham Schroeder Protocol

Alice to KDC: N1, Alice wants Bob.KDC to Alice: KA(N1,KS,Bob,Ticket),

where Ticket=KB(KS,Alice).

Alice to Bob: Ticket, KS(N2).

Bob to Alice: KS(N2-1,N3).Alice to Bob: K(N3-1).

N1, N2, N3 are nonces to prevent replay attacks.

Page 20: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Key Distribution Center:Needham Schroeder Protocol Variant

Alice to KDC: N1, Alice wants Bob.KDC to Alice: KA(N1,KS,Bob,Ticket),

where Ticket=KB(KS,Alice).

Alice to Bob: Ticket, KS(N2).

Bob to Alice: KS(N2-1),KS(N3).Alice to Bob: K(N3-1).

N1, N2, N3 are nonces to prevent replay attacks.

Page 21: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Replay attack on modified NS

Alice to KDC: N1, Alice wants Bob.KDC to Alice: KA(N1,KS,Bob,Ticket), where

Ticket=KB(KS,Alice).

Alice to Bob: Ticket, KS(N2).

Bob to Alice: KS(N2-1),KS(N3).

Alice to Bob: KS(N3-1).

Trudy as Alice to Bob: Ticket, KS(N2)

Bob to Alice, but intercepted by Trudy: KS(N2-1), KS(N4)

Trudy as Alice to Bob: Ticket, KS(N4).

Bob to Alice, but intercepted by Trudy. KS(N4-1), KS(N5).

Trudy as Alice to Bob: KS(N4-1).

Page 22: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice

Key Distribution Center

Assume that Alice’s key has become compromised.

Trudy can now present herself as Alice to Bob with an old ticket.

Tickets need to have an expiration date!!!!!!!!!!!

Page 23: Handshake Protocols COEN 350. Simple Protocol Alice: Hi, I am Alice. My password is “fiddlesticks”. Bob: Welcome, Alice