Ext2Crypt is an ext2 based filesystem which stores the data on
block devices in encrypted form. It makes use of the
cryptography API present in the Linux kernel. Ext2Crypt
requires 2.6.4 (or above) kernel with cryptography enabled
(specifically MD5 and DES). It also requires OpenSSL be
installed on the machine inorder to compile the tools
provided along with the file system.
Ext2Crypt offers security at two levels.
1. |
|
It requires the user to provide a password while
formatting the drive using the provided utility
namely mke2fs . The user is again
asked for this password when she tries to mount the
drive using the ext2crypt_mount
utility. Only if the two passwords match is the user
able to mount the drive.
|
2. |
|
The data pertaining to files is encrypted using the
DES algorithm in the kernel before it is written to
the drive and is decrypted using the same just before
it is copied to the userspace programs. The advantage of
this paranoid approach is that
even if the pages pertaining to the files are swapped out
due to lack of physical memory, they get swapped out in
encrypted form. Hence if a black hacker tries to
read the swapped out data from the swap area it won't
make any sense to her since it won't pass thru the
ext2crypt file system module.
NOTE: Currently only the files on the block device
are stored in encrypted form. I plan to encrypt the
directories as well as the meta information
pertaining to the file system in the future releases of
the software.
|
|