从NTFS文件格式开始,EFS加密式方就走进Windows了,很多用户可能对EFS加密不是很了解,使用EFS加密后怎么解密,密钥文件丢失了怎么办?在什么情况下可以恢复加密文件,EFS加密具体是怎么加密的?带着种种题我们一起来看看EFS加密使用中的一些常见问题,疑难解答。
首先EFS是一种公钥加密,在使用EFS加密一个文件或文件夹时,系统首先会生成一个由伪随机数组成的FEK (File Encryption Key,文件加密钥匙),然后利用FEK和数据扩展标准X算法创建加密后的文件,并把它存储到硬盘上,同时删除未加密的原始文件。随后系统利用你的公钥加密FEK,并把加密后的FEK存储在同一个加密文件中。而在访问被加密的文件时,系统首先利用当前用户的私钥解密FEK,然后利用FEK解密出文件。
在首次使用EFS时,如果用户还没有公钥/私钥对(统称为密钥),则会首先生成密钥,然后加密数据。文件的加密和解密都需要密钥的参与,而密钥分为公钥和私钥两种。加密文件的时候使用公钥,解密文件的时候则使用相对应的私钥。
解密EFS加密文件有两种情况:
1)备份了之前系统的相关文件
如果你在重装系统前备份了"C:\Documents and Settings\<用户名>\Application Data\Microsoft\"这个文件夹的话(<用户名>指的是你之前系统的用户名),恭喜你,你的EFS文件有救了!否则请看另一种情况。
2)之前的系统文件没备份
如果你在重装系统前没有备份任何文件,也不要放弃,只要你的数据还在硬盘,就一定能找回,只不过是时间的问题(通常需要几十分钟,分区越大时间越久),这个时候一定要记住:不要再对硬盘进行任何操作,不要再次重装系统,不要开机,不要拷贝文件,等待专业人员,否则你很可能覆盖掉有用的数据,造成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加密过的文件为例,如果没有合适的密钥,虽然无法打开加密文件,不过仍然可以删除(有些小人确实会这样想:你竟然敢加密了不让我看!那好,我就删除了它,咱们都别看)。
5.我只是用Ghost恢复了一下系统,用户账户和相应的SID都没有变,怎么以前的加密文件也打不开了?
这也是正常的,因为EFS加密所用到的密钥并不是在创建用户的时候生成,而是在你第一次用EFS加密文件的时候。如果你用Ghost创建系统的镜像前还没有加密过任何文件,那你的系统中就没有密钥,而这样的系统制作的镜像当然也就不包括密钥。一旦你加密了文件,并用Ghost恢复系统到创建镜像的状态,解密文件所用的密钥就丢失了。因此这个问题一定需要注意!
了解到以上的知识之后,对于EFS加密的使用和注意事项,相信大家在使用中会更少的遇到问题,也对自己的数据安全有了一定的保障。