Comment Re:NIST is right and wrong (Score 1) 180
However, requiring mixed case and special characters? If you give that up you drastically reduce the difficulty of dictionary attacks. You double the size of the required table by using mixed case, triple it with special characters.
Nope. Most people, when they are "required" to use mixed case and special characters, do it in a way that can be easily brute forced with only a handful of extra attempts (1 = !, at = @, O = 0, etc.). The parts that preserve the difficulty of brute force are:
- 3. Verifiers and CSPs SHOULD accept all printing ASCII [RFC20] characters and the space character in passwords.
- 4. Verifiers and CSPs SHOULD accept Unicode [ISO/ISC 10646] characters in passwords. Each Unicode code point SHALL be counted as a single character
when evaluating password length.
- 9. Verifiers SHALL verify the entire submitted password (i.e., not truncate it).
Web site have been having it both ways for years: they have been telling us to make harder password, while simultaneously making it harder for us to do so. In some cases, passwords were truncated or forced to lower case before being hashes, making them much much weaker than it seemed they were. And then when a password is compromised, the user is blamed.
Don't mix up the actual strength if voluntarily using complex passwords with the perceived strength of forcing someone else to do so.