improving usability through password-corrective hashing andrew mehler mehler steven skiena skiena...

25
Improving Usability Through Password- Corrective Hashing Andrew Mehler www.cs.sunysb.edu/~mehler Steven Skiena www.cs.sunysb.edu/~skiena Stony Brook University 13 October 2006

Post on 22-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Improving Usability Through Password-Corrective Hashing

Andrew Mehlerwww.cs.sunysb.edu/~mehler

Steven Skienawww.cs.sunysb.edu/~skiena

Stony Brook University13 October 2006

Page 2: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Password Authentication

User Entry: Password Registry

=?

mehler1979 mehler1979

Page 3: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Password Authentication

Users Not Perfect!

User Entry Password Registry

=?

Enter wrong passwordo Can’t remembero Data Entry error (every 30 keystrokes)

mehler1997 mehler1979

Page 4: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Should passwords with entry errors be accepted?

o Increase Usability.

o Accept ‘close enough’ strings, little loss of security.

o User will choose stronger passwords.

o User won’t write down password.Idea: We accept Passwords that differ by a single error (substitution or transposition).

Transposition: student -> studnetSubstitution: student -> studint

PROBLEM: How to implement this?

Page 5: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Solution 1: Repeated Login

For an entered password, simulate login with all possible passwords differing by a single transposition or substitution.

Requires n-1 attempts for transpositionsRequires n*m attempts for substitutions

User Entry

=?

ababaaaababb…

‘aba’

PROBLEMS

Page 6: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Solution 2: Check Equivalence

For an entered password, compare it to the password on file not just for equality, but if it differs by a transposition/substitution.

o Password Registry not plain text!o Cant do transpositions/substitutions on encrypted passwords.o Equality is really encrypted equality.

User Entry

=?

Password Registrytrans?

sub?

PROBLEMS

Page 7: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Solution 3: Store All Variants

For each user, store in the encrypted file, their password, and all acceptable variations.

o Registry file will be large.o Malicious decryption easier.

User Entry

=?

Password Registry

`aba`

aba

aab

baa

PROBLEMS

Page 8: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Our Solution: Corrective Hashing

Reduce password space by a correcting hash function.

o Solves problems of previous methods.o Loss of recall and increase of false positives

User Entry

=?

Password Registry

h hMeh

Mehler1979Mehler1997

Meh

Page 9: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Password Corrective Hashing•Want to accept mistakes (recall)

h(flpajack) = h(flapjack)

•Don’t accept other strings (false positive rate)h(pancake) ≠ h(flapjack)

•We separately consider correcting single transposition errors and single substitution errors (most common entry error types)

Notationn = password (string) lengthm = alphabet size

Page 10: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Previous Work

• Phonetic Hashing (Soundex, Metaphone, etc.)h(Smith) = S43 = h(Smyth)

• SAMBA: repeated login to relax case and character order.

• Personal Question Answering.

• Semantic Pass-Phrase.

Page 11: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Correcting Transposition Errors

•Sorting a string imposes its own order.

•All strings differing by a transposition are the same when sorted, so

Recall = 1

•But many False Positives h(erika) = aeikr = h(keira)

Theorem: No other method will have fewer false positives with perfect recall

Idea: Sort the characters of a password. h(flpajack) = aacfjklp = h(flapjack)

Page 12: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

ProofAssume some method M with recallM = 1 fpM < fpSort

Then there are strings S,T such that Sort(S) = Sort(T) M(S) ≠ M(T)

Thus there exists a sequence S, s1, s2, … , sj, T

With each string differing by a transposition.(example: keira, ekira, eikra, eirka, erika)

Since M(S)≠M(T), there is some i such thatM(si) ≠ M(si+1)

Contradicting M’s perfect recall.

Page 13: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Partial Sorting•Sorting’s high false positive rate makes it insecure.

•Can we get a lower false positive rate with almost as good recall?

•We consider 2 methods that partially sort a string.

•Sorting Networks

•Block Sorting

dd

d

a

d

aa

abb

bb c

c cc

d

bc

aa

bc

d

Page 14: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Sorting Networks6

2

4

3

1

3

5

4

6

3

4

2

5

1

3

4

3

2

6

4

1

5

3

4

1

2

3

4

4

5

6

3….

•Correct Transpositions

•Impose some order on the string, up to completely sorted

•Take output of any stage as an operating point.

Page 15: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Sorting Network Analysis•1-stage

All even Transpositions are corrected. Recall is

•2-stage•All even transpositions still corrected.•Some odd transpositions corrected also.•Consider ‘abcd’ and ‘acbd’.Hashed together if a b,c d

Page 16: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Block Sorting6

2

4

3

1

3

5

4

6

2

4

3

1

3

5

4

6

2

4

3

1

3

5

4

•Partition string into substrings, and sort the substrings.

•Will correct all transposition errors except those occurring across substrings.

Page 17: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Block Sorting Analysis

•Does not correct transpositions across block boundaries.

Recall = (n-k)/(n-1)

•False positive if each block is hashed together under complete sorting

fp = 2k-1∏(fpsort(ni)+tpsort(ni)) + ∑fpsort(ni)mn-ni

Page 18: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Example DomainsApplication Password

Length (n)Alphabet Size (m)

Logins 8 64

10 32

20 2

WEP Key 10 16

26 16

SSN 9 10

Credit Card 16 10

Names 7 26

Page 19: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Correcting Transposition Results

Conclusion: Block Sorting can be used to match passwords, except on small alphabets.

Page 20: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Correcting Substitution Errors•Hi/Low Weakening: Partition alphabet into

two sets.

Ex: Low = [0-4] High = [5-9] 1979 -> LHHH

Recall = (k(k-1) + (m-k)(m-k-1)) / m(m-1)

•Weak SetA subset of the alphabet is the weak set.All members of the weak set get hashedto the same symbol.

Ex: Weak-Set = {a,e,i,o,u} Lawrence -> L.wr.nc.

Recall = k(k-1) / m(m-1)

Page 21: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Weak Set Results

Conclusion: Too insecure for usability gains.

Page 22: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Substitution Results

Page 23: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Crack ListsPrevious analysis assumed uniform distribution of passwords. Users tend to use dictionary words.

One common way of breaking into systems is by using a ‘crack’ list of common words and names that might appear in a password.

How much smaller of a crack list would be needed if corrective hashing was used?

erikakeiralastsalt

aeikralst

h = sorting

Page 24: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Crack Lists

< 13% reduction of crack list for complete sorting.< 1% reduction of crack list for 50% recall.

Page 25: Improving Usability Through Password-Corrective Hashing Andrew Mehler mehler Steven Skiena skiena Stony Brook University

Conclusions•Usability increased with small security trade-off for correcting transposition errors•Substitution errors harder to correct•Crack list computational cost not significantly decreased

Open Problems

o Better hash functions?

o Correcting insert/deletion errors?

o Empirical usability experiments?