WindowsでもOpenSSLでファイルの暗号化を

会社のWindowsマシンでOpenSSLコマンドを使ってみた。
バイナリは(http://www.openssl.org/related/binaries.html)で手に入る。



俺の会社では、PCへの暗号化ソフトのインストール、およびデータの暗号化は必須である。
暗号化は大変よろしいのだが、常々思っていたのは、PCがクラッシュしたときのデータリカバリだ。
プロプライエタリな暗号化ソフトなので、有事の際にはきちんと復号出来るのか非常に不安だ。

あくまでも想像だが、一般のツールは使えず、通常はその暗号化ソフト付属のツールでしか復旧は出来ないように思える。


つい先だって、Windows2000で、NTFS上での圧縮ファイルが破損するという話があった(slashdot.jp , 2ch[dat落ちしてるかも] 今では修正パッチ提供済み)。

NTFSプロプライエタリものだが、超メジャーであったせいで、LinuxFreeBSDが対応しており、それらOSから復旧を試みることができた結果、偶然にもFreeBSDから壊れたファイルを読むことが出来たそうな(これは別にFreeBSDが優れているという話ではなく、あくまでたまたまOKだっただけ)。


きっとこの暗号化ソフトもメジャーであればあるほど、外部ツールは充実されるんだろうが、メジャー度は正直よく知らない。
最終的には、ソフトベンダにお金払って復旧してもらうんだろう。たぶん。


まあそんなわけで、素人の俺様が考えるに、暗号化ソフト(と言っていいのか知らんが)は、オープンかつメジャーなものが良いと思った。



翻って俺の会社の話。

業務で生成した成果物は共有のファイルサーバにアップしているので問題ないのだが、問題は業務関連だが個人用のデータ。
要するにメールのデータなどだ。
もちろん、個人のデータであっても、業務上のデータであるので、緊急時には管理者がバックドアなりマスターキーなり何なりで復号するのは当然だが、普段の話として。

一応、会社は吊しのNASに、社員ごとのフォルダを用意してくれているのだが、そこに生のデータをアップするのは抵抗がある。
かといって個人持ちの外部記憶装置は禁止なので、フラッシュメモリ、USBのHDDは使えない。


ということで、前半で述べた俺様判断の結果により、オープンかつメジャーなOpenSSLで暗号化し、その後にNASにアップすることにした。
なんかあったらWindowsだけじゃなく、LinuxFreeBSDその他で復号出来るし。


冒頭で書いたとおり、Windows用のバイナリは(http://www.openssl.org/related/binaries.html)で手に入る。

c:\OpenSSL\binにインストールされるのでパスを通す。

OpenSSLは使えるオプションがクソ多くて混乱するが、@ITに使用例が載っていた。

一応、ここにも使用例を載せておく。

書式

openssl <暗号化方式> <-e:暗号/-d:復号> -in <オリジナルのファイル名> -out <暗号化されたファイル名>

サンプル

(暗号化)
openssl des -e -in test.doc -out test.doc.crypted
(復号)
openssl des -d -in test.doc.crypted -out test.doc

試しに暗号化されたファイルの頭をダンプしてみたらSaltedになっていた。きちんと暗号化されてるようだ。