Ausführen von Python zum Entsperren der Luks-Vollplattenverschlüsselung

Ausführen von Python zum Entsperren der Luks-Vollplattenverschlüsselung

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.7eine Reihe wichtiger Daten zu speichern, /usr/lib/python2.7und Sie müssen mehrere Änderungen an Ihrem System vornehmen, /boot/initrddamit dies funktioniert.

Der Bootvorgang wird /scripts/local-top/cryptrootvom 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, cryptkeyscriptanstatt das Skript /usr/share/initramfs-tools/scripts/local-top/cryptrootdirekt 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 cryptrootoben erwähnte Shell-Skript werfen.

verwandte Informationen