Ist schon etwas länger her, dass ich Ubuntu 20 LTS installiert und mit LUKS (ohne die Bootpartition) verschlüsselt habe. Scheint aber automatisch argon2i zum Zuge gekommen zu sein.
Das letzte Linux bei dem man mit Bordmitteln /boot verschlüsseln durfte (Klick & Fertig) war imho SUSE 7.3… Danach war das technisch zu schwierig - um es allen Linuxern einfach so zur Verfügung zu stellen …
Calamares & Co. „können“ das heute alle nicht mehr. Auch systemd macht es nicht leichter…
Nach den politischen - komme ich nun zu den technischen Fakten. grub2 kann nicht von LUKS Partitionen booten, die argon2(i) einsetzen. Daher ist ein downgrade auf PBKDF2 angezeigt.
https://cryptsetup-team.pages.debian.net/cryptsetup/encrypted-boot.html
ist eine nette Seite, die Möglichkeiten aufzeigt ein FDE System aufzusetzen.
Wenn ich es richtig verstehe, willst du unbedingt Boot verschlüsseln als Indentitätscheck.
Nein nicht ganz … Ich will /boot verschlüsseln damit man mir nicht /root entschlüsseln kann.
Wenn Du /boot unverschlüsselt auf deinem kurzzeitig unbeaufsichtigten Rechner hast, dann kann wirklich jeder „Wirtschaftsinformatiker FH“ in Staatsdiensten - den Rechner in ein paar Minuten (per evil maid Angriff auf den Inhalt von /boot) - den Rechner mit ein paar Keylogger Beigaben versehen, die deine Verschlüsselungsbemühungen ad absudum führen.
Ja genauso mache ich das. Zudem gehe ich noch einen Schritt weiter und probiere größere Zahlen - um einfach noch mehr Aufwand in die bute force Knackaktionen zu bringen.
Ja. Zum Einen mache ich das Entschlüsseln von /boot teuer - und zum Anderen lege ich keinen root key nach /boot und gebe damit die Verschlüsselung des Rechners nach Knacken der /boot Partition auf - sondern nutze ein anderes Passphrase um /root (und andere verschlüsselte Dateisysteme) zu schützen.
Das Script habe ich mir selbst gebastelt. Es basiert auf /usr/bin/factor, das in den core utils enthalten ist.
Es wäre viel besser der Maintainer der LUKS Pakete würde die Rundenzahl per rand() Funktion aus einer Liste der von factor aussortierten Primzahlen fischen - als ziemlich gut faktorisierbare Zahlen zu nutzen - aber das ist möglicherweise - ebenso wie das standardmäßige offen lassen von /boot eine politische Entscheidung…
Jein! Ja, wenn Du eine hinreichende Zyklenanzahl hast und ein lang genuges Passphrase. Nur 20 Zeichen reine Entropie merke ich mir nicht sonderlich gut. Daher ist mein Passphrase eher länger, weil es weniger zufällig ist.
Zudem ist m.E. die Verwendung von zufällig individuell ausgewählten Primzahlen in der Kryptographie - wo möglich - immer der Verwendung von faktorisierbaren Zahlen vorzuziehen. Zumal (wie mein stümperhaftes script zeigt) der Aufwand so etwas zu nutzen - sich in sehr übersichtlichen Grenzen hält.
Der zusätzliche billige Identitätscheck in eine frühen Phase des Bootprozesses auf die Integrität von /boot ist der Tatsache geschuldet, dass Zweifel an den Unknackbarkeit von LUKS1 durchaus ernst zu nehemen sind - und auf Cloudsystemen durchaus große Schlüssel mit allerlei Tricks (gegen die u.U. auch kleine Primzahlen hilfreich sein können) und brutaler Rechenpower linear skalieren niedergerungen werden können. (Per evil maid Angriff können die Anzahl der Runden - und der Hash des Schlüssels ausgelesen werden.)
Daher ist im (für den Angreifer teuren - aber nicht unmöglichen) Fall eines Angriffs auf deine /boot Partition, ein automatisiertes Löschen der kompromitierten Schlüssel (für /root) auf dem System - und eine automatische Außerbetriebnahme des Rechners angezeigt. (luksRemoveKey ist dein Freund.)