Bestimmen Sie, in welchem ​​Luks-Slot sich eine Passphrase befindet

15

Ich habe eine luks-verschlüsselte Partition, die durch eine Passphrase und eine Schlüsseldatei geschützt war. Die Schlüsseldatei war für den routinemäßigen Zugriff bestimmt, und die Passphrase befand sich in einem versiegelten Umschlag für Notfälle. Mai Monate vergingen und ich habe versehentlich die Schlüsseldatei zerkleinert, sodass ich sie mithilfe der Passphrase aus dem Umschlag wiederhergestellt habe. Jetzt möchte ich wissen, dass ich zwei aktive Schlüsselslots habe, aber ich weiß nicht, welche die Passphrase für die nutzlose Schlüsseldatei enthält und welche meine Notfallpassphrase enthält. Wenn ich das falsche entferne, gehen natürlich alle Daten auf dem Laufwerk verloren.

#cryptsetup luksDump /dev/sda2
LUKS header information for /dev/sda2

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha256
Payload offset: 4096
MK bits:        256
MK digest:      xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
MK salt:        xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
                xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
MK iterations:  371000
UUID:           28c39f66-dcc3-4488-bd54-11ba239f7e68

Key Slot 0: ENABLED
        Iterations:             2968115
        Salt:                   xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
                                xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
        Key material offset:    8
        AF stripes:             4000
Key Slot 1: ENABLED
        Iterations:             2968115
        Salt:                   xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
                                xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 
        Key material offset:    264
        AF stripes:             4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Huckle
quelle
2
Es stellt sich heraus, dass Sie luksKillSlotnach einer Passphrase von einem anderen Steckplatz gefragt werden, sodass es nicht riskiert wird, den letzten Schlüssel zu zerstören, den Sie haben. Ich glaube jedoch, dass die ursprüngliche Frage immer noch gültig ist.
Huckle

Antworten:

14

Wie Sie herausgefunden haben, können Sie anhand cryptsetup luksDumpder Tasten sehen, welche Tastensteckplätze über Tasten verfügen.

Sie können die Passphrase für einen bestimmten Steckplatz mit überprüfen

cryptsetup luksOpen --test-passphrase --key-slot 0 /dev/sda2 && echo correct

Dies ist erfolgreich, wenn Sie die richtige Passphrase für den Schlüsselsteckplatz 0 eingeben, und schlägt andernfalls fehl (einschließlich, wenn die Passphrase für einen anderen Schlüsselsteckplatz korrekt ist).

Wenn Sie eine der Passphrasen vergessen haben, können Sie nur durch Eliminieren herausfinden, in welchem ​​Steckplatz sich diese befindet. Wenn Sie zwei der Passphrasen vergessen haben, können Sie nicht feststellen, welche Passphrasen welche sind.

Um die vergessene Passphrase zu entfernen, können Sie cryptsetup luksKillSlot /dev/sda2 0die Passphrase, an die Sie sich erinnern , sicher ausführen und eingeben. Um einen Schlüsselschlitz zu wischen, cryptsetuperfordert das Passwort für einen anderen Schlüsselschlitz, zumindest , wenn es nicht im Batch - Modus ausgeführt wird (dh keine --batch-mode, --key-file=-oder eine gleichwertige Option).

Gilles 'SO - hör auf böse zu sein'
quelle
6

Eine einfachere Möglichkeit (jetzt?) Besteht darin, den Befehl mit der --verboseOption zu verwenden, jedoch ohne die folgende anzugeben --key-slot:

# cryptsetup --verbose open --test-passphrase /dev/sda2
Enter passphrase for /dev/sda2: 
Key slot 4 unlocked.

Es wird automatisch nach dem richtigen Slot gesucht, ohne dass Sie nach dem richtigen suchen müssen :)

ratnoz
quelle