1、大连工业大学学报Journal of Dalian Polytechnic University信息论与编码课程论文沈清如(大连工业大学 信息科学与工程学院 辽宁 大连 116001)摘要:信息是从人类出现以来就存在于这个世界上了,天地万物,飞禽走兽,以及人类的生存方式都离不开信息的产生和传播。关键词:RSA;PGB;PEM1、概述随着计算机技术和网络技术的琶速发展,电子邮件的应用也越来越广泛成为网络牛活中重要的组成部分,大有取代传统邮件之势。作为一种 新的信息传递技术,电子邮件以其简单、快捷、方便的优势被人们所接受和喜爱。但是也存在一些问题妨碍了它的推广。其中关键之一就是电子邮件的信息安全。
2、由于电子邮件技术在设计之初是为了科学家之间的通信方便,所以并来考虑信息安全因素。但是髓着时代的发展。尤其是电子商务的 速成长。作为其沟通手段的电子邮件的安全性问题就不得不受到高度重视。人们很自然的想到把已经成熟的密码技术商用于电子邮件系统。密码技术就是对信息进行重新编码。从而达到隐藏信息内容使非法用户无法获取真实信息内容的一种手段。本文就浅述一下密码技术 安全电子邮件中的应用。2、密码学简介2.1、加密的历史作为保障数据安全的一种方式,数据加密起源于公元前 2000 年。埃及人是最先使用特别的象形文字作为信息编码的人。随着时间推移,巴比伦,希腊等都开始使用一些方法来保护他们的书面信息。对信息进
3、行编码曾被 Julias Caesar(恺撒大帝)使用,也曾用于历次战争中,包括美国独立战争,美国内战和两次世界大战。最广为人知的编码机器是 German Enigma 机,在第二次世界大战中德国人利用它创建了加密信息。此后,由于 Alan Turing 和Ultra 计划及其他人的努力,终于对德国人的密码进行了破解。当初,计算机的研究就是为了破解德国人的密码,当时人们并没有想到计算机给今天带来的信息革命。随着计算机的发展,运算能力的增强,过去的密码都变的十分简单了。于是人们又不断地研究出了新的数据加密方式,如私有密钥算法和公有密钥算法。可以说,是计算机推动了数据加密技术的发展。2.2、密码学
4、的发展密码学的发展可以分为两个阶段。第一个阶段是计算机出现之前的四千年(早在四千年前,古埃及就开始使用密码传递消息) ,这是传统密码学阶段,基本上靠人工对消息加密、传输和防破译。第二阶段是计算机密码学阶段,包括:传统方法的计算机密码学阶段。解密是加密的简单逆过程,两者所用的密钥是可以简单地互相推导的,因此无论加密密钥还是解密密钥都必须严格保密。这种方案用于集中式系统是行之有效的。包括两个方向:一个方向是公用密钥密码(RSA ) ,另一个方向是传统方法的计算机密码体制数据加密标准(DES) 。2.3、什么是密码学?密码学包括密码编码学和密码分析学。密码体制的设计是密码编码学的主要内容,密码体制的
5、破译是密码分析学的主要内容。密码编码技术和密码分析技术是相互依存、相互支持、密不可分的两个方面。大连工业大学学报Journal of Dalian Polytechnic University数据加密的基本过程包括对称为明文的可读信息进行处理,形成称为密文或密码的代码形式。该过程的逆过程称为解密,即将该编码信息转化为其原来的形式的过程。2.4、加密的重要性因特网是危险的,而且这种危险是TCPIP 协议所固有的,一些基于TCPIP 的服务也是极不安全的,另一方面,因特网把全世界连在了一起,走向因特网就意味着走向了世界。为了使因特网变得安全和充分利用其商业价值,人们选择了数据加密和基于加密技术的身
6、份认证。3、电于邮件的安全状况3.1、同前和电子邮件传输有关的协议主要是两个:SMTP(Simple Mall Transport Protocol )简单邮件传输协议 SMPT 协议负责电子邮件在网络上的传递,其中包括 l4 条命令MAIL、 RCPT、 DATA VRFY EXPN SEND SOML SAML。HELO QUIT RSET HELP。NOOP SMTP 协议规定了邮件怎样在邮件服务器中传递,已经成为目前互联网上邮件传输的标准。但是从安全的角度上 SMTP 几乎是不设防的协议 SMTP 的消息传输采用的是明文形式而且固定在 25 端口,所以易被监听和攻击。POP3(Post
7、 Ofice Protoco1)协议。 POP3协议规定了用户怎样从邮件服务器上收取邮件,在用户使用 POP3 协议收取邮件时需要进行身份确认,认证成功后向用户传递邮件,怛这并不意味着 POP3 协议就是安全的。事实上 POP3 协议只是提供了很有限的安全性,因为它提供的只是对用户的身份保护并投有提供对邮件内容的加密措施,如果窃密者使用被动供给技术则可以绕过身份确认直接得到电子邮件的明文。由以上协议的安全性分析可知,传统的电子邮件系统无论是邮件的网络传输还是客户和邮件服务器之间的交互都存在着巨大的安全隐患,如果用电子郎件来进行一些重要的信息交流比如说电子商务。传统的电子邮件系统就显得力不从心丁
8、。所以们将密码技术应用到电子邮件系统来保证信息的安全性,就产生了保密的电子邮件协议。4、 密码学与电子邮件加密4.1、加密方法简介及本地文本邮件加密加密算法通常是公开的,现在只有少数几种加密算法,如 DES 和 IDEA 等。一般把受保护的原始信息称为明文,编码后的信息称为密文。尽管大家都知道使用加密方法,但对密文进行解码必须要有正确的密钥,而密钥是保密的。4.2、保密密钥和公用私有密钥在保密密钥中,加密者和解密者使用相同的密钥,也被称为对称密钥加密。这种加密算法的问题是,用户必须让接收人知道自己所使用的密钥,这个密钥需要双方共同保密,任何一方的失误都会导致机密的泄露,而且在告诉收件人密钥过程
9、中,还需要防止任何人发现或偷听密钥,这个过程被称为密钥发布。公用私有密钥,与单独的密钥不同,它使用相互关联的一对密钥,一个是公用密钥,任何人都可以知道,另一个是私有密钥,只有拥有该对密钥的人知道。如果有人发信给这个人,他就用收信人的公用密钥对信件进行过加密,当收件人收到信后,他就可以用他的私有密钥进行解密,而且只有他持有的私有密钥可以解密。这种加密方式的好处显而易见。密钥只有一个人持有,也就更加容易进行保密,因为不需在网络上传送私人密钥,也就不用担心别人在认证会话初期截获密钥。 公用密钥和私有密钥有两个相互关联的密钥;公用密钥加密的文件只有私有密钥能解开;私有密钥加密的文件只有公用密钥能解开
10、。4.3、算法和密钥大连工业大学学报Journal of Dalian Polytechnic University密码算法(Algorithm)也叫密码(Cipher) ,是用于加密和解密的数学函数。通常情况下,有两个相关的函数,一个用作加密,另一个用作解密。密钥用 K 表示。K 可以是很多数值里的任意值。密钥 K 的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥(即运算都依赖于密钥,并用 K 作为下标表示) ,这样,加解密函数现在变成:EK(M)=C DK (C)=M这些函数具有的特性:DK(EK (M) )=M 单钥加密解密双钥加密解密 基于密钥的算法通常有两类:对称算法和公用密
11、钥算法对称算法对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推导出来,反过来也成立。 对称算法可分为两类。一次只对明文中的单个位(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法或分组密码。 公用密钥算法公用密钥算法(Public-Key Aalgorithm)也叫非对称算法,它是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来。4.4、算法的安全性同的密码算法具有不同的安全等级。如果破译算法的代价大于加密数据的价值,破译算法所需的时间比加密数据保密的时间更长,用单密钥加密
12、的数据量比破译算法需要的数据量少得多,那么这种算法可能是安全的。破译算法可分为不同的类别,安全性的递减顺序为:全部破译。密码分析者找出密钥 K,这样 DK(C)=P。全盘推导。密码分析者找到一个代替算法在不知道密钥 K 的情况下,等价于DK(C )=P。局部推导。密码分析者从截获的密文中找出明文。信息推导。密码分析者获得一些有关密钥或明文的信息。这些信息可能是密钥的几个位、有关明文格式的信息等。4.5、电子邮件的加密电子邮件加密的目的在于加大其安全性,进行秘密通信。用文字可以表述为:若 m 是要传送的明文,在传送前,利用密钥 k 将 m 经加密变换为密文 c 由通信通道发给接收者,接收者根据密
13、钥 k利用解密变换将密文 c 变为明文 m。 从以上过程可以看出,一个密码体制的安全性依赖于密钥 k 的个数和加密变换复杂程度。密钥太少,敌方可以根据其截获的密文用不同的k 逐个试译即可得到明文。也不太多,太多则不利管理。加密变换太简单则容易找出解密变换,太复杂则导致解密过程耗费时间太多,不利于通信。4.6、常用的加密方法4.6.1、保密密钥对称加密算法之DES算法美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点:
14、 提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础; 实现经济,运行有效,并且适用于多种完全不同的应用。 DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。4.6.2、数字签名技术大连工业大学学报Journal of Dalian Polytechnic Univer
15、sity数字签名技术由于越来越多的人通过电子邮件发送机密信息,因此如何识别收到电子邮件是否伪造、保证所发送的邮件不被除收件人以外的其他人阅读变得日趋重要。使用建立在公开密钥加密技术基础上的“数字签名 ”技术,可以在电子事务中证明用户的身份,就像兑付支票时要出示有效证件一样。用户也可以使用数字签名来加密邮件以保护个人隐私。(1)发送方作数字签名。若要证明自己确实发出了某封电子邮件而且邮件的内容在发出以后没有被改变,用户可以使用数学家们研究的算法(一般称之为报文分解算法,用户只要有相应的软件就行,并不需要关心算法如何实现)对自己即将发出的邮件进行计算(分解或提炼),得到一个很大的(即很长的 )、独
16、一无二的数,然后再用自己的私有密钥对这个数加密,将加密后的数、自己的公钥和电子邮件一块发给他人。(2)接收方鉴定数字签名。其他人得到用户的电子邮件后,一方面可使用数学家们研究的算法对收到的电子邮件进行计算,将得到一个数,假定为 B;另一方面则使用用户的公开密钥将由用户用私有密钥加密的数解密还原,假定为 A;如果 A 等于B,则说明电子邮件发出后没有被改变过。如果改变过,则 A 和 B 肯定不相等,因为数学家们的报文分解算法能保证世界上任何两个不同的信息经过其分解提炼后,得到的数实际上不可能一样(理论上推算应有非常多的相同,但经过几十年的实践,还没有谁找到过相同的例子,而且从理论上讲也很难找),
17、哪怕二者只有微小的差别,例如多一个空格。其他人也不可能改变用户加密后的数,虽然任何人都能通过用户的公开密钥知道这个数是多少,也就是说,当只有用户一人掌握私有密钥时,其他人不可能对某个数加密后还能用用户的公开密钥解密。因此,若有人改变了邮件的内容并重新计算出了新的大数,但他无法制作(伪造 )加密后的新的大数( 因为他没有用户的私有密钥),因而收件人就可根据二者是否相等来判断所收邮件是否真的出自发件人之手(能解密就可证明)以及邮件发出后是否被他人篡改过(A 和 B 是否相等)。这种技术就是数字签名技术,加密后的大数就是数字签名(在 Microsoft 系统中,为方便公钥的传播与散发,数字签名中通常
18、还包括签名者的公钥)。5、 电子邮件安全解决方案5.1、PGPPGP(Pretty Good Privacy),是一个基于RSA 公匙加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。它采用了一种 RSA 和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大,有很快的速度。而且它的源代码是免费的。假设甲要寄信给乙,他们互相知道对方的公匙。甲就用乙的公匙加密邮件寄出,乙收到后就
19、可以用自己的私匙解密出甲的原文。由于没别人知道乙的私匙,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面由于每个人都知道乙的公匙,他们都可以给乙发信,那么乙就无法确信是不是甲的来信。这时候就需要用数字签名来认证。 在说明数字签名前先要解释一下什么是“邮件文摘 ”(message digest)。邮件文摘就是对一封邮件用某种算法算出一个最能体现这封邮件特征的数来,一旦邮件有任何改变这个数都会变化,那么这个数加上作者的名字(实际上在作者的密匙里)还有日期等等,就可以作为一个签名了。PGP 是用一个 128 位的二进制数作为“邮件文摘”的,用来产生它的算法叫MD5(message
20、 digest 5)。 MD5 是一种单向散列算法,它不像 CRC 校验码,很难找到一份替代的邮件与原件具有同样的 MD5 特征值。 大连工业大学学报Journal of Dalian Polytechnic University回到数字签名上来,甲用自己的私匙将上述的 128 位的特征值加密,附加在邮件后,再用乙的公匙将整个邮件加密。这样这份密文被乙收到以后,乙用自 己 的私 匙 将 邮 件 解 密 , 得 到 甲 的 原 文 和 签 名 ,乙 的 PGP 也 从 原 文 计 算 出 一 个 128 位 的特 征 值 来 和 用 甲 的 公 匙 解 密 签 名 所 得 到 的数 比 较 ,
21、如 果 符 合 就 说 明 这 份 邮 件 确 实 是甲 寄 来 的 。 这 样 两 个 安 全 性 要 求 都 得 到了满足。 PGP 还可以用来只签名而不(使用对方公钥) 加密整个邮件,这适用于公开发表声明时,声明人为了证实自己的身份,可以用自己的私匙签名。这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。5.2、PEMPEM(Privacy EnhaRcemeRt for lnternet Electronic Mailj PEM 是因特网保密性增强邮件标准。由因特网结掏委员会采用,在因特网 J
22、提供保密电子邮件。PEM 可以提供消息保密性 身份鉴别和消息完整性三种增强业务。PEM 的程序和协议与多种密钥管理方式兼容同时栗取了对称和公开两种密钥方式。PEM 采用公开密钥技术实现证书管理PEM 系统中包括一个证书中- ,由第三方来确认用户的台法身份。在PEM 中的消息加密采用 DES 的CBC(CLpher Block Chaintug1 方式;对称密铜管理使用 EcB 方式的 DES(数据加密标准 J 公开密钥证书使用 RSA 算法和 x 509标准。PEM 采用了两级密钥体制分别是数据加密密钥(DEK)和交换密钥(IK) DEK用来加密消息的正文和消息集成校验(UIC)签名,IK 负
23、责加密 DEK。在 PEM 协议中最重要的就要数证书管理了 PEM 的认证采用严格的分级体制。RFC1422 规定了 4缎证书管理机制 分别是 IPRA、PCA 、CA和最终用户。6、 结束语随着时代的不断发展。电子邮件应用也必然更加广泛。因此电子邮件的安垒也会越来越重要。虽然有可靠第三方认证的PEM 提供的比较高的安全性但是也存在着许多问题比如说现在还没有建立起一十公认的 IPRA、本地密钥保存等还需要今后结台密码技术不断对安全电子邮件系统加以完善。参考文献: 1 李海泉 李健计算机网络安全与加密技术科学出版社2 张先红数字签名原理及技术机械工业出版社3 袁津生 吴砚农计算机网络安全基础人民邮电出版社