90 likes | 102 Views
Explore how to strengthen authentication protocols against various attacks and vulnerabilities. Learn about challenge-response, public-key, and other methods to safeguard your network. Dive into the nuances of protocol design for robust cybersecurity measures.
E N D
CMSC 414Computer (and Network) SecurityLecture 20 Jonathan Katz
Diffie-Hellman key exchange • Secure against passive eavesdropping… • …but insecure against a man-in-the-middle attack • What if we add DH key exchange following a secure authentication protocol?
Authentication Protocols (Chapter 11, KPS)
Overview • Handshake protocols provide authentication (typically mutual authentication) • Protocol design is subtle • Small changes can make a protocol insecure! • Historically, designed in an “ad-hoc” way, by checking protocol for known weaknesses • Great example of where provable security helps!
Login only • Some simple protocols… • Example 1: Challenge-response using cryptographic key and a MAC • What if we had used encryption instead (i.e., send a challenge and have the user encrypt it)?
Weaknesses? • No mutual authentication • No session-key generation • Off-line password guessing if entropy of key is small • Insecure against server compromise
Example 2 • “Reverse” challenge-response • I.e., send a ciphertext and have user decrypt it • Mutual authentication (if decrypts “validly”)?? • Weaknesses? • Using encryption may be insecure • (Note that a MAC cannot, in general, be used) • Vulnerable to password guessing just by false attempted login (not eavesdropping) • Authentication of server assumes no replay…
Example 3 • User sends time, MAC(time) • What if she had used encryption? • Considerations? • Requires (loosely) synchronized clocks • Very efficient • Must guard against replay… • What if user has same key on multiple servers? • Clock reset attacks; clock DoS attacks!
Public-key protocols • Ex 4: Public-key challenge-response • No longer vulnerable to server compromise • What if encryption used instead of signatures? • Note that user can be “tricked” into signing something • Use separate keys! • Note problems that potentially arise when composing two secure protocols!