If you allow applications to save your passwords, anyone with physical access to your PC can decode them unless you're properly encrypting them—and chances are pretty good you're not. Let's walk through the right and wrong ways to store your passwords.
For the purpose of this article, we'll assume that the people you allow into your house are trustworthy enough not to hack your passwords, and your laptop has been stolen instead—but the tips here should apply to either scenario. Regardless of how you choose to save your passwords, you should make sure to
use great passwords and
even stronger answers for security questions.
Once You Click "Remember Password" It's All Over
Almost any application that requires you to login to something will also provide an option to save your password, and once you've done that, your password may as well be plain text. Behind the scenes, even if the application encrypts the account information, it's doing so with a static key that can be easily deciphered through some reverse engineering, and somebody not only can, but already has created
a utility to recover those passwords.
It doesn't even matter all that much if you've got a tough Windows password; anybody with physical access to your PC can
use an Ubuntu Live CD to copy all of your data onto an external drive without modifying anything, and crack your files on another machine whenever they please (assuming you don't have your entire hard drive encrypted). If they had a little more time, they could
use Ophcrack to figure out your password, or they could just be mean and
use the System Rescue CD to change your Windows password.
Once that person has access to your files, they can
recover your passwords with free tools easily—you can recover passwords in a few clicks from
Outlook,
Instant Messenger,
Wi-Fi,
Internet Explorer,
Firefox,
Chrome, or
any number of other applications. All it takes is a quick Google search to find even more cracking utilities.
Pidgin Stores Passwords in Plain Text
That's right, your favorite open-source, multi-protocol instant messenger client
stores your passwords in plain text. If you don't believe me, just open up your %appdata%\.purple\accounts.xml file in
your favorite text editor, and you'll see your passwords right there for anybody to read.
The decision to store the passwords in plain text is a deliberate one that's been thoughtfully considered, and while you might initially think it's a terribly insecure way to handle security, keep in mind that you can simply download any number of utilities like Nirsoft's
MessenPass and recover the passwords from AIM, Windows Live Messenger, Trillian, Miranda, Google Talk, Digsby, etc. The Pidgin developers
point out that their option is actually the preferred method for security:
Having our passwords in plaintext is more secure than obfuscating them precisely because, when a user is not misled by a false sense of security, he is likely to use the software in a more secure manner.
The best answer, of course, is to not allow your IM client to store your passwords at all—but if you must store them, you should at least use the built-in Windows encryption, if not a
full-blown TrueCrypt setup. Either option would be better than the pseudo-protection most other applications provide.
Password Managers Are the Only Secure Storage
The only truly secure way to store your passwords is to
use a password manager to securely track your passwords, combined with a
a great master password to protect the rest of your saved passwords—if you use an easy password for your password manager, it would be easy to crack with a brute force attack. Don't lure yourself into a false sense of security by just using one—your password manager password should be at least 10 alpha-numeric characters if you really want to be secure.
You've got a number of
great password managers to choose from, like reader favorite
Keepass, a cross-platform tool which has many
plugins that help you master your passwords and make using a password manager easier to deal with. And, of course, let's not forget that Firefox has a full password manager built right into the application.
Use a Firefox Master Password (With More Than 8 Characters)
If you want to use Firefox to save the passwords for all your web accounts, you should make sure to
enable a Firefox Master Password by heading into Tools –> Options –> Security and checking the box for Use a master password.
Once you've done this, Firefox will store all of your passwords with nearly unbreakable AES encryption—providing you use a password with more than 8 alpha-numeric characters and at least one capitalized letter. If you used a weak and pathetic password like "secret", it could be
broken in a matter of minutes with a brute force cracking tool, but a decent 8+ random character password will take at least 73 years for a brute force attack.
Each time you start Firefox and go to a site that requires a saved password, you'll be first prompted for your master password. By default, the master password authentication will be active for the entire session, but you can use the
Master Password Timeout extension to lock your master password again after a certain interval, which is handy if you walk away from your desk without remembering to lock it with Win+L.
Use TrueCrypt to Encrypt Everything
Rather than deal with password managers or whether or not to save your passwords, you could simply
create a separate, encrypted TrueCrypt drive, and
use portable versions of your applications to keep everything totally secure. If you're even more paranoid, you can
use TrueCrypt to encrypt the entire hard drive—you will be prompted for a password every time you boot, but you can relax knowing that anything you do will be encrypted, even if you use scripts with your passwords stored in plain text. If TrueCrypt isn't your thing, you can use the built-in encryption functionality in Windows—just keep in mind that if you change your password your data will be inaccessible, and your Windows password can be cracked, giving them full access to your files.