Windows文件加密系统(EFS)详解

加密文件系统(EFS)是将信息以加密格式存储于硬盘。加密是 Windows10所提供的最强信息安全保护措施。

1、EFS 概述

文件加密系统(Encrypting File System)是 Windows 10 基于 NTFS 文件系统提供的针对文件或文件夹的加密服务功能。EFS 只包含于 Windows 10 专业版及企业版操作系统中,其他版本没有 EFS 功能。

EFS 使用公钥与私钥配对的方式对文件或文件夹进行加密和解密。当用户对文件或文件夹启用 EFS 加密时,Windows 10 会生成文件加密密钥(FEK)文件,然后操作系统使用快速对称加密算法和 FEK 文件对需要加密的文件或文件夹进行加密,加密后的 FEK 文件与加密文件一起存储在数据加密字段(DDF)中,最后重新生成加密后的文件或文件夹,并删除原始文件或文件夹。

当用户读取被加密的文件或文件夹时,操作系统首先利用当前用户下与加密公钥相对应的私钥解密 FEK 文件,再利用 FEK 文件对加密的文件或文件夹进行解密,最后读取文件或文件夹。

EFS 对文件或文件夹的加密过程由文件系统层面完成,打开、读取、写入已加密文件与操作普通文件没有任何区别,因此对用户来说 EFS 属于透明操作。

综合来说 EFS 具备如下优点:

  • 用户加密或解密文件或文件夹非常方便,只需勾选文件或文件夹属性界面中的【加密】复选框即可启用 EFS 加密。
  • 访问加密的文件快且容易。如果当前用户已安装一个已加密文件的私钥,那么该用户就能像打开普通文件一样打开此文件,反之,操作系统会提示用户无权限访问此文件。
  • 加密后的文件或文件夹在使用 NTFS文件系统的硬盘分区上无论怎样移动或复制都能保持加密状态。如果已安装解密私钥,已加密的文件或文件夹移动或复制到非 NTFS 分区中时,会丢失加密信息,变成普通文件或文件夹。如果未安装解密私钥,已加密的文件或文件夹在复制或移动到非 NTFS 分区中时,操作系统会提示用户需要相关权限才能复制或移动成功,如下图所示。

  • EFS 属于文件系统层级功能,加密文件安全可靠。EFS 驻留在操作系统内核中,并且使用不分页的池存储文件加密密钥对,保证密钥对不会出现在分页文件中,这也防止了一些应用程序在创建临时文件时泄露加密密钥对的情况。

虽然 EFS 优点明显,但是也有缺点:

  • 如果没有备份加密证书和私钥,重新安装操作系统后 EFS 加密的文件将无法打开。
  • 如果证书和私钥丢失或损坏,EFS 加密文件也将无法打开。
  • 虽然用户无法读取加密的文件,但是可以删除加密文件。

2、EFS 加密与解密

EFS 加密和解密都可以通过图形界面工具以及 cipher 命令行工具完成。

EFS 加密文件和文件夹图形界面操作步骤如下。

① 单击右键要加密的文件或文件夹,然后在弹出菜单中选择【属性】,打开文件或文件夹属性界面,如下图所示。

另外,也可以按住 Alt 键,然后双击文件或文件夹打开属性界面。

② 在文件或文件夹属性界面中单击【高级】,打开【高级属性】设置界面,如下图所示。

③ 在【高级属性】界面中勾选【加密内容以便保护数据】,单击【确定】退出界面。如果是对文件夹进行加密,此时操作系统会弹出【确认属性更改】对话框,如下图所示。

询问用户是否把加密应用于该文件夹下的所有子文件夹和文件,按照需求选择即可。

在对文件加密时,如果该文件被应用程序读取,则会创建临时文件(如 Word),操作系统会弹出如下图所示的加密警告,提示用户应用程序读取该文件时,将会保存一份临时未加密的文件副本。

同时操作系统会给予两种选择,“加密文件及其父文件夹”和“只加密文件”。加密文件及父文件夹会确保临时文件也被加密,推荐选择该选项。

④在文件或文件夹属性界面上单击【确定】,此时操作系统开始加密文件或文件夹,加密所需时间由文件大小以及文件夹中文件数量决定。加密完成之后,被加密的文件或文件夹图标上会多出一把锁,如下图所示。

使用命令行工具 cipher,同样可以加密文件和文件夹。以管理员身份运行命令提示符,输入 cipher /? 命令即可查看 cipher 所有参数,如下图所示。

这里以加密lizhipeng 文件夹为例进行介绍。

在命令提示符中输入 cipher/E/S:H:\lizhipeng 并按 Enter 键等待命令执行完成,即表明加密成功,如下图所示。

