Ich habe beschlossen, meine Root-Partition mit LUKS + LVM zu verschlüsseln.
Mein ThinkPad-Setup:
- Samsung 830 128 GB SSD
- 750 GB Festplatte
- Core 2 Duo 2,5 GHz P9500
- 8 GB RAM
Aber je mehr ich lese, desto weniger verstehe ich die beiden folgenden Themen:
1a. Die Chiffre
Aufgrund dieses Zitats aus den häufig gestellten Fragen wollte ich SHA1 anstelle von 2/512 verwenden (wie einige vermuten) cryptsetup
:
5.20 LUKS ist kaputt! Es verwendet SHA-1!
Nein ist es nicht. SHA-1 ist (akademisch) defekt, um Kollisionen zu finden, aber nicht, um es in einer Schlüsselableitungsfunktion zu verwenden. Diese Kollisionsanfälligkeit ist nur für die nicht iterierte Verwendung vorgesehen. Und Sie brauchen den Hash-Wert wörtlich.
Dies bedeutet im Grunde, dass Sie (möglicherweise) eine andere Passphrase ableiten können, die Ihnen denselben Steckplatz gibt, wenn Sie bereits einen Slot-Schlüssel haben und die PBKDF2-Iterationszahl auf 1 gesetzt haben (normalerweise> 10'000). Schlüssel. Wenn Sie jedoch den Steckplatzschlüssel haben, können Sie den Schlüsselsteckplatz bereits entsperren und den Hauptschlüssel erhalten, wodurch alles kaputt geht. Grundsätzlich können Sie mit dieser SHA-1-Sicherheitsanfälligkeit einen LUKS-Container mit hohem Aufwand öffnen, wenn Sie ihn bereits geöffnet haben.
Das eigentliche Problem hierbei sind Leute, die Krypto nicht verstehen und behaupten, Dinge seien kaputt, nur weil ein Mechanismus verwendet wird, der für eine bestimmte andere Verwendung kaputt gegangen ist. Die Art und Weise, wie der Mechanismus verwendet wird, ist sehr wichtig. Ein Hash, der für eine Verwendung gebrochen wurde, kann für andere Zwecke völlig sicher sein, und hier ist er.
Was ich als "es hat keinen Sinn, etwas anderes als SHA-1 zu verwenden" lese. Aber dann sagen mir einige Leute, dass es nicht genau so ist. Ich weiß also nicht mehr, was ich denken soll.
1b.
Außerdem konnte ich keine Informationen finden, ob die Verschlüsselung einen Einfluss auf die Lese- / Schreib- / Suchleistung der Festplatte hat, sobald die Festplatte entsperrt und das System angemeldet ist.
Beeinflusst die Komplexität der Verschlüsselung nur die "Leistung" bei der Eingabe des Passworts oder auch während der normalen Nutzung des Systems?
2. Der Algorithmus
Ich habe seit ein paar Tagen darüber gelesen, aber je mehr ich lese, desto verwirrter werde ich. Alles, was ich lese, besagt, dass AES am schnellsten und Serpent am langsamsten ist. Aber nicht laut meinem Laptop:
$ cryptsetup benchmark
Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 344926 iterations per second
PBKDF2-sha256 198593 iterations per second
PBKDF2-sha512 129007 iterations per second
PBKDF2-ripemd160 271933 iterations per second
PBKDF2-whirlpool 134295 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 149.8 MiB/s 147.9 MiB/s
serpent-cbc 128b 51.0 MiB/s 196.4 MiB/s
twofish-cbc 128b 127.6 MiB/s 152.5 MiB/s
aes-cbc 256b 114.3 MiB/s 113.8 MiB/s
serpent-cbc 256b 51.2 MiB/s 198.9 MiB/s
twofish-cbc 256b 129.8 MiB/s 167.5 MiB/s
aes-xts 256b 153.3 MiB/s 150.6 MiB/s
serpent-xts 256b 176.4 MiB/s 184.1 MiB/s
twofish-xts 256b 160.8 MiB/s 159.8 MiB/s
aes-xts 512b 115.4 MiB/s 112.1 MiB/s
serpent-xts 512b 178.6 MiB/s 184.2 MiB/s
twofish-xts 512b 160.7 MiB/s 158.9 MiB/s
Es scheint also, dass die Schlange nicht nur die schnellste ist, sondern darüber hinaus die schnellste mit dem komplexesten Schlüssel.
Sollte es nicht umgekehrt sein? Lese ich es falsch oder so?