- Sicherung
- Neu formatieren
- Wiederherstellen
cryptsetup luksRemoveKey
würde einen Verschlüsselungsschlüssel nur entfernen, wenn Sie mehr als einen hätten. Die Verschlüsselung wäre immer noch da.
Der Fedora Installation_Guide Abschnitt C.5.3 erklärt, wie luksRemoveKey
funktioniert.
Dass es "unmöglich" ist, die Verschlüsselung zu entfernen, während der Inhalt erhalten bleibt, ist nur eine fundierte Vermutung. Ich stütze das auf zwei Dinge:
- Weil der LUKS-Container ein Dateisystem oder LVM oder was auch immer hat Darüber hinaus würde das bloße Entfernen der Verschlüsselungsschicht die Kenntnis der Bedeutung erfordern der darauf gespeicherten Daten, die einfach nicht verfügbar sind. Außerdem wäre eine Anforderung, dass das Überschreiben eines Teils des LUKS-Volumes mit seinem entschlüsselten Gegenstück den Rest des LUKS-Inhalts nicht beschädigen würde, und ich bin mir nicht sicher, ob dies möglich ist.
- Die Implementierung würde ein Problem lösen, das so weit wie möglich vom Zweck von LUKS entfernt ist, und ich halte es für sehr unwahrscheinlich, dass sich jemand die Zeit dafür nehmen würde, anstatt etwas "Sinnvolleres" zu tun.
Wenn Sie eine Passphrase von einer LUKS-Partition entfernen, müssen Sie zunächst die Festplattenpartition angeben, auf der sie sich befindet, wie zum Beispiel:
cryptsetup luksRemoveKey /dev/sda2
Und wenn Sie den Status von einem LUKS-verschlüsselten Gerät abrufen möchten, müssen Sie sich wie gewohnt auf den LUKS-Namen beziehen.
Aber luksRemoveKey entfernt nur eine der Passphrasen (und niemals die letzte). Wenn Sie dauerhaft entschlüsseln möchten, müssen Sie cryptsetup-reencrypt:
verwendencryptsetup-reencrypt --decrypt /dev/sda2
Das Entfernen von Key-Slots ist wie das Vergessen eines Passworts, es hat nichts damit zu tun, das LUKS-Gerät durch das darin enthaltene Dateisystem zu ersetzen.
Sie KÖNNEN die LUKS-Verschlüsselung zerstörungsfrei von einem Gerät entfernen, ohne es sichern, neu formatieren und wiederherstellen zu müssen. . cryptsetup
unterstützt dies seit Version 1.5.0, veröffentlicht im Jahr 2012.
Nach erfolgreicher Entschlüsselung eines LUKS-Geräts wird das darin enthaltene Dateisystem für das Betriebssystem verfügbar und Sie können es direkt einhängen.
Warnung: Das ist gefährlich, sichern Sie zuerst alle Ihre Daten.
Für LUKS1:
- Starten Sie von einem USB-Stick
- Verwenden Sie `cryptsetup-reencrypt --decrypt
Für LUKS2:
- Starten Sie von einem USB-Stick
- Konvertieren Sie alle Schlüsselsteckplätze, um LUKS1-kompatible Parameter mit
cryptsetup luksChangeKey --pbkdf pbkdf2 <device_path>
zu verwenden - Konvertieren Sie das LUKS2-Gerät mit
cryptsetup convert --type luks1 <device_path>
in ein LUKS1-Gerät - Führen Sie die Entschlüsselung mit `cryptsetup-reencrypt --decrypt
Ich habe beide getestet und sie funktionieren.
Aktuelle Versionen von cryptsetup behaupten, die direkte Entschlüsselung von LUKS2-Geräten zu unterstützen. Dieser Befehl ist cryptsetup --reencrypt --decrypt --header HEADER_FILE <device_path>
. die --header
Das Argument ist erforderlich, da die Befehle davon ausgehen, dass Ihr Gerät einen getrennten Header verwendet. Wenn Sie dies tun, funktioniert es und kann die Entschlüsselung sogar online durchführen. Wenn Sie keinen getrennten Header verwenden (ziemlich häufig) und versuchen, entweder einen Dump des Headers bereitzustellen oder das Blockgerät selbst als --header
zu übergeben Wert, cryptsetup
wird leise fortfahren und wenn es fertig ist, haben Sie am Ende ein LUKS2-Gerät, das keine Schlüsselsteckplätze hat, und Ihre Daten sind weg. Dies ist ab Version 2.3.3 (2020), es kann sich in zukünftigen Versionen ändern.
Meine Empfehlung ist, den sichereren LUKS2->LUKS1->Decrypt-Pfad zu verwenden, von dem ich bestätigen kann, dass er den Job macht.