通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>操作系统>>系统优化技巧>>正文 新版上线![旧版]
注:打开慢时请稍等

详解EFS加密

http://www.iyit.net  日期:2006-5-19 10:55:07  来源:   点击:
参加讨论随着稳定性和可靠性的逐步提高,Windows 2000/XP已经被越来越多的人使用,很多人还用Windows 2000/XP自带的EFS加密功能把自己的一些重要数据加密保存。虽然EFS易用性不错,不过发生问题后就难解决了,例如不做任何准备就重装了操作系统,那很可能导致以前的加密数据无法解密。最近一段时间我们已经可以在越来越多的论坛和新闻组中看到网友的求救,都 是类似这样的问题而导致重要数据无法打开,损失惨重。为了避免更多人受到损失,这里我把使用EFS加密的注事项写出来,希望对大家有所帮助。

  注意,下文中的Windows XP皆指Professional版,Windows XP Home版并不支持EFS加密。

  什么是EFS加密

  EFS(Encrypting File System,加密文件系统)是Windows 2000/XP所特有的一个实用功能,对于NTFS卷上的文件和数据,都可以直接被操作系统加密保存,在很大程度上提高了数据的安全性。

  EFS加密是基于公钥策略的。在使用EFS加密一个文件或文件夹时,系统首先会生成一个由伪随机数组成的FEK (File Encryption Key,文件加密钥匙),然后将利用FEK和数据扩展标准X算法创建加密后的文件,并把它存储到硬盘上,同时删除未加密的原始文件。随后系统利用你的公钥加密FEK,并把加密后的FEK存储在同一个加密文件中。而在访问被加密的文件时,系统首先利用当前用 户的私钥解密FEK,然后利用FEK解密出文件。在首次使用EFS时,如果用户还没有公钥/私钥对(统称为密钥),则会首先生成密钥,然后加密数据。如果你登录到了域环境中,密钥的生成依赖于域控制器,否则它就依赖于本地机器。

  EFS加密有什么好处

  首先,EFS加密机制和操作系统紧密结合,因此我们不必为了加密数据安装额外的软件,这节约了我们的使用成本。

  其次,EFS加密系统对用户是透明的。这也就是说,如果你加密了一些数据,那么你对这些数据的访问将是完全允许的,并不会受到任何限制。而其他非授权用户试图访问加密过的数据时,就会收到“访问拒绝”的错误提示。EFS加密的用户验证过程是在登录Wind ows时进行的,只要登录到Windows,就可以打开任何一个被授权的加密文件。

  如何使用EFS加密

  要使用EFS加密,首先要保证你的操作系统符合要求。目前支持EFS加密的Windows操作系统主要有Windows 2000全部版本和Windows XP Professional。至于还未正式发行的Windows Server 2003和传闻中的开发代号为Longhorn的新一带操作系统,目前看来也支持这种加密机制。其次,EFS加密只对NTFS5分区上的数据有效(注意,这里我们提到了NTFS5分区,这是指由Windows 2000/XP格式化过的NTFS分区;而由Windows NT4格式化的NTFS分区是NTFS4格式的,虽然同样是NTFS文件系统,但它不支持EFS加密),你无法加密保存在FAT和FAT32分区上的数据。

  对于想加密的文件或文件夹,只需要用鼠标右键点击,然后选择“属性”,在常规选项卡下点击“高级”按钮,之后在弹出的窗口中选中“加密内容以保护数据”,然后点击确定,等待片刻数据就加密好了。如果你加密的是一个文件夹,系统还会询问你,是把这个加密属性 应用到文件夹上还是文件夹以及内部的所有子文件夹。按照你的实际情况来操作即可。解密数据也是很简单的,同样是按照上面的方法,把“加密内容以保护数据”前的钩消除,然后确定。

  如果你不喜欢图形界面的操作,还可以在命令行模式下用“cipher”命令完成对数据的加密和解密操作,至于“cipher”命令更详细的使用方法则可以通过在命令符后输入“cipher/?”并回车获得。

  注意事项:如果把未加密的文件复制到具有加密属性的文件夹中,这些文件将会被自动加密。若是将加密数据移出来,如果移动到NTFS分区上,数据依旧保持加密属性;如果移动到FAT分区上,这些数据将会被自动解密。被EFS加密过的数据不能在Windows 中直接共享。如果通过网络传输经EFS加密过的数据,这些数据在网络上将会以明文的形式传输。NTFS分区上保存的数据还可以被压缩,不过一个文件不能同时被压缩和加密。最后一点,Windows的系统文件和系统文件夹无法被加密。

  这里还有个窍门,用传统的方法加密文件,必须打开层层菜单并依次确认,非常麻烦,不过只要修改一下注册表,就可以给鼠标的右键菜单中增添“加密”和“解密”的选项。

  在运行中输入“regedit”并回车,打开注册表编辑器,定位到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion /Explorer/Advanced ,在“编辑”菜单上点击“新建-Dword值”,输入“EncryptionContextMenu”作为键名,并设置键值为“1”。现在退出注册表编辑器,打开资源管理器,任意选中一个NTFS分区上的文件或者文件夹,然后点击鼠标右键,就可以在右键菜 单中找到相应的选项,直接点击就可以完成加密解密的操作。

  如果你想设置禁止加密某个文件夹,可以在这个文件夹中创建一个名为“Desktop.ini”的文件,然后用记事本打开,并添加如下内容:

  [Encryption]

  Disable=1

  之后保存并关闭这个文件。这样,以后要加密这个文件夹的时候就会收到错误信息,除非这个文件被删除。

  而如果你想在本机上彻底禁用EFS加密,则可以通过修改注册表实现。在运行中输入“Regedit”并回车,打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS,在“编辑”菜单上点击“新建-Dword值”,输入“EfsConfiguration”作为键名,并设置键值为“1”,这样本机的EFS加密就被禁用了。而以后如果又想使用时只需把键值改为“0”。

  如何保证EFS加密的安全和可靠

  前面我们已经了解到,在EFS加密体系中,数据是靠FEK加密的,而FEK又会跟用户的公钥一起加密保存;解密的时候顺序刚好相反,首先用私钥解密出FEK,然后用FEK解密数据。可见,用户的密钥在EFS加密中起了很大作用。

  密钥又是怎么来的呢?在Windows 2000/XP中,每一个用户都有一个SID(Security Identifier,安全标示符)以区分各自的身份,每个人的SID都是不相同的,并且有唯一性。可以这样理解:把SID想象成人的指纹,虽然世界上已经有几十亿人(同名同姓的也有很多),可是理论上还没有哪两个人的指纹是完全相同的。因此,这具有唯一 性的SID就保证了EFS加密的绝对安全和可靠。因为理论上没有SID相同的用户,因而用户的密钥也就绝不会相同。在第一次加密数据的时候,操作系统就会根据加密者的SID生成该用户的密钥,并把公钥和私钥分开保存起来,供用户加密和解密数据。

  这一切,都保证了EFS机制的可靠。

  其次,EFS机制在设计的时候就考虑到了多种突发情况的产生,因此在EFS加密系统中,还有恢复代理(Recovery Agent)这一概念。

  举例来说,公司财务部的一个职工加密了财务数据的报表,某天这位职工辞职了,安全起见你直接删除了这位职工的账户。直到有一天需要用到这位职工创建的财务报表时才发现这些报表是被加密的,而用户账户已经删除,这些文件无法打开了。不过恢复代理的存在就解决 了这些问题。因为被EFS加密过的文件,除了加密者本人之外还有恢复代理可以打开。

  对于Windows 2000来说,在单机和工作组环境下,默认的恢复代理是 Administrator ;Windows XP在单机和工作组环境下没有默认的恢复代理。而在域环境中就完全不同了,所有加入域的Windows 2000/XP计算机,默认的恢复代理全部是域管理员。

  这一切,都保证了被加密数据的安全
 如何避免不慎使用EFS加密带来的损失

  如果你也和我一样,由于对EFS加密不了解致使重要数据丢失,那么也别气馁,就当买了个教训。毕竟通过这事情你还是能学会很多东西的。那就是:备份密钥!设置有效的恢复代理!

  对于上面讲到的情况1,备份密钥可以避免这种悲剧的发生。在运行中输入“certmgr.msc”然后回车,打开证书管理器。密钥的导出和导入工作都将在这里进行。

  在你加密过文件或文件夹后,打开证书管理器,在“当前用户”-“个人”-“证书”路径下,应该可以看见一个以你的用户名为名称的证书(如果你还没有加密任何数据,这里是不会有证书的)。右键点击这个证书,在“所有任务”中点击“导出”。之后会弹出一个证书 导出向导,在向导中有一步会询问你是否导出私钥,在这里要选择“导出私钥”,其它选项按照默认设置,连续点击继续,最后输入该用户的密码和想要保存的路径并确认,导出工作就完成了。导出的证书将是一个pfx为后缀的文件。

  重装操作系统之后找到之前导出的pfx文件,鼠标右键点击,并选择“安装PFX”,之后会出现一个导入向导,按照导入向导的提示完成操作(注意,如果你之前在导出证书时选择了用密码保护证书,那么在这里导入这个证书时就需要提供正确的密码,否则将不能继续 ),而之前加密的数据也就全部可以正确打开。

  对于情况2,我们对Windows XP和Windows 2000两种情况分别加以说明。

  由于Windows XP没有默认的恢复代理,因此我们加密数据之前最好能先指定一个默认的恢复代理(建议设置Administrator为恢复代理,虽然这个账户没有显示在欢迎屏幕上,不过确实是存在的)。这样设置:

  首先要获得可以导入作为恢复代理的用户密钥,如果你想让Administrator成为恢复代理,首先就要用Administrator账户登录系统。在欢迎屏幕上连续按Ctrl+Alt+Del两次,打开登录对话框,在用户名处输入Administra tor,密码框中输入你安装系统时设置的Administrator密码,然后登录。首先在硬盘上一个方便的地方建立一个临时的文件,文件类型不限。这里我们以C盘根目录下的一个1.txt文本文件文件为例,建立好后在运行中输入“CMD”然后回车,打开 命令提示行窗口,在命令提示符后输入“cipher /r:c:\1.txt”,回车后系统还会询问你是否用密码把证书保护起来,你可以按照你的情况来决定,如果不需要密码保护就直接按回车。完成后我们能在C盘的根目录下找到1.txt.cer和1.txt.pfx两个文件(为了显示的清楚我在文件夹选项中设 置了显示所有文件类型的扩展名,这样我们可以更清楚地了解到底生成了哪些文件)。

  之后开始设置恢复代理。对于1.txt.pfx这个文件,同样需要用鼠标右键点击,然后按照向导的提示安装。而1.txt.cer则有些不同,在运行中输入“gpedit.msc”并回车,打开组策略编辑器。在“计算机配置-Windows设置-安全设置 -公钥策略-正在加密文件系统”菜单下,在右侧窗口的空白处点击鼠标右键,并选择“添加数据恢复代理”,然后会出现“添加故障恢复代理向导”按照这个向导打开1.txt.cer,如果一切无误就可以看见图五的界面,这说明我们已经把本机的Administ rator设置为故障恢复代理。

  如果你愿意,也可以设置其它用户为恢复代理。需要注意的是,你导入证书所用的1.txt.pfx和1.txt.cer是用哪个账户登录后生成的,那么导入证书后设置的恢复代理就是这位用户。

  在设置了有效的恢复代理后,用恢复代理登录系统就可以直接解密文件。但如果你在设置恢复代理之前就加密过数据,那么这些数据恢复代理仍然是无法打开的。

  而对于Windows 2000就更加简单,Windows 2000有恢复代理,因此只要用恢复代理(默认的就是Administrator)的账号登录系统,就可以解密文件。

  如何在本机上共享经EFS加密过的数据

  加密过的文件只有加密者本人和恢复代理可以打开,如果你要和本机的其它用户共享加密文件又该怎么办?这在Windows 2000中是不行的,不过在Windows XP中可以做到。

  选中一个希望共享的加密文件(注意,只能是文件,而不能是文件夹),在文件上用鼠标右键点击,并选择“属性”,之后在属性对话框的“常规”选项卡上点击“高级”按钮,然后再点击“详细信息”,之后你可以看见类似图六的窗口,在这里你可以决定谁可以打开这个 加密文件以及察看文件的恢复代理是具体是谁。

  对EFS加密的几个错误认识

  很多人对EFS理解的不够彻底,因此在使用过程中总会有一些疑问。一般情况下,我们最常见的疑问有以下几种:

  1, 为什么打开加密过的文件时没有需要我输入密码?

  这正是EFS加密的一个特性,同时也是EFS加密和操作系统紧密结合的最佳证明。因为跟一般的加密软件不同,EFS加密不是靠双击文件,然后弹出一个对话框,然后输入正确的密码来确认的用户的;EFS加密的用户确认工作在登录到Windows时就已经进行 了。一旦你用适当的账户登录,那你就能打开相应的任何加密文件,并不需要提供什么额外的密码。

  2, 我的加密文件已经打不开了,我能够把NTFS分区转换成FAT32分区来挽救我的文件吗?

  这当然是不可能的了。很多人尝试过各种方法,例如把NTFS分区转换成FAT32分区;用NTFS DOS之类的软件到DOS下去把文件复制到FAT32分区等,不过这些尝试都以失败告终。毕竟EFS是一种加密,而不是一般的什么权限之类的东西,这些方法对付EFS加密都是无济于事。而如果你的密钥丢失或者没有做好备份,那么一旦发生事故所有加密过的数 据就都没救了。

  3, 我加密数据后重装了操作系统,现在加密数据不能打开了。如果我使用跟前一个系统相同的用户名和密码总应该就可以了吧?

  这当然也是不行的,我们在前面已经了解到,跟EFS加密系统密切相关的密钥是根据每个用户的SID得来的。尽管你在新的系统中使用了相同的用户名和密码,但是这个用户的SID已经变了。这个可以理解为两个同名同姓的人,虽然他们的名字相同,不过指纹绝不可 能相同,那么这种想法对于只认指纹不认人名的EFS加密系统当然是无效的。

  4, 被EFS加密过的数据是不是就绝对安全了呢?

  当然不是,安全永远都是相对的。以被EFS加密过的文件为例,如果没有合适的密钥,虽然无法打开加密文件,不过仍然可以删除(有些小人确实会这样想:你竟然敢加密了不让我看!那好,我就删除了它,咱们都别看)。所以对于重要文件,最佳的做法是NTFS权限 和EFS加密并用。这样,如果非法用户没有合适的权限,将不能访问受保护的文件和文件夹;而即使拥有权限(例如为了非法获得重要数据而重新安装操作系统,并以新的管理员身份给自己指派权限),没有密钥同样还是打不开加密数据。

  5, 我只是用Ghost恢复了一下系统,用户账户和相应的SID都没有变,怎么以前的加密文件也打不开了?

  这也是正常的,因为EFS加密所用到的密钥并不是在创建用户的时候生成,而是在你第一次用EFS加密文件的时候。如果你用Ghost创建系统的镜像前还没有加密过任何文件,那你的系统中就没有密钥,而这样的系统制作的镜像当然也就不包括密钥。一旦你加密了 文件,并用Ghost恢复系统到创建镜像的状态,解密文件所用的密钥就丢失了。因此这个问题一定需要主意!

本新闻共2页,当前在第1页  1  2  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:EFS加密技巧
下一篇:重新认识NTFS文件系统的妙处
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
关闭任务管理器杀不了的进程
Windows 进程管理器简介
用系统进程拒绝病毒的侵袭
识别非法进程与手工杀毒
用系统进程手工杀毒
如何干净地清除病毒
如何更好地预防计算机病毒入侵
什么是恶意共享软件
什么是浏览器劫持
什么是网络钓鱼
一些常见的进程
如何强制结束一个运行中的进程
如何察看正在运行的进程
什么是系统进程
Dll文件是什么
用系统进程拒绝病毒的侵袭
用系统进程手工杀毒
关闭任务管理器杀不了的进程
Windows 进程管理器简介
识别非法进程与手工杀毒
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
免费在QQ上看在线电影电视听音乐
优秀公益广告作品欣赏(7)
QQ珊瑚虫外挂4.0版本发布!
WEB服务器配置全攻略(三)
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
内存混插常见问题和解决方法
Office2007简体中文版浮出水面 美图抢
0689版Windows Live Messenger五大看点
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息