首页 > 范文大全 > 正文

椭圆曲线的数字签名技术在无线网络中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇椭圆曲线的数字签名技术在无线网络中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文提出了一种基于混合密钥的数字签名方案,签名方案采用椭圆曲线数字签名算法,通过一次签名和验证的过程为例,说明了在弱计算能力的移动终端进行复杂的签名运算和签名验证的过程,该方案保证了移动网络环境中数据传输的安全性和完整性。

关键词:椭圆曲线;无线网络;数字签名;混合密钥

中图分类号:TP309文献标识码:A文章编号:1009-3044(2008)25-1596-03

The Applications of Elliptic Curves Digital Signature on the Wireless Network

XIAO Lei1, CHEN Rong-shang2

(1.Depatment of Computer, Xiamen University of Technology, Xiamen 361024, Chian; puter Center, Xiamen University of Technology, Xiamen 361024, China)

Abstract: The paper introduces a schemes about digital signature technology of mix-key. ECC digital signature Algorithm is applied to schemes. Through an example of the signature and verification process shows that the schemes is possible on the wireless terminal having weak processing capacity, guarantee the safety and integrity of data in wireless communication environment.

Key words: elliptic curves; wireless network; digital signature; mixed cryptographic key

1 引言

随着3G技术的逐渐成熟和推广,越来越多的用户接受这一技术并使用它,3G业务将不再局限于简单的通话和传递短信这样一些基础业务,用户将使用它来完成更多的操作,如移动银行,移动炒股,移动缴费等等;然而在移动通信网络中,移动站(MS,Mobile Station)与固定网络之间的所有通信都是通过无线接口来传输的,而无线接口是开放的,任何人只要有适当的接收设备就可以对其进行攻击。在个人通讯系统中,无线开放访问会在移动终端和有线网的无线连接处暴露通信的内容[5]。这种开放性,提供给入侵者获取伪装成合法用户查看数据的机会。面对这种状况,移动设备中传输的信息的安全性将受到一定的考验,由于设备存储容量小,CPU运算能力差。必须选择一种合适的安全手段来保证无线网络中的数据的安全性。

2 安全方案

要保证无线环境中的数据的安全性,一是保证数据在传输过程中不被第三方识别,其次是保证通信双方身份认证的真实可靠性。针对无线网络环境中的数据的安全性需求,本文采用基于混合密钥的数字签名技术来保证安全性要求。该技术能够保证网络中发送方的抗否认性,接收方的不可抵赖性,以及数据的完整性。数字签名是基于公钥密码体制的网络安全技术;第六届国际密码学会议对应用于公钥密码系统的加密算法推荐了两种:基于大整数因子分解问题(IFP)的RSA算法和基于椭圆曲线上离散对数计算问题(ECDLP)的ECC算法。RSA算法的特点之一是数学原理简单、在工程应用中比较易于实现,但它的单位安全强度相对较低,它的破译难度基本上是亚指数级的;ECC算法的数学理论非常深奥和复杂,在工程应用中比较难于实现,但它的单位安全强度相对较高。它的破译或求解难度基本上是指数级的。具有安全性高、密钥量小、灵活性好的特点。关于RSA与ECC同等安全长度下的密钥长度160位ECC与1024位RSA和1024位离散对数系统的计算开销的比较[3]。如果应用到内存较小,存储器存储容量不足,计算能力弱时,处理速度慢的无线终端时,RSA则会受到内存容量的限制,ECC则不然,其密钥长度短的优点会显示出RSA无法比拟的优越性。其优点如下:

1) 安全性能更高:攻击有限域上的离散对数问题的方法有指数积分法,其运算复杂度为 ■, 其中p是摸数,是素数。但是这种方法对椭圆曲线的离散对数问题并不有效; 如160位ECC与1024位RSA、DSA有相同的安全强度;

2) 计算量小,处理速度快,在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多;

3) 存储空间占用小,ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,所以占用的存储空间小得多;

4) 带宽要求低,使得ECC具有更广泛的应用前景;

5) 算法灵活性好:在有限域一定的情况下,其上的循环群就定了,而有限域的椭圆曲线可以通过改变曲线的参数,能够得到不同的曲线,从而形成不同的循环群。因此,椭圆曲线具有丰富的群结构和多选择性。正是由于它具有丰富的群结构和多选择性,并可在RSA/DSA体制中同样安全性的前提下大大缩短密钥的长度。椭圆曲线具有安全性高,密钥量小、算法灵活性好等特点,而无线终端由于其存储量小,处理速度慢等特点,因此,椭圆曲线的加密算法非常适合于应用到无线加密技术中[2,4]。

3 数字签名过程

本文以一个汽车用户通过手机缴纳养路费的过程为例,来说明数字签名的整个实现过程。移动网络环境基本的网络结构图如图1所示,从图中可以看出交费涉及到三方:用户U、运营商M、稽查局G,用户通过手机短信或者语音的方式提交养路费,本文以短信为例,短信的发送都分为两部分,一部分是发送,在手机用户发送短信时,这部分是上行短信;一部分是确认,在手机用户发送短信时,这部分是下行短信。

图1 养路费手机服务平台系统网络结构图

这里就以用户执行一次交费操作为例来讨论用户和运营商之间数字签名的实现过程。

3.1 生成数字签名的过程

用户U ■ 运营商M

用户首先需要向运营商传送一个交费信息D(信息D包含交费车辆车牌号、交费金额、交费时间的字符串)本文就用户和运营商之间的信息传递过程做一个详细的介绍。

