Dm-crypt + luks: Можно ли создать отдельный заголовок без сохранения его на зашифрованном устройстве luks?

Я хотел бы зашифровать мой внешний жесткий диск с помощью dm-crypt + luks, но я не удовлетворен всей информацией, которую заголовок LUKS предоставляет в виде открытого текста.

Поэтому я хотел бы оставить заголовок LUKS и зашифрованные данные отделенными друг от друга:

  1. Сохраните LUKS-раздел (CRYPT) без заголовка на внешнем диске.
  2. Когда когда-либо я хочу получить доступ к зашифрованным данным, объедините заголовок и CRYPT и настройте раздел luks как обычно.

Я уже знаю, как я мог бы вручную добиться этого:

  1. Резервный заголовок LUKS с dd.
  2. Перезаписать заголовок LUKS на внешнем диске.
  3. Всякий раз, когда необходимо монтировать LUKS-раздел, запишите его и установите нормально.
  4. Размонтируйте и перезапишите заголовок снова, когда закончите.

Это не очень оптимально, потому что секторы заголовка luks будут перезаписаны каждый раз, когда привод монтируется, и я опасаюсь, что эти сектора станут плохими наверняка.


Другим подходом было бы то, что файл заголовка и зашифрованный раздел luks объединяются в одно виртуальное Linux-устройство, которое может быть установлено нормально.

С «объединением в одно виртуальное устройство» я имею в виду, что заголовок на самом деле не записывается обратно в раздел luks, но система воспринимает его таким образом. Заголовок все еще остается на моем USB-палке.

Моя единственная проблема в том, что я не знаю, как создать такое виртуальное устройство.

Любая помощь будет оценена по достоинству.

Вы можете просто использовать LUKS в режиме отдельного заголовка:

cryptsetup luksFormat /dev/sda4 --header ~/lukshdr --align-payload 0 --cipher twofish cryptsetup open /dev/sda4 --header ~/lukshdr mycrypt cryptsetup luksSuspend mycrypt --header ~/lukshdr cryptsetup luksResume mycrypt --header ~/lukshdr 

Вы можете поместить файл заголовка туда, где хотите, включая блок-устройство.

~/lukshdr должно быть не менее 1049600 байт для работы luksFormat :

 dd if=/dev/zero bs=1049600 count=1 > ~/lukshdr 

Если вы запустите lsblk -b , вы увидите, что размер отображаемого устройства точно равен размеру устройства LUKS; Нет места, где могут скрываться любые заголовки или метаданные.

 $ lsblk -b NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 80026361856 0 disk ├─sda1 8:1 0 254803968 0 part /boot ├─sda2 8:2 0 5999951872 0 part [SWAP] ├─sda3 8:3 0 19999490048 0 part / └─sda4 8:4 0 53771067392 0 part └─mycrypt 254:0 0 53771067392 0 crypt /tmp/mnt 

Фактически, до тех пор, пока лежащие в основе шифры не будут разбиты, устройство LUKS будет выглядеть как случайные данные любому, у кого нет файла заголовка.

Interesting Posts

JPA: разница между @JoinColumn и @PrimaryKeyJoinColumn?

Отправить изображение base64 в HTML-письме

Как заставить Ubuntu 9.10 переустанавливать себя, не теряя мою информацию?

Расширение номеров Google Chrome на значке

Установка Inno Установка изображения / управления на пользовательской странице

x86_64 регистры rax / eax / ax / al, переписывающие содержимое полного регистра

исключение исключений из деструктора

Можно ли настроить Thunderbird для отображения всех имен в новостях?

Как отсортировать столбцы таблицы Excel по содержимому строки?

Есть ли эффективный способ копирования текста из PDF без разрывов строк?

Как проверить, является ли действие последним в стеке действия для приложения?

Получить URL-адрес загрузки из файла, загруженного с помощью облачных функций для Firebase

Блокирование доступа только к сайту Facebook, а не к другим и / или кнопкам на других страницах

Почему Итератор Java не является Iterable?

JFreeChart – проблема создания движущейся диаграммы

Давайте будем гением компьютера.