Kernel 4.12 brachte, ohne große Aufmerksamkeit zu erregen das neue LUKS2 Format. Die meisten Distributionen setzen es bei Neuinstallation ein, aber viele Programme verschlüsseln noch mit LUKS1. Eine Konversion ist jedoch leicht möglich.
Aufgrund eines Kommentars hier im Blog (siehe: LUKS Volumes mit einem Wiederherstellungsschlüssel versehen) hatte ich mir das mal angesehen. Mein System ist ja noch relativ neu und deshalb natürlich mit LUKS2 verschlüsselt. Auf die externen Festplatten trifft dies jedoch nicht zu. Hier scheinen selbst aktuelle Versionen von Partition Manager und GNOME Disks noch auf LUKS1 zu setzen.
Prüfen lässt sich das leicht mit cryptsetup. Natürlich wie immer das richtige Device ansteuern. Im vorliegenden Fall war dies /dev/sda1.
# cryptsetup luksDump /dev/sda1
Code-Sprache: PHP (php)
Es kommt in etwa folgende Ausgabe:
LUKS header information for /dev/sda1
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: 4096
MK bits: 512
MK digest: 87 51 d5 12 69 a7 4e 5d 6a 56 b3 f6 5e 6b 5d ef 21 81 d6 ce
MK salt: b9 9f 9e bf 34 da ba 5f 33 10 f5 e3 c2 7b 1f 33
9e f4 6d 1c e6 cd bc 8b 48 ad 34 56 98 79 cd ce
MK iterations: 126517
UUID: 3c4624a7-2e5b-4aa3-a7b8-76e4d8dc0aa8
Key Slot 0: ENABLED
Iterations: 2024276
Salt: 93 5c b6 24 c5 47 e2 71 23 dd 57 3a d3 4a 58 9a
94 28 f9 be 41 b7 63 28 b1 8b e2 bf 84 4a 39 a6
Key material offset: 8
AF stripes: 4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Sehr prominent ist oben die Version angegeben.
Die folgenden Anleitungen können bei fehlerhafter Anwendung zu Datenverlust führen. Es ist deshalb zwingend vorher ein Backup anzulegen und die Hinweise sind sorgsam zu lesen und umzusetzen.
Anschließend die Konversion in LUKS2 vornehmen:
# cryptsetup convert /dev/sda1 --type luks2
Code-Sprache: PHP (php)
Hiernach die Abfrage bestätigen und das war es auch schon. Bei einer erneuten Abfrage sollte Version 2 in der entsprechenden Zeile stehen.
Wer mag kann zusätzlich sein Passwort in von PBKDF auf Argon2 konvertieren. PBKDF2 ist nicht unbedingt unsicher, aber Argon2 macht einem Angreifer einen Brute Force Angriff deutlich schwerer.
# cryptsetup luksChangeKey /dev/sda1 --pbkdf argon2id
Code-Sprache: PHP (php)
Zur Bestätigung muss das alte und neue Kennwort eingeben werden. Bei Bedarf kann man auch das alte Kennwort als neues Kennwort nutzen.
Kleiner Hinweis zu luksChangeKey.
Mit Argon2 sollte man (leider immer noch) vorsichtig sein.
GRUB unterstützt nur PBKDF2 in der aktuellen Version 2.12, obwohl es längst einen Fix gäbe. Seit über 6 Jahren wird das nicht gelöst: https://savannah.gnu.org/bugs/?55093. Und das, obwohl Argon2 bei LUKS2 der Standard ist.
https://wiki.archlinux.org/title/GRUB#LUKS2
https://wiki.archlinux.org/title/Dm-crypt/Device_encryption#Encrypting_devices_with_cryptsetup
Hattest du Glück und deine Distro hatte einen Fork von GRUB mit dem Fix eingebaut?
Das gilt nur, wenn man auf eine unverschlüsselte Boot-Partition verzichtet. Ich habe noch eine, weil mich der Delay bei GRUB und das englische Tastaturlayout aufgeregt hat.