LUKS-Passwort vergessen

Aus VGKB
Version vom 16. Dezember 2018, 11:47 Uhr von Viktor (Diskussion | Beiträge) (Neu angelegt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Internet-news-reader.svg Dieser Artikel wurde bereits in einem Blogartikel von vNotes behandelt.

Bei einem vergessen Passwort für die Festplattenverschlüsselung mit LUKS/dm-crypt gibt es mehrere Wege: Benutzung von mehreren Passphrasen oder Wiederherstellung mit vorhandenem Masterkey im laufenden Betrieb.

Lösungsmöglichkeiten

Multiple Passphrasen

Generell gilt: man ist dann im Vorteil, wenn man entweder mit mehreren LUKS-Keys arbeitet (ja, man kann i.d.R. bis zu 8 Passphrasen zur Entschlüsselung der Platte nutzen) und man z.B. eine besonders komplexe Passphrase irgendwo aufgeschrieben hat, täglich mit einer "Daily Passphrase" arbeitet und im Verlustfall einer dieser Passphrasen auf eine jeweils andere gültige zurückgreifen kann.

Masterkey im /dev/mapper

Ist dieser Schritt allerdings vergessen worden und die Maschine ist mit der entsperrten Festplatte noch an, hat man Glück: hier kann man einfach eine neue Passphrase hinzufügen.

Gehen wir davon aus, dass es sich bei der verschlüsselten Platte um z.B. die /dev/sda5 handelt. Das hinzufügen über

cryptsetup luksAddKey /dev/sda5

würde in einer Abfrage eines bisherigen Keys enden. Dieser ist allerdings gar nicht notwendig, wenn wir an den Masterkey kommen, der normalerweise im Betrieb unter /dev/mapper/ liegt.

Also führen wir folgendes Kommando aus:

cryptsetup luksAddKey <DEVICE> --master-key-file <(dmsetup table --showkey /dev/mapper/<MAP> | awk '{print$5}' | xxd -r -p)

und passen es mitunter auf unser Szenario an, unter DEVICE also die Platte und unter MAP die Mapper-Datei, z.B.

cryptsetup luksAddKey /dev/sda5 --master-key-file <(dmsetup table --showkey /dev/mapper/sda5_crypt | awk '{print$5}' | xxd -r -p)

Auf diese Weise lässt sich ein Key hinzufügen, ohne die bestehende Passphrase zu kennen.

Hintergrund

Der Hintergrund ist ganz einfach erklärt: LUKS/dm-crypt verschlüsselt nicht mit einer Passphrase, sondern mit einem Masterkey. Die Passphrasen in den Keyslots sind der durch die Passphrase verschlüsselte Masterkey. Um einen neuen Key nun anzulegen, muss nun der Masterkey vorliegen. Dies geschieht entweder durch Entschlüsselung einer der Keyslots oder durch den "offenen" Masterkey in der Map file.

Siehe auch