SSDのデータを完全消去する方法
SSD のデータを完全に消去する方法についてまとめました。SSDは、HDDとは方式が異なるため、注意が必要です。SSDでは、Secure Erase を利用してください。SSDのメーカが提供しているプログラムを利用するか、その他のソフトウェア、もしくは、Linux などを使用できます。
読み方
- Secure Erase
- せきゅあ いれーす
目次
概要
HDD では、Unix では、dd や shred を使用して、HDD全体にまるまるデータを書き込むことで、データの完全消去を実現できました。SSDは、Secure Erase の機能を使用して削除することが1つの有効な手段です。
SSDとHDDは、消去のやり方が異なる
HDDは、データを保存するときに、新しいデータが古いデータを上書きして置き換えられます。ディスク全体に書き込みを行えば、古いデータがなくなる、ということです。
データの書き込みは、SSDでは、HDDとは異なる方式で行われます。SSDは、データの上書きを命じられたときに、「上書き対象のデータ領域」を無効なページに登録し、「他の書き込み可能な領域」を割り当て、新しい領域にデータを記録します。この制御は、SSDのコントローラーによって行われます。
コントローラーの制御を回避してデータにアクセスが可能であれば、古いデータにアクセスができ、復元できるでしょう。
HDDは一度削除しただけでは消えない
HDDのデータは、一度、書き換えただけでは、 残留磁気探索 の解析により、データが復元可能といわれています。そのため、0 や ランダムな値で合計3回書き込むといった手法でデータ削除するのが一般的です。
SSDのデータを安全に消去するには
SSDのコントローラーの Secure Erase と呼ばれる機能を利用するのが確実です。ただし、Secure Erase が完全に実装されているとも限らない、という問題もあります。
Secure Erase によって削除した直後のブロックのフラッシュメモリ素子の物理的なラベルの残留情報の存在については十分な研究がなされていません。
SSDに関する研究
SSDのデータ削除の研究で以下のことがわかりました。
- SSDのコントローラーのSecure Eraseの命令は効果が高い。しかし、SSDのコントローラーのSecure Eraseが正しく実装されていないことがある。
- SSDのドライブ内のアドレス空間の可視領域全体を2回上書きすることで、完全ではないが、だいたいのSSDのデータは消去として十分である。
- HDD向けの個別のファイル消去の技術は、SSDに対しては効果がない。
参考
SSDのデータを完全消去するツール
SSDのメーカーの付属・配布しているツールでは、 Secure Erase 機能を提供しています。
Linux での Secure Erase
SSD を 「 hdparm -I /dev/対象デバイス 」で、 frozen になっていないことや enhanced erase をサポートしているか確認してください。
$ hdparm -I /dev/対象デバイス
以下のコマンドで、データを削除します。
$ sudo hdparm --user-master u --security-set-pass password /dev/対象デバイス $ sudo hdparm --user-master u --security-erase password /dev/対象デバイス
関連項目
ツイート