EFS的意思是“文件加密系统”,是微软在Windows 2000/XP/2003中推出的新功能,为用户保护私人文件提供了一个很好的途径。目前关于EFS加密的相关文章也比较多,但有的地方未陈述清楚,导致一些使用上的误区。为避免不熟悉的用户出现数据损失的情况,我们有必要认清这些误区。
一、EFS加密原理
Windows中的EFS加密和我们印象中的要输入密码的加密方法不同,它采用的是公开密钥加密策略。当你加密一个文件的时候,系统会随机生成一个FEK(File Encryption Key文件加密钥匙),然后用FEK和加密算法对该文件进行加密处理,再删除源文件,把加密后的文件存储在硬盘上。
最后,系统用你的公钥加密FEK,与文件存储在一起。解密时,系统用你的私钥把FEK解密出来,再用FEK对文件解密。EFS的一大优点是,它对加密文件的用户是完全透明的。而其他用户若想访问被加密的文件,则系统会提示“拒绝访问”。
密钥是怎么来的呢?首先我们要介绍SID(Security Identifier,安全标志符)。系统用它来标志不同的用户。从理论上来说,它和人的指纹有共性:不同用户的SID不会雷同。所以,它可以用来标志用户。当你首次使用EFS时,系统会利用你的SID来生成公钥和私钥。这样充分保证了数据的安全。
二、几种常见的解密误区(本文为我们的电脑知识网推荐文章)
误区一:用PQ(分区魔术师)把NTFS分区转换为FAT32格式后,文件会呈未加密状态;或者可以用NTFSDOS软件到DOS下把加密后的文件COPY到FAT32分区下,再到Windows下打开它。tW.WinGWIT.CoM
以上这都是不可行的。我在上文中有这么一句:“用FEK和加密算法对该文件进行加密处理,再删除源文件”。可见系统存储的是被加密后的文件,而并非NTFS权限那样,只是进行一下验证,不改动源文件。
误区二:重装系统后,新建一个与原用户同名、同密码的用户,就可以用它来打开文件了。
EFS是通过密钥来加密、解密文件的,与NTFS权限完全不同。重装系统后,SID变了,自然无法解密文件。
误区三:用Ghost恢复系统后还是可以打开被加密的文件。
这分两种情况。第一种是,你加密了文件后,再用Ghost做的备份,这样就全无问题,因为密钥全部在备份中放着呢!第二种情况是,在加密第一个文件之前就备份了系统。请看我前文中这样一句话:“当你首次使用EFS时,系统会利用你的SID来生成公钥和私钥。”密钥是在首次加密文件之时才产生的。Ghost备份文件之中并不包括密钥,那么恢复系统后,文件同样会打不开。
三、一个易混淆的概念
想在重装系统后被加密的文件不丢失,惟一的方法就是事先备份导出密钥或者使用恢复代理。
我们知道,导出证书以及使用恢复代理(使用cipher命令创建)时,都会导出一个*.pfx文件,某些文章中把用cipher命令创建的PFX文件和在“证书”中导出的PFX文件混为一谈。这是错误的。
在“证书”中导出的PFX文件(我们记为一号文件),装的是当前用户的EFS加密的证书和私钥;而用cipher命令创建的PFX文件(我们记为二号文件),是专门为恢复代理准备的,两者的功能完全不同。其他用户导入了二号文件,但却不能访问我的加密文件。但如果其他用户导入了一号文件,他们就可以访问我的加密文件了。由此可见,它们是不同的。