My "secure" USB drive and a toilet bowel had a duel and the toilet bowl won. With that, I was torn between buying a new "secure" USB drive for $70-100 or buying a base plain USB drive and finding some disk encryption software. Of course in the back of my mind was a task of encrypting the entire disk on my laptop. With that I set out to find a free and moderately easy to use disk encryption software package. My requirements for the software package were the following:
- Must work on all the different operating systems I commonly use (Windows & Linux)
- Must be portable, if needed to be accessed on a different system it must work with at most installing the application
- Must be able to encrypt the entire file system
- Must be able to create virtual encrypted volumes (volume must not be overtly visible)
- Must be able to create an encrypted file system on removable media (SD or USB & volume must not be overtly visible)
- Must allow for auto-mounting of the encrypted file system, either virtual or removable media
- Must automatically unmount the drive when system is shut down or idle for a predefined time period
- Must lock/wipe the device on a predefined numbers of authentication failures
- Must use NIST
[?] approved encryption and hashing algorithms
After tinkering with 12-13 different software packages I decided on
TrueCrypt, it met all my requirements except the lock/wipe the device on authentication failures. I could live without that one.
In creating the volumes, you are offered standard encryption algorithms or cascading algorithms. Cascading meaning you can implement multiple types of encryption algorithms built atop each other. Supported direct and cascaded algorithms include the following:
- AES
[?] in XTS Mode (NIST Approved)
- TwoFish
- Serpent
Cascading algorithms include the following:
- AES-TwoFish
- Serpent-AES
- Serpent-TwoFish-AES
- AES-TwoFish-Serpent
Speed wise, the direct algorithm is the preferred choice. AES will be the fastest of the available algorithm selections. If you are more concerned with security of the data at rest, the AES-TwoFish-Serpent cascade algorithm is recommended. bearing in mind, using the cascade algorithms will significantly slow the overall encrypt/decrypt throughput.
Hashing algorithms supported include the following:
- RIPEMD160
- SHA512 (NIST Approved)
- Whirlpool
Quick Volume Setup Guide for Removable Media for the Windows Operating System
Insert the USB or SD card into the reader or USB slot, open TrueCrypt and click on Create Volume.
- Select Encrypt a non-system partition/drive
- Volume Type - Standard TrueCrypt volume
- Select the USB drive (IMPORTANT NOTE: Make sure you select the USB drive and not your primary hard disk)
-- you'll get an error asking you to confirm that you want to encrypt the device, select yes
- Volume Creation Mode
-- Create encrypted volume and format it
- Encryption Options (select what you want here)
-- Encryption Select AES
-- Hashing Select SHA512
Volume Size - Select next as you're encrypting the entire file space
Volume Password - Enter the password you want to use to access the encrypted volume here
Volume Format - select NTFS for the filesystem type - do not select Quick Format, select Format
Once the device has been wiped and encrypted, remove the USB device and reinsert it into the system.
Quick Setup Guide for Creating Encrypted File Containers
Create a dummy file someone on your primary harddisk, for simplicity I used c:\temp\TrueCryptVolume
From the TrueCrypt application, click on Create Volume
- Select Create an encrypted file container
- Standard TrueCrypt Volume
- Click on Select file and navigate to where your container file is located - when prompted if you want to replace it select Yes
- Choose the encryption and hashing algorithm of your preference
- Designate the desired size of the encrypted volume
- Set the volume password
- Select NTFS for the filesystem and click on format - click yes to the warning to confirm creating the container
- Mount the container by clicking on Select File, navigate to the container file, select an unused drive letter, then click on mount
Enabling Automount for TrueCrypt Volumes
From the TrueCrypt application select Settings -> Prefereces - Checks the boxes next to the following options:
- TrueCrypt Background Task Enable
- Start TrueCrypt Background Task
- Mount all device-hosted TrueCrypt Volumes
- Mount Favorite Volumes
If you want the drives, after being idle for a predefined time period, to automatically dismount, select the "auto dismount volume after no data has been read/written to it for" and enter your time limit.
Click OK - Click Auto-Mount Devices, you will be prompted for the volume password.
Important Notes
Be aware that all disk encryption programs only protect the information "physically" written to the encrypted media be it virtual or physical. Any information you access is temporarily stored in system memory. If a computer system is not:
- shut down properly
- suffers from a power failure
- the removable media is removed without being unmounted
- as well as slew of other issues that may cause an unclean memory purge
May result in sensitive information being inadvertently left in temporary file space on the hardrdrive of the computer. If the entire system harddisk, as well as removable media, is encrypted, this is not an issue.
if you are encrypting the entire system harddrive, there have been some freak occurrences of on improper shutdown, the boot record becoming corrupted; Thereby turning your computer into a doorstop. However, full disk encryption is the recommended path if the information on your laptop for example is sensitive and may cause some severe impact to you if it were say stolen..not that laptop theft ever occurs right =)