来源:自学PHP网 时间:2015-04-17 18:33 作者: 阅读:次
[导读] 几天前,一位朋友给我发出十万火急的求援消息,他在公司计算机中用EFS加密的文件不能打开了了,里面有所有重要客户资料。他说由于系统用户配置问题,他删除了自己的账户,重新...
几天前,一位朋友给我发出十万火急的求援消息,他在公司计算机中用EFS加密的文件不能打开了了,里面有所有重要客户资料。他说由于系统用户配置问题,他删除了自己的账户,重新建了一个相同用户名的账户,但是不料以前加密的文件夹再也不能打开了。不过,幸好这位仁兄使用的Windows 2000,我告诉他可以使用恢复代理来解密,才使他放下心来。 类似这样的求救可以在众多技术论坛中看到,且越来越多,并非每个朋友都是幸运的,由于重要数据无法打开导致损失惨重的事件也是屡见不鲜。如果你也使用Windows 2000/XP,并对数据加密,为避免受到损失,就需要了解EFS加密,并成为个中高手。 什么是EFS 从Windows 2000开始,微软对NTFS文件系统进行了升级,将在Windows NT中使用的4.0升级为5.0,其最大的特点就是安全特性更加强大,特别是增加了加密文件系统EFS,用来在使用NTFS文件系统的卷上直接加密数据,能让用户在系统上使用公钥加密去保护私有的数据。 你可以为某个隐私的文件或文件夹加密,以防止他人使用。没有正确权限的人即使能访问到硬盘,若试图操作加密的文件或文件夹,则会收到一条“拒绝访问”错误消息。 另外,用户验证过程是在登录Windows时进行的,这就保证了EFS加密系统对计算机用户来说是透明的。通俗地说,只要具有权限的账户登录到Windows,就可以像打开任何一个普通文件一样使用自己加密的文件,而不像通常的加密软件会弹出一个对话框,让你输入密码,这就大大方便了使用者。 用ESF加密文件 当你使用了Windows 2000/XP/2003系统(注意Windows XP家庭版不支持EFS加密文件系统),且格式化磁盘为NTFS文件系统,你就具有了应用EFS的条件。 要使用EFS加密,只须打开资源管理器,在需要加密的文件(夹)上点鼠标右键,选“属性”,在“属性” 对话框中点“高级”打开“高级属性”对话框,勾选“加密内容以便保护数据”((取消该选项前的钩即可解密文件)。
最后点击“确定”后,在默认情况下,一般你会发现文件(夹)在资源管理器中显示的颜色变为彩色,表示已经被加密(或压缩)了。 提示:你也可以不使文件(夹)变色,在资源管理器中,点“工具→文件夹选项→查看”,将“用彩色显示加密或压缩的NTFS文件”取消即可。
1.添加“加密”右键菜单 如果觉得上述加密方法还是太烦琐,可以在“运行”中输入“regedit”,打开注册表编辑器,找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Advanced,在右边窗口中点击鼠标右键,选择“新建→Dword值”,取键名为“EncryptionContextMenu”,并设置键值为“1”。 退出注册表编辑器,打开资源管理器,任意选中一个NTFS分区上的文件(夹),点鼠标右键,菜单中多出了一个“加(解)密”的选项。你可以直接点击此菜单,即可完成加密解密操作。 2.禁止加密某个文件夹 如果你想设置禁止加密某个文件夹,可以在这个文件夹中创建一个名为“Desktop.ini”的文件,然后用记事本编辑内容为: Encryption 但是这个方法不能禁止已加密文件夹的文件以及子文件夹。 3.彻底禁止EFS加密 要在机器上彻底禁用EFS加密,可以通过修改注册表实现。点击“开始→运行”,输入“Regedit”回车,打开注册表编辑器,找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionEFS,在“编辑”菜单上点击“新建→Dword值”,输入“EfsConfiguration”作为键名,并设置键值为“1”,这样本机的EFS加密就被禁用了。如果想重新使用EFS加密时,只要把键值改为“0”即可。 备份加密证书 重新安装系统后要打开加密文件的解决办法 EFS加密原理 让我们来简单了解一下EFS是如何工作的。在EFS中,数据靠FEK(文件加密钥匙)加密,而FEK跟用户的公钥一起加密保存;解密的时候顺序刚好相反,首先用私钥解密出FEK,然后用FEK解密数据。简言之,系统是靠你的公钥/私钥(统称密钥)来加解密的。 那么密钥从何而来呢?密钥是通过用户的SID产生的。在Windows 2000/XP中,每一个用户都有一个SID(安全标示符),首次使用EFS时,系统会根据SID首先生成密钥。SID都是惟一的,如同人的指纹,因而用户的密钥也绝不会相同,这就保证了EFS加密的可靠。目前,据官方消息说EFS还未证实被破解过。 需要注意的是,如果重新安装了系统,就会产生一个新的SID,即使你安装系统的时候采用的是原来的用户名和密码,也无法直接打开原来被加密的文件(夹)了,很多朋友经常由于忽略了这一点而导致数据损失。 备份密钥 既然EFS采用加密密钥来进行加解密,那么只要加密密钥存在,我们就能恢复数据。因此,将密钥备份下来以作不时之需是最好的办法。 点击“开始→运行”,在“运行”对话框中输入“certmgr.msc”打开证书管理器,打开“证书→当前用户”下的“个人→证书”,只要你做过加密操作,右边窗口就会有与用户名同名的(如果有多份证书,选“预期目的”为“加密文件系统”)证书。 选中证书后点鼠标右键,选“所有任务→导出”,在弹出的“证书导出向导”中,选择“导出私钥”,并按照向导的要求输入密码来保护导出的私钥,最后存储为一个PFX后缀的文件。 当加密文件的账户出现问题或重新安装了系统后需要访问或解密以前加密的文件时,只要使用鼠标右键单击备份的证书,选择“安装PFX”,系统将弹出“证书导入向导”,键入当初导出证书时输入用于保护备份证书的密码,然后选择让向导“根据证书类型,自动选择证书存储区”即可。完成后就可以访问以前的加密文件了。 提示:需要注意的是,任何其他用户只要获得了你备份的证书,都可以对你的加密文件进行解密,因此一定要确保备份证书的安全性。 1.把未加密的文件复制到已经加密的文件夹中,这些文件会被自动加密。 2.若是将加密文件移动到NTFS分区上,数据会保留加密属性;如果移动到FAT(FAT32)区上,这些数据将会被自动解密。另外,NTFS分区上保存的文件不能同时被压缩和加密。 3.Windows的系统文件和系统文件夹不能被加密。 用恢复代理解密文件 删除用户后打开加密文件的解决办法 EFS加密是安全可靠的,那么,一旦用户账户被删除,就像开头提到的那位,重新创建一个相同的用户可以打开吗?答案当然是否定的,重新创建的用户虽然与以前用户同名,但是系统却不会分配相同的SID(记住,不可能存在相同SID!除非是克隆系统),因此密钥也不同,加密的文件自然就无法打开了。 当然,这种情况也不是完全没有解决的办法,因为用EFS加密过的文件,除了加密者本人之外还有“恢复代理”可以打开。恢复代理是一种特殊的用户,作用是解开用EFS加密的文件。 对于Windows 2000来说,在单机和工作组环境下,默认的恢复代理是 Administrator ;Windows XP在单机和工作组环境下没有默认的恢复代理。而在域环境中就完全不同了,所有加入域的Windows 2000/XP计算机,默认的恢复代理全部是域管理员。所以我说那位网友是幸运的,因为他用的是Windows 2000,可以用Administrator这个用户登录系统,然后就能直接打开或者解密文件。 大量使用Windows XP的朋友就没有那么幸运了,由于没有默认的恢复代理,事先又没有设置恢复代理,一旦用户被删除,你面临的将是数据的丢失。因此如果你使用的是Windows XP用户,请事先设置恢复代理。 设置Windows XP恢复代理 1.首先确定用哪个用户作为恢复代理,可以设置任何用户,比如你想让USER成为恢复代理,就用USER账户登录系统(一般建议使用Administrator作为恢复代理)。 2.在“运行”中输入“cipher /r焎: est”(test可以是任何其它名字),回车后系统会提示询问是否用密码把证书保护起来,你可以自己设置一个密码,也可不需要密码保护就直接按回车。完成后我们在C盘的根目录下可以发现test.cer和test.pfx两个文件(在资源管理器中点“工具→文件夹选项→查看”,取消“隐藏已知文件类型的扩展名”才能看到文件后缀名)。 3.先使用鼠标右键单击PFX文件,选择“安装PFX”,将弹出“证书导入向导”,如果提示输入密码,就输入步骤2中设置的密码,选中“标示此私钥为可导出的”,下一步选择“根据证书类型,自动选择证书存储区”导入证书。 4.在“运行”中输入“gpedit.msc”并回车,打开组策略编辑器。在“计算机配置→Windows设置→安全设置→公钥策略→正在加密文件系统”下,点击鼠标右键,并选择“添加数据恢复代理”,按“添加故障恢复代理向导”打开test.cer,完成后即成功将USER用户设置为指定恢复代理 现在,登录USER用户,就可以解密所有在指定恢复代理后被加密的文件(夹)了。注意,在设置恢复代理前已经加密的文件是不能解密的,所以必须未雨绸缪,事先设置恢复代理。 1.重装系统后默认的恢复代理是否能恢复以前的加密数据? 不能,假设Administrator用户是默认恢复代理,重装系统后,这个Administrator的SID已经发生了变化,所以不能作为以前用户的恢复代理了,只有将备份的证书导入才能打开文件。 2.被EFS加密过的数据是否绝 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com