This article outlines how to install and use an encrypted file system using TrueCrypt on a flash drive for use in Windows XP or newer. (I also use these tools in linux environments as well!) This is something I have been doing for a few years now, but haven't gotten around to writing it all up for the public. Recently, a couple of my friends had been talking about how they dislike having to remember a ton of passwords to access everything they need for work, etc. when each system has a different set of rules for their passwords. That got me thinking of the solution I've been using and I decided it was time to write it up for others.
Using this solution, you will need to remember a minimum of one password, but a maximum of four - depending on what you feel safe with. While following the setup in this article, you will need to use passwords for your encrypted file system (two passwords), your SSH key (if you use a passphrase that is different if one at all) and the password to your password list.
This article does assume you are working in Windows, but all the steps are nearlt identical for other platforms. If you are using linux, many of the programs used in here may be available through your distribution's software repository and easily installed through your package manager.
If you have feedback or suggestions (new/useful utilities, etc.), feel free to contact me and I may just add your suggestions to my article.
To follow this article and use this solution to your password-remembering hassle, you will need to download the following programs. Note that this article is directed at Windows users; however, I use the same processes for linux as well (but the programs are installed locally on those machines).
This is an open-source disk encryption software utility. There is a linux version of the software available.
This is simply a hacked version of puTTY to store session information in files rather than in the registry. This is specifically for Windows. For other platforms, I simply use the command-line SSH clients the system have installed.
This utility is for accessing an encrypted database of all your passwords. While this is a Windows-specific program, there are a number of programs out there for other platforms that can read these databases. For linux I have been using password-gorilla. The folks at PasswordSafe's website are kind enough to give us a list of related projects for other platforms.
While using an encrypted file system is not necessary, some people have ultra-sensitive password databases. When I first started using this method, I was a system administrator for a local ISP. Having my passwords getting into the wrong hands could potentially be disaster not only for me, but for all of the ISP's customers as well. If you do not feel you need to have an encrypted file system to store your passwords, skip on to the next section of this article.
It is now safe to remove your flash drive from your computer the way you normally do.
Yes, the name is funny, it is perfectly healthy to laugh at it! Now that we got that out of the way, this is the utility we will be running from our flash drive to log into servers through the SSH protocol. If you don't know what SSH is, you may not need this. If all you are after is storing passwords, you can safely skip this section of the article to learn about PasswordSafe.
If you are still reading, then I am assuming you know about SSH, access keys and may have even used puTTY in a Windows environment before. If you have a differnt SSH client that you like to use, you are welcome to use that in place of this. The reason I chose to use PortaPutty was so I could save all my profiles to the flash drive and easily access them with my access key without worrying about drive letters, using different computers, etc. When I am using linux, I simply use the command line for my ssh needs.
This utility is the key to not having to remeber all of your passwords. The encrypted database locks itself after a period of inactivity and allows you to copy/paste passwords without having to even see them. password-gorilla works in much the same way as described below, but your mileable may vary depending on the program you decided to useif you are working in linux.
If you have never used PasswordSafe, I will give you a couple quick hints. Firstly, when you create your database password, be sure it is a long one with uppercase letters, lowercase letters, numbers and even punctuation. Obviously, you will want something you can remember and isn't too cumbersome to type.
Once you have the database and its password all ready to go, open it up from the pwsafe.exe interface, and start adding entries into the database (Edit -> Add Entry). There are a large number of options available to you for managing your password entries. The title is what will show up in the interface for you follwed by the username in brackets. The other important field for new users is password field itself. If you are someone like me and have a large number of server logins for different clients, projects, personal, etc., then the group field can also be a nice feature to use to help organize the list of logins for you.
You will be tempted to create a password you will remember, but I suggest to simply use the generate button. If you use that option, click the Show button and change the password on the system to match this database entry. It is OK if you can't remember it! The whole point of this utility is to save free space in your brain by not having to remember all the passwords!
The biggest thing to remember about your hidden and outer volumes of your encrypted file system is the "free" space you have in the outer file system. For instance, if you have an outer volume of 100MB and a hidden volume of 90MB, you will need to be sure not to write more than 10MB to the outer volume. If you do, the hidden volume will become corrupt and the data held within it will be lost. (Make backups regularly!)
All code and scripts available for download on http://koivi.com are written by Justin Koivisto, ZCE and fall under the GNU Lesser General Public License (LGPL) Version 2.1 (unless noted otherwise). The full license agreement can be found within the LICENSE file within each distribution package.
© 2004 - Justin Koivisto, ZCE
Valid XHTML 1.0