加密文件系统(Encrypting File System, EFS)提供文件加密的功能,文件经过加密后,只有当初将其加密的用户或被授权的用户能够读取,因此可以增加文件的安全性。
注意:只有NTFS 磁盘内的文件、文件夹才可以被加密,如果将文件复制或剪切到非NTFS磁盘内,则此新文件会被解密。
文件压缩与加密无法并存。要加密已压缩的文件,则该文件会自动被解压缩。要压缩已加密的文件,则该文件会自动被解密。
1、对文件与文件夹加密
STEP 1 对文件加密。用鼠标右键单击该文件,在弹出的快捷菜单中单击“属性”→“高级”按钮,在弹出的“高级属性”对话框中勾选“加密内容以便保护数据”复选框,单击“确定”按钮,再单击“应用”按钮,在弹出的“加密警告”对话框中选中“加密文件及其父文件夹(推荐)”选项,或“只加密文件”单选按钮。
如果选择“加密文件及其父文件夹(推荐)”单选按钮,则以后在此文件夹内新添加的文件都会自动被加密,如下图所示。
文件加密:
STEP 2 对文件夹加密。选中文件夹,单击鼠标右键,在弹出的快捷菜单中单击“属性”→“高级”按钮,在弹出的“高级属性”对话框中勾选“加密内容以便保护数据”复选框,单击“确定”按钮,再单击“应用”按钮,弹出的对话框,选中“将更改应用于此文件夹、子文件夹和文件”单选按钮。
“确认属性更改”对话框:
- 仅将更改应用于此文件夹:以后在此文件夹内添加的文件、子文件夹与子文件夹内的文件都会被自动加密,但不会影响到此文件夹内现有的文件与文件夹。
- 将更改应用于此文件夹、子文件夹和文件:不但以后在此文件夹内新增加的文件、子文件夹与子文件夹内的文件都会被自动加密,同时会将已经存在于此文件夹内的 现有文件、子文件夹与子文件夹内的文件都一并加密。
当用户或应用程序需要读取加密文件时,系统会将文件由磁盘内读出、自动将解密后的内容提供给用户或应用程序,然而存储在磁盘内的文件仍然是处于加密状态的;而将数据写入文件时,它们也会被自动加密后再写入磁盘内的文件。
如果将一个未加密文件剪切或复制到加密文件夹,该文件会被自动加密。当将一个加密文件剪切或复制到非加密文件夹时,该文件仍然会保持其加密的状态。
利用EFS加密的文件,只有存储在硬盘内才会被加密,在通过网络传输的过程中是没有加密的。如果希望通过网络传输时仍然保持加密的安全状态,可以通过IPSec或WebDev等方式来加密。
2、授权其他用户可以读取加密的文件
被加密的文件只有文件的所有者可以读取,不过也可以授权给其他用户读取。被授权的用户必须具备EFS证书,而普通用户在第1次执行加密操作后,就会自动被赋予EFS证书,也就可以被授权了。
以下示例假设要授权给域用户Alice。要想授权给域用户Alice,必须保证Alice在MS1上有个人用户证书存在,最简单的方法就是用Alice对某个文件夹加密,从而生成Alice的个人用户证书。授权给Alice的完整步骤如下。
STEP 1 以本地管理员身份登录 MS1,在 network 下新建“testAdministrator”和“test”两个文件,单独对文件“test-Administrator”加密,选择“只加密文件”,避免对其父文件夹加密。
STEP 2 注销MS1,以域用户Alice登录MS1,在network下新建文件夹“test-Alice”,单独对该文件夹加密。加密后的文件和文件夹以彩色显示,如下图所示
被不同用户加密后的文件和文件夹:
STEP 3 分别访问“test”和“test-Administrator”两个文件,由于test文件没有加密,所以能正常访问,但test-Administrator由于被administrator用户加密而拒绝访问。
STEP 4 注销MS1,以本地管理员身份登录MS1,将“test-Administrator”的解密授权给用户Alice。方法为:用鼠标右键单击“test-Administrator”文件,在弹出的快捷菜单中单击“属性”→“高级”按钮,在下图中单击“详细信息”→“添加”→“查找用户”按钮,选择用户“Alice”,然后单击“确定”按钮。
添加Alice个人证书:
STEP 5 注销MS1,以域用户Alice登录MS1,访问“test-Administrator”文件,能正常访问。
STEP 6 具备恢复证书的用户也可以访问被加密的文件。默认只有域Administrator拥有恢复证书(由上图的中间图下方的恢复证书处可看出),不过可以通过组策略或本地策略将恢复证书分配给其他用户。以本地策略为例,其设置方法为:选择“服务器管理器”→“工具”→“本地安全策略”→“公钥策略”命令,展开“公钥策略”选项,用鼠标右键单击“加密文件系统”选项,在弹出的快捷菜单中选择“添加数据恢复代理程序”命令。
3、备份EFS证书
为了避免 EFS 证书丢失或损毁,造成文件无法读取的后果,建议利用证书管理控制台来备份EFS证书,其步骤如下。
STEP 1 在“开始”菜单的“运行”中执行“certmgr.msc”命令,展开“个人”→“证书”选项,用鼠标右键单击预期目的为“加密文件系统”的证书,在弹出的快捷菜单中选择“所有任务”→“导出”命令,然后单击“下一步”按钮,选中“是,导出私钥”单选按钮,单击“下一步”按钮,选择默认的.pfk格式,选中“组或用户名”单选按钮,也可以设置密码(以后只有该用户有权导入,否则需要输入此处的密码),如下图所示。
当前用户个人证书:
建议将此证书文件备份到另外一个安全的地方。如果有多个EFS证书,请全部导出存档。
STEP 2 如果Alice用户的EFS证书丢失或损毁,造成文件无法读取,可以将备份的EFS证书导入。在上图用鼠标右键单击左侧的“证书”选项,在弹出的快捷菜单中选择“所有任务”→“导入”命令,根据向导完成证书导入即可。