Schlüsselableitung
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Hinweis:
Alle folgenden Befehle benötigen Root-Rechte. Man sollte also entweder immer sudo vor das betreffende Kommando setzen oder mit sudo -s Root-Status erlangen!
Diese Anleitung geht auf die Konfiguration und Einbindung von verschlüsselten LUKS-Datenträgern mittels des Decrypted-Derived-Scripts ein. Es handelt sich um ein Skript, welches den Schlüssel aus einem bereits entschlüsselten LUKS-Gerät (dem Ursprungsgerät) generiert und es somit ermöglicht, mit einem Passwort mehrere verschlüsselte Datenträger zu öffnen. Der Vorteil ist, dass kein Passwort im Klartext auf der Festplatte gespeichert werden muss.
Vorbereitung¶
Die Vorbereitung ist identisch mit der des LUKS-Artikels. Dieser sollte zuerst einmal durchgearbeitet und verstanden werden.
Mit <Name des Ursprungsgeräts>
ist im Folgenden der Mapper-Name gemeint. Also der, der unter /dev/mapper/ angezeigt wird, z.B. root. Das Ursprungsgerät muss folglich vorher geöffnet werden.
Einrichtung¶
Achtung!
Sollte das Ursprungs-LUKS-Gerät beschädigt oder gelöscht werden, könnten die davon abgeleiteten LUKS-Datenträger nicht mehr geöffnet werden. Deshalb sollte zu jedem ein zusätzliches, bekanntes Passwort hinzugefügt werden. Siehe dazu Sicherheitsschlüssel anlegen.
Bestehendes LUKS-Gerät¶
Soll ein bestehendes LUKS-Gerät mit einem abgeleiteten Schlüssel geöffnet werden können, müssen die drei folgenden Befehle ausgeführt werden [2]:
mkdir /mnt/ram && mount -t ramfs -o size=1m ramfs /mnt/ram && chmod 600 /mnt/ram /lib/cryptsetup/scripts/decrypt_derived <Name_des_Ursprungsgeräts> > /mnt/ram/tmp.key && cryptsetup luksAddKey <Gerät> /mnt/ram/tmp.key && rm /mnt/ram/tmp.key umount /mnt/ram && rmdir /mnt/ram
Das ursprüngliche Passwort ist einzugeben.
Neues LUKS-Gerät¶
Hinweis:
Es ist aus Sicherheitsgründen empfehlenswert die Partition ein mal mit Zufallszahlen zu überschreiben, vor allen Dingen, wenn auf dieser vorher unverschlüsselte Daten gespeichert waren. [5] Ansonsten sind unter Umständen viele Dateien nach dem Verschlüsseln noch auslesbar.
Soll ein neues LUKS-Gerät mit einem abgeleiteten Schlüssel erzeugt werden, wird folgender Befehl eingesetzt [2]:
Achtung!
Alle bisherigen Daten auf dem betreffenden Gerät gehen verloren!
/lib/cryptsetup/scripts/decrypt_derived <Name_des_Ursprungsgeräts> | cryptsetup -c aes-xts-plain64 -s 512 luksFormat <Gerät>
Sicherheitsschlüssel anlegen¶
Damit im Falle einer Beschädigung der Ursprungspartition kein vollständiger Datenverlust droht, wird ein Sicherheitsschlüssel angelegt:
cryptsetup luksAddKey <Gerät>
Öffnen¶
Zum Öffnen der abgeleiteten LUKS-Geräte muss vorher das Ursprungsgerät freigeschaltet werden [1].
Manuell¶
Mit diesem Befehl wird das abgeleitete LUKS-Gerät geöffnet [2]:
/lib/cryptsetup/scripts/decrypt_derived <Name Des Ursprungsgeräts> | cryptsetup luksOpen <Gerät> <Name>
Beim Startvorgang¶
Zum Öffnen eines abgeleiteten LUKS-Geräts beim Systemstart wird die folgende Zeile in angepasster Form [3] an die Datei /etc/crypttab angehängt [4].
<Name> UUID=<UUID> <Name des Ursprungsgeräts> luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
Anschließend müssen noch mit folgendem Befehl die Startdateien aktualisiert werden:
update-initramfs -u -k all
Entfernen¶
Um den abgeleiteten Schlüssel wieder zu entfernen, muss man dessen Speicherplatz löschen:
cryptsetup luksKillSlot <Gerät> <Speicherplatz>
Alternativ:
cryptsetup luksDelKey <Gerät> <Speicherplatz>
Das vorhandene Kennwort des LUKS-Gerätes ist jeweils einzugeben.