CMSC 414 Computer and Network Security Lecture 20 Jonathan Katz

advertisement
CMSC 414
Computer and Network Security
Lecture 20
Jonathan Katz
HW3
 Some students have reported problems when using
different grace machines
– Logging in to scary.umd.edu should work
Network Security
Authentication: an Overview
Authentication
 Verifying the identity of another entity
– Computer authenticating to another computer
– Person authenticating to a local/remote computer
 Important to be clear about what is being
authenticated
– The user?
– The machine? A specific application on the machine?
– The data?
 What assumptions are being made?
– E.g., login from untrusted terminal
Authentication
 Mutual authentication vs. unidirectional
authentication
 Authentication -- two main issues:
– How authentication information is stored (at both ends)
– Authentication protocol itself
Authentication
 Authentication may be based on
– What you know
– What you have
– What you are
– Examples? Tradeoffs?
– Others?
 Can also consider two-factor authentication
Address-based authentication
 Is sometimes used
 Generally not very secure
– Relatively easy to forge source addresses of network
packets
 But can be useful if the adversary does not know
what IP address to forge
– E.g., IP address of a user’s home computer
Location-based authentication
 More interest lately, as computation becomes more
ubiquitous
 Re-authentication if laptop moves
Attack taxonomy
 Passive attacks
 Active attacks
– Impersonation
• Client impersonation
• Server impersonation
– Man-in-the-middle
 Server compromise
 Different attacks may be easier/more difficult in
different settings
Password-based protocols
 Password-based authentication
– Any system based on low-entropy shared secret
 Distinguish on-line attacks vs. off-line attacks
Password selection
 User selection of passwords is typically very poor
– Lower entropy password makes dictionary attacks
easier
 Typical passwords:
– Derived from account names or usernames
– Dictionary words, reversed dictionary words, or small
modifications of dictionary words
 Users typically use the same password for
multiple accounts
– Weakest account determines the security!
– Can use program like pwdHash to correct this
Better password selection
 Non-alphanumeric characters
 Longer phrases
 Can try to enforce good password selection…
 …but these types of passwords are difficult for
people to memorize and type!
From passwords to keys?
 Can potentially use passwords to derive symmetric
or public keys
 What is the entropy of the resulting key?
 Often allows off-line dictionary attacks on the
password
Password-based protocols
 Any password-based protocol is potentially
vulnerable to an “on-line” dictionary attack
– On-line attacks can be detected and limited
 How?
– “Three strikes”
– Ratio of successful to failed logins
– Gradually slow login response time
 Potential DoS
– Cache IP address of last successful login
Password-based protocols
 Off-line attacks can never be ‘prevented’, but
protocols can be made secure against such attacks
 Any password-based protocol is vulnerable to off-
line attack if the server is compromised
– Once the server is compromised, why do we care?
Password-based protocols
 Best: Use a password-based protocol which is
secure against off-line attacks when server is not
compromised
– Unfortunately, this has not been the case in practice
(e.g., telnet, cell phones, etc.)
– This is a difficult problem!
Password storage
 In the clear…
 Hash of password (done correctly)
– Doesn’t always achieve anything!
– Makes adversary’s job harder
– Potentially protects users who choose good passwords
 “Salt”-ed hash of password
– Makes bulk dictionary attacks harder, but no harder to attack a
particular password
– Prevents using ‘rainbow tables’
 Encrypted passwords? (What attack is this defending
against?)
 Centralized server stores password…
Download