Encrypting File System

Encrypting File System（暗号化ファイルシステム、EFS）とはMicrosoft WindowsにおいてNTFSバージョン3.0で追加された機能で、ファイルシステムレベルでの暗号化を提供する。この技術はコンピューターに物理的にアクセスする攻撃者から機密データを保護するために、ファイルの透過的暗号化を実現する。 EFSはWindows 2000以降の全てのビジネス向けエディションのWindowsで利用できる。既定では暗号化されたファイルは存在しないが、ユーザーの選択でファイルごと、ディレクトリーごと、あるいはドライブごとに暗号化を有効にすることができる。いくつかのEFS設定はWindowsドメイン環境のグループポリシーで強制させることもできる。 暗号ファイルシステム実装は他のオペレーティングシステムでも利用可能であるが、Microsoft EFSはそれらとの互換性はない。 EFSはファイル暗号化キー (File Encryption Key ; FEK) という大量の対称鍵によってファイルを暗号化する。対称暗号化アルゴリズムを使用する理由は、非対称鍵暗号を用いるよりも暗号化および復号に掛かる時間が短くなるためである。使用される対称暗号化アルゴリズムはオペレーティングシステムのバージョンや設定によって異なる。FEK（ファイルの暗号化に用いられる対称鍵）はファイルの暗号化を行うユーザーと関連付けられた公開鍵によって暗号化され、この暗号化されたFEKは暗号化ファイルの$EFS代替データストリームに格納される。ファイルを復号する手順としては、EFSコンポーネントドライバーはファイルの暗号化に使われたEFSデジタル証明書に合致する秘密鍵を使い、$EFSストリームに格納されている対称鍵を復号する。そしてその対称鍵を使ってファイルを復号する。暗号化および復号処理はNTFSファイルシステム下のレイヤーで行われるため、ユーザーや全てのユーザーアプリケーションから見ると透過している。 コンテンツを含むフォルダーはファイルシステムによって暗号化属性でマークされた上で暗号化される。EFSコンポーネントドライバーはこの暗号化属性をNTFSにおけるアクセス許可（パーミッション）の継承と同様に扱い、フォルダーが暗号化としてマークされると、既定ではそのフォルダー下に作成される全てのファイルやサブフォルダーも暗号化される。暗号化ファイルをNTFSボリューム間で移動しても、ファイルは暗号化されたままである。 ファイルおよびフォルダーはFAT32のような他のファイルシステムでフォーマットされたボリュームにコピーされる場合に復号される。暗号化ファイルをSMB/CIFSプロトコル（Windowsのファイル共有サービスで使われるプロトコル）を使ってネットワーク越しにコピーしたとき、ファイルはネットワークに送信される前に復号される。 バックアップアプリケーションにも使われている、復号コピーを防止する最もよく使われる手法は "Raw" APIが知られる。バックアックアプリケーションはこれらのRaw APIを実装していて、暗号化ファイルストリームと$EFS代替データストリームを単一のファイルとして単純にコピーする。言い換えると、ファイルは暗号化状態でコピーされ、バックアップ中に復号されない。 Windows Vistaより、ユーザーの秘密鍵はスマートカードに格納できるようになった。データ回復エージェント (Data Recovery Agent ; DRA)もまたスマートカードに格納できる。 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 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 他のオペレーティングシステムまたはファイルシステムでEFSをネイティブにサポートするものは存在しない。 Windows XP クライアントサイドでの暗号化（オフラインファイルデータベース） ドメイン公開鍵を使ったDPAPIマスターキーのバックアップの保護 暗号化済みファイルへのファイル単位の複数ユーザー共有アクセスと、暗号化ファイルを共有するときにその証明書の失効をチェック 暗号化ファイルを異なる色で表示（既定では緑） 強制回復エージェントが不要 暗号化がサポートされていないファイルシステムにファイルを移動したときに、復号されることを警告 パスワードリセットディスク WebDAV越しのEFSとActive Directoryで委譲されたサーバーのリモート暗号化 Windows XP SP1 既定で全てのEFS暗号化ファイルについてAES-256対称暗号化アルゴリズムの使用およびサポート Windows XP SP2 + KB912761 自己署名EFS証明書の適用をブロックする設定を追加 Windows Server 2003 デジタルID管理サービス 自己署名EFS証明書を適用する場合に最小鍵長の設定を強制するためのRSA鍵長設定 Windows VistaおよびWindows Server 2008 クライアントサイド（オフラインファイル）のユーザー単位の暗号化 PC/SCスマートカード上のRSA秘密鍵の格納をサポート EFSキー更新ウィザード EFSキーバックアップメッセージ PC/SCスマートカードからのDPAPIマスターキーの取得 BitLockerを使ったEFS関係の秘匿情報の保護 統括管理のためのグループポリシー制御 ドキュメントフォルダーの暗号化 オフラインファイル暗号化 暗号化ファイルのインデックス EFS用のスマートカードの必要性 スマートカードからユーザーキーを生成 ユーザーキーが生成または変更されたときにキーバックアップ通知を表示 強制的に自動で使われるEFS認証の認証テンプレートの指定 Windows Server 2008 Windows Server 2008サーバー上のEFS自己署名証明書で2048ビットRSA鍵長が既定に 全てのEFSテンプレート（ユーザーおよびデータ回復エージェント証明書）で2048ビットRSA鍵長が既定に Windows 7およびWindows Server 2008 R2 Windows 7でECC（楕円曲線暗号）およびRSAアルゴリズムの混合モードを後方互換性のためにサポート ECC使用時にEFS自己署名証明書で256ビット鍵を既定に EFSで自己署名RSA証明書使用時に1k/2k/4k/8k/16kビット鍵、あるいはECC証明書使用時に256/384/521ビット鍵の使用が設定可能に。 下位エディションでも一部のEFS操作が可能に。 Windows 10 バージョン 1607 および Windows Server 2016 FAT および exFAT での EFS サポート Windows EFSはいくつかの対称暗号化アルゴリズムをサポートし、ファイルの暗号化に用いられるアルゴリズムはWindowsのバージョンによって異なる。 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”. Microsoft. 2016年7月5日閲覧。 ^ Chris Corio (2006年5月). “First Look: New Security Features in Windows Vista”. TechNet Magazine. Microsoft. 2006年11月6日閲覧。 ^ Windows Vista: Features Explained: Encrypting File System - ウェイバックマシン（2007年2月3日アーカイブ分） ^ “Windows XP ベースのコンピューターで EFS ファイルを暗号化しようとすると暗号化ファイル システム (EFS) とは、自己署名入りの証明書に生成します。”. Microsoft (2015年12月9日). 2016年7月5日閲覧。 ^ Kim Mikkelsen (2006年9月5日). “Windows Vista Session 31: Rights Management Services and Encrypting File System” (PDF). presentation. Microsoft. 2007年10月2日閲覧。[リンク切れ] ^ “Encrypting File System”. documentation. Microsoft (2007年4月30日). 2007年11月6日閲覧。 ^ a b “Changes in Functionality from Windows Server 2003 with SP1 to Windows Server 2008: Encrypting File System”. documentation. Microsoft (2007年9月1日). 2007年11月6日閲覧。 ^ Scott Field (2006年6月). “Microsoft Windows Vista Security Enhancements” (DOC). whitepaper. Microsoft. 2007年6月14日閲覧。 ^ Microsoft Corporation (2006年11月30日). “Data Communication Protocol”. patent. Microsoft. 2007年6月14日閲覧。 ^ “Changes in EFS”. Microsoft TechNet. 2009年5月2日閲覧。 ^ “暗号化ファイル システム (EFS) とは - Windows ヘルプ”. Microsoft. 2016年6月18日時点のオリジナルよりアーカイブ。2017年10月2日閲覧。 ^ “[MS-FSCC]: Appendix B: Product Behavior”. Microsoft (2017年9月15日). 2017年10月2日閲覧。 “Support for FAT and EXFAT was added in Windows 10 v1607 operating system and Windows Server 2016 and subsequent.” ^ Muller, Randy (2006年5月). “How IT Works: Encrypting File System”. TechNet Magazine. Microsoft. 2009年5月22日閲覧。 “Implementing the Encrypting File System in Windows 2000”. Windows 2000 Evaluated Configuration Administrators Guide. Microsoft. 2014年12月20日閲覧。 “The Encrypting File System - Technet Library”. TechNet. Microsoft. 2016年7月5日閲覧。 “Encrypting File System (Windows Server 2008, Windows Vista)”. TechNet. Microsoft (2009年2月25日). 2016年7月5日閲覧。 “Encrypting File System in Windows XP and Windows Server 2003”. TechNet. Microsoft (2003年4月11日). 2016年7月5日閲覧。 “How to Use the Encrypting File System (Windows Server 2003, Windows XP Professional)”. MSDN. Microsoft. 2016年7月5日閲覧。 “Using Encrypting File System”. Windows XP Resource Kit. Microsoft (2005年11月3日). 2016年7月5日閲覧。 “Encrypting File System”. Windows 2000 Resource Kit. Microsoft. 2016年7月5日閲覧。 “How EFS Works”. Windows 2000 Resource Kit. Microsoft. 2016年7月5日閲覧。