Outline: - User Authentication
Outline: - User Authentication
User authentication
Password authentication, salt Challenge-response authentication protocols Biometrics
Token-based authentication
Password authentication
Basic idea
User has a secret password
System checks password to authenticate user
Issues
How is password stored? How does system check password?
Password file
hash function
Any user can try dictionary attack Salt makes dictionary attack harder
R.H. Morris and K. Thompson, Password security: a case history, Communications of the ACM, November 1979
Salt
Password line
walt:fURfuu4.4hY0U:129:129:Belgers:/home/walt:/bin/csh
Compare
Input
Salt
Ciphertext
Plaintext
When password is set, salt is chosen randomly 12-bit salt slows dictionary attack by factor of 212
Outline
User authentication
Password authentication, salt Challenge-response authentication protocols Biometrics
Token-based authentication
Challenge-response Authentication
Goal: Bob wants Alice to prove her identity to him
Protocol ap1.0: Alice says I am Alice I am Alice
Failure scenario??
Authentication
Goal: Bob wants Alice to prove her identity to him
Protocol ap1.0: Alice says I am Alice in a network, Bob can not see Alice, so Trudy simply declares herself to be Alice
I am Alice
Failure scenario??
Alices IP address
OK
Failure scenario??
OK
OK
Failure scenario??
OK
ap4.0: to prove Alice live, Bob sends Alice nonce, R. Alice must return R, encrypted with shared secret key I am Alice R
KA-B(R) Failures, drawbacks?
Alice is live, and only Alice knows key to encrypt nonce, so it must be Alice!
Authentication: ap5.0
ap4.0 doesnt protect against server database reading
can we authenticate using public key techniques? ap5.0: use nonce, public key cryptography I am Alice R K A (R)
-
and knows only Alice could have the private key, that encrypted R such that + K (K (R)) = R A A
KA(KA (R)) = R
Bob computes + -
Outline
User authentication
Password authentication, salt Challenge-response authentication protocols Biometrics
Token-based authentication
Biometrics
Use a persons physical characteristics
fingerprint, voice, face, keyboard timing,
Advantages
Cannot be disclosed, lost, forgotten
Disadvantages
Cost, installation, maintenance Reliability of comparison algorithms
False positive: Allow access to unauthorized person False negative: Disallow access to authorized person
Biometrics
Common uses
Specialized situations, physical security
Combine
Multiple biometrics Biometric and PIN Biometric and token
Various forms
PIN protected memory card
Enter PIN to get the password
function
Some complications
Initial data (PIN) shared with server
Need to set this up securely
Shared database for many sites
Clock skew
Outline
User authentication
Password authentication, salt Challenge-Response Biometrics
Token-based authentication
Database
Authentication
Application
Server Advantages
User signs on once No need for authentication at multiple sites, applications
Microsoft Passport
Launched 1999
Claim > 200 million accounts in 2002 Over 3.5 billion authentications each month
Passport log-in
Trusted Intermediaries
Symmetric key problem:
How do two entities establish shared secret key over network?
Solution:
trusted key distribution center (KDC) acting as intermediary between entities
Solution:
trusted certification authority (CA)
KA-KDC
Alice and Bob communicate: using R1 as session key for shared symmetric encryption
Kerberos
Kerberos 4 Overview
Kerberos Realms
A Kerberos environment consists of:
a Kerberos server
a number of clients, all registered with server application servers, sharing keys with server
If have multiple realms, their Kerberos servers must share keys and trust
For an application to use Kerberos, its source must be modified to make the appropriate calls into the Kerberos libraries Kerberos assumes that you are using trusted hosts on an untrusted network All-or-nothing proposition
If any services that transmit plaintext passwords remain in use, passwords can still be compromised
Certification Authorities
Certification authority (CA): binds public key to particular entity, E. E (person, router) registers its public key with CA.
E provides proof of identity to CA. CA creates certificate binding E to its public key. Certificate containing Es public key digitally signed by CA CA says this is Es public key
Bobs public key Bobs identifying information +
KB
K-
CA
Certification Authorities
When Alice wants Bobs public key: gets Bobs certificate (Bob or elsewhere). apply CAs public key to Bobs certificate, get Bobs public key CA is heart of the X.509 standard used extensively in
SSL (Secure Socket Layer), S/MIME (Secure/Multiple Purpose Internet Mail Extension), and IP Sec, etc.
+ KB
+ K CA
Single KDC/CA
Problems
Single administration trusted by all principals Single point of failure Scalability
KA-KDC(A,B)
Alice knows R1
Alice and Bob communicate: using R1 as session key for shared symmetric encryption
Consider the KDC and CA servers. Suppose a KDC goes down. What is the impact on the ability of parties to communicate securely; that is, who can and cannot communicate? Justify your answer. Suppose now a CA goes down. What is the impact of this failure?
Backup Slides
Advantages of salt
Without salt
Same hash functions on all machines
Compute hash of all common strings once Compare hash file with all known password files
With salt
One password hashed 212 different ways
Precompute hash file?
Need much larger file to cover all common strings
Credential information
Minimum six-character password or PIN Four-digit security key, used for a second level of authentication on sites requiring stronger sign-in credentials
Wallet
Passport-based application at passport.com domain E-commerce sites with Express Purchase function use wallet information rather than prompt the user to type in data