
システムを暗号化するためのさまざまな暗号化ソリューションを比較したいと考えています。システムのさまざまな部分 ( や など) に対して、さまざまなソリューションを比較します/usr
。特に、さまざまなパラメータを使用して、dm-crypt パーティション、コンテナー、truecrypt、ecryptfs、encfs を調べます。いくつかの理由から、 を使用して生のシーケンス読み取りおよび書き込み速度を測定するだけでは不十分である/home
と考えています。dd
- seq 読み取り/書き込みでは CPU 負荷が異なります。たとえば、ecryptfs は 1 つのコアのみ (最大 100%) をロードしますが、dm-crypt は高速ですが両方のコアをロードします。そのため、実際の使用では、システムが他のアプリケーションから負荷を受けている場合は ecryptfs の方が高速になる可能性があります (そうではないかもしれませんが、これをベンチマークするにはどうすればよいですか)。
- すべては SSD に関することなので、どのオプションでシステムの応答性が高くなるかを示すベンチマークが必要です。そのため、ランダムな読み取り書き込みテストなどを含める必要があります (ただし、その方法がわかりません)。
- のソリューションをベンチマークする場合、I/O特性が異なる可能性があるため
/usr
、 とは異なるベンチマークが必要になる場合があります。/home
私の CPU は AES 命令をサポートしていないため、パフォーマンスの制限要因になっていることを付け加えておきます。システムの一部を分離するのではなく、特定のシステム内の SSD のさまざまな暗号化ソリューションを比較したいのです。では、私のケースでベンチマークを行う最適な方法と、それを詳細に行う方法は何でしょうか?
答え1
内蔵はどうですかcryptsetup benchmark
?
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 633198 iterations per second
PBKDF2-sha256 329326 iterations per second
PBKDF2-sha512 216647 iterations per second
PBKDF2-ripemd160 474039 iterations per second
PBKDF2-whirlpool 248713 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 707.0 MiB/s 3120.9 MiB/s
serpent-cbc 128b 98.3 MiB/s 307.2 MiB/s
twofish-cbc 128b 195.0 MiB/s 381.7 MiB/s
aes-cbc 256b 513.8 MiB/s 2373.9 MiB/s
serpent-cbc 256b 97.4 MiB/s 315.1 MiB/s
twofish-cbc 256b 198.8 MiB/s 383.9 MiB/s
aes-xts 256b 2706.1 MiB/s 2634.1 MiB/s
serpent-xts 256b 318.0 MiB/s 310.4 MiB/s
twofish-xts 256b 370.5 MiB/s 380.1 MiB/s
aes-xts 512b 2083.2 MiB/s 2073.8 MiB/s
serpent-xts 512b 323.0 MiB/s 311.4 MiB/s
twofish-xts 512b 375.9 MiB/s 380.2 MiB/s
通常は、AES 暗号のいずれかを使用します。現在システムが AES-NI をサポートしていなくても、次のボックスでは...
答え2
確認するボニー++探しているテスト/結果が得られます。Bonnie++ はディストリビューションのリポジトリから入手できる可能性があります。
この記事、SSD Linux ベンチマーク: ファイルシステムと暗号化方式の比較あなたにとっても興味深いかもしれません。
答え3
あなたが挙げたソリューションは、実際に何をするかという点で大きく異なります。dm-cryptはファイルシステム全体の暗号化ですが、ecryptfs/encfsはファイルシステムの上位にあります。セキュリティが必要な場合は、まず何あなたが本当に望んでいることだけではどうやってそれを実行するために。
とはいえ、CPU がボトルネックになっても驚かないでください。CPU は AES-NI をサポートしていないため、パフォーマンスは、たとえば私が 1 年ほど前にたまたまテストした Intel Core2 Duo と同程度であると考えられます。カーネル内の暗号モジュールの速度は、使用される暗号とブロック サイズ (Twofish、AES、Serpent、Camellia、ブロック サイズ 128/192/256b) に応じて、およそ 38MB/秒±10MB/秒でした。