⑴ EFS加密的简介
EFS加密是基于公钥策略的。然后将利用FEK和数据扩展标准X算法创建加密后的文件,。如果你登录到了域环境中,密钥的生成依赖于域控制器,否则它就依赖于本地机器
EFS加密解密
EFS 加密解密都是透明完成, 如果用户加密了一些数据, 那么其对这些数据的访问将是完全允许的, 并不会受到任何限制。而其他非授权用户试图访问加密过的数据时, 就会收到“拒绝访问”的错误提示。
a.最简单的办法就是在目标对象上点击鼠标右键,选择“属性”,打开属性对话框,然后在常规选项卡上点击“高级”按钮,打开高级属性对话框,选中“加密内容以便保护数据”这个选项,反之解密。
b.每次加密都需要打开其高级属性对话框,非常麻烦。我们可以打开注册表编辑器,定HKEY_CURRENT_,在这里新建一个名为EncryptionContextMenu的DWORD值,并将其数值设置为“1”,这样用鼠标右键点击一个文件或文件夹的时候,右键菜单中就会有加密(如果目标对象尚未被加密)或者解密(如果目标对象已经被加密)选项,只要选择相应的选项就可以直接完成操作。
加密后文件的共享
默认情况下,加密后的文件只有加密者可以访问。如果因为特殊情况,你需要将你自己加密后的文件和别人共享,那么还需要额外的设置。要注意的是,这个特性仅在Windows XP之后的操作系统中提供,Windows 2000下无法共享EFS加密后的文件。同时共享只能用于单个文件,而无法用于整个文件夹。
在这个对话框中点击“添加”按钮,就可以选择你希望可以打开这个文件的用户。不过要注意,这里添加用户并不是添加用户的名称,而是添加用户的公钥,也就是说希望共享文件的用户必须有自己的公钥。
密钥的备份和恢复
说到加密,密钥是一个非常重要的概念。EFS是一种公钥加密,那么这里就要说说什么是公钥加密了。在使用EFS加密一个文件或文件夹时,系统首先会生成一个由伪随机数组成的FEK (File Encryption Key,文件加密钥匙),然后利用FEK和数据扩展标准X算法创建加密后的文件,并把它存储到硬盘上,同时删除未加密的原始文件。随后系统利用你的公钥加密FEK,并把加密后的FEK存储在同一个加密文件中。而在访问被加密的文件时,系统首先利用当前用户的私钥解密FEK,然后利用FEK解密出文件。在首次使用EFS时,如果用户还没有公钥/私钥对(统称为密钥),则会首先生成密钥,然后加密数据。
文件的加密和解密都需要密钥的参与,而密钥分为公钥和私钥两种。很明显,无论是加密还是解密文件,都需要用到个人密钥。加密文件的时候使用公钥,解密文件的时候则使用相对应的私钥。那么无论是丢失了公钥还是私钥,都会给我们的使用带来麻烦,尤其是私钥,丢失之后就再也无法解密文件了。
为了保证数据安全,最好能在加密文件之后立即将自己的密钥备份出来,并保存到安全的地方,以防系统崩溃或其他原因导致数据无法解密。方法是,运行“certmgr.msc”打开证书管理器,在“当前用户/个人/证书”路径下,应该可以看见一个以你的用户名为名称的证书(如果你还没有加密任何数据,这里是不会有证书的)。用鼠标右键点击这个证书,在“所有任务”中点击“导出”。之后会弹出一个证书导出向导,在向导中有一步会询问你是否导出私钥,在这里要选择“导出私钥”,其它选项按照默认设置,连续点击继续,最后输入该用户的密码和想要保存的路径并确认,导出工作就完成了。导出的证书将是一个pfx为后缀的文件。这个pfx文件最好能保存到其他位置,并且要保证该文件的安全。
恢复密钥
当用户的密钥丢失后,如重装了操作系统,或者无意中删除了某个帐户,我们只要找到之前导出的pfx文件,用鼠标右键点击,并选择“安装PFX”,之后会出现一个导入向导,按照导入向导的提示完成操作(注意,如果你之前在导出证书时选择了用密码保护证书,那么在这里导入这个证书时就需要提供正确的密码,否则将不能继续),而之前加密的数据也就全部可以正确打开。