Windows XP Professional のスタンドアロン環境 (ドメイン環境でないシステム) で暗号化ファイルシステム (EFS: Encrypting File System) を使う場合の注意点


〔目次〕  〔全項展開〕



暗号化ファイルをメールで転送する方法

離れた場所の PC 間でファイルをやりとりする方法としてリムーバブルメディアを使う方法を先に述べたが、双方にメールアカウントがあるなら、少量のファイルであればメールで転送できる。もちろん、このとき暗号化を解除しないで転送する必要がある。普通に暗号化ファイルをメールの添付書類にしても、添付した時点で暗号化は解除されてしまう。なぜなら、ファイルシステムから秘密鍵を使って読み取った結果の復号化されたファイルがメールソフトに渡されるからである。暗号化したままメールに添付したい場合は、ファイルシステム中で暗号化したままの状態をカプセル化(アーカイブ化)してくれるソフトで形式変換する必要がある。それをメールで転送し、受取側で再び変換して元の暗号化ファイルを取り出す。このためには、NTFS の EFS に対応したソフトを使わなければならない。Windows XP Professional には、このために使えるソフトが標準搭載されている。それは ntbackup.exe で、「バックアップ」という名前で「システム ツール」の中にある。これを使って暗号化ファイルを暗号化したままメールで転送する方法を以下に示す。

送信側の操作:

  1. まず、転送したい暗号化ファイルをフォルダにまとめておいた方が操作しやすい(アーカイブの指定はフォルダ単位となる)ので、適当なフォルダを作り、その中に転送したいファイルを入れる。ntbackup は入れ子構造になった複数のフォルダ/ファイルもその構造を維持したままアーカイブ化できる。ファイル/フォルダ名(パス名を含む)は暗号化されないので、パス名に秘密にするべき情報が含まれないように注意すること。できればハードディスクのトップ階層の直下に置いた方がよい。
  2. [スタート] - [すべてのプログラム] - [アクセサリ] - [システム ツール] - [バックアップ] を起動する。
  3. 「バックアップまたは復元ウィザード」が起動するので、その中の「詳細モードに切り替えて実行する」をクリックする。(「常にウィザード モードで開始する」のチェックも外しておくとよい)
  4. 「バックアップ」タブをクリックする。左側のペインから、「+」マークをクリックしてゆき、目的のフォルダを見つける。見つけたら、そのフォルダをクリックし、アイコンのすぐ左にあるボックスをクリックしてチェックマークを付ける。チェックの付いているものがアーカイブされる。
  5. ウィンドウ下部の「バックアップを格納するメディア名またはファイル名」の欄の隣の「参照」ボタンをクリックし、アーカイブの保存先を選択して適当な名前を入力して「保存」をクリックし、アーカイブにファイル名を付ける。
  6. ウィンドウ右端の「バックアップの開始」ボタンをクリックする。「バックアップ ジョブ情報」ウィンドウが開くので、右側の上から三番目の「詳細設定」ボタンをクリックする。
  7. 「詳細なバックアップ オプション」ウィンドウが開くので、「バックアップの種類」のメニューから「コピー」を選ぶ(コピー バックアップは、バックアップ履歴に影響を残さずに選択したファイルすべてをアーカイブする方法)。「OK」をクリックして閉じる。
  8. 「バックアップ ジョブ情報」ウィンドウに戻るので、「バックアップの開始」をクリックする。バックアップが開始され、選択したファイル/フォルダが指定したアーカイブファイル一個にまとめられる。ファイルの拡張子は .bkf
  9. 「バックアップが完了しました。」と表示されたら、「閉じる」をクリックして閉じ、ntbackup を終了する。
  10. 作成したアーカイブファイルを、通常の方法で添付ファイルとしてメールで送信する。アーカイブファイルの中の暗号化ファイルは暗号化状態が維持されているので、転送中に他人に読み取られても、情報漏洩のおそれはない。

