Educause Security Discussion mailing list archives
Re: Password entropy
From: Valdis Kletnieks <Valdis.Kletnieks () VT EDU>
Date: Tue, 25 Jul 2006 14:14:02 -0400
On Tue, 25 Jul 2006 09:26:19 CDT, Roger Safian said:
So, just to be clear, a 12 character passphrase, depending on the distribution of special characters, capitalization, etc. is likely to fall into the 80 bit "strong enough" bucket. Yes?
Possible, yes. Likely, probably not, at least not with any password policy your users are likely to put up with. The only way to get to 80 with only 12 characters is to force all 12 to be totally random selections from the printable-96 set (at which point you have 12*6.5 or 78 - so you're *still* a bit shy, but the difference probably isn't anywhere near a problem... The total-random nature may irritate your users, though. Cn7&;$wop~~@?mx - so speaks my /dev/urandom. I *know* what your users will say, especially when their next password is C_XG?7c#DFC[ (And yes, you *will* need to machine-generate them at that point, as users *will* choose biased pseudo-random characters...) With 16 characters, you only need 5 bits/char, and you can write policies that are a lot more slack (require 3-4 uppers, digits, and specials, and you're probably there). Or require 20 characters, and be *really* lax (but you probably *still* want to compare against a "popular phrases" list). For those who do RedHat/Fedora or other Linuxoid that has pam_cracklib, specifying something like this should work well: minlen=24, dcredit=2, ucredit=3, ocredit=4. For those who don't do pam_cracklib, the rules are as follows: 1) You need 24 "points" to be "strong enough". 2) Each character gets 1 "point" just for being a character. 3) Each digit gets +1 bonus, to a limit of 2 bonus points for digits. 4) Each uppercase gets an additional +1, to a limit of 3 for uppercase. 5) Each special/other gets an additional +1, to a limit of 4. 6) Any combo of 24 or more is enough, you decide how to get there. ;) So a passphrase of 24 lower case, or 15 if 2 are digits, 3 are upper case, and 4 are specials, or 20 if 2 are upper case and 2 are specials, etc. For the picky, yes, I intentionally said "extra credit for a max of 2 digits" - adding more digits is allowed, but only counts the same as a regular lower case character. I considered requiring a minimum number of digits, uppers, and others, which is supported by cracklib, but felt giving more options would go over better with users (and forcing a min number of a given character type actually *decreases* the strength - if you *require* a digit, for example, there's only 10 possibilities, rather than 96... so the password is almost 10 times weaker than if it was optional...) Add salt, pepper, documentation, and other seasonings to taste. ;)
Attachment:
_bin
Description:
Current thread:
- Re: Password entropy, (continued)
- Re: Password entropy Graham Toal (Jul 24)
- Re: Password entropy Valdis Kletnieks (Jul 24)
- Re: Password entropy Basgen, Brian (Jul 24)
- Re: Password entropy Roger Safian (Jul 24)
- Re: Password entropy Harold Winshel (Jul 24)
- Re: Password entropy Jimmy Kuo (Jul 24)
- Re: Password entropy Valdis Kletnieks (Jul 24)
- Re: Password entropy Roger Safian (Jul 25)
- Re: Password entropy Basgen, Brian (Jul 25)
- Re: Password entropy Alan Amesbury (Jul 25)
- Re: Password entropy Valdis Kletnieks (Jul 25)