Human authentication Haipeng Dai haipengdai@nju.edu.cn 313 CS Building Department of Computer Science and Technology Nanjing University
Human Authentication Haipeng Dai haipengdai@nju.edu.cn 313 CS Building Department of Computer Science and Technology Nanjing University
Human Authentication How do you prove to someone that you are who you claim to be? -Any system with access control must solve this problem Mechanisms: -Something the user is e.g.,fingerprint or retinal pattern,DNA sequence,unique bio-electric signals produced by the living body,or other biometric identifier ●IP address -Something the user has e.g.,ID card,security token,software token or cell phone -Something the user knows e.g.,a password,a pass phrase or a personal identification number(PIN) -Something the user does e.g.,voice recognition,signature,or gait CSE825 2
2 Human Authentication How do you prove to someone that you are who you claim to be? ─ Any system with access control must solve this problem Mechanisms: ─ Something the user is ● e.g., fingerprint or retinal pattern, DNA sequence, unique bio-electric signals produced by the living body, or other biometric identifier ● IP address ─ Something the user has ● e.g., ID card, security token, software token or cell phone ─ Something the user knows ● e.g., a password, a pass phrase or a personal identification number (PIN) ─ Something the user does ● e.g., voice recognition, signature, or gait CSE825
Basic password authentication Setup -User chooses password -Hash of password stored in password file ■Authentication -User logs into system,supplies password 一 System computes hash,compares with the hash in password file Attacks -Online dictionary attack Guess passwords and try to log in -Offline dictionary attack Steal password file,try to find p with hash(p)in file CSE825 3
3 Basic Password Authentication Setup ─ User chooses password ─ Hash of password stored in password file Authentication ─ User logs into system, supplies password ─ System computes hash, compares with the hash in password file Attacks ─ Online dictionary attack ● Guess passwords and try to log in ─ Offline dictionary attack ● Steal password file, try to find p with hash(p) in file CSE825
UNIX Password System Uses DES encryption as if it were a hash function 一 Encrypt NULL string using password as the key Truncates passwords to 8 characters! low-order 7 bits of each character is used to form the 56-bit DES key -Artificial slowdown:run DES 25 times Problem:passwords are not truly random -With 52 upper-and lower-case letters,10 digits and 32 punctuation symbols,there are 948~6 quadrillion possible 8-character passwords -Humans like to use dictionary words,human and pet names 1 million common passwords 4
4 UNIX Password System Uses DES encryption as if it were a hash function ─ Encrypt NULL string using password as the key ● Truncates passwords to 8 characters! ● low-order 7 bits of each character is used to form the 56-bit DES key ─ Artificial slowdown: run DES 25 times Problem: passwords are not truly random ─ With 52 upper- and lower-case letters, 10 digits and 32 punctuation symbols, there are 948 ≈ 6 quadrillion possible 8-character passwords ─ Humans like to use dictionary words, human and pet names ≈ 1 million common passwords
Dictionary Attack-some numbers Typical password dictionary -1,000,000 entries of common passwords people's names,common pet names,and ordinary words -Suppose you generate and analyze 10 guesses per second This may be reasonable for a web site;offline is much faster -Dictionary attack in at most 100,000 seconds =28 hours,or 14 hours on average If passwords were random -Assume six-character password Upper-and lowercase letters,digits,32 punctuation characters 689,869,781,056 password combinations. Exhaustive search requires 1,093 years on average To prevent using one dictionary to crack many passwords,Unix uses the idea of salt:usernamelsaltMD(salt,password) CSE825 5
5 Dictionary Attack – some numbers Typical password dictionary ─ 1,000,000 entries of common passwords ● people's names, common pet names, and ordinary words. ─ Suppose you generate and analyze 10 guesses per second ● This may be reasonable for a web site; offline is much faster ─ Dictionary attack in at most 100,000 seconds = 28 hours, or 14 hours on average If passwords were random ─ Assume six-character password ● Upper- and lowercase letters, digits, 32 punctuation characters ● 689,869,781,056 password combinations. ● Exhaustive search requires 1,093 years on average To prevent using one dictionary to crack many passwords, Unix uses the idea of salt: username|salt|MD(salt, password). CSE825
Advantage of Salt Without salt -Same hash functions on all machines Compute hash of all common strings once Compare hash with all known password hashes With salt -One password hashed 212 different ways Precompute hash file? -Need much larger file to cover all common strings Dictionary attack on known password file -For each salt found in file,try all common strings CSE825 6
6 Advantage of Salt Without salt ─ Same hash functions on all machines ● Compute hash of all common strings once ● Compare hash with all known password hashes With salt ─ One password hashed 212 different ways ● Precompute hash file? – Need much larger file to cover all common strings ● Dictionary attack on known password file – For each salt found in file, try all common strings CSE825
Passwords in the Real World [PasswordResearch.com] From high school pranks... -Student in Tyler changes school attendance records 一 Students in California change grades Different authentication for network login and grade system,but teachers were using the same password (very common) ■..to serious cash -English accountant uses co-workers'password to steal $17 million for gambling ...to identity theft -Helpdesk employee uses passwords of a credit card database to sell credit reports to Nigerian scammers 7
7 Passwords in the Real World From high school pranks… ─ Student in Tyler changes school attendance records ─ Students in California change grades ● Different authentication for network login and grade system, but teachers were using the same password (very common) …to serious cash ─ English accountant uses co-workers’ password to steal $17 million for gambling …to identity theft ─ Helpdesk employee uses passwords of a credit card database to sell credit reports to Nigerian scammers [PasswordResearch.com]
Passwords and Computer Security First step after any successful intrusion:install sniffer or keylogger to steal more passwords Second step:run cracking tools on password files Usually on other hijacked computers In Mitnick's "Art of Intrusion",8 out of 9 exploits involve password stealing and/or cracking -Excite@Home:usernames and passwords stored in the clear in troubleshooting tickets -"Dixie bank"hack:use default router password to change firewall rules to enable incoming connections 8
8 Passwords and Computer Security First step after any successful intrusion: install sniffer or keylogger to steal more passwords Second step: run cracking tools on password files ─ Usually on other hijacked computers In Mitnick’s “Art of Intrusion”, 8 out of 9 exploits involve password stealing and/or cracking ─ Excite@Home: usernames and passwords stored in the clear in troubleshooting tickets ─ “Dixie bank” hack: use default router password to change firewall rules to enable incoming connections
Password Security Risks Keystroke loggers -Hardware KeyGhost,KeyShark,others -Software(spyware) Shoulder surfing Same password at multiple sites Broken implementations Social engineering 9
9 Password Security Risks Keystroke loggers ─ Hardware ● KeyGhost, KeyShark, others ─ Software (spyware) Shoulder surfing Same password at multiple sites Broken implementations Social engineering
Default Passwords Examples from Mitnick's“Art of Intrusion” -U.S.District Courthouse server:“public?”/“public?” -NY Times employee database:pwd last 4 SSN digits -"Dixie bank":break into router(pwd="administrator"),then into IBM AS/400 server(pwd-"administrator"),install keylogger to snarf other passwords ●“g9%of people there used‘password123'as their password' 10
10 Default Passwords Examples from Mitnick’s “Art of Intrusion” ─ U.S. District Courthouse server: “public” / “public” ─ NY Times employee database: pwd = last 4 SSN digits ─ “Dixie bank”: break into router (pwd=“administrator”), then into IBM AS/400 server (pwd=“administrator”), install keylogger to snarf other passwords ● “99% of people there used ‘password123’ as their password