在使用EFS加密时需要考虑的另外一个问题是加密所用的帐户被删除后的文档恢复工作。例如,公司的计算机上有一个叫做“User”的帐户,加密了一些机密信息。后来使用该帐户的员工辞职了,因此管理员直接删除了他的帐户。但不久后处理该帐户的遗留文件时发现,该帐户的一些文件还处于加密状态,而且这些文件全部无法打开。有人可能会尝试新建一个名为“User”的用户,并使用之前的User帐户一样的密码,但被EFS加密的文件还是打不开。这又是为什么?
在解释这个问题之前首先要介绍一下什么是SID(安全标识符)。我们都知道,当我们将自己的Windows帐户名称改名后,依然可以使用之前具有的所有权限,似乎改名操作并不会影响用户的权限方面的设置,其实这就是SID的作用。SID和用户名的关系类似于我们每个人的名字(用户名)和指纹(SID)的关系,名字可以随便改,但每个人的指纹是不会随着名字的变化而变化的。正因为Windows是通过SID识别不同帐户的,因此在这种情况下重建相同用户名和密码的帐户并不能得到原帐户的EFS证书,进而被加密的文件将无法解密。为了预防这种问题,微软在设计EFS加密功能的时候引入了一种叫做恢复代理(Recovery Agent)的机制。
恢复代理可以理解为默认被共享了本机所有EFS加密文件的用户(类似于EFS的共享,但不
在解释这个问题之前首先要介绍一下什么是SID(安全标识符)。我们都知道,当我们将自己的Windows帐户名称改名后,依然可以使用之前具有的所有权限,似乎改名操作并不会影响用户的权限方面的设置,其实这就是SID的作用。SID和用户名的关系类似于我们每个人的名字(用户名)和指纹(SID)的关系,名字可以随便改,但每个人的指纹是不会随着名字的变化而变化的。正因为Windows是通过SID识别不同帐户的,因此在这种情况下重建相同用户名和密码的帐户并不能得到原帐户的EFS证书,进而被加密的文件将无法解密。为了预防这种问题,微软在设计EFS加密功能的时候引入了一种叫做恢复代理(Recovery Agent)的机制。
恢复代理可以理解为默认被共享了本机所有EFS加密文件的用户(类似于EFS的共享,但不
等同),在设置了恢复代理后,本机上所有文件在使用EFS加密的同时,恢复代理的相应信息也会被保存到文件中。这样日后就算加密该文件的帐户已经不存在,或者证书丢失了,我们依然可以使用恢复代理的帐户登录系统,解密文件。
安全起见,在单机和工作组环境下的Windows XP以及Windows Vista中,默认情况下没有恢复代理;在加入域后,默认的恢复代理是域管理员。我们首先需要为系统指定一个恢复代理,这个过程在Windows XP和Windows Vista中基本一样,下文以Windows Vista中的操作为例进行介绍。
1. 使用希望成为恢复代理的帐户(最好是管理员帐户)登录,然后在该帐户的桌面上创建一个临时文件,例如“1.txt”。
2. 运行“cmd”打开命令提示符窗口,然后使用“cd desktop”命令进入到该帐户的桌面文件夹下。
3. 运行这条命令:cipher /,随后输入用于加密证书的密码(注意,在输入的过程中光标并不会有变化,也不会用星号占据输入的密码位数)。随后在桌面上会看到一个名为“1.cer”和名为“1.pfx”的文件,我们需要使用这些文件将当前登录的用户指定为恢复代理。
安全起见,在单机和工作组环境下的Windows XP以及Windows Vista中,默认情况下没有恢复代理;在加入域后,默认的恢复代理是域管理员。我们首先需要为系统指定一个恢复代理,这个过程在Windows XP和Windows Vista中基本一样,下文以Windows Vista中的操作为例进行介绍。
1. 使用希望成为恢复代理的帐户(最好是管理员帐户)登录,然后在该帐户的桌面上创建一个临时文件,例如“1.txt”。
2. 运行“cmd”打开命令提示符窗口,然后使用“cd desktop”命令进入到该帐户的桌面文件夹下。
3. 运行这条命令:cipher /,随后输入用于加密证书的密码(注意,在输入的过程中光标并不会有变化,也不会用星号占据输入的密码位数)。随后在桌面上会看到一个名为“1.cer”和名为“1.pfx”的文件,我们需要使用这些文件将当前登录的用户指定为恢复代理。
命令提示生成恢复代理所需的证书文件 |
4. 运行“secpol.msc”,打开“本地安全策略控制台”。在控制台窗口左侧的树形图中依次进入到“安全设置”|“公钥策略”|“加密文件系统”。
5. 用鼠标右键单击“加密文件系统”节点,选择“添加数据恢复代理程序”命令,打开“添加故障恢复代理向导”。
6. 在向导的第一个界面上单击“下一步”,在随后出现的界面上单击“浏览文件夹”按钮,并到在第一步备份出来的证书1.cer。
百度数据恢复7. 在导入的过程中,Windows可能会提示你Windows无法判断此证书是否被吊销,询问是否继续。在单机或者工作组环境下这是正常的,可以不用理会,单击“是”。
8. 随后我们可以看到,添加故障恢复代理向导中已经列出了一个恢复向导,这表示我们的操作是正确的,单击“下一步”,然后单击“完成”。当然,如果需要,我们可以添加多个恢复代理。
添加好的恢复代理 |
9. 经过上述设置,在本地安全策略控制台的“加密文件系统”节点下会显示本机指定的所有恢复代理,这表示当前本机已经具有了恢复代理,但操作还没有全部完成。
10. 为了让恢复代理能够打开每个用户的加密文件,或者将其解密,我们还需要导入恢复代理的证书。依然是使用恢复代理的帐户登录系统,然后双击上面第3步中生成的.pfx文件,然后按照上文介绍的方法将该证书导入。
11. 如果导入成功,那么运行certmgr.msc打开证书控制台,在“证书当前用户”|“个人”|“证书”节点下应该能看到一个“预期目的”为“文件恢复”的证书。如果看到该证书,表示恢复代理的设置工作全部完成。
现在使用本机的其他帐户登录,并加密一些文件,然后打开被加密文件的“用户访问”对话框,可以看到与未设置时不同的界面,那时候的恢复代理还是空的。
新加密的文件中已经带有恢复代理的信息 |
在使用恢复代理的时候需要注意,假设有位用户在我们指定恢复代理之前就已经加密了自己的文件,而我们随后才指定了恢复代理,那么一旦该用户被删除或者EFS证书丢失,恢复代理将无法解密该用户的EFS加密文件。一定要记住:恢复代理只能解密被指定之后其他用户加密的文件。如果在指定恢复代理之前已经加密了很多文件,那么每个加密过文件的用户都需要使用自己的帐户登录系统,然后运行“cmd”打开命令提示行,并运行“cipher /u”命令,这样每个人加密过的所有文件都会被更新一次,将恢复代理的信息加入进去(每个人的操作只能影响到由自己加密的文件)。
在设置好恢复代理后,如果某个用户被删除,或者证书无意中丢失,只要被加密的文件还在,恢复代理就可以直接查看被加密的文件内容,或者解密文件。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论