1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of...
-
Upload
bonnie-robinson -
Category
Documents
-
view
223 -
download
0
Transcript of 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of...
![Page 1: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/1.jpg)
1
Chapter 11: Authentication
• Basics
• Passwords
![Page 2: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/2.jpg)
2
Establishing Identity
• Authentication: binding of identity to subject
• One or more of the following– What entity knows (eg. Password, SSN)– What entity has (eg. badge, smart card)– What entity is (eg. fingerprints, biometrics)– Where entity is (eg. In front of a particular
terminal)
![Page 3: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/3.jpg)
3
• An example:– You know some password– The computer also knows it (could be the
password itself or some post computation result)
– A function maps your password to the stored information
– Examine whether they match– You can also change the password
![Page 4: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/4.jpg)
4
Authentication System
• Authentication system contains: (A, C, F, L, S)– A: information that proves identity (what you know)– C: information stored on computer and used to
validate authentication information (what computer knows)
– F: complementation function; f : A C (function maps your knowledge to stored information)
– L: functions that prove identity: A x C {T, F}– S: functions enabling entity to create, alter information
in A or C
![Page 5: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/5.jpg)
5
Example
• Password system, with passwords stored in clear text– A: set of strings making up passwords
• All 8 character strings
– C = A• All 8 character strings
– F: Mapping an input password to itself– L: single equality test function { eq }
• Input ?= stored password
– S: function to set/change password
![Page 6: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/6.jpg)
6
Passwords
• Based on what people know• Sequence of characters
– Examples: 10 digits, a string of letters, etc.– Generated randomly, by user, by computer with user
input
• Algorithms– Examples: challenge-response, one-time passwords
![Page 7: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/7.jpg)
7
Storage
• Password stored in cleartext– If password file compromised, all passwords revealed
• Encipher file– Need to have decipherment, encipherment keys in
memory– If attackers get a hold of the keys, reduces to
previous problem
• Store one-way hash of password– If file is read, attacker must still guess passwords or
invert the hash
![Page 8: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/8.jpg)
8
Salting• Goal: mitigate dictionary attacks• Problem: Say all passwords are 8-char long, the
attacker can pre-compute hash values of all 8-char strings. Later when she/he gets the hash file, she/he can easily determine the string
• Method:– Introduce additional information so that it is very difficult
for attackers to conduct pre-computation– Still very efficient for the system to authenticate a user– Example
• Use salt as first part of input to hash function
![Page 9: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/9.jpg)
9
Anatomy of Attacking
• Goal: locate a A such that:– For some f F, f(a) = c C – c is associated with entity
• Two ways to determine whether a meets these requirements:– Approach 1: if attacker knows function f, she/he can
try as above• E.g., attacker gets the file containing hashed passwords,
she/he can start to hash all possible passwords
– Approach 2: try to login by guessing a password
![Page 10: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/10.jpg)
10
Preventing Attacks• How to prevent this:
– Hide one of a, f, or c • Prevents attack from above• Example:
– You do not know the function f– You cannot get c
– Block access to all l L or result of l(a)• Restrict the number of trying you can conduct in
every unit time• Prevent attacker from knowing if guess succeeded• Prevent any logins to an account from a network
![Page 11: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/11.jpg)
11
Dictionary Attacks
• Trial-and-error from a list of potential passwords– Off-line: know f and c, and repeatedly try
different guesses g A until the list is done or passwords guessed
• Examples: pre-compute the hash of possible password
– On-line: have access to functions in L and try guesses g until some l(g) succeeds
• Examples: trying to log in by guessing a password
![Page 12: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/12.jpg)
12
Guessing probability
• P: probability of guessing a password, – ≥ tried password / total number of password
• Put it in a formula:– G: number of guesses tried in 1 time unit– T: number of time units– N: number of possible passwords (|A|)– Then P ≥ TG/N
![Page 13: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/13.jpg)
13
Example• Goal
– Passwords drawn from a 96-char alphabet– Can test 104 guesses per second– Probability of a success to be 0.5 over a 365 day period– What is minimum password length?
• Solution– P >= GT/N
• GT/N = 0.5, G= 104 , T=60 * 60 * 24 * 365, N= 96^length – N ≥ TG/P = (365246060)104/0.5 = 6.311011
– Choose length such that 96^length ≥ N– So length ≥ 6, meaning passwords must be at least 6
chars long
![Page 14: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/14.jpg)
14
Pronounceable Passwords• Generate phonemes randomly
– Phoneme is unit of sound, something easy to pronounce
– Examples: helgoret, juttelon are; przbqxdfl, zxrptglfn are not
– Remember the names of brands: Mazda, Toshiba, etc
• Problem: too few– For example, there are about 440 phonemes
– If every phoneme contains 3 characters, then a 9-char password contains only 3 phonemes
– Attacker needs to search only 440^3 = 85 million passwd
• Solution: key crunching– Run long key through hash function and convert to printable sequence
– Use this sequence as password
![Page 15: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/15.jpg)
15
Guessing Through L
• Cannot prevent these– Otherwise, legitimate users cannot log in
• Make them slow– Backoff– Disconnection– Disabling
• Be very careful with administrative accounts!
• Can be used to conduct DoS attacks
– Jailing• Allow in, but restrict activities
![Page 16: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/16.jpg)
16
Password Aging
• Force users to change passwords after some time has expired– How do you force users not to re-use
passwords?• Record previous passwords• Block changes for a period of time
– Give users time to think of good passwords• Don’t force them to change before they can log in• Warn them of expiration days in advance
![Page 17: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/17.jpg)
17
![Page 18: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/18.jpg)
18
• Key management in some UNIX systems– don't use the shadow passwordfiles– the passwords are stored encrypted in the
file /etc/passwd – Format of the stored record
• Account; coded password data; homedir; • Gigawalt; fURfuu4.4hY0U; /home/gigawalt
![Page 19: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/19.jpg)
19
![Page 20: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/20.jpg)
20
• It becomes more difficult for attackers to try all possible password offline
• If an attacker gets the /etc/passwd file and knows all salt, then it is still ok to him/her
• Make the salt private: stored in a file with restricted access permissions
• Challenges– Keep the salt private– Maintain salt for users
![Page 21: 1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.](https://reader031.fdocuments.net/reader031/viewer/2022032612/56649edc5503460f94becbd0/html5/thumbnails/21.jpg)
21
Key Points
• Authentication is not cryptography– You have to consider system components
• Passwords are important– They provide a basis for most forms of authentication
• Protocols are important– They can make attacks harder
• Authentication methods can be combined