首页 » 站长随笔 » 其它资料 » 浏览内容

组策略应用大全 — Windows 系统EFS加密出了问题怎么办?


2005-10-29 09:18:40 5,816 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

From:http://itbbs.pconline.com.cn/topic.jsp?tid=2335871&topicPage=3&pageSize=20&pageNo=1

      什么是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加密,只须打开资源管理器,在需要加密的文件(夹)上点鼠标右键,选“属性”,在“属性” 对话框中点“高级”打开“高级属性”对话框,勾选“加密内容以便保护数据”((取消该选项前的钩即可解密文件)。
  
  “确定”后点击“应用”,如果加密的是文件夹,则会弹出图2所示对话框,你可以根据需要选择是仅加密此文件夹还是将此文件夹下的子文件夹和文件也一起
  
  最后点击“确定”后,在默认情况下,一般你会发现文件(夹)在资源管理器中显示的颜色变为彩色,表示已经被加密(或压缩)了。
  
  提示:你也可以不使文件(夹)变色,在资源管理器中,点“工具→文件夹选项→查看”,将“用彩色显示加密或压缩的NTFS文件”取消即可。
  
  EFS加密解密技巧

  在实际应用中,我们还可以通过各种技巧来完成EFS加密的相关操作。
  
  1.添加“加密”右键菜单
  
  如果觉得上述加密方法还是太烦琐,可以在“运行”中输入“regedit”,打开注册表编辑器,找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Advanced,在右边窗口中点击鼠标右键,选择“新建→Dword值”,取键名为“EncryptionContextMenu”,并设置键值为“1”。
  
  退出注册表编辑器,打开资源管理器,任意选中一个NTFS分区上的文件(夹),点鼠标右键,菜单中多出了一个“加(解)密”的选项。你可以直接点击此菜单,即可完成加密解密操作。
  
  2.禁止加密某个文件夹
  
  如果你想设置禁止加密某个文件夹,可以在这个文件夹中创建一个名为“Desktop.ini”的文件,然后用记事本编辑内容为:
  
  Encryption
  Disable=1
  
  但是这个方法不能禁止已加密文件夹的文件以及子文件夹。
  
  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c:test”(test可以是任何其它名字),回车后系统会提示询问是否用密码把证书保护起来,你可以自己设置一个密码,也可不需要密码保护就直接按回车。完成后我们在C盘的根目录下可以发现test.cer和test.pfx两个文件(在资源管理器中点“工具→文件夹选项→查看”,取消“隐藏已知文件类型的扩展名”才能看到文件后缀名)。
  
  3.先使用鼠标右键单击PFX文件,选择“安装PFX”,将弹出“证书导入向导”,如果提示输入密码,就输入步骤2中设置的密码,选中“标示此私钥为可导出的”,下一步选择“根据证书类型,自动选择证书存储区”导入证书。
  
  4.在“运行”中输入“gpedit.msc”并回车,打开组策略编辑器。在“计算机配置→Windows设置→安全设置→公钥策略→正在加密文件系统”下,点击鼠标右键,并选择“添加数据恢复代理”,按“添加故障恢复代理向导”打开test.cer,完成后即成功将USER用户设置为指定恢复代理
  
  现在,登录USER用户,就可以解密所有在指定恢复代理后被加密的文件(夹)了。注意,在设置恢复代理前已经加密的文件是不能解密的,所以必须未雨绸缪,事先设置恢复代理。
  
  EFS加密疑难解答

  1.重装系统后默认的恢复代理是否能恢复以前的加密数据?
  
  不能,假设Administrator用户是默认恢复代理,重装系统后,这个Administrator的SID已经发生了变化,所以不能作为以前用户的恢复代理了,只有将备份的证书导入才能打开文件。
  
  2.被EFS加密过的数据是否绝对安全?
  
  不是,安全永远是相对的。EFS加密过的文件,如果不是用户本人或恢复代理,虽然无法打开加密文件,但是仍然可以删除,所以对于重要文件,最佳的做法是NTFS权限和EFS加密配合使用。只有同时具有NTFS权限以及密钥,才能操作文件。
  
  3.我用的是Windows 2000系统,在局域网中且加入了域,我用Administrator为何不能解密文件?
  
  由于加入域中,默认的恢复代理是域管理员,而不是本地管理员了,所以必须以管理员身份登录域,才能解密。
  
  4.用Ghost备份了系统,恢复系统后可以打开以前的加密文件吗?
  
  这要看什么时候做的克隆,如果已经用EFS加密文件后才克隆系统,用户账户和相应的SID都没有变,而且存在相应密钥,重新恢复系统,应该可以打开加密文件。但是如果第一次用EFS加密文件之前就克隆了系统,这时系统中还就没有密钥,而这样的克隆中也不包括密钥,所以在加密之前所做克隆恢复后不能打开加密文件。
  
  5.所有的在Windows 2000上加密的文件都不可访问,包括EFS代理,而我并未重装系统,这是怎么回事?
  
  如果在系统未发生故障,而每个人,包括EFS代理都不能访问所有的加密文件时,请打开注册表编辑器,找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem,检查NtfsEncryptionService的值是否为默认值“EFS”(很可能已经被修改或是此键已被删除),如果被修改,你可以改回默认值。
  
  6.如何检查谁加密的文件以及谁是恢复代理?
  
  可以在资源管理器中选中要查看的文件,在文件上用鼠标右键点击,并选择“属性”,在“常规”选项卡上点击“高级”按钮,点击“详细信息”,在这里你可以查看谁可以透明打开这个加密文件(如果只有一个,则为加密者)以及查看文件的恢复代理是谁  

网站统计 Statistics

  • 创建时间: 2005年1月3日 距今5067 天
  • 日志总数: 2461
  • 评论总数: 630
  • 标签总数: 654
  • 链接总数: 273
  • 最后更新: 2018-8-31 17:57:04
  • 您是本站第 14172407 位访客

广告区 Guǎng Gào