Title: Lots of small stuff
1Lots of small stuff
- How do passwords work?
- What if you forget your password?
- Hardware alternatives to passwords.
- One biometric password alternative.
2How do passwords work?
3Standard passwords
- Do not store the password on the server.
- Instead, store a one-way function of the
password. (Attacker has to invert or perform a
dictionary attack). - Use salts i.e., store hash(password,salt), salt
to avoid amortized dictionary attack.
4There are distributed techniques
- Technique by Kaliski-Ford prevents against
break-in of server store a portion of the
salted password on one server, another portion on
another. - Other techniques by Jablon, MacKenzie-Shrimpton-Ja
kobsson.
5Error-TolerantPassword Recovery
Or What do you do if you forgot your
password? (without having your admin reset it)
Adapted from material by Niklas Frykholm and Ari
Juels
6Users classifiable into two types
1. Those who dont forget or lose passwords,
e.g.,
2. Those who forget or lose passwords
7Current method of password recoveryuse of
private information
- Social security number
- Not terribly private anymore (I know yours.)
- Amount of last deposited cheque
- All Americans deposited 300 or 600 from IRS
- Mothers maiden name
- For those of, e.g., Chinese origin, a handful of
last names cover much of population
8- For all of these approaches, the private
information must be stored on a server or
available to customer service representatives
9Aim 1Use truly private questions
- Answers are never revealed in
explicit form to server or customer service
representative, etc.
10Answers open vault for user,enabling recovery
on client
11How this might work
...
12How this might work
X
...
H(a2)
H(a3)
H(a15)
H(a1)
13Aim 2 Tolerate user errors
- Question What was the name of the first
girl/boy you kissed?
14Now, during recovery...
Original key X
...
User tries X
Thus, we need to be able to open the vault if X?
X
15Fuzzy commitment (JW 99)
- Produce ciphertext ? CXK of secret K under
key X - We can decrypt K using any X such that X ? X
- We learn only a little information about X
- Idea Use error-correcting code -- in unorthodox
way - Throw away the message space!
16Error-correcting code
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
f(X) c6
17Error-correcting code
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
f(X) ?????
18Fuzzy commitment
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
19Fuzzy commitment
c1
c2
c3
c4
c6
c7
c8
c9
c10
c11
c12
20Why is this secure?
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
21Why is this secure?
c1
c2
c3
c4
c5
c6
c7
c8
K
c9
c10
c11
c12
22Why is this secure?
c1
c2
c3
c4
c5
c6
c7
c8
K
c9
c10
c11
c12
23Why is this secure?
K
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
24Fuzzy commitment
- Cryptographically-strong security if code is
large enough, i.e, if there are enough codewords - Very efficient encryption/decryption
- Tradeoff between leakage of X and error-tolerance
25The password recovery scheme
- X H(a1) H(a2) H(a15)
- Select random codeword K
- Compute ? CXK X - K
- Store vault (? CXK) EKpasswords
- Given enough right answers, I.e., X ? X, we can
compute K, decrypt and recover passwords - Typical (secure) parameterization
- 15 questions
- Any 11 will open vault
26Alice
Bob
Charlie
- User answers questions, creates vault ? CXK
- User generates public/private key pair (SK, PK)
- User encrypts passwords, etc.
27Alice
Bob
Charlie
- Alice (or admin) can add to vault without opening
it (just encrypt using PKA)
28Alice
Bob
Charlie
- By answering, e.g., 11 out of 15 questions, Alice
can, e.g., recover SKA, and thus passwords
securely using any Web-enabled device
29Alice
Bob
Charlie
- With external hardening server, can use fewer
than 15 questions - A related product (using distribution) is RSA
Nightingale
30How does SecurID work?
user
server
secret Suser
same secret Suser
31but what if my token is stolen?
32but what if my device clock is too fast/ too
slow?
33Cryptographic Key Generation using features in a
speakers voice
Work by Fabian Monrose, Peter Li, Mike Reiter,
Susanne Wetzel
34Goal
Key recovery should be difficult for adversary
even if the device is captured.
35Why Voice?
- A natural user interface for many devices
- Known to differentiate between users
- rich literature in speaker verification
- Unlike static biometrics such as a
fingerprint, changing the password changes
vocalization of it, so a user can have many keys.
36Illustration of the technique
37Yeah, but isnt this similar to ?
- Voice encryption (e.g., STU-III, PGPFone, etc)
- encrypts voice signal, but generates key via
other input - Encryption with spoken password
- password entropy is low
- even lower for pronounceable passwords
- Speaker verification
- compares speech to speaker-dependent, plaintext
model - if captured, model leaks keying material
38The basic idea dispersing the secret
39The basic idea - reconstruction
40The basic idea - how it works
Random value
41The basic idea - how it works
42Okay, so what is this good for?
- Conceptually, can be used in any context were
traditional passwords are used. - Encrypted email.
- Used to generate keying material for
private/public key generation, e.g, VPN access. - File encryption.
43 Frames 1 k
Analyze frames Windowing, endpoint detection,
silence removal. Frames are 30ms long,
overlapping by 10ms.
Extract features 12 dimensional vectors of
cepstral coefficients. Intuitively, these
features model the vocal tract.
Capture Signal 8000 samples/sec.
44Tradeoffs
Reliability ?
Security?
How many attempts does a legitimate user need in
order to successfully regenerate his key?
Evaluated with pre-existing telephone dataset of
90 users and over 2000 utterances attained
false reject rates near 2 while not sacrificing
security.