Назад | Перейти на главную страницу

Определите, присутствует ли ключ LUKS / dmcrypt

Я пишу Chef LWRP для добавления ключа к контейнеру LUKS, и мне трудно найти способ определить, существует ли мой ключ уже. cryptsetup luksAddKey с радостью добавит один и тот же ключевой файл несколько раз, поэтому я не могу просто продолжать звонить luksAddKey каждый шеф-повар работает.

Пока что лучшее, что я придумал, это

cryptsetup luksDump /dev/xvdf1 --dump-master-key --key-file <thenewkey> > /dev/null

Кажется:

  1. Загрузка процессора
  2. не очень безопасно

У кого-нибудь есть идея получше?

Спасибо!

Я не вижу возможности протестировать ключ без разблокировки громкости (по крайней мере, имея в виду загрузку процессора). Но у кого нет этих нескольких секунд процессора? У вас много томов LUKS на систему?

Вы также можете сделать это:

Каждый раз, когда вы добавляете ключ, вы сохраняете дайджест файла (он даже не обязательно должен быть безопасным дайджестом; подойдет даже MD5). Вы делаете каталог /etc/my_luks_keyfiles. Для каждого тома LUKS в системе вы создаете подкаталог с UUID (cryptsetup luksUUID /dev/bla). Если вы добавите ключ, вы создадите файл, например, метка времени как имя и дайджест как содержимое. Если вы удалите ключ, вы удалите файл. Если вы хотите узнать, активен ли ключ, вы сравниваете все файлы в каталоге с дайджестом (т.е. вам не нужно передавать файл ключа).

И если файлов больше или меньше, чем активных слотов, значит, вы все испортили ...