开篇:润墨网以专业的文秘视角,为您筛选了一篇一种基于椭圆曲线安全电子邮件的研究与构建范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘 要 本文从电子邮件传输过程的安全角度出发,分析了目前广泛应用的安全电子邮件产品存在的不足,提出了一种采用椭圆曲线来实现密钥交换、数字签名、加/解密的方案,从而进一步增强了电子邮件的机密性、完整性和不可否认性。
关键词 电子邮件;椭圆曲线;机密性;完整性;不可否认性
中图分类号:TP393 文献标识码:A 文章编号:1671—7597(2013)041-080-02
1 概述
互联网的普及促进了电子邮件的广泛应用,而电子邮件采用SMTP和POP3协议进行发送和接收,由于这两个协议不提供加密服务,所以在没有采用任何保护措施的情况下邮件是以明文进行传输。为了防止电子邮件在互联网传输过程中不被篡改、泄漏,也出现了很多安全电子邮件产品,但是随着计算机的计算能力和黑客技术水平的不断提高,这些产品也需要不断完善和更新。本文提出了一种基于椭圆曲线来提供电子邮件内容的安全性、完整性以及身份的不可否认的方案。
2 相关研究
目前的大多安全电子邮件产品都是以PGP和S/MIME为框架。
PGP是一个完整的电子邮件安全软件包,它并没有引入新技术,而只是将RSA、MD5、IDEA等算法来进行“先签名后加密”的结构进行组合,提供加密、鉴别、数字签名等服务,由此可见,其安全性完全取决于所采用算法的安全强度,这使得PGP侧重于个人使用。
S/MIME与PGP功能类似,都是对电子邮件提供加密和鉴别服务,不同之处在于S/MIME增加了认证机构提供了不可否认性,其安全性要比PGP强,S/MIME倾向于商业和团体使用的工业标准。但由于整个信任关系是树状结构,最上级证书具有很高权限,它能够获得用户电子邮件的信息,这也给电子邮件的安全带来了隐患。
PGP和S/MIME都是以RSA公钥算法为基础,RSA算法的安全性取决于大素数的因式分解。密钥的产生和加/解密过程的计算都非常复杂,但是增强其安全性的方法是需要增大密钥空间,这无疑给本来计算缓慢的RSA雪上加霜。因此,为了解决RSA算法在速度和安全性方面不能兼顾的问题,本方案采用椭圆曲线实现密钥的产生、数字签名、加/解密。
weierstrass方程y2+a1xy+a3y=x3+a2x2+a4x+a6所确定的平面曲线E和一个叫做无穷远点的特殊点O的集合。在椭圆曲线密码体制中,采用了定义在有限域上的椭圆曲线,其方程为:y2=x3+ax+b(mod n),其中判别式4a3+27b2(mod n)≠0,x、y、a、b∈Fn,这里n是素数,a和b为两个小于n的非负整数。由此满足此方程的点(x,y)和一个无穷远点O就组成了椭圆曲线E。
椭圆曲线的安全性取决于有限域上的离散对数问题的难解性。椭圆曲线的离散对数问题是:已知素数n和椭圆曲线E,计算方程Q=kP,在已知k和P的情况下计算Q比较容易,但由根据Q和P计算k是非常困难的。
3 算法设计
3.1 密钥交换
采用椭圆曲线来实现Diffie-Hellman密钥交换,已知椭圆曲线Eq(a,b)和基点G,用户A和用户B之间完成密钥交换过程描述如下:
1)A选择一个小于n的整数nA作为A的私钥,计算公钥PA=nA×G;且PA∈Eq(a,b)。
2)B也同样选择一个小于n的整数nB作为B的私钥,并计算公钥PB=nB×G,且PB∈Eq(a,b)。
3)A产生的秘密钥KA=nA×PB,B产生秘密钥KB= nB×PA,容易得出:KA=KB=K,将其作为对称密钥。
3.2 数字签名与验证
采用椭圆曲线来实现DSA数字签名,可以防止发信人抵赖和信件在传输中途被篡改。其工作原理是使用私钥进行签名,公钥进行验证。发送方A首先对电子邮件信息m进行Hash运算得到数字摘要后再用A的私钥对摘要进行加密,形成数字签名,然后将m和加密后的摘要一起发送给接受方。接受方B将收到的签名通过A的公钥对摘要进行解密后得到摘要1,另外将收到的m通过Hash运算产生摘要2,判断两个摘要是否相等,相等则表示签名成功,否则签名失败。具体的签名和验证过程描述如下:
签名过程:
1)A对电子邮件信息m,采用SHA-1计算e=H(m)。
2)选择一个伪随机数k∈[1,n-1],计算kP=(x1,y1)。
3)计算r=x1 mod n,若r=0,返回第(1)步。
4)计算s=k-1(e+dr)mod n,若s=0,返回第(1)步。
5)生成数字签名(r,s),并发送数字签名和电子邮件m。
验证过程:
1)验证者B方收到数字签名(r,s)和电子邮件m,对m生成摘要e=H(m)。
2)计算(x1,y1)=s-1eP+s-1rQ(mod n),如果x1=r,验证签名成功,否则签名无效。
3.3 椭圆曲线加/解密
像密钥交换系统一样,加/解密知道椭圆曲线Eq(a,b)和基点G。若A要将消息Pm加密后发送给B,其具体的通信过程描述如下:
1)A的私钥nA,公钥PA=nA×G;B的私钥nB,公钥PB=nB×G。
2)A随机选择一个正整数k,产生密文Cm={kG,Pm+kPB},(该密文是一个点对)。
3)B收到密文Cm后,计算Pm+kPB-nB(kG)=Pm+k(nBG)-nB(kG)=Pm(对密文的第二点减去第一个点与B的私钥之积得到消息原文)。
A通过将Pm+kPB来伪装消息Pm,因为只有A知道k,所以除A外的任何人均不能除去伪装kPB;但是,A也在伪装后的消息中包含PB,使得已知私钥nB的B可以除去伪装得到消息明文。而攻击者要想得到消息明文的前提是从G和kG求出k,但这几乎是不可行的。
4 方案设计
结合3节介绍的椭圆曲线的密钥生成、签名、加/解密算法,发送方A向接收方B发送电子邮件的流程简单描述如下:
发送方A:
1)对电子邮件信息m使用SHA-1生成摘要H(m)。
2)生成对称密钥对K,对m进行加密,生成密文EK(m)。
3)使用A的私钥进行签名,生成SA(EK(m))。
4)对签名SA(EK(m))再采用B的公钥进行加密,生成EB(SA(EK(m)))。
5)把EK(M)和EB(SA(EK(m)))发送出去。
接收方B:
1)接到A发送的EK(M)和EB(SA(EK(m)))。
2)用自己的私钥进行解密,得到SA(EK(m))。
3)使用发送方A的公钥解密得到EK(m)。
4)使用对称密钥K对EK(m)进行解密得到m,即电子邮件明文。
5 安全性分析
研究表明解决椭圆曲线上的离散对数问题被认为是指数级难度,而RSA是亚指数级,由此可见,其安全性要比RSA好,并且它还具有密钥短的优势,事实证明,采用160比特位的椭圆曲线算法与1024比特位的RSA安全强度相等,因此,椭圆曲线算法比RSA计算量小。
6 结论
本方案将椭圆曲线运用到密钥交换、数字签名、加/解密中,所需要的密钥短,算法速度快、安全性强度高。从算法上增强了电子邮件的机密性、完整性、不可否认性。我相信,在不久的将来,椭圆曲线密码体制将逐步代替RSA,不仅在电子邮件方面,在其它领域也将具有更广泛的实用性。
参考文献
[1]Wongoo Lee,Jeakwang,Lee.Design and implementation of secure e-mail system using elliptic curve crptosystem[J]. Future Generation Computer Systems.2004.
[2](美)William stallings著. 密码编码学与网络安全——原理与实践[M].孟庆树,王丽娜,等译.电子工业出版社.
[3]陈鲁生,沈世镒.现在密码学,(第二版),科学出版社.
[4]刘宏伟,谢维信,赵超.基于身份的安全邮件认证体系设计与分析[J].计算机科学,2008,35(2):84-86.
[5]郑玉丽,刘翠香.电子邮件系统中PGP的改进研究[J].网络安全技术与应用,2010(7):23-25.
作者简介
钟泽秀(1981-),女,四川隆昌人,硕士研究生,职业技术学院,讲师,研究方向:信息安全。