Шифрование файлов в Linux

Возникла необходимость в шифровании файлов, а точнее - в шифрованном хранилище. Как выяснилось, сделать его довольно просто :)

Для начала создаём файл-контейнер:

pro57t:/mnt# dd if=/dev/urandom of=mmcblk0p1/encryptedfile.bin bs=1024k count=1000
1000+0 записей считано
1000+0 записей написано
 скопировано 1048576000 байт (1,0 GB), 283,71 c, 3,7 MB/c

Использование случайного заполнения затруднит работу по расшифровке содержимого злоумышленниками.

Далее создаём шифрующее устройство-петлю и файловую систему на нём

pro57t:/mnt# modprobe cryptoloop
pro57t:/mnt# losetup -e aes /dev/loop0 mmcblk0p1/encryptedfile.bin
Password: 
pro57t:/mnt# mke2fs /dev/loop0
...

Далее можно попробовать отключить устройство и подключить заново, чтобы убедиться что небыло ошибки с паролем

pro57t:/mnt# losetup -d /dev/loop0
pro57t:/mnt# losetup -e aes /dev/loop0 mmcblk0p1/encryptedfile.bin
Password: 
pro57t:/mnt# mount /dev/loop0 /mnt/crypto

Если монтирование прошло успешно - можно смело писать файлы в примонтированный каталог /mnt/crypto

Напоследок можно добавить одну команду монтирования, делающую всю работу

pro57t:/mnt# mount /mnt/mmcblk0p1/encryptedfile.bin /mnt/crypto -o loop,encryption=aes
( categories: )