You have exactly three passwords, don't you?
pcmag.com
pcmag.com
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.)
For example, you register for example.com on http://register.example.com and then login on https://login.example.com and in the future they may change it to https://examplelogin.com/auth/
Or what if the company changes name? For example, I used to log into my bank on http://wamu.com and now they are bought by Chase so it's http://chase.com
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.No batteries required.
I have a similar method, though less secure than his.
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.
If you change your passwords often then you don't need to worry about this as much.
"... and change all your logins every six months at least."
Does he have any idea how impractical this is? If I could even remember every login I ever made, it would probably take more than 12 hours to do the manual labor of changing the password for them. No thank you!
The problem is it's so easy to make your passwords be <root>+1, then <root>+2, etc. I've worked at places that detected that pattern and didn't allow it, so I would just hold down the shift key and iterate anyway, yielding <root>+!, then <root>+@, <root>+#, etc.
So even forcing your users to change their passwords will most likely cause them to find a way around it. IMO the problem is passwords are inherently a flawed concept. We need something better. Hopefully biometrics can truly solve this problem one day.
I have a common shared suffix like "HuRf!z0" and then I prepend a prefix depending on the website, like "gm" for HN.
So far, this has been quite simple to use, even when I am not in front of my machine.
But true, this isn't perfect, but just makes one step more complex, without having to use an external password manager...
While this is certainly relying on obscurity, it at least makes it much more difficult to figure out what is going on. I'd think you'd need access to two of my passwords in plain text in order to really figure it out.
My lastpass password is a 29 character password comprised of 3 parts, one of which is this pattern, the other two are 'secure' passwords i've used in the past but haven't been compromised to my knowledge.
Even with all of this - if one password was compromised in plain text I would likely abandon all of my passwords and try again with something new.
Fortunately, as others have pointed out, it isn't 1990 anymore and I carry a mobile computer wherever I go, disguised as a phone.
http://itunes.apple.com/us/app/1password-pro/id319898689?mt=...
Also, if you share your 1password db on dropbox, you can later access it via a local web interface (always making sure that you trust the machine you're using).
This way, you can access your passwords from home, work, or your phone as long as you trust the machine you're logged into enough to log into DropBox and type your password safe password. If you can't tell if the machine is free of keyloggers, you probably shouldn't be logging into anything of personal value.
There's also Dropbox and Keepass for Android.
Edit: looked into it, and the situation for password sync is
- Chrome: built in since V. 11
- Firefox: available through add-ons/extensions (XMarks)
- Opera: since beta 11.5 (the latest as of right now)
- Safari: available through extensions/other services (mobileme? not sure)
- IE: unclear
The nitpick with pw databases is they don't fully solve the problem; I still need to know the passwords for all my computers, cloud storage account, e-mail, the db master password.
The big advantage is how much more secure lesser used accounts are (and drop in frequency of password reset requests on those accounts).
If your cellphone uses DropBox to store the database, then you can even lose your cellphone or simply access the database on desktops and laptops directly.
The state of the art is probably more mature now, but this is information I'm not taking any chances with.
I can only hope that the case insensitivity is because they're running it through the COBOL equivalent of .tolower() before hashing it, bit given the track record? It's more likely than not they're storing it in plaintext. Just as well I'd not reuse a weak password like that anywhere else.
god knows why I still use them...
Both programs read/write the same file format and allow you to create any internal hierarchy you want (eg Stores > Electronics > NewEgg, or News > HackerNews). Password Gorilla's UI is pretty bad, but workable. Both let me copy and paste a password without displaying it on screen.
Works great. I got the idea from Joel Spolsky: http://www.joelonsoftware.com/items/2008/09/11b.html
I don't think most people are willing to do this. I know I'm not.
At least for most sites. For banks and really important stuff I usually do memorize the password myself or copy it from the encrypted file.
Of course, if you only buy using the pre-paid cards you can buy in retail stores then all they can do is wipe out the balance.
I'm sure your response was partly flippant, but the implications because of Apples one universal account means that someone determined could do a lot of things.
I think Lastpass has keyboard shortcuts in OS X, too, but I usually just click and select from a dropdown.
Statistics show that most users use the same password everywhere, or at least at many different sites.
I don't know about you in particular, but for any given compromised set of emails and passwords a large number of them are going to work at gmail, facebook, their bank, etc.
http://www.filterjoe.com/2010/05/14/the-usual-way-to-manage-...
It's part of a password series with the following central advice for typical home users:
"Use a password manager to assign unique, random 15 character passwords for all accounts, protecting them with a strong master password."
This guide gets them started:
http://www.filterjoe.com/2011/04/14/passwords-guide-without-...
While I'm sure the typical Hacker News community member practices far-above-average password security, the vast majority of people don't see any reason why they should - or if they do, they get overwhelmed by too many complicated rules. From feedback I get, the above referenced guide works for the "average Joe."
For those who don't want to write code, I shared an implementation of that here: http://www.loup-vaillant.fr/projects/password-generator (please tell me if I made any error)
1) My email password, which is randomly generated but memorized, and reused nowhere.
2,3,4) A handful of passwords, call them grade A, B and C, which are used in conjunction with SuperGenPass to generate passwords specific to a website. Only the top level domain is used; for rare cases where the URL changes but the password doesn't (like amazon.co.uk vs amazon.com) I have chosen one TLD as the canonical one. The ratios of usage of A, B and C are approximately 1:2:50. No website I log in to ever shares its literal password with any other.
5) Computer account login password, this is changed every 3 months.
6) Encryption keys passphrase. Should I have anything that I want to keep private and not leak anywhere, or signing keys etc., I use a combination of letters, numbers and symbols, over 40 characters long.
Bank passwords (actually more usually numbers) and the like I have written down, unlabelled, in secure locations and memorized from frequent use.
I say, screw you. I use a lame password for all that, and a lame username too. It makes me feel better.
For real security, I can use a better password. But somebody explain how constraining passwords improves security? IF the hacker Knows it contains special characters or whatever, doesn't that Simplify the password space? Sure, simple combinatorics says there are more passwords if you use a larger alphabet. But you simultaneously Remove the space of all possible passwords that didn't happen to have 'special' characters.
Funny note* Once I decided to change my passwords for 2 encrypted drives and a couple of days later I forgot them, so I lost all the information. I recovered some of it cause I also stored it on some non-encrypted drives but still, I learned my lesson. The brain has its shortcoming too. :)
What I find interesting is that I don't know what any of the passwords actually are. Instead, I simply have the muscle memory to type them. This is a problem if I have to remember that same password for the website's new app on my phone. In that case, I have to sit next to an actual keyboard to recall the password and type it into my phone.
pwgen's ability to generate pronounceable yet random passwords is why I use it. As you said, they just seem to be easy to remember.
Would be nice to have pubkey authentication with the pubkey stored on a distributed system online which I could revoke/regenerate at will.
We'll need less passwords in the future.
Now I mostly use pwdhash.com and three or so tiers of passwords. Works well. I still have the GPG file, but I use it mostly for keeping track of my gibberish answers to dumb security questions ("who was your senior prom date/where did you meet your wife").