検索
連載

今更ながら気が付いたNTFSの「暗号化ファイルシステム(EFS)」の仕様変更山市良のうぃんどうず日記(225)

今回は、20年以上も前、Windows 2000のときから存在するNTFSファイルシステムの「暗号化ファイルシステム(EFS)」について、今の状況を少し取り上げます。はっきりしない部分もありますが、はっきりしている部分については、その情報源をお伝えします。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「山市良のうぃんどうず日記」のインデックス

山市良のうぃんどうず日記

2023年1月後半、わが家のPCにWindows 11が来た、けど引っ込んでもらった

 ところで、わが家には仕事用、家庭&教育用に複数台のPCとサーバ機があります。懐の都合上、最新モデルというわけにもいかず、購入してからかなり経過したPCも多く、「Windows 11」にアップグレード可能なPCは1年ほど前に新調したメインのデスクトップPCの1台だけです。そのPCに、2022年1月後半、ようやくWindows 11がWindows Update経由でダウンロードしてインストールできるようになったとのお知らせが来ました。

 知らせが来るのは分かっていたのですが、「今はWindows 10の使用を継続します」をクリックして通知には引っ込んでもらい、当面はこのまま「Windows 10」で過ごすことにしました。

 実は、わが家には現在、この春から社会人になる子どもの新しいWindows 11ノートPCの購入とセットアップを代行するため、Windows 11の物理環境がいつでも利用できる状態です(コロナ禍の関係もあって、後1カ月ほど、わが家に置かれる予定)。一時的にとはいえ、自由にできるWindows 11の物理環境がある上、今しばらくWindows 10の物理環境を残しておかなければならない理由があるので、すぐにはアップグレードしません。

 Windows 10の物理環境が必要な理由は、Windows 10までのWindowsテクノロジーに関する仕事が仕掛かり中で、後数カ月は複数バージョンのWindowsを、物理環境と仮想環境で利用可能にしておく必要があるからです。

 そして、つい最近、(Windows 10までの)最新とされるドキュメントで、NTFSファイルシステムで古くから(「Windows 2000」以降)サポートされている「暗号化ファイルシステム(Encrypting File System:EFS)」に関する記述に少し戸惑ったことがありました。説明されていることと実際の動作が異なるのです。

暗号化ファイルは、ネットワーク共有にコピーできる場合とできない場合がある?

 問題のドキュメントには、EFSで暗号化されたファイルは、NTFSの代替データストリームをサポートしていないネットワーク共有に、それがNTFSボリューム上の共有であっても、コピーすることはできないと書いてありました。

 「Windowsエクスプローラー」でコピーした場合は、コピーが中断されてダイアログボックスが表示され、「このファイルを暗号化なしでコピーしますか?」と問われ、「はい」をクリックすると、暗号化が解除された状態でコピーされ、「COPY」コマンドなどでコピーした場合は、エラーメッセージ「指定されたファイルを暗号化できませんでした」で失敗すると書いてあります(ドキュメントは英語)。

 EFSは、Windows 2000で登場したときから、NTFSボリューム上のSMB(Server Message Block)プロトコルのファイル共有でも利用できるようになっていたと記憶しています。そのためのActive Directoryに統合されたサービス(「データ回復エージェント」など)もあります。

 「Windows Server 2012 R2」の「ワークフォルダー」は、HTTPS経由でEFSで暗号化された同期フォルダを提供できます。NTFSボリューム上の共有であってもコピーできないとは、ユーザーIDを確認できないActive Directoryのないワークグループ環境や、その他の共有プロトコルによる共有のことだと想像しました。

 ところが、実際にWindows 10クライアントとWindows Serverのワークグループ環境でやってみると、中断されることなく、コピーできてしまいました。ただし、できない場合もあるので何か条件があるようです。

 いろいろと試してみたところ、「Windows 8」および「Windows Server 2012」以降では、ワークグループ環境でもサーバのビルトインAdministratorの資格情報で接続すれば、暗号化されたままコピーできるようです(画面1)。

画面1
画面1 Windows 8以降のクライアントとWindows Server 2012以降のサーバでは、ワークグループ環境でSMB共有にEFSで暗号化されたファイルをコピーできる場合とできない場合がある

 「Windows 7」クライアントと「Windows Server 2008 R2」のワークグループ環境では、Administratorでもコピーできませんでした。Windows 7とWindows 8以降の動作の違いがどこからくるものなのか、結局のところはっきりした答えは得られていません。

暗号化ファイルはFATボリュームにコピーできる? できない? どっち?

 EFSは、NTFSの代替データストリーム機能に依存しています。そのため、EFSで暗号化されたファイルを保存できるのは、NTFSボリューム上のパスに限られていました。NTFSより新しい「ReFS」は、代替データストリームをサポートしておらず、当然、EFSもサポートしていません。

 ところが、最新のWindows 10 バージョンでFATやexFATボリュームにEFSで暗号化されたファイルをコピーしてみたところ、何の文句もいわれることなく、暗号化された状態を維持したままコピーできてしまいました(画面2)。ReFSはこれまでと同様、最新バージョンのWindows 10でも、「Windows Server 2022」でもEFSをサポートしていないため、コピーするには暗号化を解除する必要があります。

画面2
画面2 Windows 10やWindows 11では、EFSで暗号化されたファイルをFATやexFATに保存することができる。これはWindows 10 バージョン1607とWindows Server 2016以降の新仕様

 この動作については、以下のドキュメントに公開されている仕様として、明記されていました。Windows 10 バージョン1607とWindows Server 2016以降では、FAT(FAT16やFAT32)とexFATでEFSのサポートが追加されています。

<140> Section 2.5.1: Windows support for a volume formatted to NTFS version 3.0 or 3.1 is required for EFS use. NTFS versions 3.0 and 3.1 are supported on Windows 2000 and subsequent. Support for FAT and exFAT was added in Windows 10 v1607 operating system and Windows Server 2016 and subsequent.

 ちなみに、Windows 10でFATボリューム(USBメモリなど)に暗号化されたファイルを保存し、それを「Windows 8.1」以前にマウントすると、暗号化されているファイルには、Windows 10では非表示だった「.PFILE」という拡張子が見えます(画面3)。NTFSの代替データストリームの代わりになる何かに関係しているのでしょう。

画面3
画面3 Windows 10でFATボリュームに保存した暗号化されたファイルを、Windows 8.1で見ると「.PFILE」という追加の拡張子が見える

 暗号化されたファイルとしては認識しないため、Windows 8.1ではもちろんその暗号化を解除することはできません。また、Windows 8.1では、暗号化されたファイルをそのまま保存することも、もちろんできません。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る