データの完全消去
データの完全消去（データのかんぜんしょうきょ、英語："Data erasure"、データの完全削除とも）とはハードディスク等の電子媒体内のデータを電子的にデータが残留しないように、特殊なハードウェアやソフトウェア等を用いた上書き処理で完全に削除する、コンピューターセキュリティ上の手法の一つ。
民生用向けでは、ハードディスク、フラッシュメモリの完全消去のための各種ツールが有名である。一方、電子媒体でも、光ディスク(CD/DVD/BD等)、光磁気ディスク(MO)の完全消去に関しては、必要性にもかかわらず、ハードディスク、フラッシュメモリほどには強調されていない。
オペレーティングシステム標準の削除コマンドや削除オペレーションは、通常、媒体上のデータ本体は消去せずに、ファイルシステムが指し示すデータの格納場所を削除するだけである（）。そのため、単に削除したデータは、一般者利用のデータ復活ツール（市販品など）でも、復活できることが多い。
このように、データ削除により見かけ上は存在しなくなっても、媒体上にはデータの残骸が残存しているのであり、媒体が盗難等の理由により流出した際に、データの機密性の保持に問題が生じる。
今日のコンピューターセキュリティ上、データの残骸も含めて、「データの完全消去」を行う事が重要視されている。データの完全消去では、一般的には、前述のデータ復活ツールだけではなく、特殊な専門的解析装置を駆使しても、媒体からデータの復活が困難になるようにすることをも、目的とする場合もある。
なお、数1000ガウス以上の磁気をハードディスクに照射し、媒体ごと消磁する手法や、装置にドリルで穴を開けるなどの物理的破壊をする手法もある。それぞれ、コスト上の問題や、媒体面の記録を完全に失活できるか（後述）の問題がある。
データ消去の手法としては、デバイスに対して通常の方法により、記憶媒体の全ての記憶領域に対して無意味なデータを上書きする、いわゆるソフトウェア的な手法が一般的、効率的である。
単に"00"や"FF"（16進数）などで上書きしただけでは、媒体面の残留磁気等の痕跡により元のデータが推測される可能性があると言う主張がある。
そのため、アメリカ合衆国政府や業界の標準規格では、書き込みするデータ列や、複数回の上書き処理を要求などの規定がある。一部の規格では、完全に消去されたことを確認するためのベリファイ（再確認）処理を要求するものもある。
なお、ハードディスクは装置や制御機構が故障してしまうと、装置や媒体を物理的破壊（磁気ディスクは消磁を含む）する以外に方法はなくなる。
情報システムには概して大量の機密データが保管されている場合がある。例えば姓名・住所・生年月日・電話番号や、クレジットカード情報、銀行・証券口座情報、医療機関受診記録などの一般的個人データのほか、司法機関の捜査情報や国家機密などである。これらのデータは通常ハードディスク上や遠隔地のサーバストレージに保管されている場合が多い。データを完全消去する基本的な方法は、記憶媒体の全ての記憶領域に2進数の0と1のランダムな組み合わせを書き込む処理となる。完全消去処理のセキュリティレベルは、
に依存する。
通常のデータ消去プログラムは、ディスクの全領域のデータを別データに置き換えることを目的とするが、ディスクを上書きするプログラムは必ずしもすべての領域にアクセスできるわけではなく、例えばディスク上の隠しエリア（や）や代替セクタ処理で退避された領域などにはアクセスすることが出来ず、そこに存在するデータが残ることになる。つまり、ディスク上の全ての領域にアクセスすることこそが、データ消去の完全性を高める手段であるともいえる。
データを完全消去するプログラムは、一般的なBIOSやOSのAPIではなく、ATAインターフェイス経由でハードディスクコントローラーと直接やり取りする必要がある。BIOSやOSのAPIを通してディスクにアクセスするタイプの消去プログラムは、特定のセクタをアクセスする命令をAPI経由で実行した時に、実際にはその特定セクタにアクセスしていないのに、あたかもアクセスが正常に終了したという回答をBIOSやOSのAPIから受け取ることがある。これらの事象が発生したとき、消去すべきデータを残存させてしまう危険性が極めて高くなる。データの完全消去を定めた政府規格や業界標準が複数種類か存在する。それら全ての規格が着目している主要ファクターは「上書き回数」である。いくつかの規格では削除処理のベリファイ（再確認）や上書きパターンの表示について定められている。完全消去処理には、隠しセクタ（Host Protected AreaやDevice configuration overlay）や代替セクタ処理で退避された領域の消去処理も要求される。
米国政府が定めたNational Industrial Security Program（NISP）の1995年版のオペレーティングマニュアルDoD 5220.22-Mでは、データの完全消去処理について「全てのマッピング可能なセクタに何らかの文字で上書きを行った後、その補数の文字で上書きを行い、さらにランダムな文字コードで上書き処理を行う」という手法を認めていたが、2001年にはトップ・シークレット情報を扱った記憶媒体の消去手法としては認定しない旨、決定された。現在、多くの民生市販のソフトウエアは、この手法を維持している。
データを完全消去するソフトウエアは、上書き処理が完全に行われたことを明確に表示しなければならない。また、隠しセクタを消去する機能を有し、消去漏れや書き込み不能セクタのログについては、これを出力できることが望ましい。
中途半端に破壊されたハードディスクからデータを復活させることは可能な場合もある。たとえば、ドリルで穴を開けてプラッタを破壊したとしても、プラッタの残骸を最先端の残留磁気探索装置を用いて解析することにより、わずかな部分でも1ビットずつ手作業でデータを復活させていくことも出来る。ハードディスク・メーカーのシーゲイト・テクノロジーはそのような手法を保有していると公表している。
フロッピーディスクの場合、1回のみの上書きを行った消去手法が処された状態においては、残留磁気探索によってデータの析出を行うことができる。しかし、現在のハードディスクにおいては同様ではない。ハードディスクにおいて1ビットを記憶している領域は、フロッピーディスクに比べて遥かに小さく、記憶領域がトラック中心からずれている事を利用して残留磁気を検出するということは、ほぼ不可能である。
アメリカ国立標準技術研究所（NIST）が2006年に発表したSpecial Publication 800-88の7ページでは、次のように述べられている。『2001年以降の（15GBytes以上の）集積度の高いATAハードディスクにおいては、データの完全消去はディスク全域に1回のみ上書きすれば事足りる』。
また、Center for Magnetic Recording Researchは、次のように述べている『データの完全消去はディスクに対する1回の上書きのことである。アメリカ国家安全保障局も推奨要綱にて、同相信号除去比（CMRR）試験をした結果、複数回の上書きは何ら安全性の向上に優位な差をもたらさず、1回の上書きで十分であることを認めている』。
USBメモリやメモリーカード（SDメモリーカード等）のデバイスについては、フラッシュメモリーの特性上、書込の前に記憶ブロックをいったん消去する必要がある。しかし、OSまたはデバイスのウェアレベリング機能により、同一のファイル（または論理ブロックアドレス）を上書き処理しても、フラッシュメモリー上の同一のブロックに書き込まれる保証はない。この機能が働く場合、単一のファイルへの上書き処理は、古いブロックにデータ痕跡が残ったまま新しいブロックに上書きされることになり、データ完全消去の意味を成さない。
そのため、後述の#オペレーティングシステムの標準コマンドを用いた消去処理の例の手法では、OSから見るとパーティションの全部や一部、またはファイルにデータの上書きを行なっているが、フラッシュメモリー内部では記憶ブロックの配置換えが頻繁に行われるため、ほとんど有効でない。
フラッシュメモリーの特性上、記憶ブロックをいったん消去する事は頻繁に行われるが、このブロック消去はデバイスの内部処理で行われるものであり、OSからの通常のデータ書込コマンドによっては、必ずしも行われる保証がないと言うことである。
逆に言うと、フラッシュメモリーデバイスの専用ツールを用いて、ディスク全体に対して記憶ブロック消去コマンドを発行する処理はSecure Eraseと呼ばれるが、それは、データの完全消去に有効な手段となりうる。ただし、記憶ブロックを消去した直後のフラッシュメモリー素子の物理的なレベルでの残留情報不存在の完全性は十分に研究されていない。
また、カリフォルニア大学サンディエゴ校の研究により、専用のハードウェアを用いれば、OSがアクセスできない場所にある一時データを読み取れることが可能だと判明した。このハードウェアは残留磁気探索装置に比べ遥かに安価に作れるため、OS上で行う消去では十分なセキュリティは保てない状況となっている。
ソリッドステートドライブ（SSD）の場合は、単純なフラッシュメモリーと比較した場合、高速化、性能維持や記憶素子寿命の向上のために、コントローラーがより高度な管理、制御を行う。
例えば、ハードディスクドライブでも行われる所の、代替ブロック処理（ブロックが書き換え寿命に達すると自動的に予備領域から代替ブロックを割り当てる）については、単純なフラッシュメモリーデバイスではそのような機能を備えないかまたは簡易な処理が多いが、SSDについてはハードディスクドライブの代替に使われる事から、代替ブロック処理ひとつをとっても、より複雑、高度な管理がなされている。代替ブロック処理が行われればハードディスクの場合と同様な問題が生じる。
また、記憶素子としてフラッシュメモリーを用いるため、前述の通り、ハードディスクに比べてデータの完全消去が難しいことから、利用する場合は、利用開始時に暗号化を行うか、利用後に物理破壊する事が望ましい。
CD/DVD/BD等の光ディスクの場合。光ディスクは単価が比較的安価な事から、廃棄の際には物理的破壊が推奨される場合が多い。それでも各種媒体ではよく、「割れば大丈夫」と言う論調があるが、完全消去と言う観点では、次の行為は不十分な処理である。記録層を粒子状に粉砕すれば完全消去が可能である。なお、プレス式のCD-ROM、BD-ROM等については、追記・書換式の光学メディアと違い、プラスチック面に凹凸が記録されており、反射膜はレーザーを反射するために塗布されるだけである（なおプレスCD等はデータを多数配布するのが目的のため、データの完全消去と言う視点にはなじまない）。また、手でディスクを割ることは極めて危険な行為であり、破片が飛び散るおそれがあるため、市販のブランクディスクメディアの使用上の注意には「手でディスクを割らないで下さい。破片が飛び散り、大変危険です。」などと記載されている場合があり、メーカーなどの業界でも注意を呼び掛けている。
光磁気ディスク(MO)については、OSのファイルシステム経由で上書きが可能である。消去の完全性（部分、処理、残留情報不存在）について十分検証されていない。
前述のとおり、代替セクターや不良セクター等も含めた全セクタに正しく上書き処理がなされるかどうかは、OSや装置に依存する。
下記にあげるファイルシステムを操作するコマンドでは、概ね、隠しセクターや代替処理されたセクターの上書き処理はなされない。
を用いる場合として
SATAディスクの1つ目のパーティションに3回上書きをする例
SATAディスクの1つ目のパーティションに3回上書きした後、ゼロクリアをする例
ファイル targetfile.txt に3回上書きする例
を用いて、shredコマンドと同様の事（3回上書き及びゼロクリア）を行うには
のように実行すればよい。cipherコマンドを用いてディスクの完全消去を行いたい場合、まずディスクをNTFSでフォーマットしなければならない。
cipherコマンドは、空き領域が無くなるサイズの単一の一時ファイルを作成し、その一時ファイルに対して完全消去動作を行う。なお制限事項として、FAT32で4GBを超えるパーティションでは、その4GBを超える部分が正しく消去されない。
D:ドライブの空き領域に対して3回上書きをする例
HDDデータ完全消去装置として販売されている機材は、強力な磁力を使った消磁または磁気破壊によるものと、ソフトウエアによる上書き処理で完全消去を行う装置が販売されている。
前者は短時間に多数のハードディスクを処理できるが、処理後のHDDは再使用できなくなる。
後者のソフトウエアによる上書き処理を行う装置としては、ハードディスク試験装置のような特殊機材がある。
これにはデータ消去機能が付属している事が多く、この種の装置はATAインターフェイス経由でハードディスクコントローラーと直接やり取りすることから完全消去が可能であるが、価格が数十万円以上する。また、エンドユーザ向けには販売されている価格が数万円程度の廉価版も存在する。
dd if=/dev/zero of=/dev/sda