Ich möchte die vollständige Festplattenverschlüsselung mit Luks unter Ubuntu 14.04 nutzen. Allerdings möchte ich mein eigenes Python-Skript verwenden, um die Funktion zum Generieren des Entschlüsselungsschlüssels während des Gerätestarts auszuführen, der dann an Lukes gesendet wird, damit dieser die Entschlüsselung durchführen kann.
Idealerweise hätte ich gerne „Ergebnis aus Python-Skript“ + „Benutzer gibt Entschlüsselungsschlüssel ein“, was dann an Lukes übergeben wird, damit das Gerät entschlüsseln kann. Ich kann dann meine eigene Funktionalität in Python implementieren, um einen „zweiten Faktor“ zu erstellen, der dem Gerät die Entschlüsselung ermöglicht.
Ich habe gesucht, aber keine wirkliche Antwort auf meine Frage gefunden. Können Sie mir helfen oder einen Rat geben?
Danke schön.
Antwort1
Wenn Sie die vollständige Festplattenverschlüsselung für Ihr Root-Dateisystem verwenden, müssen Sie das Problem lösen, dass der Python-Interpreter normalerweise nicht gleich zu Beginn des Bootvorgangs verfügbar ist. Sie benötigen mehrere Megabyte zusätzlichen unverschlüsselten Festplattenspeicher, um beispielsweise /usr/bin/python2.7
eine Reihe wichtiger Daten zu speichern, /usr/lib/python2.7
und Sie müssen mehrere Änderungen an Ihrem System vornehmen, /boot/initrd
damit dies funktioniert.
Der Bootvorgang wird /scripts/local-top/cryptroot
vom initrd-Stammverzeichnis aus aufgerufen. Dabei wird normalerweise das Tool aufgerufen plymouth ask-for-password --prompt
. Dieses wird verwendet, um den Benutzer nach der Passphrase zu fragen, bevor die grafische Benutzeroberfläche gestartet wird. Diese Passphrase wird wiederum an cryptsetup weitergeleitet.
Wenn Sie diesen Ansatz trotzdem weiterverfolgen möchten, können/sollten Sie eine Konfigurationsdatei im Konfigurationsverzeichnis verwenden, /etc/initramfs-tools/
um einen neuen Wert für sich selbst zu konfigurieren, cryptkeyscript
anstatt das Skript /usr/share/initramfs-tools/scripts/local-top/cryptroot
direkt zu hacken. Dadurch wird die Installation von Betriebssystemverteilungsupdates später weniger umständlich.
Weitere Informationen finden Sie in der Dokumentation der Pakete initramfs-tools, cryptsetup und plymouth. Außerdem können Sie einen Blick in das cryptroot
oben erwähnte Shell-Skript werfen.