LUKS/dm-crypt-Passwort vergessen

None

Festplattenverschlüsselung ist unter Linux ein effektiver Weg, die Daten gegen unbefugten Zugriff zu sichern. Was allerdings tun, wenn das Passwort vergessen wurde?

Für diesen eher unschönen Fall gibt es eine Anleitung von Red Hat und eine ausführlichere Erklärung im StackExchange.

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.

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.

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.

Keine Kommentare

Kommentar verfassen