EFS 是 Encrypting File System 的缩写,意为加密文件系统,是 NTFS 文件系统的内建安全功能,Windows XP 之后的版本都完全支持这一特性(注意:Windows 入门版、家庭版和家庭高级版并不支持这一功能)。

EFS 的最大特点是简单易用,因为 EFS 是基于用户帐户的加密方案,也就是说只有用对文件进行加密的用户帐户登录才能使用,尽管这种加密方案存在着诸多缺点与限制,但是无疑是最简单的加密方案,用户只要能进入自己的账户即可访问,无需记忆多余的密码。

文件系统转换

EFS 必须在 NTFS 分区才能使用,如果硬盘分区是 FAT32 分区格式,请按照以下步骤转换为 NTFS 分区格式:

  1. 按下 Win + R 快捷键,在弹出的运行对话框中输入 cmd 并回车,启动命令提示符。
  2. 在弹出的命令提示符窗口中输入以下命令: convert X: /fs:ntfs 其中 X: 为你所要转换的分区盘符,输入完毕后按下回车键,等待完成后关闭窗口即可。

注意不要在转换过程中关闭命令提示符窗口,以免造成数据丢失。

EFS 加密解密

使用 EFS 加密非常简单,仅需三步即可完成:

  1. 运行资源管理器,右键点击所要加密的文件或文件夹,选择“属性”。
  2. 在属性对话框中点击“高级”按钮,在高级属性对话框中勾选“加密内容以便保护数据”。
  3. 点击两次确定关闭“高级属性”和“属性”对话框,Windows 会要求选择加密范围,做出选择之后 Windows 就会开始加密过程。

如果将未加密的文件复制到 EFS 加密的文件夹中,这些文件将会被自动加密。如果将加密数据移动或复制到其他 NTFS 分区时,数据依旧保持加密属性,如果将其移动或复制到 FAT32 分区时,Windows 会询问是否解密,确认之后 Windows 会将其解密后复制或移动。

加密之后的文件或文件夹在资源管理器中将以绿色文字显示,如果你使用加密时所用的用户身份登录,那么 Windows 会在你访问这些加密数据时自动解密。但是对于攻击者来说,加密数据是无法读取修改的,因为这些数据已被 Windows 加密。

如果需要将 EFS 加密的数据解密,只要按照上述步骤取消“加密内容以便保护数据”选项即可。

EFS 数据恢复密钥

由于 EFS 与用户帐户绑定,所以强烈推荐大家导出 EFS 数据恢复密钥,以免 Windows 出现问题导致加密数据无法访问。请按以下步骤导出数据恢复密钥。

  1. 按下 Win + R 快捷键,在运行对话框中输入 certmgr.msc,启动证书管理器。
  2. 在证书管理器左栏中,双击“个人”,单击“证书”。
  3. 在右栏中,右击“预期目的”为“加密文件系统”的证书,选择“所有任务”子菜单,然后点击“导出”。
  4. 在证书导出向导中点击“下一步”,点击“是,导出私钥”,点击“下一步”继续。
  5. 选择“个人信息交换”,点击“下一步”继续。
  6. 键入要使用的密码,确认该密码,点击“下一步”继续。
  7. 选择文件的名称和位置,点击“下一步”继续。
  8. 确认设置之后点击“完成”按钮,Windows 在导出完成之后会弹出对话框提示“导出完成”。

请按照以下步骤导入数据密钥:

  1. 双击导出的数据恢复密钥文件,启动证书导入向导,点击“下一步”继续。
  2. 确认将要导入的文件及其路径,点击“下一步”继续。
  3. 输入保护私钥的密码,请选择“标明该密钥为可导出”复选框,点击“下一步”继续。
  4. 选择“把所有证书保存到以下存储器中”,然后单击“浏览”并选择“个人”存储器,点击“下一步”继续。
  5. 确认设置之后点击“完成”按钮,Windows 在导入完成之后会弹出对话框提示“导入完成”。

EFS 作为一种简单的加密手段,适合对于数据安全要求不高的用户使用,对于数据安全要求较高的用户来说,BitLocker 或者更为专业的加密软件无疑是更好的选择。

本文历史:

2011 年 3 月 11 日:初稿完成 2011 年 8 月 13 日:将 EFS 与 Bitlocker 拆分为两篇文章,并进行改写。

不知为何,原博客已经无法访问,我根据 Google Cached 将文章做备份。感谢 InoReader 帮我缓存了这么好的博客。

原文地址:加密入门(一):EFS http://terrychen.info/encryption-efs/