详解EFS加密技术
在windows vista下,有两大加密技术:EFS和Bitlocker。其实,EFS加密从windows 2000开始就有了。如何用好EFS加密技术保护自己数据呢?这里进行详细说明。
什么是EFS加密
加密文件系统 (EFS) 是 Windows 的一项功能,它允许您将信息以加密的形式存储在硬盘上。
EFS原理:EFS所用的加密技术是基于公钥的。它易于管理,不易受到攻击,并且对用户是透明的。如果用户想要访问一个加密的NTFS文件,并且有这个文件的私钥,那么就能像打开普通文档那样打开这个文件,而没有该文件的私钥拥护将被拒绝访问。
其实从设计上来看,EFS加密是相当安全的一种公钥加密方式,只要别人无从获得你的私钥,那么以目前的技术水平来看是完全无法破解的。和其他加密软件相比,EFS最大的优势在于和系统紧密集成,同时对于用户来说,整个过程是透明的。例如,用户A加密了一个文件,那么就只有用户A可以打开这个文件。当用户A登录到Windows的时候,系统已经验证了用户A的合法性,这种情况下,用户A在Windows资源管理器中可以直接打开自己加密的文件,并进行编辑,在保存的时候,编辑后的内容会被自动加密并合并到文件中。在这个过程中,该用户并不需要重复输入自己的密码,或者手工进行解密和重新加密的操作,因此EFS在使用时非常便捷。
EFS 的一些重要功能:
加密方法十分简单;仅须选中文件或文件夹属性中的复选框即可启用加密。
您可以控制哪些人能够读取这些文件。
在关闭文件时文件即被加密,但是当打开这些文件时,文件将会自动处于备用状态。
如果不再希望对某个已加密的文件实施加密,清除该文件的属性中的复选框即可。
完全支持EFS加密和解密的操作系统包括:Windows Vista Business/Enterprise/Ultimate。Windows Vista Home Basic/Home Premium只能在有密钥的情况下打开被EFS加密的文件,但无法加密新的文件。
下面以Windows Vista Ultimate为例介绍EFS加密功能的使用:
文件的加密和解密是很简单的,我们只需要在Windows资源管理器中用鼠标右键单击想要加密或解密的文件或文件夹,选择“属性”,打开“属性”对话框的“常规”选项卡,接着单击“高级”按钮,打开“高级属性”对话框。
如果希望加密该文件或文件夹,请选中“加密内容以便保护数据”;如果希望解密文件或文件夹,请反选“加密内容以便保护数据”,然后单击“确定”即可;如果选择加密或解密的对象是一个包含子文件夹或文件的文件夹,那么单击“确定”后,我们将看到“确认属性更改”对话框。
在这里,我们可以决定将该属性更改应用给哪些对象。例如,如果希望同时加密或解密该文件夹中包含的子文件夹和文件,可以选择“将更改应用于此文件夹、子文件夹和文件”;如果只希望加密或解密该文件夹,则可以选择“仅将更改应用于此文件夹”。
默认情况下,被加密的文件或文件夹在Windows资源管理器中会显示为绿色。同时,显示蓝色的为选择了“压缩内容以便节省磁盘空间”:
当然,可以更改默认设置,打开文件夹选项:
证书的备份和还原
一个加密密钥始终关联到(或链接到)一个加密证书。若要备份加密密钥,您需要备份用于加密的证书。
很多人使用EFS加密的时候都吃了亏。上文已经介绍过,EFS是一种公钥加密体系,因此加密和解密操作都需要证书(也叫做密钥)的参与。例如很多人都是这样操作的:在系统中用EFS加密了文件,某天因为一些原因直接重装了操作系统,并创建了和老系统一样用户名和密码的帐户,但发现自己之前曾经加密过的文件都打不开了。
如果仅仅是设置过NTFS权限的文件,我们还可以让管理员获取所有权并重新指派权限,但对于EFS加密过的文件,那就一点办法都没有了,因为解密文件所需的证书已经随着系统重装灰飞烟灭,在目前的技术水平下,如果要在缺少证书的情况下解密文件,几乎是不可能的。
所以要安全使用EFS加密,一定要注意证书的备份和还原,很多人正是因为不了解这个情况而吃亏。好在从Windows Vista开始,当我们第一次用EFS加密功能加密了文件后,系统会提醒我们备份自己的证书。
备份的步骤:
登录到以前加密文件时所用的帐户。
1、单击打开“证书管理器(certmgr.msc)”。 如果系统提示您输入管理员密码或进行确认,请键入密码或提供确认。
2、单击“个人”文件夹旁边的箭头将其展开。
当双击证书时,证书的用途将显示在“常规”选项卡上的“这个证书的用途如下”下面。
单击“预期用途”下面的列出“加密文件系统”或“允许加密磁盘上的数据”的证书。(可能需要滚动到右侧才能看到此信息。如果你还进行过其他需要证书的操作,例如访问加密网站,或者使用网络银行系统,这里可能会出现多个证书。我们需要的是“预期目的”被标记为“加密文件系统”的证书)
3、单击“操作”菜单,指向“所有任务”,然后单击“导出”。
在导出向导中,单击“是,导出私钥”,然后单击“下一步”。 (只有将私钥标记为可导出且可以访问它时才会显示该选项。)
4、单击“个人信息交换”,然后单击“下一步”。
因为是用于加密文件系统的证书,因此证书的格式不可选择,使用默认选项即可。但这里要介绍另外一个选项“如果导出成功,删除密钥”。选中该选项后,系统会在成功导出证书后自动将当前系统里的密钥删除,这样加密的文件就无法被任何人访问了。为什么要这样做?对于安全性要求较高的文件,我们可以把导出的证书利用U盘等移动设备保存并随身携带,只在需要的时候才导入到系统中,平时系统中不保留证书,这样可以进一步防止他人在未经授权的前提下访问机密数据。设置好相应的选项后单击“下一步”。
注意:如果可能的话,根据要使用证书的方式选择要使用的格式。对于带有私钥的证书,请使用个人信息交换格式。如果要将一个文件中的多个证书从一台计算机移到另一台计算机,请使用加密消息语法标准。如果需要在多个操作系统上使用证书,请使用 DER 编码的二进制 X.509 格式。
5、键入要使用的密码,确认该密码,然后单击“下一步”。导出过程将会创建一个文件来存储证书。
输入文件的名称和位置(包括完整路径),或者单击“浏览”,导航至其位置,然后输入文件名。
6、单击“完成”。
注意:将 EFS 证书的备份副本存储在安全的位置并使用密码进行保护。
当然,在另一台计算机上或重装系统后,要查看加密的文件,必须导入证书,与上面导入相似,这里就不细说了。
对于Windows Vista Ultimate,还可以通过安装"BitLocker和EFS增强”更新(Windows Ultimate Extras)来将EFS恢复证书保存到Microsoft的“数字保险箱”。
这个功能也不错,而且操作更简单。
解惑:
有一种错误的概念,认为加密文件系统就是给文件加上密码。实际上,EFS是一种可以将敏感的数据加密并存储在NTFS文件系统上面的技术,离开了NTFS文件系统它将无法实现。
附录:
个人信息交换格式(PFX,也称为 PKCS #12)允许证书及相关私钥从一台计算机传输到另一台计算机或可移动媒体。
由于导出私钥可能使私钥暴露于无关方,因此 PKCS #12 格式是此版本的 Windows 中唯一受支持的用于导出证书及其关联私钥的格式。
通过 PKCS #7 格式可以将某个证书及其证书路径中的所有证书从一台计算机传输到另一台计算机,或从计算机传输到可移动媒体。
ASN.1 的 DER(区别编码规则),如 ITU-T Recommendation X.509 中所定义,可以由不在运行 Windows Server 2003 的计算机上的证书颁发机构使用,因此它支持互操作性。DER 证书文件使用 .cer 扩展名。