Encrypting File System(暗号化ファイルシステム、EFS)とはMicrosoft WindowsにおいてNTFSバージョン3.0で追加された機能で[1]、ファイルシステムレベルでの暗号化を提供する。この技術はコンピューターに物理的にアクセスする攻撃者から機密データを保護するために、ファイルの透過的暗号化を実現する。
EFSはWindows 2000以降の全てのビジネス向けエディションのWindowsで利用できる[2]。既定では暗号化されたファイルは存在しないが、ユーザーの選択でファイルごと、ディレクトリーごと、あるいはドライブごとに暗号化を有効にすることができる。いくつかのEFS設定はWindowsドメイン環境のグループポリシーで強制させることもできる。[3]
暗号ファイルシステム実装は他のオペレーティングシステムでも利用可能であるが、Microsoft EFSはそれらとの互換性はない。
動作原理EFSによるファイル暗号化・復号処理の流れ
EFSはファイル暗号化キー (File Encryption Key ; FEK) という大量の対称鍵によってファイルを暗号化する。対称暗号化アルゴリズムを使用する理由は、非対称鍵暗号を用いるよりも暗号化および復号に掛かる時間が短くなるためである。使用される対称暗号化アルゴリズムはオペレーティングシステムのバージョンや設定によって異なる。FEK(ファイルの暗号化に用いられる対称鍵)はファイルの暗号化を行うユーザーと関連付けられた公開鍵によって暗号化され、この暗号化されたFEKは暗号化ファイルの$EFS代替データストリームに格納される[4]。ファイルを復号する手順としては、EFSコンポーネントドライバーはファイルの暗号化に使われたEFSデジタル証明書に合致する秘密鍵を使い、$EFSストリームに格納されている対称鍵を復号する。そしてその対称鍵を使ってファイルを復号する。暗号化および復号処理はNTFSファイルシステム下のレイヤーで行われるため、ユーザーや全てのユーザーアプリケーションから見ると透過している。
コンテンツを含むフォルダーはファイルシステムによって暗号化属性でマークされた上で暗号化される。EFSコンポーネントドライバーはこの暗号化属性をNTFSにおけるアクセス許可(パーミッション)の継承と同様に扱い、フォルダーが暗号化としてマークされると、既定ではそのフォルダー下に作成される全てのファイルやサブフォルダーも暗号化される。暗号化ファイルをNTFSボリューム間で移動しても、ファイルは暗号化されたままである。
ファイルおよびフォルダーはFAT32のような他のファイルシステムでフォーマットされたボリュームにコピーされる場合に復号される。暗号化ファイルをSMB/CIFSプロトコル(Windowsのファイル共有サービスで使われるプロトコル)を使ってネットワーク越しにコピーしたとき、ファイルはネットワークに送信される前に復号される。
バックアップアプリケーションにも使われている、復号コピーを防止する最もよく使われる手法は "Raw" APIが知られる[5]。バックアックアプリケーションはこれらのRaw APIを実装していて、暗号化ファイルストリームと$EFS代替データストリームを単一のファイルとして単純にコピーする。言い換えると、ファイルは暗号化状態でコピーされ、バックアップ中に復号されない。
Windows Vistaより、ユーザーの秘密鍵はスマートカードに格納できるようになった。データ回復エージェント (Data Recovery Agent ; DRA)もまたスマートカードに格納できる。[6] 他のオペレーティングシステムまたはファイルシステムでEFSをネイティブにサポートするものは存在しない。 Windows XP Windows XP SP1 Windows XP SP2 + KB912761[8] Windows Server 2003 Windows VistaおよびWindows Server 2008[9][10][11] Windows Server 2008[11] Windows 7およびWindows Server 2008 R2[14] Windows EFSはいくつかの対称暗号化アルゴリズムをサポートし、ファイルの暗号化に用いられるアルゴリズムはWindowsのバージョンによって異なる。 オペレーティングシステム既定のアルゴリズム他のアルゴリズム Windows Server 2008 R2混合 (AES, SHA, ECC)トリプルDES、DES-X
サポートされるオペレーティングシステム
Windows
Windows 2000 Professional, Server, Advanced Server, Datacenter
Windows XP Professional, Tablet PC Edition, Media Center Edition, x64 Edition
Windows Server 2003, Windows Server 2003 R2
Windows Vista Business, Enterprise, Ultimate[7]
Windows 7 Professional, Enterprise, Ultimate
Windows Server 2008, Windows Server 2008 R2
Windows 8, 8.1 Pro, Enterprise
Windows Server 2012, Windows Server 2012 R2
Windows 10 Pro, Enterprise, Education
Windows Server 2016
Windows Server 2019
他のオペレーティングシステム
Windowsバージョン別の新機能
クライアントサイドでの暗号化(オフラインファイル
ドメイン公開鍵を使ったDPAPIマスターキーのバックアップの保護
暗号化済みファイルへのファイル単位の複数ユーザー共有アクセスと、暗号化ファイルを共有するときにその証明書の失効をチェック
暗号化ファイルを異なる色で表示(既定では緑)
強制回復エージェントが不要
暗号化がサポートされていないファイルシステムにファイルを移動したときに、復号されることを警告
パスワードリセットディスク
WebDAV越しのEFSとActive Directoryで委譲されたサーバーのリモート暗号化
既定で全てのEFS暗号化ファイルについてAES-256対称暗号化アルゴリズムの使用およびサポート
自己署名EFS証明書の適用をブロックする設定を追加
デジタルID管理サービス
自己署名EFS証明書を適用する場合に最小鍵長の設定を強制するためのRSA鍵長設定
クライアントサイド(オフラインファイル)のユーザー単位の暗号化
PC/SCスマートカード上のRSA秘密鍵の格納をサポート
EFSキー更新ウィザード
EFSキーバックアップメッセージ
PC/SCスマートカードからのDPAPIマスターキーの取得
BitLockerを使ったEFS関係の秘匿情報の保護[12][13]
統括管理のためのグループポリシー制御
ドキュメントフォルダーの暗号化
オフラインファイル暗号化
暗号化ファイルのインデックス
EFS用のスマートカードの必要性
スマートカードからユーザーキーを生成
ユーザーキーが生成または変更されたときにキーバックアップ通知を表示
強制的に自動で使われるEFS認証の認証テンプレートの指定
Windows Server 2008サーバー上のEFS自己署名証明書で2048ビットRSA鍵長が既定に
全てのEFSテンプレート(ユーザーおよびデータ回復エージェント証明書)で2048ビットRSA鍵長が既定に
Windows 7でECC(楕円曲線暗号)およびRSAアルゴリズムの混合モードを後方互換性のためにサポート
ECC使用時にEFS自己署名証明書で256ビット鍵を既定に
EFSで自己署名RSA証明書使用時に1k/2k/4k/8k/16kビット鍵、あるいはECC証明書使用時に256/384/521ビット鍵の使用が設定可能に。
下位エディションでも一部のEFS操作が可能に。[15]
Windows 10 バージョン 1607 および Windows Server 2016
FAT および exFAT での EFS サポート[16]
Windowsバージョン別の使用アルゴリズム
Windows 2000DES-X(なし)
Windows XP RTMDES-XトリプルDES
Windows XP SP1AESトリプルDES、DES-X
Windows Server 2003AESトリプルDES、DES-X[17]
Windows VistaAESトリプルDES、DES-X
Windows Server 2008AESトリプルDES、DES-X (?)
Windows 7
関連項目
BitLocker
Data Protection API (DPAPI)
EncFS
脚注^ “ ⇒File Encryption (Windows)”. Microsoft. 2010年1月11日閲覧。
^ EFSはWindows XP Home Edition、Windows Vista、Windows 7のStarter、Basic、Home Premiumではサポートされていない。また、Windows 9x系ではNTFSがサポートされていないためEFSも利用できない。
^ “ ⇒Encrypting File System”. Microsoft (2008年5月1日). 2011年8月24日閲覧。
^ “ ⇒Encrypting File System”. AnVir Software. 2016年7月5日閲覧。
^ “Backup and Restore of Encrypted Files (Windows) - MSDN
^ Chris Corio (2006年5月). “ ⇒First Look: New Security Features in Windows Vista”. TechNet Magazine. Microsoft. 2006年11月6日閲覧。