信息论与编码课程论文电子邮件安全与密码学的应用刘畅,200900840179山东大学威海分校机电与信息工程学院,威海264209摘要:本文分析了传统电子邮件系统存在的安全性问题,探讨应用密码技术采弥补这些安全漏洞,并且绍了在安全电子邮件系统中使用的密码技术。关键词:RSA;PGB;PEM1、概述随着计算机技术和网络技术的迅速发展,电子邮件的应用也越来越广泛.成为网络牛活中重要的组成部分,大有取代传统邮件之势。作为一种新的信息传递技术,电子邮件以其简单、快捷、方便的优势被人们所接受和喜爱。但是也存在一些问题妨碍了它的推广。其中关键之一就是电子邮件的信息安全。由于电子邮件技术在设计之初是为了科学家之间的通信方便,所以并来考虑信息安全因素。但是髓着时代的发展。尤其是电子商务的速成长。作为其沟通手段的电子邮件的安全性问题就不得不受到高度重视。人们很自然的想到把已经成熟的密码技术商用于电子邮件系统。密码技术就是对信息进行重新编码。从而达到隐藏信息内容使非法用户无法获取真实信息内容的一种手段。本文就浅述一下密码技术安全电子邮件中的应用。2、密码学简介2.1、加密的历史作为保障数据安全的一种方式,数据加密起源于公元前2000年。埃及人是最先使用特别的象形文字作为信息编码的人。随着时间推移,巴比伦,希腊等都开始使用一些方法来保护他们的书面信息。对信息进行编码曾被JuliasCaesar(恺撒大帝)使用,也曾用于历次战争中,包括美国独立战争,美国内战和两次世界大战。最广为人知的编码机器是GermanEnigma机,在第二次世界大战中德国人利用它创建了加密信息。此后,由于AlanTuring和Ultra计划及其他人的努力,终于对德国人的密码进行了破解。当初,计算机的研究就是为了破解德国人的密码,当时人们并没有想到计算机给今天带来的信息革命。随着计算机的发展,运算能力的增强,过去的密码都变的十分简单了。于是人们又不断地研究出了新的数据加密方式,如私有密钥算法和公有密钥算法。可以说,是计算机推动了数据加密技术的发展。2.2、密码学的发展密码学的发展可以分为两个阶段。第一个阶段是计算机出现之前的四千年(早在四千年前,古埃及就开始使用密码传递消息),这是传统密码学阶段,基本上靠人工对消息加密、传输和防破译。第二阶段是计算机密码学阶段,包括:①传统方法的计算机密码学阶段。解密是加密的简单逆过程,两者所用的密钥是可以简单地互相推导的,因此无论加密密钥还是解密密钥都必须严格保密。这种方案用于集中式系统是行之有效的。②包括两个方向:一个方向是公用密钥密码(RSA),另一个方向是传统方法的计算机密码体制——数据加密标准(DES)。2.3、什么是密码学?密码学包括密码编码学和密码分析学。密码体制的设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容。密码编码技术和密码分析技术是相互依存、相互支持、密不可分的两个方面。数据加密的基本过程包括对称为明文的可读信息进行处理,形成称为密文或密码的代码形式。该过程的逆过程称为解密,即将该编码信息转化为其原来的形式的过程。2.4、加密的重要性因特网是危险的,而且这种危险是TCP/IP协议所固有的,一些基于TCP/IP的服务也是极不安全的,另一方面,因特网把全世界连在了一起,走向因特网就意味着走向了世界。为了使因特网变得安全和充分利用其商业价值,人们选择了数据加密和基于加密技术的身份认证。3、电于邮件的安全状况3.1、同前和电子邮件传输有关的协议主要是两个:SMTP(SimpleMallTransportProtocol)简单邮件传输协议SMPT协议负责电子邮件在网络上的传递,其中包括l4条命令MAIL、RCPT、DATAVRFYEXPNSENDSOMLSAML。HELOQUITRSETHELP。NOOPSMTP协议规定了邮件怎样在邮件服务器中传递,已经成为目前互联网上邮件传输的标准。但是从安全的角度上SMTP几乎是不设防的协议SMTP的消息传输采用的是明文形式而且固定在25端口,所以易被监听和攻击。POP3(PostOficeProtoco1)协议。POP3协议规定了用户怎样从邮件服务器上收取邮件,在用户使用POP3协议收取邮件时需要进行身份确认,认证成功后向用户传递邮件,怛这并不意味着POP3协议就是安全的。事实上POP'3协议只是提供了很有限的安全性,因为它提供的只是对用户的身份保护并投有提供对邮件内容的加密措施,如果窃密者使用被动供给技术则可以绕过身份确认直接得到电子邮件的明文。由以上协议的安全性分析可知,传统的电子邮件系统无论是邮件的网络传输还是客户和邮件服务器之间的交互都存在着巨大的安全隐患,如果用电子郎件来进行一些重要的信息交流比如说电子商务。传统的电子邮件系统就显得力不从心丁。所以^们将密码技术应用到电子邮件系统来保证信息的安全性,就产生了保密的电子邮件协议。4、密码学与电子邮件加密4.1、加密方法简介及本地文本邮件加密加密算法通常是公开的,现在只有少数几种加密算法,如DES和IDEA等。一般把受保护的原始信息称为明文,编码后的信息称为密文。尽管大家都知道使用加密方法,但对密文进行解码必须要有正确的密钥,而密钥是保密的。4.2、保密密钥和公用/私有密钥在保密密钥中,加密者和解密者使用相同的密钥,也被称为对称密钥加密。这种加密算法的问题是,用户必须让接收人知道自己所使用的密钥,这个密钥需要双方共同保密,任何一方的失误都会导致机密的泄露,而且在告诉收件人密钥过程中,还需要防止任何人发现或偷听密钥,这个过程被称为密钥发布。公用/私有密钥,与单独的密钥不同,它使用相互关联的一对密钥,一个是公用密钥,任何人都可以知道,另一个是私有密钥,只有拥有该对密钥的人知道。如果有人发信给这个人,他就用收信人的公用密钥对信件进行过加密,当收件人收到信后,他就可以用他的私有密钥进行解密,而且只有他持有的私有密钥可以解密。这种加密方式的好处显而易见。密钥只有一个人持有,也就更加容易进行保密,因为不需在网络上传送私人密钥,也就不用担心别人在认证会话初期截获密钥。①公用密钥和私有密钥有两个相互关联的密钥;②公用密钥加密的文件只有私有密钥能解开;③私有密钥加密的文件只有公用密钥能解开。4.3、算法和密钥密码算法(Algorithm)也叫密码(Cipher),是用于加密和解密的数学函数。通常情况下,有两个相关的函数,一个用作加密,另一个用作解密。密钥用K表示。K可以是很多数值里的任意值。密钥K的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥(即运算都依赖于密钥,并用K作为下标表示),这样,加/解密函数现在变成:EK(M)=CDK(C)=M这些函数具有的特性:DK(EK(M))=M单钥加密解密双钥加密解密基于密钥的算法通常有两类:对称算法和公用密钥算法对称算法对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推导出来,反过来也成立。对称算法可分为两类。一次只对明文中的单个位(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法或分组密码。公用密钥算法公用密钥算法(Public-KeyAalgorithm)也叫非对称算法,它是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来。4.4、算法的安全性同的密码算法具有不同的安全等级。如果破译算法的代价大于加密数据的价值,破译算法所需的时间比加密数据保密的时间更长,用单密钥加密的数据量比破译算法需要的数据量少得多,那么这种算法可能是安全的。破译算法可分为不同的类别,安全性的递减顺序为:全部破译。密码分析者找出密钥K,这样DK(C)=P。全盘推导。密码分析者找到一个代替算法在不知道密钥K的情况下,等价于DK(C)=P。局部推导。密码分析者从截获的密文中找出明文。信息推导。密码分析者获得一些有关密钥或明文的信息。这些信息可能是密钥的几个位、有关明文格式的信息等。4.5、电子邮件的加密电子邮件加密的目的在于加大其安全性,进行秘密通信。用文字可以表述为:若m是要传送的明文,在传送前,利用密钥k将m经加密变换为密文c由通信通道发给接收者,接收者根据密钥k'利用解密变换将密文c变为明文m。从以上过程可以看出,一个密码体制的安全性依赖于密钥k的个数和加密变换复杂程度。密钥太少,敌方可以根据其截获的密文用不同的k逐个试译即可得到明文。也不太多,太多则不利管理。加密变换太简单则容易找出解密变换,太复杂则导致解密过程耗费时间太多,不利于通信。4.6、常用的加密方法4.6.1、保密密钥对称加密算法之DES算法美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES密码算法要求)主要为以下四点:☆提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;☆具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;☆DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;☆实现经济,运行有效,并且适用于多种完全不同的应用。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。4.6.2、数字签名技术数字签名技术由于越来越多的人通过电子邮件发送机密信息,因此如何识别收到电子邮件是否伪造、保证所发送的邮件不被除收件人以外的其他人阅读变得日趋重要。使用建立在公开密钥加密技术基础上的“数字签名”技术,可以在电子事务中证明用户的身份,就像兑付支票时要出示有效证件一样。用户也可以使用数字签名来加密邮件以保护个人隐私。(1)发送方作数字签名。若要证明自己确实发出了某封电子邮件而且邮件的内容在发出以后没有被改变,用户可以使用数学家们研究的算法(一般称之为报文分解算法,用户只要有相应的软件就行,并不需要关心算法如何实现)对自己即将发出的邮件进行计算(分解或提炼),得到一个很大的(即很长的)、独一无二的数,然后再用自己的私有密钥对这个数加密,将加密后的数、自己的公钥和电子邮件一块发给他人。(2)接收方鉴定数字签名。其他人得到用户的电子邮件后,一方面可使用数学家们研究的算法对收到的电子邮件进行计算,将得到一个数,假定为B;另一方面则使用用户的公开密钥将由用户用私有密钥加密的数解密还原,假定为A;如果A等于B,则说明电子邮件发出后没有被改变过。如果改变过,则A和B肯定不相等,因为数学家们的报文分解算法能保证世界上任何两个不同的信息经过其分解提炼后,得到的数实际上不可能一样(理论上推算应有非常多的相同,但经过几十年的实践,还没有谁找到过相同的例子,而且从理论上讲也很难找),哪怕二者只有微小的差别,例如多一个空格。其他人也不可能改变用户加密后的数,虽然任何人都能通过用户的公开密钥知道这个数是多少,也就是说,当只有用户一人掌握私有密钥时,其他人不可能对某个数加密后还能用用户的公开密钥解密。因此,若有人改变了邮件的内容并重新计算出了新的大数,但他无法制作(伪造)加密后的新的大数(因为他没有用户的私有密钥),因而收件人就可根据二者是否相等来判断所收邮件是否真的出自发件人之手(能解密就可证明)以及邮件发出后是否被他人篡改过(A和B是否相等)。这种技术就是数字签名技术,加密后的大数就是数字签名(在Microsoft系统中,为方便公钥的传播与散发,数字签名中通常还包括签名者的公钥)。5、电子邮件安全解决方案5.1、PGPPGP(PrettyGoodPrivacy),是一个基于RSA公匙加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以可以提供一种安全的通讯方式,而事先并不需要任何保密的渠