暗号化ファイル・システム(EFS)は,ディスク上にファイルを暗号化して保存するNTFSの機能である。暗号化されたファイルは,復号化するための鍵がないと読むことができないため,ハードディスクの盗難対策として利用できる。復号化のための鍵はユーザー・プロファイルの一部として保存され,ユーザーが特に意識しなくても必要に応じて自動的に復号化される。

 暗号化はファイル,フォルダのどちらに対しても設定できるが,フォルダに対して設定するのがお勧めだ。フォルダを暗号化すると,その時点でフォルダに含まれるファイルだけでなく,その後作成されるすべてのファイルが自動的に暗号化されるようになる。特に,ファイルの編集中に生成される一時ファイルも暗号化されるため,ファイルの内容をより強固に保護できる。

 ファイルやフォルダを暗号化する方法は以下の通りである。

(1)NTFSボリューム上のファイルやフォルダを右クリックしてメニューから[プロパティ]を選択する。
(2)表示されたダイアログの[全般]タブで[詳細設定]ボタンをクリックする(図1左)。
(3)表示された[属性の詳細]画面で,[内容を暗号化してデータをセキュリティで保護する]チェック・ボックスをオンにする(図1右)。

図1●ファイルを暗号化する手順
ファイルのプロパティを開いて[詳細設定]ボタンを押し,表示されたダイアログの[内容を暗号化してデータをセキュリティで保護する]をチェックする。[画像をクリックすると拡大]

 EFSを初めて搭載したWindows 2000では,暗号化ユーザーをファイル/フォルダごとに1人しか設定できなかったため,アクセスできるのは暗号化を行ったユーザーに限定されるという欠点があった。つまり,事実上,複数のユーザーでファイルを共有することができなかったのである。

 Windows XP Professionalではこの制限がなくなり,暗号化ファイルにアクセス可能なユーザーを追加できるようになった。ただし,追加できるのはユーザーだけであり,グループは追加できない。想定される用途としては,マネージャが自分の秘書に暗号化したファイルにアクセスする権限を与えたいといったケースが考えられる。

 ユーザーを追加するには先ほどの暗号化手順の(3)で[詳細]ボタンをクリックし,表示された[暗号化の詳細]画面で[追加]ボタンをクリックする(図2)。[ユーザーの選択]画面が表示されたら,適切なユーザーの電子証明書を選択すればよい。これから分かるように,追加するユーザーは,暗号化のための証明書を持ち,かつ,その証明書が暗号化を行うコンピュータに存在する必要がある。証明書を作成する最も簡単な方法は,証明書を作成したいユーザーとしてそのコンピュータにログオンし,そのコンピュータ上で暗号化ファイルを作成することである。

図2●暗号化したファイルにアクセスできるユーザーを追加する方法
暗号化の詳細ダイアログで[追加]ボタンを押し,表示された[ユーザーの選択]ダイアログで追加するユーザーを選択する。

 暗号化ファイルは,こうして追加したユーザーのほかに「回復エージェント」として設定したユーザーも復号化できる。回復エージェントは,すべての暗号化ファイルにアクセスできる特別なユーザーである。回復エージェントを設定する場合はファイルを暗号化する前にグループ・ポリシーなどで指定しておく必要がある(図3)。暗号化後に回復エージェントを変更しても,ファイルの属性には反映されない。

図3●回復エージェントを作成/追加する方法
グループ・ポリシー・オブジェクト・エディタで[ファイルシステムの暗号化]を右クリックし,表示されたメニューから[データ回復エージェントの追加]などを選択する。[画像をクリックすると拡大]

 設問では,(1)営業部のメンバーとアシスタントにだけファイルのアクセスを許可する,(2)アシスタントにもアクセスされたくないファイルが存在する,という2つの条件を課している。これらを満たすには,営業部のメンバーが暗号化したファイルに対して,アシスタントを追加するという手順が最も適切である。

 選択肢1のように回復エージェントとしてアシスタントを追加し,その後で営業部のメンバーがファイルを暗号化した場合,アシスタントがすべての暗号化ファイルにアクセスできてしまうため,(2)の条件を満たせない。逆に,選択肢2のように営業部のメンバーがファイルを暗号化し,その後でアシスタントを回復エージェントとして追加した場合,アシスタントが既存の暗号化ファイルに一切アクセスできないために(1)の条件を満たせない。

 参考までに紹介すると,ファイルを暗号化したユーザーを確認するにはefsinfoコマンドを利用するのが簡単だ。efsinfoは,米Microsoftが無償配布するWindows XP Service Pack 2 Support Toolsなどに含まれる。例えばコマンド・プロンプト上で図4のように入力すれば,指定したフォルダに含まれるすべてのファイル/フォルダについて,暗号化されているかどうかや暗号化したユーザーが表示される。

図4●efsinfoコマンドの実行結果
指定したディレクトリ「.」とその中にあるファイル「第1四半期売り上げデータ.txt」が暗号化されていること,およびユーザーyoshidaがそれらを復号化できることが分かる。
日経Windowsプロ2005年10月号掲載
藤田 将幸=グローバルナレッジネットワーク