So einfach ist das leider nicht. Alle gängigen Festplattenverschlüsselungen arbeiten mit einem externen Key (das ist der, den du eingibst) und einem internen Key, mit dem die eigentlichen Daten verschlüsselt werden. Wenn du "geli init" sagst, passiert grob:
- Das Kommando fragt nach deinem Passwort und liest ein eventuelles Key-File ein. Beides wird mit einander verbunden und durch eine Key Derivation Funktion geleitet, um spätere Bruteforce-Angriffe auf das Passwort zu erschweren. Das Ergebnis ist der externe Key.
- Es wird der interne Key erstellt. Das ist nur eine Reihe Zufallsdaten, die noch etwas aufbereitet werden.
- Nun wo alles vorhanden ist, wird der interne Key mit dem externen Key verschlüsselt und in die Metadaten geschrieben.
Beim Öffnen des Providers mit "geli attach" passiert genau das Gleiche:
- Du gibst dein Passwort ein und das optionale Keyfile mit. Beides wird verbunden und durch die Key Derivation Funktion geleitet. Nun liegt der externe Key vor.
- Mit dem externen Key wird der interne Key entschlüsselt.
- Der entschlüsselte interne Key wird verwendet, um die eigentlichen Daten zu ver- und entschlüsseln.
Indem der interne Key zwischengeschaltet wird, wir es möglich mehrere Passwort und Keyfiles für einen Provider zu nutzen. Und es kann später das Kennwort oder das Keyfile geändert werden, ohne alle Daten neu zu verschlüsseln. Es heißt aber auch, dass ein eventueller Angreifer theoretisch gleich den internen Key bruteforcen kann und sich für den externen Key gar nicht zu interessieren braucht. Aber natürlich sind die Aussichten ein Passwort mittels eines Wörterbuchs erfolgreich zu bruteforcen wesentlich höher, als eine Kette aus ein paar hundert Byte Zufallsdaten. Das Keyfile trägt also durchaus zu Sicherheit bei, das Passwort ist damit nicht mehr der offensichtliche Angriffspunkt.
Aber diese Sicherheitsdiskussionen um GELI, LUKS, Veracrypt und sogar Bitlocker sind grundsätzlich eher theoretischer Natur. Es gab da vor Jahren mal einen sehr passenden xkcd zu:
https://www.xkcd.com/538/ Es gibt eigentlich nur zwei Fälle. Deine Hardware wird gestohlen. In dem Fall will der Dieb die Hardware zu Geld machen, die Verschlüsselung muss also gar keinen harten Angriffen standhalten. Sie muss nur sicher genug sein, um sich nicht schnell und ohne großen Aufwand überwinden zu lassen. Oder du bekommst Ärger mit einem Angreifer, der an deine Daten will. Polizei, Geheimdienst, professionelle Datenjäger... Was man sich halt so vorstellen kann. Die sind abgebrüht genug um gar nicht erst zu versuchen den Schlüssel zu bruteforcen. Sie werden nach Fehlern in der Cryptokette oder im Key-Management suchen - unverschlüsseltes Backup, Passwort doch irgendwo aufgeschrieben - und wenn sie da nicht fündig werden sich dir zuwenden. Drogen, den 5$ Schraubenschlüssel, vielleicht die Drohung "wir könnten auch einfach Kinderpornografie auf der Platte finden und Sie gehen dafür 20 Jahre in den Bau". Was es halt so gibt.
Daher: Für normale Personen sind alle Festplattenverschlüsselungen erstmal sicher genug, solange man vernünftige Kennwörter wählt. Wenn man es mit Gegnern zu tun hat, wo das nicht mehr gilt, hat man gleich ganz andere Probleme.
