来源:期刊VIP网所属分类:计算机信息管理发布时间:2014-04-08浏览:次
摘 要 大约2000多年前,人类就已经在通信中使用原始的加密方法保护信息安全。随着人类科学技术的发展,与数学、计算机科学等相关学科密不可分的现代密码学从20世纪至今得到了长足发展。作为现代密码学的重要组成部分,加密技术已经成为解决当前网络通信安全的有效技术手段。
关键词 PGP,加密,电子邮件
目前Internet已经全面覆盖国内各级别政府机关、公司企业、高校研究所、城市家庭等,网络应用渗透到政府公务、工农业生产、教学科研、公众娱乐等社会方方面面,很大程度上提高了我国信息化水平。在网络变得越来越重要的同时,它所面临的安全威胁也在增加。地震导致的光缆损坏使得网络几乎瘫痪,这样明显的安全问题大家有目共睹;但是,另外一种不为常人所知安全威胁却正在悄然进行中。
1 电子邮件的安全隐患
在各类网络应用中,电子邮件始终占有重要地位。较之其他联络方式,电子邮件的最大的特点就是不需要通信双方同时在网,一方发送邮件后,另一方在其他任何时间上网都可以接收,这就避免了类似打电话找人找不到的情况,也使得类似MSN、QQ等即时联络软件不可能完全取代电子邮件。而且电子邮件不仅能传送文字信息,其他诸如图片、声音、动画、视频都所有类型的文件都能以附件的形式发送,极大的方便了网络信息交流。例如政府机关中可以通过电子邮件群发的方式通知所有人员相关事宜;学校教师只需要将试卷通过电子邮件发送到考试部门而不用亲自跑去送试卷;学生有什么问题也不必非要到办公室来,直接用邮件提问就可以。
但目前的电子邮件系统都存在的一个重大安全隐患,就是所有发送和接收的邮件信息均以明文的形式在网上传送。也就是说,只要有窃密者在网络上安装了被称为Sniffer的程序,就能轻易得到他人电子邮箱的用户名和密码,进而进入到受害者的邮箱中查看邮件。试想如果单位或者部门的重要领导的邮箱密码被窃,窃密者就可以长期查阅该领导的邮件信息,其中极有可能包括涉密材料,这将是相当危险的。而且窃密者在掌握了他人的邮箱后,就可以冒充他人名义发送邮件,造成不可预料的结果。而所有这一切都可以在我们毫无察觉的情况下发生。
2 加密技术与PGP
加密技术的本质就是发送方将原始的明文打乱变形为密文,使得窃密者在网络上得到了密文也无法了解信息的真实内容,而接收方却能解密还原出明文。现在密码学中,依照加密解密使用的密钥情况,加密技术分为对称加密和非对称加密。对称加密使用相同的密钥加密和解密数据,其运算速度相当快,但密钥的安全管理很难解决。对称加密算法主要有3DES、IDEA、AES等。非对称加密使用两个不同密钥分别加密和解密数据。其运算速度比对称加密慢很多,但其密钥管理比较方便,而且还能提供数字签名等功能。非对称加密算法主要有Diffie-Hellman、RSA、DSA等。
PGP是目前最好的电子邮件加密软件,其作者Philip R. Zimmermann于1991年首次在Internet上免费发布此软件。他在PGP中选择使用了对称和非对称两类算法,利用这两类算法各自的特性相互取长补短以实现信息加密、数字签名、密钥管理等功能,同时,他还免费公开PGP的源代码以避免隐藏后门的嫌疑。这里简单介绍一下PGP使用的两类加密算法中的代表算法:
RSA算法是一种基于大数不易质因数分解假设的非对称算法。简单地说,就是找到两个很大的质数,一个称之为“公钥”对外公开,另一个称为“私钥”自己保存。这两把密钥组成一个密钥对,用公钥加密的密文可以用私钥解密,反过来也一样。但想由密钥对中的一个推算出另一个是相当困难甚至是不可能的。
AES算法是一种对称加密算法,其加密和解密使用同一把密钥。这个算法在2000年最终被确定并形成标准。当采用128位长度密钥加密数据时,即使用当前世界上最快的计算机运算,也需要约1023年才能破解。对于更重要的数据,还可以采用192位甚至256位的密钥加密。
3 采用PGP保障电子邮件安全
⑴ 创建密钥对
在使用PGP加密签名邮件之前,使用者必须创建自己的密钥对。方法是打开密钥创建向导,跟随向导填写几个相关参数,如使用者的名称、电子邮箱、口令,程序经过运算后即创建出一个密钥对。密钥对创建之后,除非使用者特别需要,在一段时间内不用再次创建新的密钥对。创建后的密钥对包括一个公钥和一个私钥。其中公钥可以在网站或者BBS等任何地方公开,而私钥绝对不要泄漏出去。因为私钥本身有数千位的长度,用户不可能直接记住,所以采用前面设定的口令进行保护。保护私钥的口令应当选择容易记忆但不容易被猜测到的字母、数字和符号组合,建议采用10个以上字母长度的短语。
⑵ 管理密钥
安全有效的密钥管理是PGP的一个很突出的特色。为了与他人进行安全的电子邮件通信,需要将自己的公钥发布出去,同时也需要获得他人的公钥。方法很简单,通信双方可以通过任何途径将自己的公钥发送给对方,哪怕传送途径并不安全,因为公钥本来就是公开给外界的。在获得了他人的公钥后,首先进行“导入”操作,即将收到的公钥保存到PGP软件中以便今后使用。然后最好通过电话对收到的公钥进行一个“指纹”核实,以确定收到的公钥的确就是对方的公钥,避免第三方“中间人”进行了替换。核实的方法是查看收到的公钥的“属性”,其中的“指纹”表现为数个单词或者一串16进制的数字。双方在电话中核对这些单词或者数字,如果一致,则公钥未被篡改,可以安全使用。当然,这种电话核实方式有时候无法实现。PGP也提供了另外一种“信任”关系的方法间接的核实收到的公钥。简单的说,A收到了B的公钥,但无法电话核实。但A信任C,C对B的公钥签名表明C信任它。这样A就能通过C间接的信任B的这个公钥。这与生活中我们相信朋友的朋友是类似的。理论上看,全世界任何两个人之间,最多通过6层信任关系,即可建立联系。
⑶ 加密与签名
加密信息用以保证窃密者即使得到密文也无法知道实际内容。当发送者用PGP加密一段明文信息时,PGP先对明文进行压缩,然后随机创建一个一次性会话密钥,采用对称加密算法(例如AES等)加密刚才压缩后的明文,产生密文。然后用接收者的公钥加密刚才的一次性会话密钥,随同密文一同传输给接收方。接收方收到信息后,首先用自己的私钥解密获得一次性会话密钥,然后用这个会话密钥解密密文得到最终的明文。PGP可以采用的加密算法包括:AES、CAST、3DES、IDEA、Twofish等。例如使用AES密钥最长可达256bit,这已经足够安全了。
数字签名保证接收者接收的信息没有经过未授权的第三方篡改,并确信收到的信息的确是来自发信者,同时发送者无法否认他发送了此信息。PGP进行数字签名的过程是:发送者创建明文,使用散列算法生成散列代码,然后使用自己的私钥对散列代码加密,并将结果放在明文前面。接收者使用发送者的公开密钥解密得到散列代码,然后与根据接收到的明文另外计算出的散列代码比较,如果匹配,则认可。目前,PGP使用的散列函数包括:SHA-2、SHA-1、RIPEMD、MD-5等。
大多数时候,我们会将加密与签名结合起来使用。方法是先进行签名,再进行加密。当然,PGP软件已经提供了便利的操作方法,只需要使用者点击几下鼠标即可完成。
⑷ 收发邮件
微软的Outlook Express作为一个专用电子邮件程序内置在Windows 98/2000/XP中,很多用户都用其收发电子邮件。PGP软件专门为Outlook Express等流行的电子邮件程序提供了插件,这样当我们使用Outlook Express或其他电子邮件程序时,PGP将自动为我们的邮件进行加密解密签名等操作,这将大大方便我们的使用。
如果用户使用的电子邮件程序没有相应的PGP插件,比如使用IE浏览器的时候,那么有两种选择:一个选择是在记事本等文字编辑程序中书写邮件内容,然后加密,再以邮件附件文件的形式发送;另外一个更方便的方法是在浏览器中写完内容后,将内容复制到剪贴板里,然后用PGP加密剪贴板,最后再把剪贴板中的密文粘贴覆盖到浏览器中。这样,保存在我们邮箱里的邮件内容都是密文,即使窃密者得到了邮箱的密码进入邮箱,也无法了解邮件真正的内容。他如果使用受害者的邮箱冒用其名义发送邮件,接收者经过签名认证也能立刻察觉。
4 结束语
在实际使用中我们看到,因特网上每天都在出现新的病毒木马,我们面临着极为严峻的网络的安全形势。随着网络更深层次的渗透到我们的工作生活中,网络信息的安全保密显得越发的重要和迫切。
PGP软件的加密和签名功能不仅仅可以在电子邮件中使用,其扩展功能可以覆盖几乎所有信息交流的方式。例如,PGP的数字签名技术就可以用来实现“网络实名”,这样每个在网络中的人都可以拥有不能被冒充不能自我否认的身份,这将使整个网络环境得到很大改善。可以说,PGP发展到今天,其功能和潜在的影响还远未被人们所了解。笔者相信,充分开发利用PGP必将对我们的网络生活产生重要的影响。
参考资料
[1] 何明星,林昊. AES算法原理及其实现. 计算机应用研究 , 2002, (12)
[2] 王玉奇. 基于RSA的电子商务数字签名技术[J].经济师 , 2005, (05)
[3] 丁文霞等. 保密通信系统中的密钥管理. 信息安全与通信保密 , 2005, (02)
[4] 张秋江,. 涉密网的安全构建. 信息安全与通信保密 , 2006, (03)
期刊VIP网,您身边的高端学术顾问
文章名称: 探析电子邮件的安全盾牌PGP保护系统
文章地址: http://www.qikanvip.com/jisuanjixinxiguanli/12685.html