Изготовление зашифрованного раздела в 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 на произвольное имя файла). Можно шифровать и флешки. Как видите, все просто и эффективно. А главное, что вы сможете получить доступ к своим данным на любом компьютере с Линуксом, ведь никаких дополнительных программ не требуется.

Главная тема: 

Комментировать

Filtered HTML

  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.