SSDなどのフラッシュベースのデバイスは過剰にプロビジョニングされており、オペレーティングシステムで利用可能なストレージの追加ブロックをアドバタイズしないことを理解しています。ストレージの過剰にプロビジョニングされたブロックは、ウェアレベリングによるデータの効果的な分散をサポートするためのものです。
私の理解が正しいと仮定すると、追加のストレージブロックがアドバタイズされていないか、オペレーティングシステムからアクセスできない場合、フルディスク暗号化はストレージの過剰プロビジョニングにどのように対応しますか?
データの配布がドライブのコントローラーに限定されている場合、暗号化されたブロックから暗号化されていないブロックにデータが流れるリスクがあります。過剰にプロビジョニングされたストレージ?
最初からディスクを暗号化する場合、最初にディスクを使用し始めるときに、これは問題ではありません。書き込むデータはすべて暗号化されており、セクターを再マッピングすると、暗号化されたデータが過剰にプロビジョニングされた領域に残るだけです。データは暗号化されているため、分解されたSSDで直接フラッシュ読み取りを使用してデータを回復したとしても、データを使用して何かを行うことはできません。
さらに、暗号化されたストリームのどこからデータが取得されたかを特定することは特に難しく、ほとんどのFDEブロック暗号モード(XTSなど)には初期化ベクトルの一部としてセクター番号(またはその他の位置値)が含まれているため、回復が非常に困難になります。 FDEマスターキーを所有している場合でも、これらの残留セクターからのプレーンテキスト。
その上、ほとんどのSSDはATA Secure Erase機能を実装しています。この機能により、単一のコマンドを送信して、すべてのセクターを上書きする必要なく、ディスクを安全に消去できます。フラッシュセルの書き込みサイクルは限られているため、セクターの上書きにはコストがかかります。この機能は、ディスクコントローラーの不揮発性メモリに格納されているランダムに生成されたキーを使用して、すべてのセクターを透過的に暗号化することで機能します。 ATA Secure Eraseコマンドを実行すると、ディスクコントローラーは古いキーを破棄し、新しいキーを生成します。これにより、ディスク上のすべてのデータが即座に読み取れなくなります。副作用として、すべてのオーバープロビジョニングされた領域はalsoこの方法で暗号化されます。つまり、SSDで独自のFDEを使用しなくても、オーバープロビジョニングされた領域は暗号化され、たとえ次の場合でもリカバリが困難になります。コントローラーの不揮発性メモリからSecure Eraseマスターキーを抽出します。後でSecure Eraseコマンドを実行すると、過剰にプロビジョニングされた領域も読み取れなくなります。
FDEはオーバープロビジョニングについて何も知る必要はありません。パーティションが暗号化されている場合、プレーンテキストはどこにも書き込まれません。ウェアレベリング用に予約されたブロックには、初期化されていないランダムデータまたは暗号化されたブロックがあります。
コントローラが提供する暗号化を使用している場合、暗号化/復号化はコントローラ内で行われるため、プレーンテキストデータはブロックに書き込まれません。暗号化がOSによって行われる場合、コントローラはすでに暗号化されたデータを受信しています。