6 ms·
This raises several questions: Have they always done this, or is this new? For those of us who haven't changed our Facebook password in years, does this mean
by tomkinstinch 14y ago
This raises several questions:
Have they always done this, or is this new?
For those of us who haven't changed our Facebook password in years, does this mean that we don't get this option, or do we? And if we do, is Facebook storing our passwords in plaintext?
- heroic 14y agoThey dont need to store your pasword in plaintext for this, but it does raise a security concern. 3 times the chances to have your password guessed by brute force!
- masterzora 14y agoGiven a reasonably sized keyspace (which FB does have) a factor of three should not be a big deal.
- heroic 14y agoYou are right, but given the fact that most people still use very common words for their passwords, a 3 times increase is a very huge number. A recent story on HN stated the fact that passwords from sites that had their databases leaked, mostly consisted of dictionary based passwords.
- FuzzyDunlop 14y agoOne could posit that the negative security impact on such a password is negligible, since the password is already weak. I think it would be worrisome if there weren't protective measures already in place, such as limited login attempts, two-factor auth, and so on. The other weakness would be the repetition of that password on sites that place a low priority on, or are ignorant about, security. At which point, it doesn't even matter.
- FaceKicker 14y agoIt's actually much more than 3 times the chance; this rule allows you to restrict your brute force search to only check passwords with no uppercase characters (or no lowercase characters) which reduces the key space for a given maximum password length quite a bit. (e.g., if there were normally 100 characters allowed and n is the max length, taking out 26 characters reduces the search space from 100^n to 74^n - not that an intelligent password cracker would ever try to iterate straight through the actual space of all allowable passwords)
- eshrews 14y agoRead the article again, its not making the passwords case insensitive, merely allowing you to invert the case. i.e. if your password was "aSdf" neither "ASDF" nor "asdf" would work.
- deleted 14y ago[deleted]
- FaceKicker 14y agoWell I feel dumb, sorry. I thought he meant original casing + all lowercase version + all uppercase version were all acceptable (which isn't the same as case insensitive but for the purposes of cracking it is just as bad).
- tlrobinson 14y agoIf you don't use Windows you definitely shouldn't feel dumb: if caps lock is enabled on Windows shift will cause you to type a lower case letter, thus inverting what you intended to type rather than uppercasing everything. I was confused until I realized the caps lock case only applies to Windows users.
- FaceKicker 14y agoI've been using OSX as my primary OS for about a year (other than using Linux exclusively on every machine I SSH into for dev), but I just found out from your post that caps lock + shift doesn't make things lowercase on Mac. So, nope, I have no excuses :P
- Im_Mr_Manager 14y agoI think we can be pretty certain Facebook already has robust login attempt throttling systems in place.
- mille562 14y agoThey are probably still storing hashed passwords. It would require hashing your login attempt 3 times: 1) exactly you typed it 2) forcing first character to be lower case 3) inverting the case of all letters.
- raquo 14y agoYou don't need to store the password in plaintext, you can just capture the password from a successful login attempt and generate new acceptable hashes from different variations of it. That way you'd gradually add this feature for most of the active accounts.
- 0x0 14y agoYou don't even need that. When you receive the password, you can compare the stored hash against: hash(password) hash(password-inverted) hash(password-first-upper-case) This way it'll work with an inverted password even on the first attempt (after this feature was implemented) Edit: Going by my gut feeling only, this feels slightly more secure too... If the hashed password database is ever leaked, it feels like it would be easier to crack a password given the three related hashes, compared to just the one.
- joejohnson 14y agoGiven hash(password), how do they get hash(password-inverted)? That requires going from hash(password) -> password -> password-inverted -> hash(password-inverted), right? I think that first step (un-hashing) is impossible for a cryptographically secure hashing algorithm. Edit: archivator explained it me :)
- archivator 14y ago0x0 is saying that when you receive the password you can do 3 checks. No need to invert the hash function there. Also, inverting a hash function is impossible (the size of the range is less than the size of the domain). Finding a collision, on the other hand, is not.
- joejohnson 14y agoAh, yes. Of course, thank you.
- kijin 14y agoFacebook's servers get to see your plaintext password for a fraction of a second every time you log in. That's their opportunity.
- msbarnett 14y agoYou don't need to have the user change their password to implement this kind of change -- you can generate and store the additional hashes after any successful login attempt.
- masterzora 14y agoRather than asking questions I tried some science. Last time I changed my FB password was roughly 6 months ago and I am only able to get the correct-case password to allow access. I'm not too inclined to spend much more time on this but surely someone who hasn't changed their password in a while can try it out. They can see if the alternate casings work, change their password and see if they work then, etc.