Encrypting File System

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]

サポートされるオペレーティングシステム

[編集]

Windows

[編集]

他のオペレーティングシステム

[編集]

他のオペレーティングシステムまたはファイルシステムでEFSをネイティブにサポートするものは存在しない。

Windowsバージョン別の新機能

[編集]

Windows XP

  • クライアントサイドでの暗号化(オフラインファイルデータベース)
  • ドメイン公開鍵を使ったDPAPIマスターキーのバックアップの保護
  • 暗号化済みファイルへのファイル単位の複数ユーザー共有アクセスと、暗号化ファイルを共有するときにその証明書の失効をチェック
  • 暗号化ファイルを異なる色で表示(既定では緑)
  • 強制回復エージェントが不要
  • 暗号化がサポートされていないファイルシステムにファイルを移動したときに、復号されることを警告
  • パスワードリセットディスク
  • WebDAV越しのEFSとActive Directoryで委譲されたサーバーのリモート暗号化

Windows XP SP1

  • 既定で全てのEFS暗号化ファイルについてAES-256対称暗号化アルゴリズムの使用およびサポート

Windows XP SP2 + KB912761[8]

  • 自己署名EFS証明書の適用をブロックする設定を追加

Windows Server 2003

  • デジタルID管理サービス
  • 自己署名EFS証明書を適用する場合に最小鍵長の設定を強制するためのRSA鍵長設定

Windows VistaおよびWindows Server 2008[9][10][11]

  • クライアントサイド(オフラインファイル)のユーザー単位の暗号化
  • PC/SCスマートカード上のRSA秘密鍵の格納をサポート
  • EFSキー更新ウィザード
  • EFSキーバックアップメッセージ
  • PC/SCスマートカードからのDPAPIマスターキーの取得
  • BitLockerを使ったEFS関係の秘匿情報の保護[12][13]
  • 統括管理のためのグループポリシー制御
    • ドキュメントフォルダーの暗号化
    • オフラインファイル暗号化
    • 暗号化ファイルのインデックス
    • EFS用のスマートカードの必要性
    • スマートカードからユーザーキーを生成
    • ユーザーキーが生成または変更されたときにキーバックアップ通知を表示
    • 強制的に自動で使われるEFS認証の認証テンプレートの指定

Windows Server 2008[11]

  • Windows Server 2008サーバー上のEFS自己署名証明書で2048ビットRSA鍵長が既定に
  • 全てのEFSテンプレート(ユーザーおよびデータ回復エージェント証明書)で2048ビットRSA鍵長が既定に

Windows 7およびWindows Server 2008 R2[14]

  • 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 EFSはいくつかの対称暗号化アルゴリズムをサポートし、ファイルの暗号化に用いられるアルゴリズムはWindowsのバージョンによって異なる。

オペレーティングシステム 既定のアルゴリズム 他のアルゴリズム
Windows 2000 DES-X (なし)
Windows XP RTM DES-X トリプルDES
Windows XP SP1 AES トリプルDES、DES-X
Windows Server 2003 AES トリプルDES、DES-X[17]
Windows Vista AES トリプルDES、DES-X
Windows Server 2008 AES トリプルDES、DES-X (?)
Windows 7

Windows Server 2008 R2

混合 (AES, SHA, ECC) トリプルDES、DES-X

関連項目

[編集]

脚注

[編集]
  1. ^ File Encryption (Windows)”. Microsoft. 2010年1月11日閲覧。
  2. ^ EFSはWindows XP Home Edition、Windows Vista、Windows 7のStarter、Basic、Home Premiumではサポートされていない。また、Windows 9x系ではNTFSがサポートされていないためEFSも利用できない。
  3. ^ Encrypting File System”. Microsoft (1 May 2008). 24 August 2011閲覧。
  4. ^ Encrypting File System”. AnVir Software. 2016年7月5日閲覧。
  5. ^ Backup and Restore of Encrypted Files (Windows) - MSDN”. Microsoft. 2016年7月5日閲覧。
  6. ^ Chris Corio (May 2006). “First Look: New Security Features in Windows Vista”. TechNet Magazine. Microsoft. 2006年11月6日閲覧。
  7. ^ Windows Vista: Features Explained: Encrypting File System - ウェイバックマシン(2007年2月3日アーカイブ分)
  8. ^ Windows XP ベースのコンピューターで EFS ファイルを暗号化しようとすると暗号化ファイル システム (EFS) とは、自己署名入りの証明書に生成します。”. Microsoft (2015年12月9日). 2016年7月5日閲覧。
  9. ^ Kim Mikkelsen (2006年9月5日). “Windows Vista Session 31: Rights Management Services and Encrypting File System” (PDF). presentation. Microsoft. 2007年10月2日閲覧。[リンク切れ]
  10. ^ Encrypting File System”. documentation. Microsoft (2007年4月30日). 2007年11月6日閲覧。
  11. ^ 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日閲覧。
  12. ^ Scott Field (June 2006). “Microsoft Windows Vista Security Enhancements” (DOC). whitepaper. Microsoft. 2007年6月14日閲覧。
  13. ^ Microsoft Corporation (2006年11月30日). “Data Communication Protocol”. patent. Microsoft. 2007年6月14日閲覧。
  14. ^ Changes in EFS”. Microsoft TechNet. 2009年5月2日閲覧。
  15. ^ 暗号化ファイル システム (EFS) とは - Windows ヘルプ”. Microsoft. 2016年6月18日時点のオリジナルよりアーカイブ。2017年10月2日閲覧。
  16. ^ [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.”
  17. ^ Muller, Randy (May 2006). “How IT Works: Encrypting File System”. TechNet Magazine. Microsoft. 2009年5月22日閲覧。

参考文献

[編集]