230 likes | 552 Views
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. ...
E N D
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.
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.
Shared Secret Vulnerable to DOS attack. while(1) { Mallory: I am Alice. Bob: Encrypt R. Mallory: X. Bob (EK(R) != X): Access denied. }
Shared Secret Vulnerable to sniffing and replay attack if R is not random or if R is repeated.
Shared Secret, use of clock Alice: I am Alice, EK(clock). Bob calculates clock, compares with his value: 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.
Public Key Alice: “I’m Alice.” Bob: “R”. Alice: “EAlice(R)”. Bob calculates “DAliceEAlice(R) == R: Hi Alice.
Public Key Alice: “I’m Alice.” Bob creates random challenge R: “EAlice(R)”. Alice: “R”. Bob checks R == R: Hi 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!
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.
Mutual Authentication with less messages? Alice: I am Alice. RA Bob: RB. EK(RA). Alice: Hi Bob. EK(RB). Bob: Hi 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.
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.
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.
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.
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.
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.
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.
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).
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!!!!!!!!!!!