Шифрование диска с использованием ключа на USB-флешке

Дано: настроенный lvm, шифрование по паролю, в шифрованном разделе создан root и swap, boot отдельно не шифрованный.

Нужно ключом расположенным на флешки расшифровывать root раздел при загрузке.

Делаем файл с ключом (2048 bit) и выставляем права доступа к нему:

dd if=/dev/urandom of=/путь к файлу с ключом на флешки/secret.key bs=512 count=4
cryptsetup luksAddKey /dev/наш_шифрованный_раздел /путь к файлу с ключом на флешки/secret.key
chmod 400 /путь к файлу с ключом на флешки/secret.key

Файловая система на флешки должна быть EXT3!

Проверяем количество ключей нашего раздела:

cryptsetup luksDump /dev/sda3

Должно быть два key slot'а, которые «ENABLED». Нулевой — это старый с паролем, первый — это наш новый с ключом в файле.

Удаляем старый ключ:

cryptsetup --key-file /путь к файлу с ключом на флешки/secret.key luksKillSlot /dev/наш_шифрованный_раздел 0

Проверяем количество ключей, но теперь должен остаться только один key slot, который «ENABLED».

Меняем запись о нашем зашифрованном разделе, используем флешку с меткой SECRET:

nano /etc/crypttab

sda3_crypt /dev/disk/by-uuid/f1500b88-fa6e-4b6c-9f34-f985b63da475 /dev/disk/by-label/SECRET:/secret.key luks,keyscript=/lib/cryptsetup/scripts/passdev

Обновляем initramfs командой:

update-initramfs -u

Перезагружаемся, все должно работать.


Для форматирования флешки в ФС EXT3 под Windows, можно использовать EaseUS Partition Master Free.

Просмотреть флешку, отформатированную в файловую систему EXT3, под Windows можно установив специальный драйвер (https://sourceforge.net/projects/ext2fsd/).


Форматирование под Linux:

Определяем раздел, который использует флешка. Для этого используем команду df. У нас /dev/sdc1.

Затем нужно отмонтировать флешку:

umount /dev/sdс1

Дальше выполним форматирование:

mkfs -t ext3 -L SECRET /dev/sdc1

Похожие статьи