1) 用户U将要发送的信息通过MD5的单向函数生成数字摘要D1,采用椭圆曲线的加密算法用私钥加密D1生成用户U的数字签名Sg1;

2) 用户U利用对称加密算法(DES)加密要发送的消息EData;

3) 用户将Sg1和EData发送给接收方。

具体操作过程如下:

Sg1(数字签名),EData

用户U■运营商M

从该签名过程我们发现,本方案不仅采用的椭圆曲线的加密算法来完成信息的数字签名,为了保证数据在传输过程中的安全性,使得在网络中传输的数据是以密文的方式传输,采用了 DES加密算法来加密传输的数据。采用Diffie-Hellman在椭圆曲线上的密钥交换方法来实现收发双方对称密钥的传递,该密钥传递的过程如下:

(1) 构建一个椭圆曲线方程:这里的椭圆曲线是定义在二进制域上的椭圆曲线,需要确定六个参量:T=(p,a,b,G,n,h)。(其中a,b,p是用来确定椭圆曲线方程Y2+XY=X3+aX2+b,G为基点,n为点G的阶,h是椭圆曲线上所有点的个数m与n相除的整数部分)参量值的选择,直接影响了加密的安全性。参量值一般要求满足以下几个条件:一是p越大越安全,但越大,计算速度会变慢,200位左右可以满足一般安全要求;二是p≠n×h;pt≠1(mod n),1≤t

2) 用户U选取一个整数Na(Na

3) 接收方运营商也采用类似的方法选取自己的私钥Nb和公钥PB。

4) 发送方和接收方分别由K=NaPB,K=NbPA产生出双方共享的秘密钥。

5) 通过上面的几个步骤,就得到了通信双方共同的对称密钥K,该密钥匙k用来作为对称加密算法的密钥,如果攻击者想获得K,则必须通过PA和G求出Na,或由Pb和G求出Nb,这就需要求解椭圆曲线上的离散对数,因此是不可行了。

3.2 基于椭圆曲线的数字签名实现过程

算法描述:

用户U需要对向运营商M发送的信息进行数字签名,签名过程如下所示例:

用户U方的过程:

1) 确定安全的单向散列函数,本系统中选择的是MD5算法的单向散列函数,定义椭圆曲线方程,在上一部分已经做了详细的介绍,也就是确定参数 T=(p,a,b,G,n,h);

2) 建立密钥对(d,Q),其中d是私钥,Q=dG是公钥;

3) 假设接收方运营商已经通过安全的方式获得了公钥Q,并且双方事先已经约定了使用的单向散列函数即为MD5的单向散列函数;

4) 进行签名操作。

生成签名的过程:

1) 选择一个随机或伪随机数K,1

2) 计算KG=(X1,Y1), r=X1 mod n,若r=0,则转步骤一;

3) 计算K-1mod n,e=md5(M),其中M是明文;

4) 计算S=K-1(e+dr)(mod n),若S=0则转步骤一;

5) 利用DES加密算法对M进行加密,得到密文EData;

6) 输出签名(r,S)和密文EData。

验证签名的过程:

运营商M收到用户U发过来的密文EData和签名(r,S)后,做以下操作:

1) 验证r和S是(1,n-1)间的整数;

2) 利用Diffie-Hellman密钥交换过程得到了对称密钥,通过对称解密算法对密文Edata进行解密得到明文M;

3) 计算E=MD5(M),W=S-1(mod n);

4) U1=EW(mod n),U2=rW(mod n);

5) 计算X=U1G+U2Q=(X1,Y1),令V= X1 mod n;

6) 如果r=V则接受签名。

上面的过程仅仅介绍了互相通信的三方中其中两方的单向信息的传递过程,在实际的应用中,涉及到交易的三方都需要使用该数字签名技术,但是由于它们的实现过程基本上相同,只是所传输的短信内容不同,所以这里就不详细介绍。

4 安全性和有效性分析

本文提出了基于混合密钥的思想在移动设备上实现数字签名,在数据发送的过程中虽然实现了两次加密,由于采用了Diffie-Hellman的密钥交换过程,所以只需要一次交换就能实现对称密钥和非对称密钥的获取,并且通过这种方式,即实现了身份认证,同时还保证了数据的安全性和完整性。在签名过程中增加了时间戳标志,安全分析表明该方案可以防止扮演攻击、重播攻击和中间人攻击,并具有反拒认特性。

信息技术发展到现在,在无线设备方面,智能卡已经得到了很大的发展,对于在智能卡上进行信息的加密和解密已经成为现实,同时,在加密技术方面,椭圆曲线的加密算法已经非常的成熟,并且已成功的运用到移动电子商务中[1],因此,在移动设备上实现基于的椭圆曲线的数据签名技术是有效的。

参考文献:

[1] Stapleton J, Doyle P, Esquire S.T. The Digital Signature Paradox.Systems,Man and Cybernetics (SMC) Information Assurance Workshop,2005.Proceedings from the Sixth Annual IEEE 15-17 June 2005 Page (s):456-457.

[2]Milker V S. Use of Elliptic Curves in Cryptogmphy.Advances in Cryptology Crypto 85,Lecture Notes in Computer Science,Springer-Verlag,1980(128):417-426.

[3]张世永. 网络安全原理与应用[M].北京:科学出版社,2003,74-77,121-125.

[4]王雨. WAP移动支付系统结构研究[D].重庆大学硕士学位论文,2003.