プログラマーノート

プログラマーの学習や雑記のメモです

【Windows】cipherでデータを完全に削除し退職する。

はじめに

こんにちは。エンジニアの仕事をしている、たかふみです。

本日は、Windows の完全なデータ削除について記事にしたいと思います。

職場を辞める時、パソコンのデータってどうしているでしょうか?

職場によっては、情シスが綺麗にパソコンをしてくれる場合もありますが

綺麗にしてくれないこともあります。

念のため自分で可能な限りデータを削除してから職場を去った方がいいと思います。

秘密鍵や、gitファイルを誰かに悪用されるなんてこともあるかもしれません。

今回はそんな、データ消去する方法についてまとめたいと思います。

ゴミ箱を空にしてもデータ削除されない

データを削除する場合どうしているでしょうか?

データを削除し、ゴミ箱にデータを移動して、右クリックで「ゴミ箱を空にする」ボタンを押せば、データは削除されると思っていないでしょうか?

しかし、データは削除されません。

世の中には削除したデータを復旧させるソフトが出回っています。

ゴミ箱を空にしてもデータは削除されたものではなく

HDDまたはSSDのどこかに眠っているのです。。。

データを完全削除する方法

ではデータを削除するには、どうしたらいいのでしょうか?

windowsにはcipherコマンドが有り、これを使うと完全削除できる模様です。

cipherコマンドを使用する

powerShell起動

まず、powerShellの起動からです。

画面左下にある、windowsマークを右クリック

windows power shellをクリックしてください。

真っ青な、power shell が起動されたと思います。

※Powershell ではなくコマンドプロンプトでも代用は可能です。

cipherとは?

Windows に標準で付いているコマンドです

本来の用途は、暗号化のためのコマンドです。

cipherは、Windows の空の領域をすべて暗号化することによってデータを削除します。

つまり見えないデータを暗号化で上書きいたします。

cipherの使用はNTFSだけしか実行できない

NTFSのストレージのみ使用可能です。FATには使えないのでご注意ください。

Cドライブなど、ドライブ名を右クリック→プロパティを見るとファイルシステムが表示されており、

ファイルシステム:NTFS

と、書かれていればcipherが実行できます。

cipher実行してみる

データを削除するコマンドは、【cipher /w:実行したいディスク名:】で実行が可能です。

例えば、C ドライブで実行したい場合は

cipher /w:c:

とpowerShellに入力してください。

cipher /wは実行中に何をしているのか?

以下のような画面が出力されます。...が逐次表示され、どれぐらい進んだのか分かります。

0x00(つまり0)に空き容量をすべて書き込みし、

0xFF(つまり1)に空き容量をすべて書き込みし、

それから乱数に書き込みます。

C:\Users\strat>cipher /w:c:
できるだけ多くのデータを削除するために、CIPHER /W の実行中
はほかのアプリケーションをすべて終了してください。
0x00 に書き込み中
.........................................................................................................
0xFF に書き込み中
.........................................................................................................
乱数 に書き込み中
.........................................................................................................

データに書き込みをしているので、ストレージの容量はどんどんなくなっていきます。

cipherを実行したディスクの直下には、【EFSTMPWP】 ディレクトリが作成され

そちらに書き込みをすることでデータ削除をしているようです。

cipherの実行にどれぐらい時間がかかるのか?

Intel core i5 のメモリ16GBのSSDでは、約1時間で、全体の約半分を実行できました。

つまり全部終わらせるには約2時間かかります。

SSD だから短時間で済んだものの、HDDの場合はもっと時間がかかることでしょう。

なぜ半分しか実行できないかというと、

定時が来たのでcipherを途中で止めてしまったのです(汗)

cipherを実行するのであれば、長時間放置したほうがいいですね。

cipher /wを途中で止めたらどうする?

全部暗号化されてないかもしれませんし、cipherを途中で止めることは推奨はできません。

最低、0x00だけ実行すれば、データの上書きはされたと思いますけどね。

ではcipherを途中で止めてしまった場合はどうするのでしょうか?

cipherを実行したディスクの直下に、【EFSTMPWP】ディレクトリが出来ています。

こちらに暗号化を書き込んでいるので、削除しても問題ないようです。

cipherを最後まで実行すれば自動的に削除されるのですが

最後までを実行が終わってないので、 EFSTMPWPがの残ってしまっていたのです。

EFSTMPWPをフォルダごと削除しましょう。

まとめ

いかがでしたでしょうか 。

辞めていく職場が信用できない場合、またはSSD、HDDを破棄する際にcipherを実行した方がいいかもしれません。

皆様の開発のお役に立てたら光栄です。読んで頂いてありがとうございました。