6 ms·
You can do what PGPfone did and encode the fingerprint as a series of dictionary words: Real gregkh: 647F28654894E3BD457199BE38DBBDC8 = style tactful newcomers
by _wmd 10y ago
You can do what PGPfone did and encode the fingerprint as a series of dictionary words:
Real gregkh: 647F28654894E3BD457199BE38DBBDC8 = style tactful newcomers file gallows adored insist flags athletics
Fake gregkh: 497C48CE16B926E93F49630127365DEA = jukebox governor fashionable mahogany prepares gobble surprised martha apostles
There's even an Internet standard for this: http://tools.ietf.org/html/rfc1751 http://tools.ietf.org/html/rfc1751 , although its dictionary isn't very large or interesting. Here's another implementation intended for BitTorrent magnet hashes: http://pythonsweetness.tumblr.com/post/56715292510/cheatcodes-turning-bittorrent-links-into-spoken http://pythonsweetness.tumblr.com/post/56715292510/cheatcode...
SSH keygen has a mode where the digest is printed as ASCII art, I imagine by using the key as input into something like a fractal function. I can't find the option for it, but I'm sure you've seen it on the console at some point
- zepolen 10y agoThis is just turning one hash into another, so would be just as easy to brute force.
- adrianratnapala 10y agoThe point is to turn one fairly big hash into a representation where humans can easily spot the differences.
- vesinisa 10y agoPretty sure most of the time people only read the first few and last words and e.g. don't concern if the words in the middle are in correct order. Not sure about the size of that dictionary, but it would seem to greatly diminish the entropy.
- sp332 10y agoIt doesn't. The dictionary is exactly the same size as the input data. It's lossless.
- avisser 10y agoIt's asking for a solution with more gestalt impact. Turn the key into a painting or some sort of visualization.
- AdamN 10y agoAh, you mean randomart: http://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen http://superuser.com/questions/22535/what-is-randomart-produ...
- thomasahle 10y agoIt has to be a visualization in which changing a few pixels make it look significantly different. Otherwise we can still make a 'low distance' brute force attack.
- adrianratnapala 10y agoI don't understand. What you need is a picture that makes the visually salient information tot up to about 160 bits. That's tough, but since the human visual system is so powerful, it's not hopeless. But we would need real psychologists to help design the art generators, backing the results with experiments.
- adrianratnapala 10y agoWhether it is vision or words, the point is to enlist some of our primal, automatic brain machinery. Both the random word lists and randomart are a good start, but far from perfect. The word lists ignore and even foil, our gramatical machinery. And I at least have never been able to remember what my own randomart SSH key fingerprint looked like. Adding colour might be a good start.
- rrobukef 10y agoIt depends on how valuable the identity is. I check some characters, for additional security I check some in the middle until I am satisfied with security. The downside is security creep, but verified identities generally grow more secure the older they are (does this grow faster?). The upside to showing a larger hash is that humans are very good at roughly comparing two things. The difference in casing is probably enough to trigger a conscious check. A visual hash is still better.
- crottypeter 10y agoThe correct way to compare hashes is to let the computer do it. i.e. Ctrl + C, Ctrl + F, Ctrl + V "oh look it didn't find it ... they don't match", versus, "yup all 64/128/2048/n digits match, the hashes are the same".
- kccqzy 10y agoWe still need to define a hash format. Typical hex/base64 would work, but imagine someone tries to be smart and invent a dictionary word encoding with Unicode characters, and then someone brute forces another key that's actually different but will match a search with smart Unicode collation algorithms.
- deleted 10y ago[deleted]
- cooper12 10y agoRegarding the SSH randomart, it's enabled by adding `VisualHostKey=yes` to your ssh config or adding the flag `-o VisualHostKey=yes` on the command line. It was announced with OpenSSH 5.1 (http://lists.mindrot.org/pipermail/openssh-unix-dev/2008-July/026693.html http://lists.mindrot.org/pipermail/openssh-unix-dev/2008-Jul...) and there's also a paper on it (http://www.dirk-loss.de/sshvis/drunken_bishop.pdf http://www.dirk-loss.de/sshvis/drunken_bishop.pdf). You can find the code/comments in `key.c` under `key_fingerprint_randomart()`. (http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/key.c?rev=1.70 http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/key...)
- mangodrunk 10y agoSure, but what is the point of that? It's not as if I would remember all the different images. And it checks with the previous one, so what's the purpose (genuinely asking, as it looks pretty cool).
- dijit 10y agoIt's for people to recognise differences in art, between runs.
- lmm 10y agoThe idea is that you may not "remember" it but you'd subconsciously notice if the image was different. I'm not sure it's any better than a hex key in that regard - either way people usually just go "yes" the first time they connect - but I can imagine it might be easier for some people to notice.
- torrent-of-ions 10y agoWhen is it sensible for a human to inspect the fingerprint anyway?
- acdha 10y agoOther than the business cards people keep mentioning, PGPfone wasn't a typo but rather a voice communications package, where it's very reasonable to think that you might bootstrap a secure conversation by reading someone your key fingerprint over a phone. Prior to the NSA reveal, the threat model I most heard for this was someone doing business in China or Russia where there have perennially been allegations that the intelligence agencies help large businesses, where blocking a passive wiretap is a success.