Live data from Hacker News

Chroma-Hash: a sexy, non-reversible, live visualization of password field input

mattt.github.com

21–30 of 70 posts

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#21
post #10

I don't see the utility of this compared to simply showing 'passwords are identical / not yet identical' live. Perhaps I'm missing something. OK, so a user makes a mistake, and they notice their n characters in the first field and their n characters in the second field generate different colors. How does this help them determine which of the two fields has what they intended to enter? Also since the user types each f…

Agreed — I don't understand how this is much help. Furthermore, it was confusing to me until I understood what it was doing, and — when I did — I similarly thought, 'Why isn't it just telling me when the passwords match?'

Your average user is going to be completely perplexed by this and have no idea what it's even for. I would argue that this is far less usable for the average user than the old-fashioned implementation of clicking 'Submit', doing a non-AJAX round-trip, and then displaying a message that the passwords don't match.

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#22

This is pretty, but non-reversible it isn't. The colors update with every keystroke, making it easy to determine letter by letter, which keys are being pressed. This is a significant hole in many situations (screencasts, recorded presentations, or anywhere someone can point a camera at your screen). Simple fix: Wait for 300ms of keyboard inactivity before computing the colors. This way you only get the colors when th…

I don't see how this follows -- the colours are changing with each keypress (just as an md5 digest would change if you added a letter to the message) but surely you cannot know the key pressed without brute-forcing / breaking the hash, which is computationally impractical?

He's also scraping the hash for a run of 6 hex characters, so surely there's quite a few colour collisions for different hashes, making it even harder to guess which keys have been pressed?

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#23
post #22

This is pretty, but non-reversible it isn't. The colors update with every keystroke, making it easy to determine letter by letter, which keys are being pressed. This is a significant hole in many situations (screencasts, recorded presentations, or anywhere someone can point a camera at your screen). Simple fix: Wait for 300ms of keyboard inactivity before computing the colors. This way you only get the colors when th…

I don't see how this follows -- the colours are changing with each keypress (just as an md5 digest would change if you added a letter to the message) but surely you cannot know the key pressed without brute-forcing / breaking the hash, which is computationally impractical? He's also scraping the hash for a run of 6 hex characters, so surely there's quite a few colour collisions for different hashes, making it even ha…

If you know the digest after each keypress, the search space for a brute force attack is roughly alphabet size * password length, which is trivial.

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#24
post #10

I don't see the utility of this compared to simply showing 'passwords are identical / not yet identical' live. Perhaps I'm missing something. OK, so a user makes a mistake, and they notice their n characters in the first field and their n characters in the second field generate different colors. How does this help them determine which of the two fields has what they intended to enter? Also since the user types each f…

Agreed — I don't understand how this is much help. Furthermore, it was confusing to me until I understood what it was doing, and — when I did — I similarly thought, 'Why isn't it just telling me when the passwords match?' Your average user is going to be completely perplexed by this and have no idea what it's even for. I would argue that this is far less usable for the average user than the old-fashioned implementati…

The idea behind this program is probably not to show you when your passwords 'match' but to show you whether your password is correct.

E.g. If you see the colors of your password everytime you log in, you will probably learn that your password is correctly typed if you see the colours purple-green-olive.

Whenever you spell your password incorrect (and thus see 'blue-pink-black' for instance) you will notice it immediately, without pressing the 'login' button and being presented with a (not so nice) "Invalid username/password" screen.

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#25
post #22

This is pretty, but non-reversible it isn't. The colors update with every keystroke, making it easy to determine letter by letter, which keys are being pressed. This is a significant hole in many situations (screencasts, recorded presentations, or anywhere someone can point a camera at your screen). Simple fix: Wait for 300ms of keyboard inactivity before computing the colors. This way you only get the colors when th…

I don't see how this follows -- the colours are changing with each keypress (just as an md5 digest would change if you added a letter to the message) but surely you cannot know the key pressed without brute-forcing / breaking the hash, which is computationally impractical? He's also scraping the hash for a run of 6 hex characters, so surely there's quite a few colour collisions for different hashes, making it even ha…

Because you can see the color code at each step, it's easy to compare results very quickly, even by hand. Did I get letter 1 right? Ok, move on to letter two, try each key until the colors match the recording. Do this for each step. At most, you have to try about 64 key presses to crack each letter.

