SSDドライブのフルディスク暗号化は、その寿命を縮めますか?


55

フルディスク暗号化の展開では、コンピューターを起動およびシャットダウンするたびに追加の書き込みが発生すると想定しています。ソリッドステートディスクは、障害発生前の書き込みの平均容量が低いと見なされるため、フルディスク暗号化ソリューションは、展開先のディスクの予想寿命を短くすることができますか?

私の仮定が間違っている場合、これは議論の余地があると思います。前もって感謝します。


これは、superuser.com

1
@JarrodRobersonこの質問ですか?superuser.com/questions/39719/...いずれにせよ、関連の質問はすべて、悪い答えを持っているので、私は近くないそれらそれらのdupesとしてだろう
イヴォFlipse

@IvoFlipse 核心私は、重複状態としてフラグを立て、質問の「...これは効果的に完全に使用される状態にドライブを入れて、ウィルどのようにこの効果は、ドライブのウェアレベリングとパフォーマンスだろうか? ...」まさにこれです同じ質問。

回答:


49

暗号化はアダプターと考えてください。データは単に書き込まれる前にエンコードされるか、読み取られる前にデコードされます。唯一の違いは、暗号化/復号化に使用するために、ある時点で(通常はドライブ/ドライバーが初期化されるときに)キーが渡されることです。

基本パターンを示すために一緒に投げた(大まかな)グラフィックは次のとおりです。

完全なドライブ暗号化を示す概略図

ご覧のとおり、データをプラッタに書き込む前に暗号化モジュールがデータを暗号化し、読み取りを実行したプロセスに送信する前にデータを復号化するため、追加の読み取りまたは書き込みを実行する必要はありません。

暗号化モジュールの実際の場所はさまざまです。ソフトウェアドライバーでも、システム内のハードウェアモジュール(コントローラー、BIOS、TPMモジュールなど)、またはドライブ自体でもかまいません。いずれの場合でも、モジュールは、ファイル操作を実行するソフトウェアとドライブのプラッター上の実際のデータとの間の「通信の途中」にあります。


24
この答えは論理的に間違っています!OSが一度に暗号化するブロック数に依存します。一度に4Kを暗号化すると、バイトを変更するだけでSSDへの8つの512バイトブロックへの書き込みが発生し、暗号化なしでは、OS(最適化が最適な場合)は1つの512バイトブロックのみに書き込む必要があるとします。そのため、暗号化により8倍のディスク書き込みが追加されます。実際には、OSは暗号化に適切なブロックサイズを選択する場合がありますが、答えはこの問題に対処せず、そのことを主張しません。したがって、実際にはこの答えは正しいかもしれませんが、論理的には間違っています。少なくとも不完全です。
イカンド

21
@icando、これは一般的な単純化です。また、あなたが話しているのはストリーム暗号です。最も一般的で人気のあるフルディスク暗号化プログラムであるTrueCryptはブロック暗号を使用します。不十分な設計のフルディスク暗号化システムを指摘できる場合、および/またはそのような影響を与えるストリーム暗号を使用する場合は、そうしてください。喜んで答えを説明します。
Synetech

1
暗号化モジュールがドライブ自体にある場合、SSDの性質が考慮されていることを確認できます(それ以外の場合、mfgはダムであり、払い戻しが必要です)。モジュールがBIOSにある場合、必要に応じて簡単に更新して、より良いアルゴリズムを含めることができます。
Synetech

1
ソフトウェアに関しては、更新がさらに簡単です。たとえばTrueCryptは、SSDの摩耗[1] [2]に関して分析更新されており、主な問題は摩耗ではなく、攻撃に対して脆弱である可能があることです。
Synetech

9
ディスク全体の暗号化に関する懸念は、通常、セキュリティ上の理由からDISCARD / TRIMが無効になっていることです。すべてのSSDドライブは論理的な4kbブロックサイズを持ち、このレイヤーの下の実際の基礎となる実装は、8kbページサイズとして表示される新しいドライブであっても、ほとんどの製造業者によって秘密にされています。ファームウェアが書き込みを連結して正しいことをするという懸念はないため、暗号化が8X書き込みよりはるかに少ないものを追加するという主張は、暗号化とファイルシステムおよびファームウェア書き込み戦略の無知です。

23

簡単な答え:
ディスクコントローラーが圧縮を使用しない場合、Synetechの答えは正解であり、暗号化は何も変更しません。コントローラが圧縮を使用する場合、暗号化はおそらくディスクの寿命を縮めます(暗号化が使用されていない同一のディスクと比較して)。

