流山:ログオンさせないようにするには,どうすればいいんでしょうかねえ。

室長:パスワードが15文字以上であればLMハッシュは作らないのじゃよ。だから,パスワードは15文字以上にするのがよいじゃろうな。

 Windows 95/98/Meからアクセスする必要がないパソコンであれば,LMハッシュの存在は有害無益。LMハッシュを残さないようにする簡単な方法は,パスワードを15文字以上にすることだ。LMハッシュは,14文字以下のパスワードしか保存しない。また,14文字以下のパスワードでも,レジストリを書き換えてLMハッシュを残さないようにする方法もある

流山:15文字以上のパスワードを使うのも,レジストリを書き換えるのも,大変だし,徹底できるかなあ。

市谷:じゃあ,指紋認証かUSBキーを入れてみたらどうでしょう。

室長:ううむ…。指紋認証はどうじゃろうなあ。USBキーはかなり有効だと思うんじゃが。

市谷:え,どうしてですか?

 指紋を使ってログオンする場合,認証にパスワードよりかなり長いデータを用いる。したがって,認証データ自体の強度は強い。ただ,ノート・パソコンには使用者の指紋が付着しているのが普通である。ある意味,パスワードを付せん紙にメモしてディスプレイに貼っておくのと同じ。とても「安全」とは言えないのだ。

 一方,USBキーを使えば,パソコンとUSBキーが一緒に盗まれなければ安心だ。仮にUSBキーを同時に盗まれたとしても,それを鍵に使っている,ということがわからない可能性もあるだろう。ただの記録媒体と思うかも知れないのだ。

室長:…というわけじゃ。

市谷:…ちょっと待ってください。ログオンされなければよいというわけでないのでは?

流山:というと?

市谷:ログオンされなくても,情報が漏えいしてしまうことはあるんじゃないでしょうか。ノート・パソコンのハードディスクからSAMデータベースを読み込むのと同じやり方で,ファイルの中身は取り出せてしまえそうですよね。

室長:ん? …そういえばそうじゃな。

市谷:しっかりしてくださいよ…。ログオンされないだけでなく,ファイルそのものを読み取れないようにすることが必要なんじゃないでしょうか。

室長:…おっほん。そういうときには,ファイルを暗号化しておけばいいんじゃよ。そうじゃな,Windowsのファイル暗号化機能であるEFSを使うのが手軽じゃろうな。

 WindowsのEFSは,指定したフォルダを暗号化する機能である(図5)。Windowsのユーザー・アカウントと連動しているので,暗号化したユーザー以外はファイルを解読できなくなる。

図5●EFSを使ってフォルダごと暗号化
図5●EFSを使ってフォルダごと暗号化
EFSは暗号化に使った鍵をハードディスクに保存する。Windows XPなら暗号化したユーザー以外はアクセスできなくなる。 [画像のクリックで拡大表示]

EFSはログオンできなければ安全?

 EFSで暗号化すれば,読み書きの際に暗号化を意識する必要はない。普通にアクセスしていれば,必要に応じて自動的に暗号化したり復号してくれる。逆に言えば,Windowsでログオンされないことが,安全に使うための大前提になるわけだ。

 EFSを使わずに,別の暗号ソフトウエアを入れたり,ハードディスク自体にパスワードを設定する手もある。場合によってはEFSより簡単にファイルの安全性を確保できる。

 暗号ソフトウエアを使う場合,ログオンしてから復号するときに改めてパスワードを入力する。一方ハードディスクのパスワードは,BIOSのパスワードと兼ねるのが普通。どちらもパスワードを忘れると2度とアクセスできなくなる。ハードディスクのパスワードを設定している場合,メーカー・サポート用のBIOSパスワードを入力してもハードディスクにはアクセスできない。

流山:さっそくEFSを使うことにします。

室長:EFSを使うのはよいことじゃが…。ひょっとしてWindows 2000で使っているノート・パソコンはないじゃろうか?

流山:確か,古いパソコンの中にはまだあったかも…。

室長:ううむ,実はWindows 2000でそのままEFSを使うと,ファイルは完全には守れないんじゃよ。

 EFSはWindowsのバージョンによって,ファイルの暗号化に使う鍵の保存方法が異なる。Windows XPは,EFSの暗号鍵をWindowsログオンの時に使うパスワードによって暗号化して保存する。この方法なら,Windowsのログオン・パスワードがわからない限り復号できない。

 一方Windows 2000以前は,EFSの暗号鍵をそのままの形で保存する。このため,暗号鍵に直接アクセスされてしまえば,たちまちEFSは解読されてしまうし,解読するソフトも存在する。