What the Zuk: KeePass is an essential tool for your online security
What the Zuk is a (very) occasional feature, in which I review software that I have been using for many years, and which is instrumental for my work. These are the first tools I install on every new system, the reliable work-horse applications I turn to for every need. In each installment I will explain what makes this particular program special, and why I find it so vital for my computing experience.
Saying "safeguarding your identity online is important" is almost like saying "wearing a seat belt is important"; that's quite an understatement to make. There's no lack of incentive: 2010 had some very high-profile security breaches, and it may very well be that your account (or a loved one's account) was impacted.
But theory is one thing, and practice is something different entirely. Using a password manager may feel counter-intuitive: if I know my password by heart, I feel like it's "mine"; it feels private, personal, and "secret". Writing it down somewhere might make it feel like it's not as private.
Also, you can only memorize so many passwords. True, some people use complex algorithms to create a different password for every site, but sadly, most people simply resort to using the same password everywhere. And that's where things become dangerous: since most people also use the same username everywhere, one random security breach on a website you've only used a couple of times may bring down the entire stack of cards. A diligent hacker could go around with your newly-acquired username and password, and log onto all sorts of interesting accounts under your name.
When you use a password manager and generate a unique, random password for every site, a security breach will usually have a minimal impact on your life. But using such a system also means you won't actually know the passwords to many of your accounts: they'll all be filed in your password manager, and not in your head. So you need a really reliable password manager. Which brings me to the next part:
While reliability is key, it's not the only thing KeePass has going for it. Here are several other things I like about it:
Rather than freak out or overwrite the change, the desktop instance of KeePass detects that the database has been modified while it was open, and offers to synchronize it for me. A single click syncs the database, and any changes I made using the laptop now appear on the desktop database.
Of course, sync isn't required if you always make sure to close the desktop copy before modifying it using the laptop, but still – it's a very nice touch, and makes KeePass feel that much more solid.
Using KeePassDroid and Dropbox for Android, I can access my KeePass database while I'm on the go. Typing my master passphrase on an Android device is a tedious affair, but still, it's nice to be able to open the database from anywhere.
There are also versions for PocketPC, Windows Phone 7, iPhone, J2ME phones, BlackBerry, PalmOS (!), Linux and OS X. In short, you can get KeePass to run just about anywhere you need it to.
Better yet, you define a pattern and set it as the default for newly generated passwords, so that every new account you add has a pre-filled password with your favorite pattern.
KeePass also has a more advanced auto-type feature which matches the window title to a database entry, so that you don't even have to bring up the KeePass window: you just hit a global hotkey, and your username/password pair for this particular website is automatically typed. That's a tad too automated for me, but the option is there if you like that level of sophistication.
This way, I can see at a glance what new user accounts I opened in the past few days, or find the oldest passwords in my database (dating back to 2007, but mostly for services I no longer use).
There are a ton of other columns you can toggle, including the URL, notes, creation time, expiry time (you can have passwords expire) – it's infinitely customizable.
While we're on the subject, this would be a good time to mention KeePass 2.14 was just released, with a whole bunch of new features. The KeePass developer base is certainly active.
Also, KeePass is not the only good password manager in existence. It's just a very, very good one. As I said at the outset – if you're already using a password manager, carry on. But if you or your loved ones are not yet sold on the concept of letting your computer remember your passwords for you – this is one New Year's resolution you won't regret.
You need a password manager!
If you already use a password manager (such as LastPass), feel free to skip this part. But if you don't currently use one, let me reiterate: you need a password manager.Saying "safeguarding your identity online is important" is almost like saying "wearing a seat belt is important"; that's quite an understatement to make. There's no lack of incentive: 2010 had some very high-profile security breaches, and it may very well be that your account (or a loved one's account) was impacted.
But theory is one thing, and practice is something different entirely. Using a password manager may feel counter-intuitive: if I know my password by heart, I feel like it's "mine"; it feels private, personal, and "secret". Writing it down somewhere might make it feel like it's not as private.
Also, you can only memorize so many passwords. True, some people use complex algorithms to create a different password for every site, but sadly, most people simply resort to using the same password everywhere. And that's where things become dangerous: since most people also use the same username everywhere, one random security breach on a website you've only used a couple of times may bring down the entire stack of cards. A diligent hacker could go around with your newly-acquired username and password, and log onto all sorts of interesting accounts under your name.When you use a password manager and generate a unique, random password for every site, a security breach will usually have a minimal impact on your life. But using such a system also means you won't actually know the passwords to many of your accounts: they'll all be filed in your password manager, and not in your head. So you need a really reliable password manager. Which brings me to the next part:
Why KeePass
First and foremost, KeePass is reliable. I've been using it for about three years now, and have yet to experience a single data loss. It just works. I cannot stress how critical this one factor is: losing your KeePass database is akin to losing your entire online presence.While reliability is key, it's not the only thing KeePass has going for it. Here are several other things I like about it:
Speed
KeePass is very, very fast to use. Searches are instant even with a database containing hundreds of entries (mine contains around 300 individual entries). It opens the database very quickly, even when it's encrypted using a long passphrase, a 256-bit key and 6,000 transformation rounds.Offline functionality
Ultimately, KeePass is just a small utility with a tiny database. It doesn't require you to be online to use; it still works when your Web connection breaks down, or even on a system that never had such a connection. It's fully portable, requires no installation, and takes up only 3MB. It does not depend on any particular browser.File synchronization (for Dropbox)
I use KeePass both on my desktop computer and on my laptop. It sometimes happens I make a change to the database (modify a password, add a new account) using the laptop, while KeePass is still running with the database open on the desktop.Rather than freak out or overwrite the change, the desktop instance of KeePass detects that the database has been modified while it was open, and offers to synchronize it for me. A single click syncs the database, and any changes I made using the laptop now appear on the desktop database.
Of course, sync isn't required if you always make sure to close the desktop copy before modifying it using the laptop, but still – it's a very nice touch, and makes KeePass feel that much more solid.
Android client (and more)
Using KeePassDroid and Dropbox for Android, I can access my KeePass database while I'm on the go. Typing my master passphrase on an Android device is a tedious affair, but still, it's nice to be able to open the database from anywhere.There are also versions for PocketPC, Windows Phone 7, iPhone, J2ME phones, BlackBerry, PalmOS (!), Linux and OS X. In short, you can get KeePass to run just about anywhere you need it to.
Password generator
When creating a new user account, it's not always easy to come up with a random, secure password. KeePass has a built-in password generator, accessible right from the Add Entry dialog (and also from the menu, as a stand-alone dialog). By default, the generator simply creates very long, totally random passwords. But with a bit of tweaking, it can produce pronounceable passwords, or passwords according to any sort of pattern you wish to use. You can specify "a vowel first, then two consonants, then a digit, then a capital letter" and KeePass would generate a large list of passwords conforming to the pattern.Better yet, you define a pattern and set it as the default for newly generated passwords, so that every new account you add has a pre-filled password with your favorite pattern.
The history feature
Back in July, I published a rant lamenting the lack of a read-only mode for KeePass 2.x. Reader Ariel Horwitz then taught me something new in the comments: KeePass has a history feature. Every time I modify an existing password, the old password is automatically saved, along with the date and time of the change, under the History tab for that entry. That's an incredible feature, because it means even if you modify the database mistakenly, save it and close it, you would still have access to your previous password. A beautiful feature, really.Auto-type
KeePass has several auto-type interfaces; personally, I use the following sequence:- Access the website I need, and make sure the Username textbox has keyboard focus (i.e, is waiting for text).
- Bring up the KeePass window using the global hotkey (Ctrl+Alt+K by default).
- The Search box is now active. I just type any part of the title or username for the site I need, and hit ENTER. The list is then populated with only the relevant entries (usually just one).
- I hit Ctrl+V
- KeePass now reactivates the most recently active window (which is the browser), types my username, hits TAB, types the password and hits ENTER. This simple sequence is enough to log me in to just about any website or online service.
KeePass also has a more advanced auto-type feature which matches the window title to a database entry, so that you don't even have to bring up the KeePass window: you just hit a global hotkey, and your username/password pair for this particular website is automatically typed. That's a tad too automated for me, but the option is there if you like that level of sophistication.
Customizable columns
By default, KeePass shows the entry title, and a bunch of asterisks for the password (and maybe the username too, I can't recall). Luckily, this can be easily changed. My KeePass shows the title, the username (not as asterisks) and the last modification date for each entry.This way, I can see at a glance what new user accounts I opened in the past few days, or find the oldest passwords in my database (dating back to 2007, but mostly for services I no longer use).
There are a ton of other columns you can toggle, including the URL, notes, creation time, expiry time (you can have passwords expire) – it's infinitely customizable.
Open-source
KeePass is an open-source project. As such, I can be assured that smart and supremely paranoid geeks reviewed the code for possible flaws and vulnerabilities. That doesn't mean they found every possible bug, but it's a heck of a lot better than a closed-source product requiring me to trust a company with vested commercial interests and PR managers who may be afraid to expose security holes.While we're on the subject, this would be a good time to mention KeePass 2.14 was just released, with a whole bunch of new features. The KeePass developer base is certainly active.
Bottom line
This was not a comprehensive overview of KeePass; these are just a few of my favorite features. Use the comments to let me know what are your favorite KeePass features.Also, KeePass is not the only good password manager in existence. It's just a very, very good one. As I said at the outset – if you're already using a password manager, carry on. But if you or your loved ones are not yet sold on the concept of letting your computer remember your passwords for you – this is one New Year's resolution you won't regret.















Comments
23
Subscribe to commentspaul34Jan 2nd 2011 3:02PM
I've used KeePass for several years, following the revisions. It has been an indispensable tool. I really love it.
I use it especially for my financial passwords. They are long, random alphanumeric passwords that I could not tell you from memory. I need to access the database to find out what it is. The password I have for the databse is a 14 character long alphanumeric sequence.
ZeusJan 2nd 2011 3:53PM
Good to see someone recommending KeePass! I realize LastPass is the industry darling, but I just don't feel comfortable tossing my passwords "into the cloud" and crossing my fingers in hopes no disgruntled employees sell a company laptop to identity thieves, or (god forbid) someone in the company starts bragging about how they, "Can't possibly be hacked."
Another option is Password Safe: http://passwordsafe.sourceforge.net/
It's also open source, and supposed to be just as secure as KeePass. The only reason I use KeePass is because I prefer the interface.
MxxConJan 2nd 2011 8:53PM
@Zeus perfect example of somebody who doesn't actually understand how lastpass works.
let them sell that laptop. there's nothing usefull come from it. lastpass works exactly the same way as KeePass+dropbox, ie all your password are ENCRYPTED LOCALLY. what you upload to them is a cryptographic blob.
lastpass provides all the tools you need to actually verify that they do what they claim they do. you can sniff their ssl encrypted traffic, capture it, manually run the same cryptographic procedures and you'll see that you get exactly the same ssl encrypted traffic.
doryzJan 23rd 2011 3:46AM
@Zeus
You can also check SafeWallet:
http://www.sbsh.net/products/windows/safewallet
It support local sync and not just cloud sync, which makes it more secure.
Cheers
D.
megamike43Jan 2nd 2011 3:17PM
what about roboform? any good?
fdbryant3Jan 2nd 2011 9:34PM
@megamike43 Before switching to LastPass I used Roboform for years without a problem. It is one of the very few shareware programs I've paid for and I've never regretted it.
Agent ChieftainJan 2nd 2011 4:16PM
Wait, if I want to sync my password database with Dropbox, do I install the portable version of KeePass to a Dropbox directory, or can I install KeePass with the executable?
fdbryant3Jan 2nd 2011 9:38PM
@Agent Chieftain You place your password database in a folder that Dropbox syncs with and point KeePass to that database. That way when you make changes to the database file, Dropbox detects and changes it.
Kenn.keeperJan 2nd 2011 10:53PM
Great software app, a must use item, best of them all and free
Free is Good
Kenn.....
ZeusJan 2nd 2011 11:40PM
@MxxCon: Well that's interesting, I didn't know it was encrypted locally.
Still, I feel more comfortable having my file synchronization and encryption handled by two different people.
Dropbox can store my KeePass database, but they can't get into it. Likewise, KeePass can encrypt my passwords, the developer can't access the database, because I'm not uploading it to their servers.
KeePass is open source; LastPass is not. LastPass wants me to upload my database to their servers; KeePass does not. I just feel safer with KeePass.
NyaRJan 2nd 2011 11:14PM
I have an awesome cloud-based solution for this: truecrypt container + dropbox + passwords.txt
StalinstallionJan 3rd 2011 3:52AM
@Zeus http://blog.lastpass.com/2010/07/lastpass-gets-green-light-from-security.html LastPass is as safe as it gets
HZedJan 3rd 2011 4:53AM
@Zeus
I have the same concerns as you about sending my passwords (even encrypted) to some server that I don't fully trust.
I use a nifty app (iphone app only for now) called passveurd that has been released a couple of weeks ago.
This app does not store anything not even locally, but instead works by deriving passowrds from a passphrase and the domain name you want.
Everytime you need to get your password the app simply re-derive it from the same info you used to generate it. There is also a web interface at http://www.2ternet.net/passveurd where you can do the same (As I guess you wont feel confortable typing your passphrase on a website you can just download the javascript that derives the password and use it locally if you want,or at least have a look at how the algo works.) This also means that if you don't have your iphone available you'll be able to use the website. You could also use a friend's iphone as nothing specific to the user is really stored in the app.
I m moving now most of my passwords to this (the ones that I don't use very often and that i m happy to have extra steps to retrieve.) I hope at some point they provide the same functionality as a firefox addin or other..
PonTelonJan 3rd 2011 1:58AM
I'm currently using Windows, but I also use Mac OS X for my netbook. Any suggestions on an app like this that is on both operating systems?
PonTelonJan 3rd 2011 2:02AM
@PonTelon I see that KeePass offers a way to run in Mono...I guess I could do that if I feel like playing in the Terminal...Any native options?
milrtime83Jan 3rd 2011 10:16AM
@PonTelon Lastpass works just about everywhere.
MxxConJan 3rd 2011 8:14AM
@HZed i don't like that method because you'll get into all sorts of hassle if your website changes its address. Or if that websites does redirection to some address/subdomain for login..what do you generate your password based on: the original main domain or that login domain? do you generate it with "www." or without? plus since you don't actually have record of your passwords, you don't really know/remember what you have accounts and where you need to go to change them after some time. and what if you change your password on some account, how do you do it w/ such app? i see there's "version", but that means you have to remember what your current version of the password is for each and every website...
while thing method has some advantages, there ware way too many disadvantages to it.
markedmannerJan 3rd 2011 6:48PM
I have been using Keepass in conjunction with Keefox: http://keefox.org/ for easy integration with Firefox. It has worked without a flaw for me and makes using Keepass even more convenient.
KaJan 4th 2011 7:57AM
@MxxCon (I have replied earlier but for some reason my msg never made it to the board).
The app actually stores the list of (domain,version,alphanumeric switch) you used. In the app instead of typing the domain name, you can simply retrieve it from the list (this then automatically populates domain, version and alphanumeric switch) and you just need to type the passphrase.
As for the domain, actually it is not decided by the app but instead you have to type it. You can use whatever you want. For gmail for example I use"gmail" but I could use www.gmail.com or gmail.com (which would give me different passwords, but this domain name is stored in the list so easy to retrieve). I also use for example "Laptop" for my home laptop.
KaJan 4th 2011 7:59AM
@MxxCon (Ka = Hzed.. donno why it changed my name!)