五、EFS技术的应用
在Windows2000中,微软就采用了基于公共密钥加密技术的加密文件系统(EFS)。在Windows XP中,对加密文件系统做了进一步改进,使其能够让多个用户同时访问加密的文档。不过,在使用EFS加密文件的同时,也产生了诸多麻烦,比如重装系统后无法打开EFS加密过的文件夹等等。
1、备份及导入密钥来解密
点击“开始→运行”,在“运行”对话框中输入“certmgr.msc”打开证书管理器,打开“证书→当前用户”下的“个人→证书”,只要你做过加密操作,右边窗口就会有与用户名同名的(如果有多份证书,选“预期目的”为“加密文件系统”)证书。
选中证书后点鼠标右键,选“所有任务→导出”,在弹出的“证书导出向导”中,选择“导出私钥”,并按照向导的要求输入密码来保护导出的私钥,最后存储为一个PFX后缀的文件。
当加密文件的账户出现问题或重新安装了系统后需要访问或解密以前加密的文件时,只要使用鼠标右键单击备份的证书,选择“安装PFX”,系统将弹出“证书导入向导”,键入当初导出证书时输入用于保护备份证书的密码,然后选择让向导“根据证书类型,自动选择证书存储区”即可。完成后就可以访问以前的加密文件了。
2、可靠的EFS加密
在没有备份的情况下,要对EFS解密几乎是不可能的,虽然网上流行很多种方法,但是可行性微乎其微,建议大家不要浪费时间。因为在Windows 2000/XP中,每一个用户都有一个SID(Security Identifier,安全标示符)以区分各自的身份,每个人的SID都是不相同的,并且有唯一性。在第一次加密数据的时候,操作系统就会根据加密者的SID生成该用户的密钥,并且会把公钥和密钥分开保存起来,供用户加密和解密数据。如果在重装系统之前没有对当前的密钥进行备份,实际上就意味着无论如何都不可能生成此前的用户密钥,而解密文件不仅需要公钥,还需要密码,所以也就根本不能打开此前EFS加密过的文件夹。
EFS加密是安全可靠的,那么,一旦用户账户被删除,就像开头提到的那位,重新创建一个相同的用户可以打开吗?答案当然是否定的,重新创建的用户虽然与以前用户同名,但是系统却不会分配相同的SID(记住,不可能存在相同SID!除非是克隆系统),因此密钥也不同,加密的文件自然就无法打开了。
六、如何确保邮件的安全
1、加密与解密
邮件本身的安全首先要保证邮件不被无关的人窃取或更改,同时接收者也必须能确定该邮件是由合法发送者发出的。可以使用公用密匙系统来达到这个目的。实际使用中,用户自己持有一把钥匙,称为私钥,将另一把钥匙公开,这把钥匙称为公钥。当用户向外发送邮件时,他首先使用一种单向分解函数从邮件中得到固定长度的分解值,该值与邮件的内容相关,称为该邮件的指纹,然后使用自己的密钥对指纹进行加密。接受者能使用他的公钥进行解密,然后重新生成指纹进行比较,这保证邮件是由他本人发送而非假冒,同时也保证邮件在发送过程中没有被更改,这个过程称为数字签名和核实。他也可以使用接收者的公钥进行加密,这保证只有拥有对应密钥的接收者才能进行解密,来得到电子邮件的明文信息。
2、数字签名
在说明数字签名前先要解释一下什么是“邮件文摘”(message digest), 简单地说就是对一封邮件用某种算法算出一个能体现这封邮件“精华”的数来, 一旦邮件有任何改变这个数都会变化,那么这个数加上作者的名字(实际上在作者的密匙里)还有日期等等,就可以作为一个签名了。数字签名就是甲用自己的私匙将上述的“精华”加密,附加在邮件上,再用乙的公匙将整个邮件加密。这样这份密文被乙收到以后,乙用自己的私匙将邮件解密,得到甲的原文和签名,乙自身的验证系统也从原文计算出一个“精华”来,再用甲的公匙解密签名得到的数比较,如果符合就说明这份邮件确实是甲寄来的。实际上数字签名方式在商业领域具有很大的应用前途,可以有效的防止发信人抵赖和信件被途中篡改。