加密文件系统

科技工作者之家  |   2020-11-17 17:43

加密文件系统 (EFS) 提供一种核心文件加密技术,该技术用于在 NTFS 文件系统卷上存储已加密的文件。一旦加密了文件或文件夹,您就可以像使用其他文件和文件夹一样使用它们。

应用说明对加密该文件的用户,加密是透明的。这表明不必在使用前手动解密已加密的文件。您可以正常打开和更改文件。

使用 EFS 类似于使用文件和文件夹上的权限。两种方法可用于限制数据的访问。然而,获得未经许可的加密文件和文件夹物理访问权的入侵者将无法阅读文件和文件夹中的内容。如果入侵者试图打开或复制已加密文件或文件夹,入侵者将收到拒绝访问消息。文件和文件夹上的权限不能防止未授权的物理攻击。1

性质正如设置其他任何属性(如只读、压缩或隐藏)一样,通过为文件夹和文件设置加密属性,可以对文件夹或文件进行加密和解密。如果加密一个文件夹,则在加密文件夹中创建的所有文件和子文件夹都自动加密。推荐在文件夹级别上加密——加密后的样子:(见图片中绿色名称的文件夹)1

应用在使用加密文件和文件夹时,请记住下列信息:

只有 NTFS 卷上的文件或文件夹才能被加密。由于 WebDAV 使用 NTFS,当通过 WebDAV 加密文件时需用 NTFS。

被压缩的文件或文件夹不可以加密。如果用户标记加密一个压缩文件或文件夹,则该文件或文件夹将会被解压。

如果将加密的文件复制或移动到非 NTFS 格式的卷上,该文件将会被解密。

如果将非加密文件移动到加密文件夹中,则这些文件将在新文件夹中自动加密。然而,反向操作不能自动解密文件。文件必须明确解密。

无法加密标记为“系统”属性的文件,并且位于 systemroot 目录结构中的文件也无法加密。

加密文件夹或文件不能防止删除或列出文件或文件夹表。具有合适权限的人员可以删除或列出已加密文件或文件夹表。因此,建议结合 NTFS 权限使用 EFS。

在允许进行远程加密的远程计算机上可以加密或解密文件及文件夹。然而,如果通过网络打开已加密文件,通过此过程在网络上传输的数据并未加密。必须使用诸如单套接字层/传输层安全 (SSL/TLS) 或 Internet 协议安全 (IPSec) 等其它协议通过有线加密数据。但 WebDAV 可在本地加密文件并采用加密格式发送。2

操作EFS使用对称密钥加密文件,这被称为文件加密密钥(File Encryption Key),简称FEK。使用对称加密算法是因为加密和解密大量数据时这比使用非对称密钥密码本消耗更少的时间。在不同的操作系统版本和配置上将使用不同的对称加密算法,见下面的Algorithms used by Windows version。FEK(用来加密文件的对称密钥)然后会使用一个与加密文件的用户相关联的公钥加密,加密的FEK将被存储在加密文件的$EFS可选数据流。要解密该文件,EFS组件驱动程序使用匹配EFS数字证书(用于加密文件)的私钥解密存储在$EFS流中的对称密钥。EFS组件驱动程序然后使用对称密钥来解密该文件。因为加密和解密操作在NTFS底层执行,因此它对用户及所有应用程序是透明的。

内容要被加密的文件夹会被文件系统标记为“加密”属性。EFS组件驱动程序会检查此“加密”属性,这类似NTFS中文件权限的继承:如果一个文件夹标记为加密,在里面创建文件和子文件夹就默认会被加密。在加密文件移动到一个NTFS卷时,文件会继续保持加密。但是,在许多情况下,Windows可能不需询问用户就解密文件。

被复制到另一种文件系统(如FAT32)的文件和文件夹会被解密。最后,加密的文件使用SMB/CIFS协议通过网络复制时,文件在发送到网络前会被解密。避免“复制时解密”的最有效方法是使用支持“原始数据”API的备份软件。使用Raw API的备份软件会直接复制已加密文件的流和$EFS备用数据流为单个文件。换句话说,这些文件以加密形式被“复制”,备份过程中不牵扯解密。

从Windows Vista开始,用户的私钥可以存储在智能卡上;数据恢复代理(DRA)密钥也可以存储在智能卡上。2

本词条内容贡献者为:

李宗秀 - 副教授 - 黑龙江财经学院