4 ms·
The most recent post in one of the Tumblrs linked through the article goes through some of Facebook's password allowances: http://password-shaming.tumblr.com/po
by rcar 10y ago
The most recent post in one of the Tumblrs linked through the article goes through some of Facebook's password allowances: http://password-shaming.tumblr.com/post/157913813567/not-entirely-sure-if-this-is-the-type-of http://password-shaming.tumblr.com/post/157913813567/not-ent...
Essentially, Facebook accepts 4 forms of the password as correct: 1) the correct password, 2) the caps-lock inverted version, 3) the correct password but with the first letter capitalized, and 4) the correct password + 1 character of any type. Each of #2-4 seems to be designed to prevent a failed login for the real user under common error cases, particularly when logging in on a phone.
Since each of those options can be easily stored as hashes (with #4 being done by also testing the entered password with the last character omitted against the correct password hash), the only weakness I can see this introducing is that if hashes were leaked, there's 3 valid passwords that could be found by an attacker rather than just 1, but with good hashing practices, that doesn't seem like a big deal since the search space will still be quite large.
With that in mind, that seems like a user-friendly addition that doesn't introduce any major weaknesses. Anything I'm missing that would make this a crazy scheme to have implemented?
- scott_karana 10y agoThat's brilliant! All they need to do is enforce entropy, and those become only helpful, not vectors... :-)
- deleted 10y ago[deleted]
- clubm8 10y agoNot a cryptographer, so this may be harebrained: Would someone who has access to all 4 hashes be more able to crack said hashes than if they only stored one? (Or would they salt each hash with a different salt to negate this?)
- rcar 10y agoYes, it would reduce the search space three-fold (the 4th mechanism uses the same stored hash as the 1st), and your suggestion of different salts would prevent that since each password variant would need a separate search. Still, the difference between looking for 3 things out of ~10^20 options vs. just 1 thing is not that big.