ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Schlüsselableitung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

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.

Neues LUKS-Gerät

Hinweis:

Es ist aus Sicherheitsgründen empfehlenswert den Beginn der Partition ein Mal mit Zufallszahlen zu überschreiben, wenn auf dieser vorher unverschlüsselte Daten gespeichert waren. [5] Ansonsten sind unter Umständen Reste dieser Daten 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> 

Bestehendes LUKS-Gerät

Soll einem bestehenden LUKS-Gerät ein abgeleiteter Schlüssel hinzugefügt werden, erfordert dies einen kleinen Umweg.

Bei dem Schlüssel handelt es sich um eine hexadezimale Zahl mit 128 Stellen, die Teil der im LUKS-Header gespeicherten Informationen ist. Der Befehl dmsetup table --showkey <Name des Ursprungsgeräts> zeigt diese Zahl neben anderen Informationen an. Der Befehl awk '{print$5}' gibt nur diese Zahl aus, und der Befehl tr -d '\n' löscht die durch den Print-Befehl angefügte Zeilenschaltung. Um den abgeleiteten Schlüssel hinzuzufügen gibt man den folgenden Befehl ein und wird nach einer aktuellen Passphrase zur Bestätigung gefragt:

cryptsetup luksAddKey <Gerät> <(dmsetup table --showkey <Name_des_Ursprungsgeräts>  | awk '{print$5}' | tr -d '\n' ) 

Ö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> 

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> 

Existiert für ein Gerät nur der abgeleitete Schlüssel, kann man damit die meisten Befehle authentifizieren, für das Hinzufügen eines Schlüssels mittels luksAddKey funktioniert dies aber nicht. Stattdessen wird hierfür der Masterkey des entschlüsselten Gerätes benutzt, der mit dmsetup und awk ausgelesen und mit xxd -r -p ins Binärformat gewandelt wird. <Name> ist in diesem Fall der Mapper-Name des neu erstellten und geöffneten Geräts, wie er unter /dev/mapper/ angezeigt wird, nicht zu verwechseln mit <Name des Ursprungsgeräts>. Nach Eingabe von

 cryptsetup luksAddKey <Gerät> --master-key-file <(dmsetup table --showkey <Name> | awk '{print$5}' | xxd -r -p) 
  

wird man aufgefordert, eine weitere Passphrase einzugeben.

Beim Startvorgang

Ab Ubuntu 15.04 sind unbedingt die zusätzlichen Hinweise unter System verschlüsseln/Schlüsselableitung (Abschnitt „etc-crypttab-editieren“) im Abschnitt "/etc/crypttab editieren" zu beachten.

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.

Diese Revision wurde am 16. Dezember 2016 19:23 von lionlizard erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Installation, System, Sicherheit, ungetestet