メインコンテンツにスキップ

1%イントロ・ヒストリー:SSDや半導体ストレージのデータを安全かつ確実に破棄する方法.

- Servauseによって編集

承認済みの編集 : Servause

変更なし
Title
SSDやメモリースティックのデータを安全かつ確実に破棄する方法
SSDや半導体ストレージのデータを安全かつ確実に破棄する方法
Introduction
SSDはウェアレベリングと呼ばれる技術を使用しており特定のブロックが他のブロックよりも多く使用されるのを避けるためデータをドライブ全体に均等に分散させますその結果SSDからファイルが削除されてもデータはすぐにドライブから削除されませんその代わり、SSDはその領域を無効としてマークし、そのブロックが再び必要になるまでデータを保持し、その時点でSSDはその上に新しいデータを書き込みます。
ハードディスクのデータ破壊は比較的簡単でデータの上書き(完了するまでに長時間かかるかも知れませんが)でも行えますしより万全を期すなら物理的に破壊することでも行えますしかしながらソリッドステートディスク(SSD)や半導体ストレージについては物理的な破壊が唯一の確実な方法です
しかしHDDとは異なりSSDからのデータ復旧ははるかに困難ですSSDのウェアレベリング技術によりデータは複数のブロックに分散されるためファイル全体を復元するのは困難だからです
ハードディスクと異なりSSDは既に記録されているデータを消去することなしにデータを上書きすることができません。記録されているデータの消去は比較的時間のかかるプロセスでかなり多くのメモリブロックに対してまとめて行うことしかできませんこのような理由から実用的な速度で動作させるために新しいデータは何も記録されていないブロックに書き込まれた後、SSDコントローラはどこに何のデータが記録されているかという目次を更新します古いデータは同じデータブロック内のデータ(おそらくいくつもの異なるファイルの一部)に必要とされるものが一つもないとSSDが判断するまで残り続けます。同じデータブロック内に必要とされるデータがないと判断されて初めてブロック全体が消去され、再利用できるようになります。
SSD上のデータを安全に消去するには新しいデータで上書きするかATA Secure Eraseコマンドを実行する必要がありますATA Secure Erase コマンドは非表示またはアクセスできない可能性のあるデータを含めドライブ上のすべてのデータを消去するよう SSD に指示しますこのコマンドは、データの暗号化に使用された暗号化キーもリセットし、データを復元不可能にします。
結果として古いデータはディスク解析ツールなどを使わなければ直接読み取れない状態とはいえ、メモリセルに残り続けることが多くなりますどこかの時点でこのような古いデータは消去されてメモリセルは再利用できるようになるはずですが繰り返し使われて信頼性が失われたデータブロックは最終的に永遠に採用されることもなくデータ消去も行われなくなります
SSD からデータを復元不可能にする唯一の確実な方法はドライブを物理的に破壊することです特に、ATA Secure Erase コマンドがデバイスのファームウェアに適切に実装されていない場合はこの方法が有効ですこれは、ファームウェアのバグや、ATA Secure Erase コマンドを適切に実行しないベンダー固有の実装が原因である可能性があります。
ATA Secure Eraseコマンド(フリーウェアの[link|https://cmrr.ucsd.edu/resources/secure-erase.html|Secure Erase|new_window=true]ユーティリティなどで実行できます)を使うことでSSDのデータを確実に消去できます。このコマンドはSSDに対してドライブ上の全てのデータを消去する指示を出します。消去されるデータには再利用されることのないブロック上のもののような、直接見えなかったり読み出すことができないものも含まれますしかしながら、政府保安機関によれば、ATA Secure Eraseコマンドは全てのハードディスクやSSDで適切に実行されるわけではなくまた適切に実行できるかどうかを簡単に見分ける方法もありません
ドライブを最初から暗号化することはデータを保護し消去プロセスを簡素化する優れた方法ですドライブを暗号化するとデータはディスクに書き込まれる際に自動的に暗号化され暗号化キーはメモリに安全に保存されますドライブ上のデータを安全に消去するには暗号化キーを削除または破棄するだけでドライブ上のデータは復元不可能になります
確実にデータを破壊するためのより賢い方法は取り扱いに注意が必要なデータを書き込む前に暗号化を有効にしておくことですその上でデータを破壊する際は復号鍵を何か完全にランダムなものに変更してから、新しい復号鍵に関する情報を全て破棄してしまいましょうそうすればもう誰もデータを復旧することはできません。WindowsではBitlockerMacならFileVaultが利用できますどちらも半導体ストレージに対しても使えますし、VeracryptならLinuxでも利用できます。半導体ストレージは紛失しやすいので、必ず暗号化しておいたほうがいいでしょう。
HDD上のデータを破壊したい場合は、私の関連ガイドをご覧ください[guide|140673]。