Also, because each step is only 1 character different, it's very unlikely that you will get collisions, even with a truncated md5 hash.

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#26
post #10

I don't see the utility of this compared to simply showing 'passwords are identical / not yet identical' live. Perhaps I'm missing something. OK, so a user makes a mistake, and they notice their n characters in the first field and their n characters in the second field generate different colors. How does this help them determine which of the two fields has what they intended to enter? Also since the user types each f…

I don't think the point is to see the two fields' colors match. Based on the run of similar posts to HN, this appears to be an attempt to solve the "you shouldn't mask password fields" problem. That is, once you've set your password, you'll have a three color combination that is memorable. That way, the next time you go to log in, you would (hopefully) notice if you had typed your password in wrong because the colors wouldn't be the familiar set of three. (i.e. You wouldn't be attempting to edit the password field, just clear it and re-enter.)

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#27
post #22

This is pretty, but non-reversible it isn't. The colors update with every keystroke, making it easy to determine letter by letter, which keys are being pressed. This is a significant hole in many situations (screencasts, recorded presentations, or anywhere someone can point a camera at your screen). Simple fix: Wait for 300ms of keyboard inactivity before computing the colors. This way you only get the colors when th…

I don't see how this follows -- the colours are changing with each keypress (just as an md5 digest would change if you added a letter to the message) but surely you cannot know the key pressed without brute-forcing / breaking the hash, which is computationally impractical? He's also scraping the hash for a run of 6 hex characters, so surely there's quite a few colour collisions for different hashes, making it even ha…

It completely doable.

Its unlikely there will be a collision in the first 6 characters of the md5 hash of 'AAAx' where x is [a-zA-Z0-9] and AAA is known. That's only 62 hopes for collision out of a space of 2176782336 (36^6 ... right?)

Think of it this way, if you capture the length of password, and the corresponding 6 hex characters, for every step of the password, that's quite a bit of information!

(a quick check confirms no first 6 character collisions in a-z)

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#28
post #22

Earlier quoted context omitted.

I don't see how this follows -- the colours are changing with each keypress (just as an md5 digest would change if you added a letter to the message) but surely you cannot know the key pressed without brute-forcing / breaking the hash, which is computationally impractical? He's also scraping the hash for a run of 6 hex characters, so surely there's quite a few colour collisions for different hashes, making it even ha…

Because you can see the color code at each step, it's easy to compare results very quickly, even by hand. Did I get letter 1 right? Ok, move on to letter two, try each key until the colors match the recording. Do this for each step. At most, you have to try about 64 key presses to crack each letter. Also, because each step is only 1 character different, it's very unlikely that you will get collisions, even with a tru…

Thank-you for the clear explanation.

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#29
post #10

I don't see the utility of this compared to simply showing 'passwords are identical / not yet identical' live. Perhaps I'm missing something. OK, so a user makes a mistake, and they notice their n characters in the first field and their n characters in the second field generate different colors. How does this help them determine which of the two fields has what they intended to enter? Also since the user types each f…

I presume that the intended purpose of this is to give better feedback for a password challenge. I'm not sure why there is a confirm field in the demo. Perhaps to show that the color is consistent.

It helps in that it lets the user know that the password is wrong the instant they've finished typing it, which might be a nice touch if it takes a long time to verify a password. They still don't know where the mistake is though, so they have to retype the entire password.

Re: Chroma-Hash: a sexy, non-reversible, live visualization of password field input

#30
post #24

Earlier quoted context omitted.

Agreed — I don't understand how this is much help. Furthermore, it was confusing to me until I understood what it was doing, and — when I did — I similarly thought, 'Why isn't it just telling me when the passwords match?' Your average user is going to be completely perplexed by this and have no idea what it's even for. I would argue that this is far less usable for the average user than the old-fashioned implementati…

The idea behind this program is probably not to show you when your passwords 'match' but to show you whether your password is correct. E.g. If you see the colors of your password everytime you log in, you will probably learn that your password is correctly typed if you see the colours purple-green-olive. Whenever you spell your password incorrect (and thus see 'blue-pink-black' for instance) you will notice it immedi…

Yeah, but its such an insignificant problem, why add the complexity of this solution.
Post reply on HN