如果需要对加密配置进行精细设置,推荐使用 cipher 命令行工具。

EFS 解密同样可以使用图形界面工具和 cipher 命令行工具完成。使用图形界面工具,只需取消勾选【高级属性】界面中的【加密内容以便保护数据】复选框,然后单击【确定】,即可完成文件或文件夹的解密。

使用 cipher 命令行工具,只需输入 cipher/D/S:H:\lizhipeng 命令并按 Enter 键,等待命令执行完成即可完成解密。

注意:这里解密是指删除文件或文件夹的 EFS 加密属性。

3、导入导出和新建 EFS 证书

用户可以导出含有私钥的证书以供其他用户或在其他计算机上读取加密的数据。另外,如果重新安装操作系统或操作系统崩溃前没有备份证书,就会导致使用 EFS 加密后的文件无法打开,因此强烈建议用户完成加密操作之后,第一时间备份文件加密证书和私钥。

1. 导出 EFS 证书

第一次使用 EFS 加密文件或文件夹之后,操作系统会要求用户备份文件加密证书和私钥,以防止原始文件加密证书和私钥丢失,导致文件或文件夹无法访问。此时单击该弹窗可以运行证书导出向导。此外,在文件的高级属性界面中选择【详细信息】,打开 EFS 证书管理界面,如图所示,选中需要备份的用户证书,然后单击【备份密钥】。

证书和私钥是读取加密数据的唯一途径,强烈建议立即备份该数据,备份操作步骤如下。

① 在下图所示的提示备份文件加密证书和私钥界面中,选择【现在备份】,进入【证书导出向导】界面。

② 在【证书导出向导】界面中会对证书进行简单的介绍。单击【下一步】,在出现的导出格式选择界面中,选择要导出的证书格式,一般保持默认即可。如果需要保留证书的扩展属性以及隐藏部分证书信息,勾选相应选项即可,如下图所示,然后单击【下一步】。

③ 在导出证书安全设置界面中,为导出的证书中的密钥设置密码,防止私钥被随意导入滥用,输入密码后单击【下一步】,如下图所示。

④ 在下图所示的界面中选择导出证书的保存路径,然后单击【下一步】。

最后在出现的导出证书确认界面中,确认导出的证书信息是否正确,然后单击【完成】,如下图所示。

注意:导出的 PFX(个人信息交换)格式文件包含证书及私钥,有别于普通的 CER 证书文件。

使用 cipher 命令行工具还可以导出 CER 证书文件。只需以管理员身份运行命令提示符执行 cipher /R:H:\lizhipeng\ 命令,并设置私钥保护密码,即可导出文件到 lizhipeng 文件夹,如下图所示。

除了使用上述两种方式导出文件加密证书和私钥外,还可以使用证书管理器导出文件加密证书和私钥,操作步骤如下。

① 按下 Win+R 组合键,打开【运行】对话框再输入 certmgr.msc 并按回车键,打开证书管理器。

② 在证书管理器左侧列表中选择【个人】→【证书】,然后右键单击右侧列表中要导出的适用于加密文件系统的证书,在弹出菜单中选择【所有任务】→【导出】,如图所示。

③ 在随后出现的证书导出向导界面中按需操作即可,使用证书管理器导出证书时,导出向导会询问用户私钥和证书是否一起导出,如图所示。

如果证书用于其他用户读取加密文件,建议将私钥和证书一起导出为 PFX 文件。

2. 导入 EFS 证书

证书的导入步骤非常简单,只需双击需要导入的 PFX 文件,然后在出现的证书导入向导中按需操作并输入私钥保护密码即可。

证书导入过程中,操作系统会询问用户该证书只供当前用户使用还是该计算机所有用户都能使用,如下图所示。

基于安全的考虑,建议证书只针对特定用户使用。

3. 新建 EFS 证书

EFS 证书和私钥使用过久会渐生安全隐患,尤其是多人使用的情况下,更容易造成证书和密钥的泄露,及时更新证书和私钥有助于提高加密数据的安全性。在Windows 10中,可以通过图形界面工具和命令行工具创建新的EFS加密证书和私钥。

使用图形界面工具创建新的证书和私钥,操作步骤如下。

① 按下 Win+R 组合键,打开【运行】对话框并执行 rekeywiz 命令,打开管理文件加密证书向导,如图所示。

界面中简要介绍了其功能,单击【下一步】。

② 在下图所示的界面中选择【创建新证书】,然后单击【下一步】。

如果要使用存储在智能卡(IC 卡)中的证书,将智能卡连接到计算机后,选择证书即可。