受信側の操作:

  1. メールを受信し、添付ファイルを取り出す。
  2. 復元したファイルを入れるためのフォルダをあらかじめ新規に作っておく方がよい(誤って既存のファイルを上書きする事故を防ぐため。ただし ntbackup のデフォルトでは上書きをしないので同名のファイルがあると復元できない。上書きを許可する場合は ntbackup の「ツール」メニューの「オプション」の「復元オプション」の「すでに存在するファイルを復元する場合」で「常にディスク上のファイルを置き換える」を選ぶ)。
  3. 送信側と同様にして、ntbackup を起動し、詳細モードに切り替える。
  4. 「メディアの復元と管理」タブをクリックする。左側のペインの「ファイル」アイコンの上で右クリックし、「ファイルのカタログ」を選択する。
  5. 「バックアップ ファイルを開く」ウィンドウが開くので、「参照」ボタンをクリックして、取り出したアーカイブファイルを選択し、「開く」をクリックする。「OK」をクリックして閉じる。
  6. 右側のペインにアーカイブのアイコンが出現する。ダブルクリックすると、ドライブレターのアイコンが出現するので、それをさらにダブルクリックすると内容が表示される。左側のペインで「+」をクリックして階層構造を展開できる。
  7. 復元したいファイル/フォルダのアイコンの左側のボックスをクリックしてチェックマークを付ける。チェックの付いているものが復元される(復元はファイル単位で指定できる)。
  8. ウィンドウ下部の「ファイルの復元先」から「場所の指定」を選ぶ。「場所の指定」欄が出現するので、その右の「参照」ボタンをクリックして、復元先にしたいフォルダを選択し、「OK」をクリックする。
  9. ウィンドウ右端の「復元の開始」ボタンをクリックする。「復元の確認」ウィンドウが開くので、右端の「詳細設定」ボタンをクリックする。
  10. 「詳細な復元オプション」の「セキュリティを復元する」のチェックを外す (ここでの「セキュリティ」はアクセス権のこと。他の PC でのアクセス権を復元しても意味がないため)。他のオプションはそのままでよい。「OK」をクリックして閉じる。
  11. 「復元の確認」ウィンドウに戻るので、「OK」をクリックする。復元が開始される。
  12. 「復元が完了しました。」と表示されたら、「閉じる」をクリックして閉じ、ntbackup を終了する。
  13. これで指定したファイルが指定したフォルダに復元される。フォルダの階層構造も維持されている。暗号化ファイルは暗号化状態のまま復元される。もちろん EFS 証明書をインポートしていれば開くことができる。

なお、Windows XP Service Pack 1 以前では ntbackup による EFS の復元に一部不具合がある(Windows XP Service Pack 2 では修正されている)。

【Windows XP Service Pack 2 に含まれる修正一覧】
http://support.microsoft.com/kb/811113/ja/
【暗号化データを NTFS パーティションに書き込む際にコンピュータが応答を停止 (ハング) する】
http://support.microsoft.com/kb/828693/ja/

ちなみに、メールや ntbackup を使わない通常のファイル共有では、ドメイン環境でない場合は EFS 暗号化ファイルを暗号化したまま転送はできない。ドメイン環境であれば、ファイルサーバーを委任に対して信頼するように設定することで暗号化ファイルを転送できる。ただしいったん復号化されたファイルが転送されてサーバー上で再び暗号化されるので、通信途中では暗号化されていない。一方、非ドメイン環境で WindowsXP Professional をサーバーにしているような場合でも、IIS をコントロール パネルから追加インストールして WebDAV フォルダ(Web フォルダ)を作成すれば、サーバーに暗号化ファイルを転送できる。しかも通信途中も暗号化されている(「ファイル共有および Web フォルダのリモート EFS 操作」については前記のリンク参照)。ただしサーバーからローカルにアクセスする場合も WebDAV を使う必要がある(\\127.0.0.1\Webフォルダ名)。

秘密鍵を共有するほどでもない相手に特定の暗号化ファイルだけを送りたい場合は、相手のエクスポートした公開鍵だけの証明書(エクスポートするときに「いいえ、秘密キーをエクスポートしません」を選ぶと公開鍵だけの .CER ファイルができる)を自分のインターネット オプションの「ほかの人」タブにインポートしておくと、暗号化ファイルのプロパティの詳細設定の詳細で「このファイルに自由にアクセスできるユーザー」としてその人を追加できる。そのファイルを上記の方法で転送すれば、秘密鍵を共有しなくても相手に読める暗号化ファイルを安全に転送できる。ただしこのためにはあらかじめ安全な経路(手渡しなど)で相手の公開鍵(.CER ファイル)を入手しておく必要がある(メールは不可。暗号化しないメールは安全な経路ではない。相手の送ってきた公開鍵が途中で第三者にすり替えられる「なりすまし攻撃」の危険がある)。

また、暗号化による安全性は、長期にわたって保証されているわけではないことも理解しておく必要がある。インターネット等の安全でない経路を利用する場合、たとえ通信を暗号化していても、途中での傍受者はその通信内容をすべて記録して長期にわたって保管しておくことができる。そして何十年後かに、技術が進歩して暗号の解読が容易になってから、それを解読して秘密を暴くことは十分考えられる。暗号解読技術もコンピューターの性能も急速に進化しており、現在の暗号化アルゴリズムに脆弱性が発見される可能性は考えにくいもののゼロではないし、量子コンピューターのような画期的な発明によって現在の暗号が瞬時に解けてしまう事態が将来発生する可能性も否定はできない。というよりも、十分予想できる。従って、永久に秘密にしたい通信は、たとえ暗号化していても、決してインターネット等の安全でない経路を使ってはならない。これはメールだけでなく、SSL や SSH あるいは IPSec-VPN でも同じである。暗号化は(鍵長を無制限にしない限り)「しばらくの間秘密にできる」技術であって、「永久に秘密にできる」技術ではない。本当に秘密にしたい通信は、物理的に部外者がアクセスできない通信方法(手渡しなど)を使わなければならない。その意味で、メールを使って暗号化ファイルを送るのは、「遠い将来には漏洩しても構わない」情報に限るべきである。



〔目次〕  〔全項展開〕