パソコンを廃棄したり、売ったり、譲ったりする場合、ディスク(HDDやSSDなど)のデータを消去しておかないと、重要な情報が漏洩してしまう可能性がある。
特に、個人情報や社外秘のデータを記録したことがあるディスクに対するデータ消去は必須。
しかし、単純にファイルを削除したり、ディスクをフォーマットしただけでは、きちんとデータ消去した状態とは言えない。
データ復旧ソフトを使用したり、専門の業者に依頼すれば、データが復元できてしまう場合がある。
データを復元できなくするには、別のデータで上書きして、元データの解析が困難な状態にする必要がある。
基本的に、別のデータで上書きする操作は、ディスクの全領域に対して行うため、非常に時間が掛かる。
どれくらい掛かるかは、ディスクの容量やデータの書き込み回数によるが、大容量のディスクで、書き込む回数が多いほど時間が掛かる。
上書きする回数が多いほど、元データの復元は困難になるが、際限がないので、費用対効果を鑑みて決める必要がある。
規格化されているデータ消去方式として、以下のようなものがある。
| ゼロライト方式 | データ領域をゼロで上書きする。 |
| ランダムライト方式 | データ領域を乱数で上書きする。 |
| ランダム&ゼロライト方式 | データ領域を乱数で上書きした後、さらにゼロで上書きする。 |
| 米国国家安全保障局準拠方式(NSA) | データ領域を乱数で2回上書きした後、さらにゼロで上書きする。 |
| 米国国防総省準拠方式(DoD5200.28-M) | データ領域を固定値⇒ゼロ⇒乱数の順番で上書きする。 |
| 米国国防総省準拠方式(DoD5220.22-M) | データ領域をゼロ⇒固定値⇒乱数の順番で上書きして、最後に書き込み検証を行う。 |
| 米国空軍準拠方式(AFSSI5020) | データ領域を固定値⇒ゼロ⇒固定値(値はランダム)の順番で上書きして、最後に10%の書き込み検証を行う。 |
| 米国海軍準拠方式(NAVSO P-5239-26-MFM/NAVSO P-5239-26-RLL) | データ領域を固定値⇒固定値(1回目とは違う値)⇒乱数の順番で上書きして、最後に書き込み検証を行う。 |
| ドイツ標準方式(VSITR) | データ領域に対して、ゼロ⇒固定値の上書きを3回繰り返して、最後に別の固定値で上書きする(合計7回上書き)。 |
| グートマン推奨方式 | データ領域に対して、乱数を4回、固定値を27回、さらに乱数を4回上書きする(合計35回上書き)。 |
以降では、Linuxでデータ消去する方法を記載する。
なお、以下のコマンドはHDDを想定したもので、SSDの場合はメーカーが提供しているユーティリティを使う。
また、間違って実行してしまった場合、消えたデータを復元することはまず不可能な状態になるため、作業は慎重に行う必要がある。
対象ディスクのデバイスファイル名を調べる
# ディスクのデバイスファイル名を調べる fdisk -l # ディスクの詳細を表示 hdparm -I /dev/sda
HDDのデータ消去(ディスク領域の上書き)
# shred コマンド # 乱数を2回上書きして、最後にゼロ埋め sudo shred -n 2 -z -v /dev/sda # ゼロ埋めのみ sudo shred -n 0 -z -v /dev/sda --------------------------------------------------------------- # dd コマンド(shredコマンドが使えない場合) # データを複数回上書きする場合、コマンドを複数回実行する # 乱数で上書き sudo dd if=/dev/urandom of=/dev/sda # ゼロ埋め sudo dd if=/dev/zero of=/dev/sda
