Information Security Stack Exchange is a question and answer site for information security professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am just a mere mortal that wants to have a somewhat secure way of managing all my passwords.

This is something that I have been putting off, but since LinkedIn decided to give away one of my passwords away, I figured it was about time I addressed this issue.

I say somewhat secure, because - clearly - the most secure way would be for me to remember every single unique 200 character password I created for every site.

I know there are various sites that allow you to create hashes per url that you mix with a particular word you select, so I think that is what I am leaning towards.

I could also write it down, but then if I don't carry my passwords with me I am in big trouble and I am clumsy like that.

What is a good practical way to manage passwords for different sites (short of writing them down)? Any Chrome plugin hash generator I should be looking into? Online service?

share|improve this question
You can store your password archives on DropBox or an equivalent service. Besides, your archive should be backed up along with your data. You do have backups, right? ;) – Polynomial Sep 2 '12 at 15:13
What is the threat? Someone will still your PC, hack it? – lukas Sep 2 '12 at 21:02
@lukas the threat was somebody going to an online service and get the password which I was (hint was) repeating on another site in order to remember it. – rburhum Jul 22 '13 at 22:22
up vote 10 down vote accepted

< redacted >​​​​​​​​​​​​​​​

< rather than reverting my edits, please delete the post >

share|improve this answer
DO NOT USE THIS METHOD. This is a horrible suggestion. Anything that has a pattern will be deciphered. Then the attacker can get into any site you log into because the password is deterministic. If you really don't want to be tied to a vender use a plain text file to track all of your randomly generated passwords and encrypt it with gpg or openssl. – bahamat Jun 8 '12 at 21:02
Keep in mind Schneier's Law: "Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can't break." – bahamat Jun 8 '12 at 21:08
I disagree with @bahamat. Unless you are a high profile person (Bill Gates, Pres. Obama, etc.) you are at a very low risk of someone wanting to take the effort to attack more than one of your accounts. I use a MUCH simpler form of Matt's scheme to manage my own account passwords. – Les Nov 14 '12 at 19:21
@bahamat Knowing one's password does not necessarily reveal one's password scheme. Depending on how paranoid you are, your scheme will be more or less complex, and certainly your password is not an encoding of your scheme! – Matt Nov 15 '12 at 1:35
@Matt: And my point is that just because you think you're so clever doesn't mean that your scheme isn't painfully obvious to the next guy just by looking at your exposed password. Using real security is so easy, why intentionally downgrade it? – bahamat Nov 15 '12 at 1:38

What I do is the following:

  • I write the passwords down.

