安青
1大连理工大学软件学院(116024)
email:anqing163@163.com
摘要:本文在分析了当前电子邮件安全面临的主要威胁基础上,综述了电子邮件系统的安全策略,包括密码技术,信息确认技术,主要介绍椭圆曲线密码,SHA-1和AES。最后通过一个设计实例,根据椭圆曲线密码,SHA-1和AES的特点,采用混合加密系统,并运用各自的算法,实现了一个全面、具有较高安全性能的电子邮件系统安全模型。
关键词:电子邮件 AES SHA-1 椭圆曲线密码 加密安全的随机数
1.引言
电子邮件系统可充分利用网络资源和人力资源,个人信件的交换、商务信函的交换均离不开电子邮件系统。但是网络的普及所带来的不仅只是便利,也带来了令人担忧的信息安全问题,其中包括计算机病毒和网络黑客。现在,Internet上广泛使用的SMTP,POP3,IMAP,一般都使用明文方式进行通信,且由于大多数人对多种服务使用相同的密码,攻击者可以利用网络截获得到用户名和密码,在利用它攻击其他网络资源,例如服务器。
2.电子邮件信息安全设计中涉及算法
电子邮件系统必须提供一系列安全保障,以确保各种信息的安全。在系统设计和研究中,在浏览器端、Web服务器端、数据库服务器端提供了严格安全措施,确保信息安全。这里仅介绍所需的基本加密算法。
2.1散列函数
选用散列函数可保证电子邮件传输数据的完整性。在传输数据时,通过选用适当的散列函数计算出所传输数据的摘要信息,并将该摘要信息随数据一起发送。接收方在收到数据的同时也收到该数据摘要信息,接收方使用相同的算法计算出接收到的数据摘要信息,并将该摘要信息与接收到的摘要信息进行比较,如果两者相同,则可以说明数据在传输过程中没有被篡改,数据完整性得到保证。常用的散列函数有MD5和SHA-1,SHA-1运行速度慢于MD5,但在抗穷举搜索攻击的强度和抗击密码分析的强度优于MD5。安全电子邮件系统模型中,考虑信息的安全传输,选用SHA-1来构造散列函数。
2.2对称加密算法
电子邮件系统中的附件需要传输大量信息,因此在信息传输过程中不能采用公钥加密,必须采用快速加密的分组加密算法。DES算法是常用的一种,由于单重DES易受穷举等方式攻击,现在使用的多是三重DES算法。在电子邮件系统安全模型中,采用强度不低于三重DES算法,运算速度优于三重DES算法的AES(Rijndael)算法。AES(Rijndael)算法属于分组密码,是一个迭代型分组密码,其分组长度和密钥长度都可变,各自可以的指定为128、192或256bit。AES(Rijndael)加密方法如下图所示(下图中循环轮数可根据需
- 1 -要自行确定。圈密钥加是将圈密钥矩阵与状态进行字节间的异或,使圈变换受控于圈密钥。圈密钥是在圈密钥扩展过程中从密码密钥中获得的)。AES(Rijndael)算法的优点是加/解密算法简单、速度快、易于实现。虽为分组密码,可避免受到差分密码分析、线性密码分析和代数计算攻击,适用于安全电子邮件系统中附件大量信息的高速安全传输。
2.3椭圆曲线加密算法
椭圆曲线是指韦斯特拉斯方程:y²+a1xy+a2y=x3+a3x2+a4x+a5所确定的平面曲线。若F是一个域,a i ∈F(i=1,…,5),则满足上式的数对(x ,y)称为F域上椭圆曲线的点。F域可以是有理域,复数域和有限域GF(p)。椭圆曲线通常用E表示,除了曲线E的所有点外,还需要加上一个叫做无穷远点的特殊点。
在椭圆曲线密码算法中,关心的是某种特殊形式的椭圆曲线,即定义在有限域GF(p)上的椭圆曲线,其中GF(p)是特征≠2,3的有限域。此时曲线简化为如下的方程:y2≡x3+ax+b(mod p),其中p是素数,a和b是小于p的非负整数,且满足4a3+27b2≠0(mod p)。通过对a和b的选取获得所需要的曲线(注:选取时应使曲线与上次使用的曲线不同构)。
椭圆曲线上点的⊕运算,当在椭圆曲线上适当定义一个⊕运算后,E可以成为一个阿贝尔群。设P、Q是椭圆曲线E上任意两点,则要求⊕满足:①O(无穷远点)是⊕的单位元,即P⊕O=P。②存在逆元,即P+Q=O或Q=-P(一条垂直线和曲线相交得到的两个点)。
为了实现快速加密、解密,采用如下一种椭圆曲线加密方式,用户A选取素数P≈2180 和椭圆曲线参数a和b,定义由点组成的椭圆群E p(a ,b)。在E p(a ,b)中,随机选取一点G(x1,y1),要求nG=O的最小值是一个大的素数(即G点的阶是一个大的素数)。用户A 随机生成n A(n A - 2 -只用来进行用户确认和AES密钥传递。 3.加密安全的随机数 随机数是密码术中的一个重要组成部分。它们作为处始化向量用于密钥的生成。一个数字序列在统计上是随机的,但如果攻击者可以推算出数字的序列(通过了解使用的算法和随机种子值),那么就是加密不安全的。它的弱点包括下列几点: z随机数是周期性的。最终将重复数字序列。 z如果使用相同的种子值,将接收到序列完全一样的“随机数”。因此,随机序列与种子值一样多。 z随机数可使用逆向工程。运用算法知识,强力攻击会立即猜测种子值。如果种子值和时间之间有相关性,攻击者将会推算出所有后面的“随机数”。 为了说明一连串的随机数字是加密安全的,必须使得用户不可能通过计算重新生成同样序列的随机数。为了构成种子值,需要使用不同的值组合成一个系统范围内的种子值。这些值包括调用的应用程序可以提供的位,例如鼠标或键盘动作之间的用户反应时间、像进程ID和线程ID这样的系统和用户数据、系统时钟、系统计数器、自由磁盘群集数和散列的用户环境块。接着使用SHA-1散列这个值,输出用于创建一个随机数据流(用于更新系统种子值)。这可以起作用,是因为散列值生成了看似随机的数据,只改变种子值中的一位,任何两个输出的散列共享它们的50%的位,尽管两个输出只有一位之差。 因此,安全电子邮件系统中选择使用加密安全的随机数作为椭圆曲线加密算法中密钥生成的处始化向量。 4.安全模型设计 4.1安全电子邮件系统的构成 安全电子邮件系统由浏览器、Web服务器、邮件服务器和邮件数据库构成。如下图所示。 4.2通信加密过程 - 3 -安全电子邮件系统中的信息加密可以分为以下几个步骤。 1)密钥的生成 a)邮件服务器开启服务,用加密安全的随机数算法生成符合要求参数p、a和b,生成 椭圆曲线E p(a,b)。随机选取椭圆上的点G客户,并求出G客户的阶l。随机生成 n客户(n客户 b)客户通过浏览器下载用户椭圆加密算法和AES算法控件,并对控件进行注册。 2)客户端获取加密信息 a)客户登录邮件服务器登录界面,并获得服务器公钥P A。浏览器端通过用户个人信息 (如用户名UserName和用户密码UserID)生成自己私有密钥n B,公钥P B。将C B= {k B G B,{UserID,UserName}+k B P A}发送至服务器。 b)服务器收到C B后,获得UserID和UserName,然后对其进行SHA-1散列,在数据库 中进行查找。如果没有检索成功,则返回错误信息。如果检索成功,服务器开启接 收界面并将C A={k A G A,|K AES+k B P B}返回给客户浏览器。 c)客户端浏览器运算后获得K AES,向服务器发出开始发送邮件请求。 3)客户端信息加密上传 a)客户浏览器端将所有的邮件内容组成M,将C={C1,C2}C1=AES kAES(M),C2=SHA-1 (C1)发送至服务器。 b)服务器收到邮件后,判断收到的C2是否等于SHA-1(C1),不相等向客户发出安全 警告提示;相等,对M进行处理。 4.3软件实现方案 a)算法实现中,SHA-1算法参照参考文献[2]进行编程,AES算法参照参考文献[3] 进行实现,椭圆加密算法中的基本算法可参照参考文献[4]进行编程。 b)服务器端可使用Java或者Asp.net来进行设计,数据库可根据情况自行选择。其中 数据库也可以实现分层次的加密应用系统。 c)在安全电子邮件系统中,由于AES算法属于分组密码,为了加强其安全性,可根 据具体情况对AES算法中密钥生成算法进行改进。 d)在电子邮件的传输过程中,可根据系统的要求更改安全模型。 5.结束语 本文中选用的基于加密随机数的椭圆曲线算法,有效地解决了为增强安全强度必须提高密钥长度带来实现上的难度问题,而AES算法保证了在信息大量传输过程中的安全性,降低了电子邮件系统对内存的要求,在网络环境中获得较好的性能。随着计算机网络技术的进一步发展,信息安全将称为各种网络应用程序设计过程中必不可少的组成部分。 参考文献 [1] 胡予濮,张玉清,肖国镇。对称密码学[M]。北京:机械工业出版社,2002. [2] 杨波。现代密码学[M]。北京:清华大学出版社,2003. [3] 韦宝典,刘东苏,王新梅。AES算法Rijndael的原理、实现和攻击[J]。通信技术,2002,(12): - 4 -94~96。 [4] 卢正鼎,廖振松。Rijndael算法的研究。计算机工程与科学[J]。计算机工程与科学,2005,(6):72~74. [5] 王晖,张方国,王育民。大素数域上椭圆曲线密码的软件实现[J]。西安电子科技大学学报(自然科学版),2002,29(3):426~428。 [6] 杨军辉,戴宗铎,杨栋毅,刘宏伟。关于椭圆曲线密码的实现[J]。通信技术。2001,(6):1~3。 [7] 陈铁英,陈华,刘瑜。基于三层次的数据库加密应用系统[J]。华中科技大学学报(自然科学版),2005,33(7),41~46。 [8] D R Stinson。冯登国译。密码学原理与实践 第二版[M]。北京:电子工业出版社,2002. The Design of E-Mail System’s Secure Model Qing AN School of Software, Dalian University of Technology, Dalian, PRC, 116024 1.Abstract In this paper, several security strategies including the cryptography technology, the information authentication technology are reviewed on the basis of the analysis of the major treats to E-Mail system. ECC, SHA -1and AES are mainly introduced. Finally an all-around and safe E-Mail system is done according to the characteristics of ECC, SHA -1and AES. Keywords: E-Mail system, AES, SHA-1, Elliptic Curve Crypto system (ECC), Encrypted Secure Random Numbers - 5 -