I was recently asked how to password protect a USB memory stick (a.k.a. thumb drive, USB key, etc.) without having to buy software. TrueCrypt is a free and open source solution for securely encrypting data on any kind of drive including USB keys. In addition, it’s available for both Windows 2000/XP/Vista and Linux so you can share the secure data between operating systems.
With TrueCrypt you can either create a file of a specific size that will appear as a separate drive on your system (virtual encrypted disk) or you can encrypt an entire partition/drive. Of course, you can’t encrypt your entire boot disk because your computer still has to be able to load the TrueCrypt software to read the boot files.
A unique feature of TrueCrypt is that you can create a hidden area inside an encrypted volume that uses a different password. This hidden partition cannot be detected even if it’s analyzed byte-by-byte because it all looks like random bits. By storing your most important data in the hidden area, no one will know it’s there even if they force you to give them the password–you give them the password to the main encrypted area, not the hidden one.
TrueCrypt supports AES, Serpent and Twofish encryption algorithms.
If you’re using Synergy, all of your keystrokes are sent over the network as cleartext because Synergy does not provide any encryption. In other words, unless you’re using a private network to connect your computers, anyone can sniff the data to see what you’re typing to client computers including passwords, credit card numbers and other sensitive information.
The good news is that it’s not too difficult to prevent snooping by using OpenSSH. The Synergy Network Security Guide shows you how to do this on Linux/Unix-based systems (which should work similarly on Mac OS X).
The bad news is that if your Synergy server or client is on Windows, setting up OpenSSH isn’t as straightforward. I was in this situation for quite a while and, after several unsuccessful tries, I put it on the shelf for a while. Well, tonight I found a very good resource to get OpenSSH working on Windows. I successfully set up a Synergy/OpenSSH server on a Windows XP laptop and connected a Linux client to it.
Note that if you’re using QuickSynergy to set up a client on Linux or Mac OS X, you can simply enter localhost as the server name in the QuickSynergy dialog instead of running synergyc -f localhost as described in the last step of the Synergy Network Security Guide.