Cryptsetupが完全に暗号化されたSSD(_SanDisk SSD U100 128GB
_)を作成するための推奨オプションを探しています。
_Timing O_DIRECT disk reads: 1476 MB in 3.00 seconds = 491.81 MB/sec
Timing buffered disk reads: 1420 MB in 3.00 seconds = 473.01 MB/sec
_
私のベンチマークは私に最高の暗号を示しています:
_# cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 103696 iterations per second
PBKDF2-sha256 59904 iterations per second
PBKDF2-sha512 38235 iterations per second
PBKDF2-ripemd160 85111 iterations per second
PBKDF2-whirlpool 47216 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 133.2 MiB/s 432.0 MiB/s
serpent-cbc 128b 18.1 MiB/s 67.3 MiB/s
twofish-cbc 128b 39.3 MiB/s 73.0 MiB/s
aes-cbc 256b 99.6 MiB/s 337.7 MiB/s
serpent-cbc 256b 18.1 MiB/s 66.9 MiB/s
twofish-cbc 256b 39.4 MiB/s 72.6 MiB/s
aes-xts 256b 376.6 MiB/s 375.0 MiB/s
serpent-xts 256b 69.0 MiB/s 66.5 MiB/s
twofish-xts 256b 71.1 MiB/s 72.2 MiB/s
aes-xts 512b 297.0 MiB/s 300.1 MiB/s
serpent-xts 512b 69.6 MiB/s 66.6 MiB/s
twofish-xts 512b 71.9 MiB/s 72.7 MiB/s
_
しかし、おそらく、私のパフォーマンスとセキュリティを向上させるいくつかのオプションを提案できます。私のCPUはIntel(R) Core(TM) i7-2677M CPU @ 1.80GHz
で、AES-NI(aes
cpuフラグ)をサポートしています。
ありがとうございました
SHA-512でPBKDF2を使用したい場合があります。この手順では、passwordを暗号化キーに変換します(多かれ少なかれ直接)。これは本質的に オフライン辞書攻撃 に対して開かれており、 パスワードハッシュ に関連しています。そのためには、アルゴリズムと反復回数を選択することで攻撃者の労力を最大化し、攻撃者が耐えられるようにしながら、攻撃者にとってタスクを最も困難にします。ここで「許容できる」とは、起動時にパスワードを入力するときの忍耐力によって異なります。
攻撃者は [〜#〜] gpu [〜#〜] や [〜#〜] fpga [〜#〜] を使用して攻撃を高速化する必要があります、通常のPCを使用している間。今日では、通常のPCは64ビットの算術演算で簡単に操作でき、SHA-256とほぼ同じ速度でSHA-512を実行します。ただし、GPUは32ビット操作を優先し、FPGAへのマッピングは64ビット操作よりも簡単です。したがって、SHA-256の代わりにSHA-512を使用することで、攻撃者にとってのメリットが少なくなります。したがって、私の推奨:最新のハードウェアでは、パスワードのハッシュには、SHA-256よりもSHA-512を優先します。
パスワードの処理にかかる時間が耐えられるしきい値になるように、「反復回数」を調整することを忘れないでください。反復回数が多いほど処理時間が長くなりますが、セキュリティ上は比例して優れています。
実際の暗号化には、ディスク暗号化を効率的にサポートするように設計された [〜#〜] xts [〜#〜] が必要です。これは確かにベンチマークで示されています。これはSSD向けであり、暗号化が基盤となるハードウェアよりも遅くなることを望まない。 XTSは鍵を2つに分割し、そのうちの1つだけが実際の暗号化に使用されることに注意してください。言い換えると、256ビットのキーを持つ "aes-xts
"は、実際にはAES部分に128ビットを使用します。そして、それは 十分良い です。 256ビットのキー、つまり「aes-xts
」のコンテキストでは512ビットに移動する必要はありません。 AESの256ビットキーは、ある程度のCPUオーバーヘッドを意味します。これは、ベンチマークで十分に観察されます(300 MB /秒vs 375 MB /秒)。 SSDの内部では、高速な暗号化システムが本当に必要なので、それを実行してください。
上記の動作モードの任意の組み合わせにより、ほとんどの脅威に対する十分なセキュリティが提供されます。とはいえ、特定の情報漏洩攻撃のため、CBC
は推奨されなくなりました。そしてSHA1
はSHA2
家族。
いつものように、暗号化と同様に、広く使用され、証明されているものに固執します。したがって、私の全体的な推奨事項は次のようになります:PBKDF2-sha256 aes-xts