長い答え:
一部のSSDコントローラーは、実際のフラッシュチップに書き込まれるデータ量を最小限に抑え、読み取りパフォーマンスを向上させるために圧縮を使用します(SandForceコントローラーが主な例です。これは、ディスクに書き込まれたデータが簡単に圧縮できる場合に最適です。テキストファイル、実行可能ファイル、非圧縮イメージ(BMPなど)は通常かなり圧縮できますが、データはコントローラーの圧縮アルゴリズムに対してほぼ完全にランダムに見えるため、既に圧縮または暗号化されているファイルはほとんど圧縮できません。

Tom's Hardwareは、これについてIntel SSD 520で正確にテストしました。http://www.tomshardware.com/reviews/ssd-520-sandforce-review-benchmark,3124-11.htmlで見つけることができます

基本的には、完全に圧縮可能なデータと完全にランダムなデータを書き込む際に、ドライブの書き込み増幅(フラッシュに書き込まれるデータの量とドライブに送信されるデータの量の比率)を測定します。完全にランダムなデータの場合、書き込み増幅は2.9 *です。つまり、ディスクに送信されるデータのGBごとに、2.9 GBがフラッシュに書き込まれます。記事では、これは圧縮を使用していないドライブで測定した数値とほぼ同じであるようだと指摘しています。完全に圧縮可能なデータの場合、比率は0.17であり、かなり低い値です。

データが暗号化されない限り、通常の使用はおそらく中間のどこかになります。この記事の寿命予測はややアカデミックですが、暗号化がSandForceコントローラーを搭載したSSDの寿命に確実に影響する可能性があることを示しています。これを回避する唯一の方法は、圧縮が行われた後にコントローラー自体が暗号化を実行できる場合です。

*この記事では、2.9が通常の値と見なされる理由を明記していないため、実際には調査していません。論理的な説明としては、ほとんどのSSDはビットエラーが発生しやすいMLC NANDを使用している可能性があります(正しくリコールすると、書き込み中に消去ブロックの他の部分でビットフリップが発生する可能性があります)。これを修正するために、データはおそらくいくつかの場所に書き込まれるため、リカバリまたは修正は常に可能です。


暗号化されたデータは大きくなく、暗号化されているだけで、暗号化によってデータのサイズが大きくなることはありません。2012年に自動圧縮ファイルシステムを使用するのは誰ですか?

6
@JarrodRoberson:SandForce SSDコントローラーはデータを圧縮して書き込みを最小限にします。他の例もあります。
ジョンバーソロミュー

@JohnBartholomew私が言った、ファイルシステムは、ディスクコントローラーの前にあります。無関係な点として、SandForce圧縮スキームは、おそらく「非圧縮」または「事前圧縮」されたデータを検出し、書き込みを最小限にしようとする試みでそれを圧縮しません。これは秘密であり、確実にはわかりません。いずれにせよ、それはより多くのスペースを占有せず、その特定のケースではより多くの時間を占有します。

1
@JarrodRoberson:ポイントは、コントローラーがすべてを圧縮しようとすると、ディスクに送信するすべてのデータが暗号化されている場合、パフォーマンス(時間スペース)が悪化することです。コントローラーはデータが非圧縮性であることを検出するのに時間を浪費するため、時間が経つにつれて悪化し、ディスクに暗号化されていない(したがって、場合によっては圧縮可能な)データを与えることに比べてスペースが悪化します。
ジョンバーソロミュー

4
@JarrodRoberson:書き込みが少なくてもメリットが得られないということは、OPが求めていたものとまったく同じように聞こえ、暗号化が使用されていることの直接的な結果です。
レオ

6

完全なディスク暗号化では、暗号化レイヤーがファイルシステムとともに保存する必要があるメタデータ(ごくわずかです)を除き、ディスクに書き込まれるデータの量は増加しません。4096バイトを暗号化すると、4096バイトが書き込まれます。


1

答えは、「フルディスク暗号化」の意味によって異なります。

すべてのファイルとファイルシステムのメタデータがディスク上で暗号化されることを単に意味する場合、いいえ、それはSSDの寿命に影響を与えません。

ただし、従来の「未使用領域を含むディスクのコンテンツ全体が暗号化されている」ことを意味する場合、はい、おそらく大幅に寿命が短くなります。

SSDデバイスは、「ウェアレベリング」を使用して書き込みをデバイス全体に分散し、いくつかのセクションが早まって使い古されるのを防ぎます。特定のセクターのデータが使用されなくなった(「破棄された」)場合、最新のファイルシステムドライバーがSSDに具体的に通知するため、SSDはそのセクターをゼロに戻し、どのセクターでも使用を続行できるためです。次の書き込みの使用量が最小です。

従来のフルディスク暗号化スキームでは、未使用のセクターはありません。データを含まないものは暗号化されたままです。そうすれば、攻撃者はディスクのどの部分にデータがあり、どの部分が単なるランダムノイズであるかを知らないため、復号化がはるかに困難になります。

SSDでこのようなシステムを使用するには、2つのオプションがあります。

  1. ファイルシステムが引き続き破棄を実行できるようにします。この時点で、データのないセクターは空になり、攻撃者は自分の努力をデータだけに集中させることができます。
  2. ファイルシステムが破棄を実行することを禁止します。この場合、暗号化はまだ強力ですが、今では大幅なウェアレベリングを実行できません。そのため、ディスクの最も使用されているセクションが摩耗し、潜在的に残りの部分よりもかなり先になります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.