ルートパーティションをLUKS + LVMで暗号化することにしました。
私のThinkPadセットアップ:
しかし、読むほど、次の2つの主題について理解しにくくなります。
cryptsetup
FAQからの引用のため、2/512の代わりにSHA1を使用する予定でした(一部の提案があります)。
5.20 LUKSが壊れています!SHA-1を使用しています!
いいえそうではありません。 SHA-1は、衝突を見つけるために(アカデミックに)壊れていますが、鍵導出関数で使用するためには壊れていません。そして、その衝突の脆弱性は、反復されない使用のみを目的としています。そして、あなたは逐語的にハッシュ値を必要とします。
これは基本的に、すでにスロットキーがあり、PBKDF2の反復回数を1に設定している場合(通常は> 10'000)、同じスロットを提供する別のパスフレーズを導出できることを意味します-キー。ただし、スロットキーがある場合は、すでにキースロットのロックを解除してマスターキーを取得し、すべてを壊すことができます。したがって、基本的に、このSHA-1の脆弱性により、LUKSコンテナーを既に開いている場合でも、手間をかけて開くことができます。
ここでの本当の問題は、暗号を理解せず、特定の異なる用途のために壊れたメカニズムが使用されているという理由だけで物事が壊れていると主張する人々です。メカニズムの使用方法は非常に重要です。ある用途で壊れたハッシュは、他の用途でも完全に安全である可能性があります。
「SHA-1以外は使っても意味がない」と読みました。しかし、それから何人かの人々はそれが正確にそのようではないと私に言います。だから私はもう何を考えるべきかわからない。
また、ディスクのロックが解除されてシステムにログインすると、暗号がディスクの読み取り/書き込み/シークのパフォーマンスに影響を与えるかどうかについての情報は見つかりませんでした。
では、暗号の複雑さは、パスワード入力段階の「パフォーマンス」にのみ影響しますか、それともシステムの通常の使用中にも影響しますか?
私はこれを数日から読んでいますが、読むほど混乱します。私が読んだすべてのことは、AESが最も速く、Serpentが最も遅いと言っています。しかし、私のラップトップによるとではありません:
$ 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
したがって、Serpentは最速であるだけでなく、その上、最も複雑なキーで最速であるように見えます。
それは逆ではないでしょうか?私はそれを間違って読んでいますか、それとも何か?
1a-それは本当にそれほど重要ではありません。鍵導出関数にどのハッシュを使用する場合でも、LUKSは計算コストが高くなることを確認します。 1秒のリアルタイムが経過するまでループします。
1b-鍵導出方法はパフォーマンスに影響を与えません。暗号自体はそうします。 cryptsetup benchmark
あなたに多くを示します。
2-CPUがAES-NI命令(AESのハードウェアアクセラレーション)をサポートするのに十分最新である場合、AESは最速です。あなたが今蛇と一緒に行くならば、あなたはあなたの次のラップトップのAES-NIを利用することができないかもしれません。
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 1165084 iterations per second
PBKDF2-sha256 781353 iterations per second
PBKDF2-sha512 588426 iterations per second
PBKDF2-ripemd160 726160 iterations per second
PBKDF2-whirlpool 261882 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 692.9 MiB/s 3091.3 MiB/s
serpent-cbc 128b 94.6 MiB/s 308.6 MiB/s
twofish-cbc 128b 195.2 MiB/s 378.7 MiB/s
aes-cbc 256b 519.5 MiB/s 2374.0 MiB/s
serpent-cbc 256b 96.5 MiB/s 311.3 MiB/s
twofish-cbc 256b 197.9 MiB/s 378.0 MiB/s
aes-xts 256b 2630.6 MiB/s 2714.8 MiB/s
serpent-xts 256b 310.4 MiB/s 303.8 MiB/s
twofish-xts 256b 367.4 MiB/s 376.6 MiB/s
aes-xts 512b 2048.6 MiB/s 2076.1 MiB/s
serpent-xts 512b 317.0 MiB/s 304.2 MiB/s
twofish-xts 512b 368.7 MiB/s 377.0 MiB/s
このベンチマークはストレージを使用しないため、実際に使用するストレージとファイルシステムでこれらの結果を確認する必要があることに注意してください。