SSDでは削除したファイルを復元することが難しい反面、データの断片も全く残さず完全に消去することは難しいという、HDDとは異なる特徴があります。そのためSSDを廃棄する場合には、データの機密度や想定する脅威に応じた廃棄方法を選択する必要があります。
「Trim」による消去
SSDでは、ファイルの削除だけでなく、ドライブのフォーマットを行った場合も同様に、OSにより「Trim」コマンドが発行され、消去可能なことが通知されます。
よって、ファイルの削除またはディスクのフォーマットを行い、1日程度何もしないで(PCがスリープしない設定、もしくはスリープしてもSSDの電源が切れない設定で)放置しておけば、データを復元することは困難になります。
データの機密度がそれほど高くない場合やSSDを受け渡す相手が信頼できる場合は、この方法でSSDの廃棄を行っても良いでしょう。
たとえば、Appleも修理でドライブを交換する場合のFAQにおいて、「標準的な消去を行えば、SSD からデータを復元することは困難になる」としています。
図2 AppleのFAQ「ハードウェアの修理時に部外秘データを保護する」より
「Trim」による消去の問題
前述したように「Trim」の実装はSSDベンダーに委ねられており、「Trim」コマンドの発行後どのくらい経てばデータが消去されるかの保証はありません(ただし、ほとんどのSSDでは1時間程度でデータの復元は不可能になるというレポートはあります)。また、SSDで「Trim」による消去が行われたかをOSから確認する方法もありません。
また、SSDには「ウェアレベリング」や「オーバープロビジョニング」と呼ばれる特性もあり、データの断片を全く残さずに完全に消去することを難しくしています。
SSDに使われるNAND型フラッシュメモリには、データの書き換え回数の制限(寿命)があります。そのため、SSDのコントローラーは各ブロックの書き換え回数を管理し、書き換え回数の少ないブロックのデータを別のブロックに移動させることで、書き換え回数の少ないブロックを空きブロックにし、次の書き込みに利用できるようにします(ウェアレベリング)。
また、SSDではOSから利用できる領域以外にシステム(ファームウェア)が利用する予備領域を確保することで、パフォーマンスや耐久性の向上を図っています。(オーバープロビジョニング)
ウェアレベリングやオーバープロビジョニングにより、システムのみが利用する予備領域にデータの断片が移動され残っている可能性があります。しかし、予備領域はOSからはアクセスできないため、「Trim」では消去されません。
HDDの廃棄では、ソフトウェアによりデータを上書きすることで完全消去を行う方法も用いられます。しかし、SSDではデータの上書きを行ってもウェアレベリングなどの動作のために、データが確実に上書きされるとは限りません。
また、元のデータが予備領域に移動され残っている可能性もあります。
ただし、SSDの予備領域からデータを取り出すには、ファームウェアの解析やハードウェアレベルでのアクセスなど高度な技術が必要で、一般の人がツールなどを使って簡単に取り出すことはできません。また、データを取り出せたとしても、あくまでデータの断片であり、ファイルを復元できる可能性は非常に低いと考えられます。
よって、データの機密度や想定する脅威(SSDを受け渡す相手の属性など)によっては、予備領域にデータの断片が残存するリスクを許容できる場合もあると思います。
(たとえば、紙の書類をシュレッダーにかけた場合も、文字の断片が残ることもありますが、そのリスクを許容することはあるでしょう。)
「Secure Erase」による消去
SSDの予備領域を含めたディスク全体を消去する方法として「Secure Erase」というものがあります。「Secure Erase」を行うにはSSDベンダーが提供しているユーティリティソフトなどが必要になります。しかし、「Trim」と同様に「Secure Erase」もどのような動作となるかは、SSDの製造ベンダーに委ねられており、完全な消去が本当に行われているかを確認することもできません。
図3 Samsung SSD用のユーティリティソフトを用いた「Secure Erase」の例