News for hackers. Stuff that matters.
Re:Passwords For Your Facebook Account by tomkinstinch on Wednesday May 02, 2012 @04:30PM (#3921012)
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?

Re:Passwords For Your Facebook Account by raquo on Wednesday May 02, 2012 @04:38PM (#3921062)
You 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.
Re:Passwords For Your Facebook Account by 0x0 on Wednesday May 02, 2012 @04:39PM (#3921069)
You 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.

Re:Passwords For Your Facebook Account by bluesnowmonkey on Wednesday May 02, 2012 @08:42PM (#3921880)
I don't think that is correct. They'll need to generate and store hashes of all three variations on the plaintext password before discarding it. For example, given a password of "AaAaAa", where the user attempts to log in with "AAAAAA" (doh, capslock!), how would they guess which characters you intended to be uppercase and which not?
Re:Passwords For Your Facebook Account by duck on Wednesday May 02, 2012 @09:05PM (#3921931)
With capslock on the password would be entered as 'aAaAaA' (which would pass) not 'AAAAAA' (which would fail). There is no guessing, it is just the inverse.
Re:Passwords For Your Facebook Account by eridius on Wednesday May 02, 2012 @09:37PM (#3922009)
That's a very Windows-centric view. On OS X, caps lock + shift is still uppercased.
Re:Passwords For Your Facebook Account by tlrobinson on Thursday May 03, 2012 @04:38AM (#3922916)
Facebook only accounts for accidental Windows caps lock, not OS X.

Accepting the entirely uppercased password would significantly reduce the number of unique passwords needed to guess a user's password.

Re:Passwords For Your Facebook Account by lloeki on Thursday May 03, 2012 @05:24AM (#3923015)
Also, while caps lock + shift is still uppercased, caps lock has no effect on the non-alpha keys. Indeed on a Mac, caps-lock is not shift-lock, it's literally caps-lock: on my French layout, caps-lock'd & gives &, not 1. Since keys with diacritics and other marks like é è à ç adn ù are first-class keys on a french layout, they themselves are capitalized by caps-lock, and not giving in to the shift behavior (which would yield 2 7 0 9 and %). This allows to type É È À Ç and Ù without composition.

If you want the caps-lock-gives-numerics behavior you need to set your layout to "French — numerical" — its icon is a french flag with 123 at the bottom — instead of simply "French".

Re:Passwords For Your Facebook Account by idontknow on Wednesday May 02, 2012 @11:21PM (#3922232)
Wow, that strikes me as strange. Windows and Linux both shift to lowercase when capslock is on.

Does anyone know the behavior of other operating systems? Or is it an Apple-specific behavior?

Re:Passwords For Your Facebook Account by duck on Thursday May 03, 2012 @09:24AM (#3923710)
Actually, a Linux-centric view. :) I thought Apple removed the caps lock key a long time ago...
Re:Passwords For Your Facebook Account by alagappanr on Thursday May 03, 2012 @01:08AM (#3922455)
Thats weird! I had always assumed that Shift+Caps Lock is lowercased in all OSes.
Re:Passwords For Your Facebook Account by recursive on Wednesday May 02, 2012 @05:45PM (#3921368)
Wouldn't it be:

    hash(password)
    hash(password-inverted)
    hash(password-first-lower-case)
The first character upper case-case only matters if the first character of the entered password actually is received in upper case, in which case, you'd want to flip it to lower before doing the hash, right?
Re:Passwords For Your Facebook Account by 0x0 on Wednesday May 02, 2012 @05:54PM (#3921402)
Yes, obviously, sorry. :)
Re:Passwords For Your Facebook Account by joejohnson on Wednesday May 02, 2012 @05:20PM (#3921254)
Given 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 :)

Re:Passwords For Your Facebook Account by archivator on Wednesday May 02, 2012 @05:28PM (#3921294)
0x0 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.

Re:Passwords For Your Facebook Account by joejohnson on Wednesday May 02, 2012 @05:37PM (#3921343)
Ah, yes. Of course, thank you.
Re:Passwords For Your Facebook Account by kijin on Wednesday May 02, 2012 @05:32PM (#3921318)
Facebook's servers get to see your plaintext password for a fraction of a second every time you log in. That's their opportunity.
Re:Passwords For Your Facebook Account by r00fus on Wednesday May 02, 2012 @07:55PM (#3921770)
Hell, wasn't Zuck infamous for using the mis-entered password of users to break into their email accounts at Harvard?

Even if that tale is apocryphal, the underlying moral is true - your security is greatly undermined if you reuse your password (or key) across sites - any malicious site operator (or even an honest one that has their security broken) will expose you.

Re:Passwords For Your Facebook Account by jessriedel on Wednesday May 02, 2012 @06:54PM (#3921605)
Thanks for asking this. I was confused too.
Re:Passwords For Your Facebook Account by raquo on Wednesday May 02, 2012 @05:33PM (#3921321)
Ouch. Of course, that's way better.
Re:Passwords For Your Facebook Account by wunderland on Wednesday May 02, 2012 @05:17PM (#3921243)
I don't understand. So, you type in your password, and this input is sent (securely?) to their server, where it is hashed, and this hash is checked against their stored hash. But they can also "capture" this password prior to it being hashed? But then Facebook could do a few string manipulation operations, and then securely delete the un-hashed password from memory. Am I understanding this correctly?
Re:Passwords For Your Facebook Account by MartinCron on Wednesday May 02, 2012 @05:38PM (#3921345)
The password is sent from your browser to the server in a way that the server can read it as cleartext. When you log in over SSL, all that does is protect your password (or whatever) from being interpreted by third parties.

Your browser doesn't do any hashing, it doesn't (and shouldn't) know about whatever password hashing scheme is happening on the server.

This is how sites can (but shouldn't) store passwords in clear text, because that's how they get them in the first place.

Re:Passwords For Your Facebook Account by mille562 on Wednesday May 02, 2012 @04:37PM (#3921056)
They 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.
Re:Passwords For Your Facebook Account by masterzora on Wednesday May 02, 2012 @04:43PM (#3921093)
Rather 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.
Re:Passwords For Your Facebook Account by msbarnett on Wednesday May 02, 2012 @04:39PM (#3921071)
You 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.
Re:Passwords For Your Facebook Account by heroic on Wednesday May 02, 2012 @04:33PM (#3921034)
They 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!
Re:Passwords For Your Facebook Account by masterzora on Wednesday May 02, 2012 @04:44PM (#3921097)
Given a reasonably sized keyspace (which FB does have) a factor of three should not be a big deal.
Re:Passwords For Your Facebook Account by heroic on Wednesday May 02, 2012 @04:49PM (#3921121)
You 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.
Re:Passwords For Your Facebook Account by FuzzyDunlop on Wednesday May 02, 2012 @08:09PM (#3921790)
One 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.

Re:Passwords For Your Facebook Account by FaceKicker on Wednesday May 02, 2012 @04:48PM (#3921113)
It'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)
Re:Passwords For Your Facebook Account by eshrews on Wednesday May 02, 2012 @04:59PM (#3921163)
Read 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.
Re:Passwords For Your Facebook Account by FaceKicker on Wednesday May 02, 2012 @06:07PM (#3921456)
Well 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).
Re:Passwords For Your Facebook Account by tlrobinson on Thursday May 03, 2012 @04:43AM (#3922928)
If 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.

Re:Passwords For Your Facebook Account by FaceKicker on Wednesday May 09, 2012 @12:58AM (#3947162)
I'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
Re:Passwords For Your Facebook Account by Lockyy on Thursday May 03, 2012 @12:55PM (#3924632)
Actually, caps lock + shift gives lower-case in ubuntu as well.
Re:Passwords For Your Facebook Account by jameshawkins on Wednesday May 02, 2012 @05:02PM (#3921185)
That's not necessarily true -- it doesn't allow you to eliminate all uppercase // lowercase situations. You still have to have the correct casing, just inverted (as though Caps Lock was on). Since my FB password has both uppercase and lowercase letters, the inverted case would still have uppercase and lowercase. There is no option that I can use for my current password that is all lowercase or all uppercase.
Re:Passwords For Your Facebook Account by Im_Mr_Manager on Thursday May 03, 2012 @04:59AM (#3922954)
I think we can be pretty certain Facebook already has robust login attempt throttling systems in place.