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


〔目次〕  〔全項展開〕



回復エージェント用の 秘密鍵ファイル (EFS DRA 証明書) の作成方法

EFS DRA 証明書(秘密鍵つきの .PFX ファイルと登録のための公開鍵だけの .CER ファイル)を作成するには、cipher.exe/r パラメータつきで使う。

【Cipher】
http://technet2.microsoft.com/WindowsServer/ja/library/6369a0d0-e5c5-44f9-85e6-366582e7d9741041.mspx
(※ 上記のページの /u パラメータの説明文は翻訳が間違っている。正しくは「このオプションは /n 以外のほかのオプションと共には動作しません」であり、単独でも動作する。/? での説明では正しくなっている。)

コマンド プロンプトで

cipher /r:ファイル名(拡張子なし)
と入力する。.PFX ファイルを保護するためのパスワードを二回入力する。
この操作でカレントディレクトリに .PFX ファイル(秘密鍵つきの証明書)と .CER ファイル(公開鍵だけの証明書)ができる。このファイルは EFS DRA 証明書としてのみ使用可能で、ユーザー自身の EFS 証明書としては使えない (ユーザーとは関係がない)。この証明書はインポートすると「目的」が「ファイル回復」と表示される。
もちろんこの作業は「新規生成」であり、「エクスポート」ではない。これだけでは何の役にも立たない。これがシステムの EFS DRA 証明書として機能するためには、この証明書(公開鍵)を回復エージェントとしてシステムに登録しておく必要がある。また、非常時にユーザーが回復エージェントとしてファイルを復号するためには、そのユーザーは回復エージェントの秘密鍵をインポートする必要がある。

回復エージェントの公開鍵をシステムに追加するのは、

  1. [スタート] - [コントロール パネル] - [パフォーマンスとメンテナンス] - [管理ツール] - [ローカル セキュリティ ポリシー] を起動する。
  2. [公開キーのポリシー] - [ファイル システムの暗号化]を開き、詳細情報のウィンドウ領域で右クリックして[データ回復エージェントの追加] を選択する。
  3. [回復エージェントの追加ウィザード] が起動するので、[次へ] をクリックした後、[フォルダの参照] ボタンをクリックする。 先に作成した .CER ファイルを指定して [開く] をクリックする。続いて、[次へ] − [完了] とクリックする。

の操作でできる。複数の PC を管理している場合は、同じ EFS DRA 証明書を使って回復エージェントを登録すれば、EFS DRA 証明書の管理が一つで済む。

回復エージェント設定前に作成された暗号化ファイルは、次にアクセスされるまで EFS DRA 証明書が更新されないが、Windows XP で拡張された cipher コマンドの /u オプションを使って強制的に更新することもできる。更新するためにはアクセスが成功する (復号可能でアクセス拒否されない) 必要があるので、現在のユーザーの作成した暗号化ファイルしか更新されない。他のユーザーが作成した暗号化ファイルは、そのユーザーが cipher /u を実行する必要がある。一方、すでに回復エージェントが設定されている場合に、回復エージェントを変更したり回復エージェントをさらに追加するために EFS DRA 証明書を更新する場合は、古い回復エージェントの証明書 (秘密鍵) をインポートしてから cipher /u を実行すれば、システム内の (古い回復エージェントの証明書が付加されている) すべての暗号化ファイルの EFS DRA 証明書が更新できる (アクセス権で拒否されない限り)。ただし、cipher /u はシステム内のすべてのファイルを「なめ回す」ため実行に非常に長い時間がかかるので注意。また、cipher /u を実行して証明書が更新されても、ファイルのタイムスタンプは更新されず、ファイルサイズもアーカイブビットも変化しないので、NTBackup を含むほとんどのバックアップソフトでは変化を認識できず、自動的にはバックアップ対象にならない。手動で明示的に再バックアップ(フルバックアップ)を行う必要がある。

なお、cipher /r コマンドで生成される EFS DRA 証明書は、cipher /r を実行するたびにユニークな、異なるものが生成される。.PFX ファイルには秘密鍵と公開鍵が、.CER ファイルには公開鍵が保存される。秘密鍵はこの .PFX ファイルの中にのみ存在し、他のどこにも存在しない(同じものを二度と作成することはできない)。秘密鍵を使うときは、この .PFX ファイルをインポートしてから使う。cipher /r コマンドを実行するたびに異なるペア (.PFX ファイルと .CER ファイル) が生成されるので、何度か cipher /r を実行した場合には、どの証明書を回復エージェントに設定したか間違えないようにすること。回復エージェントに指定した .CER ファイルと対になる .PFX ファイルを保存しておくこと。間違えて別の .PFX ファイルを保存していては無意味である。cipher /x で出力される、各ユーザーの EFS 証明書は、繰り返し実行しても同じ .PFX ファイルが出力される。これは各ユーザーの秘密鍵が別の場所(ユーザー プロファイル)に保存されているからである。

【EFS を使用して暗号化されたデータを回復する】
http://www.microsoft.com/japan/technet/community/columns/5min/5min-401.mspx

作成した EFS DRA 証明書 (.PFX ファイル) は、リムーバブルメディアに移して金庫などの安全な場所に保管しておく。それも一カ所だけでなく、コピーを作って複数の場所に保管する。証明書ファイルにもバックアップは必要だからである。また、対象となる PC からは削除しておくこと。これは PC が盗難にあった場合に暗号化ファイルが解読される危険を減らすためである。.PFX ファイルは作成時のパスワードで守られているだけなので、パスワードの安全性 (たいてい弱い) に依存している危険なファイルである。.PFX ファイルを削除しておけば、その PC には回復エージェントの秘密鍵がどこにも存在しない。秘密鍵は必要なときだけファイルからインポートして使う。使い終わったらインポートした鍵も必ず削除する。Windows2000 ではデフォルトで回復エージェントが設定されている (Administrator、正確には最初にログオンした管理者ユーザーが回復エージェントの秘密鍵をインポート済になっている) ので、これをファイルにエクスポートした後に削除しておく。



〔目次〕  〔全項展開〕