相关文章:探密Win Vista的EFS加密功能(上)
要想将之前备份的证书还原到新的系统中,操作非常简单,只要双击导出的.pfx文件,系统就会自动运行证书导入向导,在向导的帮助下,我们只要输入导出证书时设置的密码,即可完成导出操作。但在输入密码的时候有两个选项需要注意:
在“证书导入向导”中选择证书的导入选项

启用强私钥保护 如果选中该选项,那么以后每次访问被加密的文件时,因为要用到私钥解密数据,系统都会向我们发出提示,提醒我们注意。
标志此密钥为可导出的密钥 如果选中该选项,那么以后我们将可以从被导入的系统中将证书再次导出。如果导入私钥只是为了便于临时打开加密文件,那么建议不要选择该选项。
经过导入,只要没有发生误操作,那么使用被导入证书加密的文件将可以在新的系统中正常打开。
上文我们已经介绍了EFS的基本用法,但在实际使用中,这些还是远远不够的。因为有些情况下,我们不仅要借助EFS令自己的数据更安全,还要保证一定的可用性,因此下文会通过一些具体的事例告诉你怎样用好EFS加密。
有时候我们可能会希望实现这样的目的:同一个文件被加密后,可以被本机的两个用户使用,每个用户都可以查看和编辑文件的内容,但同时文件依然处于被加密的状态。这种情况下需要使用EFS的共享功能。
该功能在Windows XP和Windows Vista下都可以实现,而且方法几乎是一样的,本文以Windows Vista下的操作为例进行介绍。具体环境是这样的:有两个用户:“刘晖”和“User”,其中刘晖在E盘根目录下创建了一个文本文件,输入了一些内容,保存后将其加密。我们需要做的是让刘晖和User这两个用户都可以查看和编辑该文件,但其他用户无法打开。方法如下(该方法仅适用于单个文件,不适用于整个文件夹):
1. 使用用户“User”登录,在User的桌面上创建一个临时文件,按照上文介绍的方法加密(这样做主要是为了生成用户User的EFS密钥,以便用户刘晖设置共享)。
2. 注销User,使用刘晖登录。打开Windows资源管理器,找到要被共享的EFS加密文件,用鼠标右键单击,选择“属性”,打开“属性”对话框。
3. 在“属性”对话框的“常规”选项卡上单击“高级”按钮,打开“高级属性”对话框,然后单击“详细信息”按钮,打开“用户访问”对话框。
“用户访问”对话框中可设置EFS共享

4. 单击“添加”按钮,打开正在加密文件系统对话框,这里列出了本机上所有具有EFS密钥的用户,从中选择希望共享访问该EFS文件的用户,例如User,然后单击“确定”。
5. 随后在“用户访问”对话框中,可访问这个文件的用户列表中就会显示两个用户。
6. 日后如果希望停止与某个用户共享该EFS加密文件,只需要打开“用户访问”对话框,从列表中选中目标用户,然后单击“删除”按钮,该用户访问这个加密文件的特权就会被删除。
7. 单击“确定”关闭所有打开的对话框。
经过上述操作,用户User重新登录后就获得了打开该加密文件的特权。在使用该方法的时候需要注意,用户User可获得对该加密文件几乎全部的控制权,例如可以把其他用户添加进来,允许其他用户打开该文件,同时User也可以禁止刘晖打开该文件。因此使用这个方法和别人共享EFS加密文件的时候一定要十分小心,以免给了别人访问的特权后,自己反而被排除在外。
上一节介绍的是如何在同一台计算机上共享EFS加密文件,但同时我们有可能遇到了另外一种问题:如何在不同计算机上共享EFS加密文件。例如,公司员工可能需要将未完成的工作文件使用可移动存储设备带回家继续处理。为了防范存储设备失窃导致公司的机密数据泄露,我们可以将文件用EFS加密后带回家,但怎样保证用户在家里的计算机上也能打开在公司计算机上加密的文件,同时在家里的计算机上编辑了文件后回到公司里也能打开?
具体环境是这样的:有两台计算机A和B,A在公司,B在员工家里,这两台计算机都没有加入域。该方法在Windows XP和Windows Vista中的操作基本类似,下文会以Windows Vista中的操作为例进行介绍。具体的过程是这样的:
1. 在公司的计算机A上,将可移动存储设备格式化为NTFS文件系统,并在其根目录下创建一个文件夹,将所有需要带回家处理的文件复制到该文件夹中,并使用EFS加密该文件夹。
2. 按照上文证书的备份一节的介绍,将用户的EFS加密证书备份出来,并随身携带(安全起见,这个证书最好不要和被加密的文件保存到一起,否则一旦回家路上失窃,别人导入了你的证书后将可以打开所有机密文件)。
3. 在家里的计算机B上,按照上文证书的还原一节中的介绍,将公司里计算机A上备份出来的证书还原到家里的计算机B上。
4. 将保存了机密数据的移动存储设备连接到计算机B,查看并编辑文件,然后保存。
经过上述设置,在家里的计算机B上查看被EFS加密的文件属性,依然可以看到加密者是公司里的计算机A上自己的帐户,但因为我们已经在计算机B上导入了计算机A上相应的证书,因此打开和编辑这些文件都不是问题。就算我们在计算机B上编辑了这些文件,保存的时候,系统依然会自动以公司里计算机A上用户的身份帮我们加密所有文件。因此第二天将编辑后的文件拿到公司后依然可以顺利访问。
在使用EFS加密时需要考虑的另外一个问题是加密所用的帐户被删除后的文档恢复工作。例如,公司的计算机上有一个叫做“User”的帐户,加密了一些机密信息。后来使用该帐户的员工辞职了,因此管理员直接删除了他的帐户。但不久后处理该帐户的遗留文件时发现,该帐户的一些文件还处于加密状态,而且这些文件全部无法打开。有人可能会尝试新建一个名为“User”的用户,并使用之前的User帐户一样的密码,但被EFS加密的文件还是打不开。这又是为什么?
在解释这个问题之前首先要介绍一下什么是SID(安全标识符)。我们都知道,当我