Запуск Python для разблокировки LUKS полного шифрования диска

Я хочу использовать полное шифрование диска с помощью Luks на Ubuntu 14.04. Тем не менее, я хочу использовать свой собственный скрипт на python для выполнения функций генерации ключа дешифрования во время загрузки устройства, которое затем отправляется lukes, чтобы позволить ему расшифровать.

В идеале я хотел бы, чтобы "исход из сценария Python" + "пользователь вводил ключ дешифрования", который затем передавался Люку, чтобы позволить устройству расшифровать. Затем я могу реализовать свою собственную функциональность в python, чтобы создать "второй фактор", позволяющий устройству расшифровывать.

Я искал вокруг, но не нашел ответа на свой вопрос. Можете ли вы помочь или дать совет?

Спасибо.

1 ответ

Если вы используете полное шифрование диска для своей корневой файловой системы, вам придется решить проблему, заключающуюся в том, что интерпретатор Python обычно недоступен на ранних этапах загрузки. Вам понадобится несколько мегабайт дополнительного незашифрованного дискового пространства для хранения, например /usr/bin/python2.7 и куча важных вещей из /usr/lib/python2.7 и вам придется разработать несколько модификаций для вашего /boot/initrd для того, чтобы сделать эту работу.

Процесс загрузки вызывает /scripts/local-top/cryptroot из корня initrd. Это обычно вызывает инструмент plymouth ask-for-password --prompt, Это используется для запроса парольной фразы до запуска графического интерфейса пользователя. Эта фраза-пароль, в свою очередь, передается в cryptsetup.

Если вы все еще действительно хотите продолжить этот подход, вы можете / должны использовать файл конфигурации в каталоге конфигурации /etc/initramfs-tools/ настроить новое значение для вашего собственного cryptkeyscript вместо взлома скрипта /usr/share/initramfs-tools/scripts/local-top/cryptroot непосредственно. Это сделает установку обновлений дистрибутива ОС менее трудоемкой позже.

Для получения дополнительной информации обратитесь к документации по пакетам initramfs-tools, cryptsetup и plymouth и посмотрите сценарий оболочки cryptroot Я упоминал выше.

Другие вопросы по тегам