web-dev-qa-db-ja.com

TrueCryptはパフォーマンスの問題なしにSSDを暗号化できますか?

SSD(mSATA)でWindows 7 profを実行しています。 CPU i7-3610QMはAES-NIをサポートしています。 SSDをAESのtruecryptで暗号化したい。しかし、(a)パフォーマンスと(b)私のSSDの寿命のため、これが良いアイデアかどうかは本当にわかりません。

(a)については、AES-NIのため、暗号化は3 gb/sで機能すると思います。つまり、これはSSD暗号化に十分な速度であるはずです。

SSDの全容量を使用することは悪い考えだと聞きました。それにもかかわらず、私はこれをしました。完全な120 GBは現在、システムファイルシステムとしてフォーマットされています。完全なシステム暗号化でSSDを「破棄」しますか(ブース前認証が必要です)?

「システム予約済み」のディスク管理でマークされた最初の100 MBはどうなりますか?

15
tjati

ハードディスク暗号化はSSDの寿命を変更することは想定されていません。「暗号化」ビットは「通常」ビットより読み取りまたは書き込みが難しくなく、(適切に行われた)暗号化はデータを拡大しません。実際、SSDデバイスは、読み取りまたは書き込みが要求されるものが暗号化されているかどうかを認識していません。 1メガバイトは1メガバイトです。

編集:「空スペースの暗号化」について:これは、ディスク領域全体の書き込みパスが1つだけであることを意味します。これは定期的に行う必要はなく、1回だけです。フラッシュメモリは、障害が発生する前に約10000回書き換えることができるため、この追加の暗号化によってSSDの寿命が0.01%を超えて短くなることはありません-検出するには不十分です)。

TrueCryptの現在の状態(「公式」ソフトウェアはほとんど姿を消しました)であり、決定的な答えを得るのは困難であり、TrueCryptを推奨することさえ、今では繊細さの問題になり得ます。したがって、TrueCryptが AES opcodes を使用する、または使用しないと主張することは、ステートメントが大胆すぎる可能性があります。 この記事 は、2011年にTrueCrypt 7.0aがAES-NIをサポートし、SSD(少なくともベンチマークに使用したSSD)の速度に追随できると述べています。

一般に、パフォーマンスは測定の問題であり、説明するのではなくベンチマークする必要があります。特に人間のユーザーの視点から見た「一般的なコンピューターのパフォーマンス」のような曖昧なものについては、ユーザーの感情は生の数字と同じくらい重要です。 SSDからの主な知覚ブーストは、単一ファイルI/Oの生のスループットよりもレイテンシが大幅に削減されたことによるものです。 AES-NIでは、2 GHz CPUで1 Gバイト/秒を超える未加工の暗号化速度が可能であると推測できます。したがって、コアの半分のCPUは、まともなSSDのスループットを追跡するのに十分なはずです(私のSSDは500 MB /秒で実行され、十分まともです)。

もちろん、ディスク全体の暗号化システムをインストールすると、OSやBIOSの起動システムとの互換性がない場合、マシンが起動できなくなる可能性があります。バックアップを作成してください!そして「リカバリーディスク」を用意します。

14
Thomas Pornin

ディスク暗号化を使用する場合、データは書き込まれる前にエンコードされ、読み取られる前にデコードされます。暗号化/復号化はSSD自体ではなくRAMで行われるため、実際には、無視できる暗号化レイヤーに使用されるメタデータを除いて、追加の読み取り/書き込みはありません。

Synetech これを説明するために スーパーユーザーのグラフィック を作成:

enter image description here

*注:何らかの理由でOSまたはソフトウェアによってデータが大きなチャンクで暗号化される場合、上記のステートメントは当てはまりません。一度に4Kを暗号化し、バイトを変更するだけでSSDに512バイトブロックが8個書き込まれると仮定します。暗号化を使用しない場合、OS(最適化が適切な場合)は1 512バイトブロックに書き込むだけで済みます。この問題に対処するには、データに応じて最適なデータチャンクサイズを使用するようにソフトウェアを構成することをお勧めします(可能な場合)。

また、ディスクコントローラーがデータ圧縮を使用している場合(SandForceなどの一部のSSDコントローラーはこれを使用して読み取りパフォーマンスを向上させます)、暗号化を有効にするとディスクの寿命が短くなります。

暗号化によるリアルタイムのパフォーマンスへの影響は、ディスクのタイプ、ディスクに保存されるファイルの平均サイズ、および暗号化に使用されるアルゴリズムによって異なります。ただし、 http://anthonyvance.com/blog/security/ssd_encryption/ のベンチマークに基づくと、パフォーマンスへの影響は明らかに重要です。実際の使用でこれにどれだけ気づくかは別の話です。

これが MediaAddictedのベンチマーク です。

enter image description here

これらの結果は、TrueCryptがSSDへの書き込みを処理する方法が原因であると推測しているため、TRIMコマンドがSSDコントローラーにまったく到達できず、ドライブのパフォーマンスの低下に(プラスの)影響を与えません。私はこの理論の実際の証拠を見ていませんが。

10

TRIM機能が適切に動作し、SSDにプログラムされたガベージクリーンアップが効果的に動作するようにするには、空き領域をドライブに対して透過的にする必要があります。 TrueCryptが適切な構成なしにこれを可能にすることはないと思います。その時点で、OSを最適化して従来のハードディスクのメンテナンスを無効にする必要があります。それはそれが寿命を延ばすウェアレベリングであり、スペアセクターを使用します。それらが摩耗し始めると、ドライブに障害が発生し始めます。

Linuxには、sd_cryptと呼ばれる完全なドライブ暗号化のための非常に類似した方法があります。このソフトウェアは十分に保守されており、空き領域の透過性を提供し、TRIMとガベージコレクションがセキュリティを低下させて本来の動作をするようにする「許可破棄」などのオプションを許可します。残念ながらsd_cryptは* nix OS用です。

0
Squirrel

SSDの大きな問題の1つは、SSDがブロックを上書きできないため、すべての書き込みがerase + write操作。パフォーマンスを向上させるために、SSDコントローラーは空のブロックに書き込み、後で古いブロックを消去します。しかし、SSDがいっぱいの場合、これは不可能であり、パフォーマンスが低下します。

これについては、ここで説明します: https://superuser.com/questions/162155/does-low-disk-space-affect-ssd-performance

Truecryptを使用してボリュームを復号化すると、コントローラーの観点から、スペース全体を埋め尽くすガベージで満たされた完全なパーティションができます。データの読み取り(復号化)を認識している仮想ボリュームを介してデータにアクセスします。

これをベンチマークしないと、Truecryptで復号化されたSSD全体がパフォーマンスに影響を与えるため、スペースの15%を空のままにしておくことをお勧めします。しかし、繰り返しますが、それはSSDコントローラと完全なディスクを処理できるかどうかに完全に依存します。

まだ起動していない場合は、gparted live-cd http://gparted.sourceforge.net/livecd.php でブートボリュームを縮小できます。

0