Изготовление зашифрованного раздела в Linux средствами ядра

Всем пользователям Linux предоставляется мощнейшее криптографическое средство, но не каждый пользователь догадывается о его существовании. Cryptoloop является частью ядра и позволяет шифровать разделы промышленным алгоритмом AES.

Использовать Cpyptoloop довольно легко. Для начала убедитесь, что модуль загружен:

# lsmod | grep cryptoloop
cryptoloop             12671  1

...и если не загружен, то загрузите его:

# modprobe cryptoloop

Теперь нужно специальным образом подготовить раздел, который предполагается сделать зашифрованным. Подготовка носит необязательных характер и рекомендуется лишь параноикам и тем, кто хочет обеспечить самый высокий класс защиты. Допустим, требуется подготовить раздел /dev/sdb1. Заполним этот раздел случайными данными, чтобы усложнить возможную работу криптоаналитиков:

# dd if=/dev/urandom of=/dev/sdb1 bs=1M

Наверное, не стоит отдельно упоминать, что данная операция уничтожит все данные на разделе /dev/sdb1.

Теперь основная часть работы. Создадим виртуальный раздел /dev/loop0, который будет использоваться для доступа к расшифрованным данным. В качестве алгоритма шифрования выберем AES256, который стабильно демонстрирует отличные показатели криптостойкости.

# losetup -e aes -k 256 /dev/loop0 /dev/sdb1
Password:

Пользователя попросят придумать пароль. Желательно придумать стойкий вариант и хорошо его запомнить. В случае утраты пароля, восстановить данные будет невозможно.

Теперь создадим на устройстве /dev/loop0 файловую систему ext4 (вы можете выбрать любую другую):

# mkfs.ext4 /dev/loop0

Затем нужно смонтировать раздел и.... всё — можно работать:

# mkdir /mnt/cryptoloop
# mount -t ext4 /dev/loop0 /mnt/cryptoloop/

Теперь точка монтирования /mnt/cryptoloop может использоваться как самая обычная директория для хранения файлов. Физически, данные из /mnt/cryptoloop будут храниться в зашифрованном виде на разделе /dev/sdb1. После работы необходимо размонтировать все обратно:

# umount /mnt/cryptoloop/
# losetup -d /dev/loop0

Если пользователь пожелает, то можно можно прописать соответствующие параметры монтирования в файл /etc/fstab:

/dev/sdb1       /mnt/cryptoloop        ext4       noauto,encryption=aes

Теперь в любой момент можно использовать команду mount /mnt/cryptoloop для доступа к зашифрованным данным и команду umount /mnt/cryptoloop для отключения.

Кроме раздела, можно создавать создавать и отдельные криптоконтейнеры в виде файлов (просто замените /dev/sdb1 на произвольное имя файла). Можно шифровать и флешки. Как видите, все просто и эффективно. А главное, что вы сможете получить доступ к своим данным на любом компьютере с Линуксом, ведь никаких дополнительных программ не требуется.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.