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

Запуск python для разблокировки обеспечивает полное шифрование диска

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

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

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

Спасибо.

Если вы используете полное шифрование диска для своей корневой файловой системы, вам придется решить проблему, заключающуюся в том, что интерпретатор 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 Я упоминал выше.