Шифрование файлов в 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
encryption, crypt |