Live data from Hacker News

Ask HN: If banks hash passwords, how can they ask for separate letters?

news.ycombinator.com

1–10 of 11 posts

Ask HN: If banks hash passwords, how can they ask for separate letters?

#1
I've been hunting on the interwebs for an answer to this, but my Google-fu is failing me. I will continue to search, but if someone can point me in the right direction, or let me know the magic words to search for, I'd be grateful.

Banks have your password, but when they verify you online or over the phone they ask for, say, characters 2 and 5. If the password is one-way hashed, how can they do that? If the hash is reversible, isn't that dangerous? And if it's not hashed, move banks.

So assuming they use a one-way hash, how do they do that?

Thanks.

Re: Ask HN: If banks hash passwords, how can they ask for separate letters?

#4
post #2

Hash each letter?

That would effectively be the same as storing the password, because you can simply hash every letter of the alphabet, see which hash matches, and you've recovered that letter of the password.

So, no, that doesn't work.

Re: Ask HN: If banks hash passwords, how can they ask for separate letters?

#6

https://en.wikipedia.org/wiki/Partial_Password

Quoting:

    As the user doesn't supply the whole
    password it cannot be verified against
    a stored digest of the whole password.
It points out that this (partially) protects one from eavesdropping, but it doesn't say how the password can be verified unless the service stores the password in clear, which it admits is inadvisable.

So that doesn't explain how it works, unless you accept that the bank is storing the password in plaintext.

Question still open.

Re: Ask HN: If banks hash passwords, how can they ask for separate letters?

#7
This a guess, I have no inside information: Generate N random subsets of the password and hash those in addition to the password. Then each time they'll pick a random subset and ask for that. N can be made fairly large and still be trivial to calculate and store

Re: Ask HN: If banks hash passwords, how can they ask for separate letters?

#9
post #7

This a guess, I have no inside information: Generate N random subsets of the password and hash those in addition to the password. Then each time they'll pick a random subset and ask for that. N can be made fairly large and still be trivial to calculate and store

That still feels comparatively trivial to extract passwords from that scheme. The subsets are small (otherwise users wouldn't be able to respond) so it's simple to try all combinations of size, say, 3, until you get the right hash. If the database is compromised, the passwords are then easy to reconstruct.

Re: Ask HN: If banks hash passwords, how can they ask for separate letters?

#10

Secret sharing? https://smartarchitects.co.uk/news/22/67/Update-to-Partial-P...

I've searched through lots of things on secret sharing, and can't find any way to shoe-horn the "name letters 3, 6, and 8" idea into one of them.

Oh. Maybe I can.

Hmm.

Post reply on HN