Security worry
Hello Anet!
My friend recently reset his password and what he told me scared me, so I was hoping I misunderstood or that he did. I wanted him to send me a snapshot, but he was already past the screen when I asked him.
Anyhow, he got an error message that supposedly told him the password he was trying to use was already used *BY SOMEONE ELSE*...
Now here's the thing. Not even withstanding someone could harvest passwords like this (very impractical) and would make people more likely to use bad passwords or passwords they would forget and thus leave them written around (much worse), this raises a HUGE question:
-How do you know. The way I figure, you have 3 ways of knowing:
First, you actually hash and salt your password with a combo of the player's hidden data to be fully safe. In that case, it means you need to try this password with *EVERYONE*'s salt and compare with their hash. Somehow, I doubt that's the case.
Second, you don't salt. You're running a hash collision on all the passwords. This is plain terrible and dangerous, but, the damage isn't *too bad*... Until someone steals your data (and it always happen) and starts reverse-engineering the passwords...
Or, and this is the scary one, but we're talking about unique passwords per user-base...
Third, you store the passwords in plain text. If that's the case, there's no point telling you the danger of a data leak, a badly behaving employee or the like. And, if THAT's the case, what else is being stored without protection?
.... OMG, I just realized I passed a "took too long to recover my password" question in the weekly question. Again, I hope I misunderstood and he's talking about a password reset...
Please Anet, either tell me I don't need to worry and you have a competent security expert on your team or, if not, get one and have them audit your stuff and fix it, then tell me I don't need to worry and that you have a competent security expert on your team...
Posted Jul 20, 2018, 6:10 AM UTC
You misunderstand how this works. There is a list of known compromised passwords. You can find one such list here. These passwords are confirmed compromised and should not be used by anyone, ever.
ANet is not checking against the passwords of players in their system—they are checking against a list of passwords from some massive hacks. This is a Good Thing™.
If that is the *ONLY* list they check against, yes, it's basically preventing a dictionary attack. HOWEVER, if what Kazika writes is true, it also includes current players' passwords. Also, the option of recovering said passwords means they are stored either in plain or with encryption. While the later is safer, it does mean they also exist to be traced back to the accounts and, by extension, e-mails -> online persona.
This would probably be a hashed (not salted) list of passwords that does not record corresponding account names. This isn't particularly unsafe—it only potentially reveals a password to a malicious third party that is in use by a single GW2 user (of millions). So:
This is prevented.
How does ANet get these (hashed) passwords? As soon as you set your password, they simply store the hashed version in this massive list, and store the hashed+salted password and your account name in their user database.
You're panicking so much for no reason.
You misunderstood. If you lose your password and I can recover it, it isn't hash. By definition, a hash is a one way function. At best, it's encrypted. At worse, plain. I'm not panicking, I work in security and I'm worried. ;)
They don't recover and tell you what your password was if you lost it and contact support, they just verify that you are the true account owner by asking for serial number, mobile number, e-mail, etc and then they'll reset it for you if you can prove that you're the rightful account owner.
Then by now you should have clicked the "recover" button to see what it does—reset your password or send it back to you.