システム上のさまざまな暗号化ソリューションをベンチマークする最良の方法

システム上のさまざまな暗号化ソリューションをベンチマークする最良の方法

システムを暗号化するためのさまざまな暗号化ソリューションを比較したいと考えています。システムのさまざまな部分 ( や など) に対して、さまざまなソリューションを比較します/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/秒でした。

関連情報