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

Slides:



Advertisements
Similar presentations
Point3r$. Password Introduction Passwords are a key part of any security system : –Work or Personal Strong passwords make your personal and work.
Advertisements

Spelling Correction for Search Engine Queries Bruno Martins, Mario J. Silva In Proceedings of EsTAL-04, España for Natural Language Processing Presenter:
Password Cracking Lesson 10. Why crack passwords?
Space-for-Time Tradeoffs
FilterBoost: Regression and Classification on Large Datasets Joseph K. Bradley 1 and Robert E. Schapire 2 1 Carnegie Mellon University 2 Princeton University.
Bar Ilan University And Georgia Tech Artistic Consultant: Aviya Amir.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (7) AUTHENTICATION.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 11: Birthday Paradoxes.
1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
Feb 25, 2003Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
Mar 5, 2002Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
Tirgul 8 Universal Hashing Remarks on Programming Exercise 1 Solution to question 2 in theoretical homework 2.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
Lecture 10: Search Structures and Hashing
Pattern Matching COMP171 Spring Pattern Matching / Slide 2 Pattern Matching * Given a text string T[0..n-1] and a pattern P[0..m-1], find all occurrences.
Apr 4, 2003Mårten Trolin1 Previous lecture TLS details –Phases Handshake Securing messages –What the messages contain –Authentication.
Orgad Keller Modified by Ariel Rosenfeld Less Than Matching.
Authentication for Humans Rachna Dhamija SIMS, UC Berkeley DIMACS Workshop on Usable Privacy and Security Software July 7, 2004.
Asynchronous Pattern Matching - Address Level Errors Amihood Amir Bar Ilan University 2010.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Lecture 7 Page 1 CS 236 Online Password Management Limit login attempts Encrypt your passwords Protecting the password file Forgotten passwords Generating.
Windows This presentation is an amalgam of presentations by Mark Michael, Randy Marchany and Ed Skoudis. I have edited and added material. Dr. Stephen.
E XPLORING USABILITY EFFECTS OF INCREASING SECURITY IN CLICK - BASED GRAPHICAL PASSWORDS Elizabeth StobertElizabeth Stobert, Alain Forget, Sonia Chiasson,
IS 302: Information Security and Trust Week 7: User Authentication (part I) 2012.
CIS 450 – Network Security Chapter 8 – Password Security.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 3 – User Authentication.
Presented by: Lin Jie Authors: Xiaoyuan Suo, Ying Zhu and G. Scott. Owen.
Slide 1 St Andrew’s High School Standard Grade Computing Databases Standard Grade Computing Studies.
1 Lecture 8: Authentication of People what you know (password schemes) what you have (keys, smart cards, etc.) what you are (voice recognition, fingerprints,
1 Chapter 1 Introduction to the Theory of Computation.
1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.
Chapter 4 – Protection in General-Purpose Operating Systems Section 4.5 User Authentication.
Security PS Evaluating Password Alternatives Bruce K. Marshall, CISSP, IAM Senior Security Consultant
David Luebke 1 10/25/2015 CS 332: Algorithms Skip Lists Hash Tables.
 Access Control 1 Access Control  Access Control 2 Access Control Two parts to access control Authentication: Are you who you say you are? – Determine.
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
Mitch Parks, GSEC/GCWN ITS Desktop Security Analyst
Operating Systems Security 1. The Boot Sequence The action of loading an operating system into memory from a powered-off state is known as booting or.
David Luebke 1 11/26/2015 Hash Tables. David Luebke 2 11/26/2015 Hash Tables ● Motivation: Dictionaries ■ Set of key/value pairs ■ We care about search,
COEN 350: Network Security Authentication. Between human and machine Between machine and machine.
Knock Yourself Out Secure Authentication with Short Re-Usable Passwords by Benjamin Guldenring, Volker Roth and Lars Ries PRESENTED BY EUNYOUNG CHO COLLEGE.
Identification Authentication. 2 Authentication Allows an entity (a user or a system) to prove its identity to another entity Typically, the entity whose.
Verification & Validation. Batch processing In a batch processing system, documents such as sales orders are collected into batches of typically 50 documents.
Lecture 5 User Authentication modified from slides of Lawrie Brown.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Operating Systems Security
CS6045: Advanced Algorithms Data Structures. Hashing Tables Motivation: symbol tables –A compiler uses a symbol table to relate symbols to associated.
Presentation for CDA6938 Network Security, Spring 2006 Timing Analysis of Keystrokes and Timing Attacks on SSH Authors: Dawn Xiaodong Song, David Wagner,
Authentication has three means of authentication Verifies user has permission to access network 1.Open authentication : Each WLAN client can be.
But first… some key terms…  Hash – Output string from a cryptographic hashing function that is hopefully impossible to go backwards to original input.
Linear Sorting. Comparison based sorting Any sorting algorithm which is based on comparing the input elements has a lower bound of Proof, since there.
Chapter 12: Authentication Basics Passwords Challenge-Response Biometrics Location Multiple Methods Computer Security: Art and Science © Matt.
Finite Automata Great Theoretical Ideas In Computer Science Victor Adamchik Danny Sleator CS Spring 2010 Lecture 20Mar 30, 2010Carnegie Mellon.
My topic is…………. - It is the fundamental building block and the primary lines of defense in computer security. - It is a basic for access control and.
CSCI 530 Lab Passwords. Overview Authentication Passwords Hashing Breaking Passwords Dictionary Hybrid Brute-Force Rainbow Tables Detection.
Nondeterministic Finite State Machines Chapter 5.
 Encryption provides confidentiality  Information is unreadable to anyone without knowledge of the key  Hashing provides integrity  Verify the integrity.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
หัวข้อบรรยาย Stream cipher RC4 WEP (in)security LFSR CSS (in)security.
7/10/20161 Computer Security Protection in general purpose Operating Systems.
Encryption with Keys and Passwords
I have edited and added material.
Password Management Limit login attempts Encrypt your passwords
Password Cracking Lesson 10.
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
Cryptographic Hash Functions Part I
Encryption and Decryption
Cryptographic Hash Functions Part I
Computer Security Protection in general purpose Operating Systems
Presentation transcript:

Improving Usability Through Password-Corrective Hashing Andrew Mehler Steven Skiena Stony Brook University 13 October

Password Authentication User Entry: Password Registry =? mehler1979

Password Authentication Users Not Perfect! User Entry Password Registry =? Enter wrong password o Can’t remember o Data Entry error (every 30 keystrokes) mehler1997 mehler1979

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 -> studnet Substitution: student -> studint PROBLEM: How to implement this?

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 transpositions Requires n*m attempts for substitutions User Entry =? aba baa aab abb … ‘aba’ PROBLEMS

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 Registry trans? sub? PROBLEMS

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

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 hh Meh Mehler1979 Mehler1997 Meh

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) Notation n = password (string) length m = alphabet size

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.

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)