③ 在证书类型选择界面中有 3 个选项,如下图所示。

这里选择【生成新的自签名证书并将它存储在我的计算机上】。

④ 创建新证书和密钥时,向导程序会要求用户备份证书和密钥,以防证书和密钥丢失或损坏而无法读取加密文件。在备份证书和密钥界面中选择 PFX 文件的保存位置并设置私钥保护密码,然后单击【下一步】,如图所示。

⑤ 在随后出现的界面中,选择要更新证书和密钥的硬盘分区或文件夹。此步骤用来添加新创建的证书和私钥到以前加密的文件或文件夹中,确保旧证书和私钥丢失或损坏之后使用新证书和私钥同样能读取加密数据。同时用户也可以删除旧证书和私钥,只使用新证书和私钥读取加密数据。如下图所示,选择要更新的新证书和私钥的文件夹位置,然后单击【下一步】。

⑥ 此时向导程序开始更新所选择的文件夹的证书和私钥,更新时间视文件夹数量而定。更新完成之后,进入下图所示界面,显示证书信息及证书和私钥备份位置。

单击“查看日志”可以查看哪些文件或文件夹没有更新成功,最后单击【关闭】按钮,新证书和私钥创建完毕。

除使用图形界面工具新建证书和私钥外,使用 cipher 命令行工具也可以创建证书和私钥。以管理员身份运行 PowerShell,执行 cipher/K 命令生成自签名新证书和私钥,然后执行 cipher/U 命令,程序开始扫描所有位置的加密文件并更新证书和密钥,如下图所示。

使用 cipher 命令行工具创建新证书和密钥的方法很简单,但是不能对证书种类及证书更新范围进行选择,所以命令行工具适合单机及加密文件不多的情况。

4、EFS 配置与管理

EFS 虽然操作过程简单透明,但可以通过组策略编辑器和本地安全策略编辑器对 EFS加密选项进行配置与管理。

1. 启用或关闭 EFS

在 Windows 10 专业版以及企业版操作系统中,默认启用 EFS 加密功能。如果为了防止 EFS 被滥用,可以关闭全部位置的 EFS 加密功能。EFS 关闭与启用操作步骤如下。

① 按下 Win+R 组合键,打开【运行】对话框并执行 secpol.msc 命令,打开【本地安全策略】管理器。

② 在【本地安全策略】管理器左侧列表中选择【公钥策略】→【加密文件系统】,然后单击鼠标右键,在弹出菜单中选择【属性】,如图所示。

③ 在【加密文件系统属性】界面中勾选【使用加密文件系统(EFS)的文件加密:】下方的【不允许】,即可关闭 EFS。勾选【允许】和【没有定义】,表示启用 EFS,如下图所示,按需选择后单击【确定】。

禁用 EFS 之后,当对文件加密时,操作系统会提示这台计算机的文件夹加密功能已经停用。

上面介绍的是关闭整个操作系统的 EFS 功能,如果只是针对某个文件夹禁用 EFS,只需在文件夹根目录下创建名为 desktop.ini 的配置文件并输入参数即可。

配置文件中的参数为如下所示:

[Encryption] 
Disable=1 

当对文件夹进行加密时,操作系统会提示该文件夹已停用加密功能,如图所示。

应用属性时出错:

删除 desktop.ini 即可对文件夹进行 EFS 加密。

注意:建议隐藏 desktop.ini 文件,如果有更高的安全需求,建议使用 attrib 命令行工具为此文件添加系统属性,以防止文件被随意删除。

2. EFS 参数设置

EFS 参数配置可以通过本地安全策略编辑器中的 EFS 属性界面以及组策略来编辑,下面主要介绍使用 EFS 属性界面配置 EFS 选项。

在 EFS 属性界面【常规】选项卡中,可以启用或禁用 EFS,并可以选择是否启用椭圆曲线加密技术以及常规配置选项,如下图所示。

在【证书】选项卡中,可以选择证书模板以及 RAS 和椭圆曲线加密技术的密钥大小,如下图所示。

【缓存】选项卡中的选项,主要适用于使用智能卡存储私钥的情况。EFS 可以在非缓存或缓存模式下将私钥存储于智能卡中。非缓存模式与常规 EFS 工作方式类似,每次解密操作都需要读取智能卡上的私钥。缓存模式使用对称密钥(私钥派生)来完成解密工作,并将其缓存在内存中,操作系统使用对称密钥来进行数据的加密和解密。这样无需每次都使用智能卡,从而大大提高了性能。

在下图所示的界面中还可以设置缓存超时时间,以及用户锁定工作站。

【缓存】选项卡:


​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wespten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值