这里还有个窍门用传统的方法加密文件必须打开层层菜单并依次确认非常麻烦不过只要修改一下注册表就可以给鼠标的右键菜单中增添加密和解密的选项
在运行中输入regedit并回车打开注册表编辑器定位到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion /Explorer/Advanced 在编辑菜单上点击新建-Dword值输入EncryptionContextMenu作为键名并设置键值为现在退出注册表编辑器打开资源管理器任意选中一个NTFS分区上的文件或者文件夹然后点击鼠标右键就可以在右键菜单中找到相应的选项直接点击就可以完成加密解密的操作
如果你想设置禁止加密某个文件夹可以在这个文件夹中创建一个名为Desktopini的文件然后用记事本打开并添加如下内容
[Encryption]
Disable=
之后保存并关闭这个文件这样以后要加密这个文件夹的时候就会收到错误信息除非这个文件被删除
而如果你想在本机上彻底禁用EFS加密则可以通过修改注册表实现在运行中输入Regedit并回车打开注册表编辑器定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS在编辑菜单上点击新建-Dword值输入EfsConfiguration作为键名并设置键值为这样本机的EFS加密就被禁用了而以后如果又想使用时只需把键值改为
如何保证EFS加密的安全和可靠
前面我们已经了解到在EFS加密体系中数据是靠FEK加密的而FEK又会跟用户的公钥一起加密保存解密的时候顺序刚好相反首先用私钥解密出FEK然后用FEK解密数据可见用户的密钥在EFS加密中起了很大作用
密钥又是怎么来的呢?在Windows /XP中每一个用户都有一个SID(Security Identifier安全标示符)以区分各自的身份每个人的SID都是不相同的并且有唯一性可以这样理解把SID想象成人的指纹虽然世界上已经有几十亿人(同名同姓的也有很多)可是理论上还没有哪两个人的指纹是完全相同的因此这具有唯一性的SID就保证了EFS加密的绝对安全和可靠因为理论上没有SID相同的用户因而用户的密钥也就绝不会相同在第一次加密数据的时候操作系统就会根据加密者的SID生成该用户的密钥并把公钥和私钥分开保存起来供用户加密和解密数据
这一切都保证了EFS机制的可靠
其次EFS机制在设计的时候就考虑到了多种突发情况的产生因此在EFS加密系统中还有恢复代理(Recovery Agent)这一概念
举例来说公司财务部的一个职工加密了财务数据的报表某天这位职工辞职了安全起见你直接删除了这位职工的账户直到有一天需要用到这位职工创建的财务报表时才发现这些报表是被加密的而用户账户已经删除这些文件无法打开了不过恢复代理的存在就解决了这些问题因为被EFS加密过的文件除了加密者本人之外还有恢复代理可以打开
对于Windows 来说在单机和工作组环境下默认的恢复代理是 Administrator Windows XP在单机和工作组环境下没有默认的恢复代理而在域环境中就完全不同了所有加入域的Windows /XP计算机默认的恢复代理全部是域管理员
这一切都保证了被加密数据的安全
如何避免不慎使用EFS加密带来的损失
如果你也和我一样由于对EFS加密不了解致使重要数据丢失那么也别气馁就当买了个教训毕竟通过这事情你还是能学会很多东西的那就是备份密钥!设置有效的恢复代理!
对于上面讲到的情况备份密钥可以避免这种悲剧的发生在运行中输入certmgrmsc然后回车打开证书管理器密钥的导出和导入工作都将在这里进行
在你加密过文件或文件夹后打开证书管理器在当前用户-个人-证书路径下应该可以看见一个以你的用户名为名称的证书(如果你还没有加密任何数据这里是不会有证书的)右键点击这个证书在所有任务中点击导出之后会弹出一个证书导出向导在向导中有一步会询问你是否导出私钥在这里要选择导出私钥其它选项按照默认设置连续点击继续最后输入该用户的密码和想要保存的路径并确认导出工作就完成了导出的证书将是一个pfx为后缀的文件
重装操作系统之后找到之前导出的pfx文件鼠标右键点击并选择安装PFX之后会出现一个导入向导按照导入向导的提示完成操作(注意如果你之前在导出证书时选择了用密码保护证书那么在这里导入这个证书时就需要提供正确的密码否则将不能继续)而之前加密的数据也就全部可以正确打开
[] []