Proof Assume some method M with recall M = 1 fp M < fp Sort Then there are strings S,T such that Sort(S) = Sort(T) M(S) ≠ M(T) Thus there exists a sequence S, s 1, s 2, …, s j, T With each string differing by a transposition. (example: keira, ekira, eikra, eirka, erika) Since M(S)≠M(T), there is some i such that M(s i ) ≠ M(s i+1 ) Contradicting M’s perfect recall.

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 d d d a d a a a b b b bc c cc d b c a a b c d

Sorting Networks …. Correct Transpositions Impose some order on the string, up to completely sorted Take output of any stage as an operating point.

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

Block Sorting Partition string into substrings, and sort the substrings. Will correct all transposition errors except those occurring across substrings.

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 = 2 k-1 ∏(fp sort (n i )+tp sort (n i )) + ∑fp sort (n i )m n-n i

Example Domains ApplicationPassword Length (n) Alphabet Size (m) Logins WEP Key SSN910 Credit Card1610 Names726

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

Correcting Substitution Errors Hi/Low Weakening: Partition alphabet into two sets. Ex: Low = [0-4] High = [5-9] > LHHH Recall = (k(k-1) + (m-k)(m-k-1)) / m(m-1) Weak Set A subset of the alphabet is the weak set. All members of the weak set get hashed to the same symbol. Ex: Weak-Set = {a,e,i,o,u} Lawrence -> L.wr.nc. Recall = k(k-1) / m(m-1)

Weak Set Results Conclusion: Too insecure for usability gains.

Substitution Results

Crack Lists Previous 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? erika keira last salt aeikr alst h = sorting

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

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?