I wrote this program a number of years ago because I was frustrated about the fact that all encryption offered to the public (no matter what the operating system or app) used minimal strength encryption by default. This remains true today – without additional configuration and understanding of what you’re changing, all cryptography software with few exceptions use the weakest encryption possible; they practically go out of their way to do this.
It pissed me off.
Not only that but in Linux, using strong encryption involves some pretty hefty command lines that you have to type correctly every single time, and over time the probability of making a mistake is certain.
LUKS – demonstrated to be one of the most security encryption system on Linux – is based on a password. This script abstracts that password into a separate file which is then password protected. This way if the attacker has the password, if they don’t have the file it won’t matter. If they have the file, they’re not getting at its contents without the password. Getting into the encrypted volume requires multifactor : what you know and what you have, which is not normally something LUKS can do.
This script also resists the Lest We Remember memory attack by mounting fake volumes alongside the real one – the odds of recovering the correct key is 1/<no. of volumes>, which considering memory degradation makes recovery of the actual key a real bitch.
Once you copy the script to a .sh file and make it executable (chmod 755 lukstool.sh) it’ll take some practice to get used to it, but I think you’ll find it incredibly useful.
- You can create a 4 gig file for example and open that file as a hard drive. Copy your photos, documents and other data into this mounted volume, then unmount it (./lukstool.sh umount /media/mountpoint) then burn it to DVD. Safe as houses and can only be recovered by whomever has the password AND the keyfile.
- Instead of a file you can format a partition (ie, /dev/sdb1) as a lukstool partition. The only way to mount the resulting hard drive partition is with the keyfile and its password.