Many people will cringe and scream and curse me and say that this is wrong and should never be done, but this is too simplistic an assertion. Details matter. Here are the details:

  • I keep the passwords in a text file.
  • When I get out of my home and must access my passwords, I bring with me a netbook. That computer has a few specific characteristics:

    1. It runs Ubuntu (a Linux distribution).
    2. No swap space is configured. What is "in RAM" is really "in physical RAM" and never makes it to permanent storage.
    3. The /tmp directory is a tmpfs, i.e. the files in that directory are only in RAM (and that's physical RAM, see above).
    4. I always shut the machine down; I never put it in "sleep mode".

    Under these conditions, I have a reasonable guarantee that if I write a file in /tmp, read it, then shut down the computer, then the file contents will not be accessible to any evildoer who would steal the machine.

  • My file full of passwords is symmetrically encrypted with GnuPG, with a big, fat, strong passphrase (that passphrase, I keep in my brain).

  • When I must use a password, I decrypt the file in the /tmp directory and I erase it immediately after; and when I no longer need to use the computer, I shut it down, as is my custom.

Under these conditions, my passwords are reasonably safe. This is not perfect: if my computer is hacked in silently and the attacker can observe everything I do for a long time, he will get my passwords -- but he would get them anyway under these conditions, if only by plugging some evil code in the Web browser itself (regardless of how you manage your passwords, the Web browser code gets them at some point, since it must send them to the servers who ask for them). I claim that my method is much safer than the common alternative, which is reusing passwords on several sites. Do not reuse passwords !

(In practice, I very rarely have to access my file of passwords, because I remember the passwords I often type -- and those I do not often type, well, I type them rarely, by definition.)

share|improve this answer
smart approach, but cumbersome for daily use, specially when you have to login on a couples of website. – elsadek Sep 30 '14 at 5:54
In fact, it is no hardship for daily use, because I remember the passwords that I use daily. The file is for the passwords that I don't remember because I don't use them often, and, by definition, this does not happen often. – Tom Leek Sep 30 '14 at 23:02
And what does this buy you over something like KeePass (also completely local if you want it to be) that is actually designed for the purpose and easy to use? – Ben Dec 5 '15 at 4:12
The main things it buys me is that most of my passwords really fit in my brain and are thus usable even on machines where KeePass is not installed. I do not trust many machines and I certainly won't enter my password on a shared machine anywhere, but there are a couple of machines that I trust and yet do not manage directly. – Tom Leek Dec 7 '15 at 14:41

If your looking for an offline solution then you could use Steve Gibson's Off The Grid. It a paper based encryption which allows you to hash a domain name into a password. This gives you a lot of security as it doesn't require trusting any third party source. I know you mentioned you may forget it, but it's easy to store in a wallet.

The basics of it is you take a 26x26 table of characters. This table follows rules similar to Sudoku (only one of each character in each row and column). This starts it off with a lot of entropy (1400 bits minimum). The basics of how to use it are fairly easy (I won't bother re-typing it all out again). The biggest risk for it is if someone physically steals your grid. Even then there are few steps you can take slow (should be easily long enough to realize someone has stolen it). These methods include,

  1. Choosing a different starting location
  2. Salting (You can do this by pre-pending/appending something when performing the encryption)
  3. When performing the encryption (read the appropriate page) instead of choosing the next two characters. Instead choose perhaps the next three characters, one across one up, two down one left, etc.
share|improve this answer
Not a bad idea, but what happens if you have to change the password of one site? – Georgios Nov 14 '12 at 9:56
@Georgios, interesting I hadn't considered how to change one password if it became compromised. I don't believe it has an inbuilt system for handling that. You could try switching up you encryption method (do the domain name backwards) or something. But it's probably not the best solution. – Dracs Nov 14 '12 at 10:45

I like to use VeriSign's Personal Identity Portal. It works automatically with a lot of major websites and you can add your own custom sites as well. It also has some support for OpenID. The best feature is the 1-Click Sign In which gives you a JavaScript snippet that will automatically log you in to the current page.

share|improve this answer

I think the best way to manage a large number of passwords is by storing an encrypted list behind a password you have committed to memory.

@Tom Leek seems to be doing this the hard way, the easy way would be to use one of the programs mentioned by @Matt. The easy way may be somewhat less secure, but I expect the easy way is secure enough for most users. Depending on which program you choose, you may be able to use the same list file on different platforms, including mobile devices.

How you manage passwords is really a separate question from how you generate passwords, but if you're willing to rely on a list you can have a unique random password for each site. There would be no need to follow a non-random password generation scheme, no need reuse any password ever, and no problem changing any password at any time. (But, for generating passwords, I recommend against using any password generated by any website. If you want it done programmatically, run something local.)

If the encryption of the list itself is secure, and the password to decrypt the list is secure, there's no need to worry about unauthorized access to the encrypted list (e.g. by storing it on Dropbox, losing your phone, or having your computer stolen). The drawback is that if the password to your list is compromised, every password on the list is also compromised, along with any other information stored in the file. This is really bad if it happens, but, considering that the list password never needs to be stored anywhere and never needs to be used outside of a local app, and that other options have a hard time handling the tens to hundreds of accounts many people have, using an encrypted list is at least worth considering.

share|improve this answer

protected by Community May 27 '15 at 9:34

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.