4 ms·
Yes. This is why I use a password hash function. The exact Hash function is in my head (and only my head), although it requires a lookup table for random bits.
by arjunnarayan 15y ago
Yes. This is why I use a password hash function. The exact Hash function is in my head (and only my head), although it requires a lookup table for random bits. The lookup table is typically a poem, (when I was younger, I would use digits of pi, but I consider that insecure now), but can really be any sequence of words about 50+ that I can reproduce pretty much instantaneously.
The exact hash algorithm is my secret, but the input to the hash is the url of the website that I log into. So, we have
f (the hash function, which is secret).
url
poem (think of this as the "secret key").
so at each password login I compute f(url, poem), to get my unique password.
This is secure against prefix attacks and other guessing attacks, although not cryptographically so (unfortunately, I am unable to memorize a 128 bit pseudorandom string and the algorithm to SHA2, so this will have to do.)
But I'm still paranoid, so my google account uses a completely different password that has nothing to do with any of the above, because access to my google account is protected by 2-step verification and my android phone, and it is a very weak link. If you compromise my GMail account, you can pretty much use "I forgot my password" on every other account of mine. (While 1 of my banks requires email AND phone, since my google account relies on 2-step there is an unfortunate correlation in the failures there. So GMail really is account-vulnerability-complete for me.)
- lazyjeff 15y agoHow do you deal with the url if it can change? For example, you register for example.com on http://register.example.com http://register.example.com and then login on https://login.example.com https://login.example.com and in the future they may change it to https://examplelogin.com/auth/ https://examplelogin.com/auth/ Or what if the company changes name? For example, I used to log into my bank on http://wamu.com http://wamu.com and now they are bought by Chase so it's http://chase.com http://chase.com
- tedunangst 15y agoYou remember what the url used to be. This happens to work much better than browser plugins which are unaware of such changes.
- deleted 15y ago[deleted]
- tim_iles 15y agoI employ a similar tactic, and I can't recall ever one single site that I use changing its name. If it happened, I would then just change the password to reflect the name change, but it would be so infrequent that I'm not worried about it.
- godDLL 15y agoSo an example of this--if I understand correctly--would be setting the password for `secure.somewat.tld/login?r=dashboard` to, say the first few words with the same letter count as the words in the URL, but taken from a song that I know by heart; like "larger, chasing, 1, makes"?
- dave1010uk 15y agoThat's looks like a really good method. How quickly can you compute f(url, poem)? My hash function is f(url, one-of-3-master-passwords) and takes about 5 seconds to calulate. I always feel like I missed out on being able to do proper hashing functions in my head. When my 8 month old son is old enough I'm planning on training him to be able to compute MD5 and SHA hashes.
- tucosan 15y agoActually I like your idea of using a hash function. While thinking about your solution, I remembered that pwgen on linux (I believe its also available for windows) allows you to create a recoverable password using a sha1 hash of any file and a seed. e.g.: pwgen -1 -H yourfile#url.tld should allow you to create a unique password for each site, and it would be easily scriptable.
- mattmanser 15y agoThe point of his method is that it's a unique password which a human can recover just by looking at the url. No batteries required. I have a similar method, though less secure than his.
- ap22213 15y agoYes! I've been using this method for years. But, similar to the article's premise, I actually have four different hash functions, of increasing complexity. Then, all I have to remember is what's the URL, what's its general level of data security, and what's the hash function for that level of security. The simplest hash is trivial to apply and can be done in real-time, but the most complex hash actually requires me to spend a minute or so to calculate.