APP下载

面向无线传感器网络的ECC身份认证的设计

2017-12-23王兆尹

电子与封装 2017年12期
关键词:加密算法椭圆身份

吉 兵,王兆尹,范 炯

(中国电子科技集团公司第五十八研究所,江苏 无锡 214072)

面向无线传感器网络的ECC身份认证的设计

吉 兵,王兆尹,范 炯

(中国电子科技集团公司第五十八研究所,江苏 无锡 214072)

无线传感器网络的数据传输存在着诸多安全威胁。为了满足无线传感器网络对于信息源身份认证的需求,在TelosB平台上外接CycloneII-EP2C5T144最小系统板,设计并实现了基于ECC加密算法的身份认证系统。对ECC模块的底层运算单元采用并行处理的方法进行了优化设计。实验结果表明,优化设计后的认证速度相比传统设计方法提高了近一倍。

无线传感器网络;ECC;TelosB;身份认证

1 引言

无线传感器网络技术在国防、生物医学、城市交通、国际反恐等领域的飞速发展带来了新的革命。在国防军事等领域中,开放式的网络环境容易被敌人所监听。因此,如何防止非法用户访问并获取网络中的机密数据成为了新的研究热点。

无线传感器网络通信中大部分数据是由传感器节点传递到主节点的。身份认证是无线传感器网络安全的一道重要保障。基于公钥加密的数字签名可以很好地解决这一技术问题,因为签名算法需要对源身份进行验证,防止非法用户对网络进行访问[1]。

但是无线传感器网络的物理节点常常受到硬件资源的限制。传统的加密算法是由大量复杂的操作组成的,需要花费大量的节点资源。它甚至可能影响节点之间的正常通信。为了解决节点间通信安全的需求与有限硬件资源之间的矛盾,本文选择椭圆曲线加密机制作为数字签名的理论基础[2]。通过对算法的研究分析,对其关键运算进行了优化,在TelosB平台上实现了ECC签名算法的身份认证模块。

2 ECC加密算法的研究与优化

目前公认的椭圆曲线密码体制是由Miller和Koblite在密码学刊物中提出的。在公钥密码算法体制中,椭圆曲线密码体制具有安全性高、密钥短、灵活性好、存储空间消耗小等优点,椭圆曲线密码体制的单位比特强度高于已知的其他公钥密码体制。ECC密码体制相对来说也更加紧凑,对于带宽、内存和功率的消耗要求更低。因此,ECC比其他加密算法更适用于解决无线传感器网络的安全问题[3]。

2.1 基于ECC算法的通信模型

目前ECC公钥密码系统仍然在不断地探索与发展,多家权威机构对ECC加密体制标准做了定义[4]。根据IEEE P1363标准草案[5],用户A选择一个安全的椭圆曲线表示为Ep(a,b),然后选择Ep(a,b)曲线上的任意一点,作为基点G。随机生成密钥k,那么公钥就是Q=kG。Q和G都是椭圆曲线Ep(a,b)上的一个点。然后将椭圆曲线参数的特征信息Q和G进行广播发送。用户B通过特征信息把明文M编码到曲线上一点并生成随机数r。同时生成C1=M+rQ,C2=rG,然后用户B将他们发送给用户A。用户A使用密钥k来解密C1和C2,并最终得到明文M=C1-kC2。在信息传输的过程中,如果黑客H监测通过网络发送的信息,黑客无法得到密钥k,也就无法根据C1和C2来解密得到明文M。如图1所示。

图1 ECC数据通信示意图

2.2 ECC经典算法研究

鉴于我们选择的硬件平台,对于GF(p)域上的椭圆曲线我们不做讨论,我们主要研究和改进基于GF(2m)域的椭圆曲线的运算。

为了方便算法的编写,kP单元可以用二进制进行操作,k的二进制形式为:

当然为了方便理解,我们也可以采取更直观的二进制表示形式:

其中 ai∈{0,1},i表示 k 的二进制位数且 i>1。

选取一条曲线E上的一点P,再取正整数k,计算公式为:

这就是点乘运算,又叫做标量乘法运算,它的运算是由在曲线上的点加和倍点的基础操作组合完成的,标量乘法运算是ECC最基础和最重要的执行单元。

我们先从宏观上优化点乘单元,首先点乘kP运算展开,可以看出需要k次P加运算,我们做这样的改动:i表示k的二进制位数且i>1。计算n=i-1。

ECC经典算法流程如下。

输入:k∈[1,n-1],P。

输出:Q=kP。

(1)定义 n=i-1;

(2)对于 n>1,重复执行:

a)若 an=1,执行 Q=2p+p。

b)否则,执行Q=2p。

(3)n≤n-1;p≤Q。

(4)返回(Q)。

举例说明:k=30=11110,kP的点加次数是30次,将k=30带入上述程序,点加次数为11次。

2.3 ECC算法分析与优化

基于无线传感器网络需要处理大量复杂数据的特性,为了使CPU的运转效率更加高效,本文外接了一块专门用于处理ECC算法的FPGA最小系统板,处理加密算法的同时不影响核心系统的正常工作。

当然密码学家对于点乘单元的讨论是多途径的,已经有许多有效可实施的求逆算法被提出,但是目前的发展情况是有限域GF(2m)内的“逆”仍然要比“乘”耗时,因此我们对于逆运算不再进行讨论,选取可以尽量消除逆运算的射影坐标法对标量乘法进行讨论和优化。

本文将kP运算进行了展开分析,如图2所示。

图2 kP与子单元关系结构

ECC的标量乘法运算是建立在最底层的模操作FF的基础之上的,有限域GF(2m)上模的操作如加、乘、逆等运算构成了最基础的单元,在这些涉及到的运算中,乘法运算是这里面最复杂和耗时的运算,而且也是整个运算系统中使用最多的操作,需要考虑一种更高效的设计方案以实现高效率的运算。我们不妨这样考虑,模乘运算的运算时长要高于加和平方操作,那么其相对路径长度要高于其他操作,因此我们可以将模乘运算和模加或者平方操作并行处理,这样在不增加面积或者逻辑门的情况下,忽略了模加或者模平方的执行时间,大大提高了算法的运算性能。

在域GF(2m)上我们可以用两个参数(x,y)来表示一点P;使用投影坐标,当X,Y,Z∈GF(2m)时,点 P可以用这3个元素的坐标表示为(X,Y,Z)。

改进后的标量乘法算法如下。

输入:整数 k∈[1,n-1],k←(kl-1L k1),P(xy)∈(GF2m)。

输出:Q=kP。

(1)如果 xp=0,执行 Q←(0,0),返回 Q,结束。

(2)定义 X1←x,Z1←1,X2←x4+b,Z2←x2。

(3)对于i从0到l-1,循环执行:

a)如果ki=1,定义局域变量Em,执行

b)如果ki=0,定义局域变量Em,执行

(4)结束循环。

(5)X0=X1/Z1,Temp=X2/Z2

(6)Y0=O/y+y。

(7)返回 Q=(X0,Y0)。

(8)返回(Q)。

备注:O=(x+X0)[(xp+X0)(xp+Temp)+x2+y]

内部并行操作的处理方式消除了非反馈情况下的运算等待时间。

3 身份认证系统的实现

数字签名用于保证信息传输过程的完整性,同时提供发送方的身份认证,并且具备不可抵赖性。以ECC为代表的公钥算法是实现认证技术的主要算法之一。本文将两个算法进行了结合,在无线传感器平台上实现了数字签名系统。

3.1 SHA-1摘要算法

Hash函数是一种摘要型的数据加密算法,SHA-1是目前较为安全和流行的摘要算法之一,它是由NIST在1995年作为美联邦信息处理标准发布的[7]。SHA-1算法的核心思想是通过对明文数据的压缩计算,得到一个160位的数据摘要,并且这个过程是不可逆转的。也就是说,几乎不会存在两个不同的字符串压缩成相同的160位。与时下使用普遍的MD5相比,SHA-1的摘要更长,安全性更高。单周期算法框图如图3所示。

图3 SHA-1单次运算流程

SHA-1的主循环包含了80次运算,每次运算使用一个非线性函数F。由于非线性函数F不断变化,因此运算分为4个循环,每个循环有20次运算[8]。单个循环使用相同的非线性函数F,不同循环使用不同的非线性函数F。

图4 签名生成与校验流程

3.2 基于数字签名的身份认证

签名的生成流程如下:

(1)k∈[1,n-1],u=[k]G=(x1,y1),k 为随机数。

(2)计算 r=x1mod n,如果 r=0,返回步骤(1)。

(3)根据公式sk=Hash(m)+dr mod n,可以得到结果 s,如果 s=0,返回步骤(1)。

(4)对 s、r和 Q做打包处理⇒(Q,s,r)⇔Z;将 Z发送给目标。

签名的校验流程如下:

(1)验证 r,s∈[1,n-1],并且计算出 e=SHA-1(m)。

(2)计算 w=s-1mod n。

(3)计算u1=ew mod n和u2=rw mod n。

(4)计算 X=u1G+u2Q=(x2,y2),如果 X∈∞ 拒绝签名,否则计算v=x2mod n。

(5)当且仅当v=r,身份确认合法。

3.3 实验结果分析

在本文中,物理节点是由加州大学伯克利分校设计的TelosB[9]硬件节点平台;通信模块采用TI公司的CC2420芯片,它支持IEEE802.15.4协议,处理数据传输速率为250 kb/s,可以使节点更快地处理事件;选择TI公司的低功耗MSP430微处理器芯片作为主控芯片;采用CycloneII EP2C5T144实现加密算法,它的性能更利于认证系统中的大量复杂计算[10]。

为了便于演示,将本文设计方案和同类使用较为普遍的Tiny ECC方案进行对比试验,试验结果如表1和图5所示。本方案和Tiny ECC均选取基于SECG[11]发布的160位标准椭圆曲线参数secp160r1,经过100次相同的操作取平均值。

图5 点乘仿真结果图

表1 试验数据结果

试验结果表明,本文设计的方案较另外两种方案有较为明显的优势。分析可知,由于Tiny ECC和Mohammed方案中的ECC算法均采用了传统的顺序执行的方法,而本文采用并行设计的思路,对底层运算单元进行了重新设计,大大缩短了程序运算中等待的时间,因此使得本文所设计的签名和认证速度有了较为明显的提升。

4 总结

本文基于无线传感器网络的应用环境,提出了一种适用于其特点的身份认证方案。并且借助TelosB硬件节点平台对方案进行了验证。与近似方案对比结果表明本方案在认证速度上有明显的优势,虽然资源消耗稍高,但在可以接受的范围之内。目前我们正致力于ECC密码模块随机点乘法的优化问题。

[1]A Mpitziopoulos,D Gavalas D,C Konstantopoulos.A survey on jamming attacks and countermeasures in WSNs[J].Communications Surveys&Tutorials,IEEE 2009,11(4):42-56.

[2]X Chen,K Makki,K Yen,and N Pissinou.Sensor network security:a survey[J].Communications Surveys&Tutorials,IEEE,2009,11:52-73.

[3]B Möller.Securing elliptic curve point multiplication against side-channelattacks[M].inInformationSecurity,ed:Springer,2001:324-334.

[4]A Prayati,C Antonopoulos,T Stoyanova,C Koulamas,and G Papadopoulos.A modeling approach on the TelosB WSN platform power consumption[J].Journal of Systems and Software,2010,83:1355-1363.

[5]R Watro,D Kong,S-f Cuti,C Gardiner,C Lynn,and P Kruus.TinyPK:securing sensor networks with public key technology[C].in Proceedings of the 2ndACM workshop on Security of ad hoc and sensor networks,2004:59-64.

[6]R D'Souza,G Varaprasad.Digital signature-based secure node disjoint multipath routing protocol for wireless sensor networks[J].Sensors Journal,IEEE,2012,12:2941-2949.

[7]C De Canniere,C Rechberger.Finding SHA-1 characteristics:General results and applications[M].in Advances in Cryptology-ASIACRYPT 2006,ed:Springer,2006:1-20.

[8]B Chen,W Wu,and Y Zhang.The Design and Implementation of Digital Signature System Based on Elliptic Curve[C].in Proceedings of the 2012 International Conference on Cybernetics and Informatics,2014:2041-2047.

[9]G D Sutter,J Deschamps,and J L Imaña.Efficient elliptic curve point multiplication using digit-serial binary field operations[J].Industrial Electronics,IEEE Transactions on,2013,60:217-225.

[10]A Sakthivel,R Nedunchezhian.Decreasing point multiplicationoverECC(Zp)usingtreecomputations[C].inComputing,Communication and Applications (ICCCA),2012 International Conference,2012:1-5.

[11]V S Dimitrov,L Imbert,P Mishra.Fast Elliptic Curve Point Multiplication using Double-Base Chains[J].IACR Cryptology ePrint Archive,2005,2005:69.

[12]K Järvinen,J Skyttä.Fast point multiplication on Koblitz curves:Parallelization method and implementations[J].Microprocessors and Microsystems,2009,33:106-116.

[13]A Liu,P Ning.Tiny ECC:A configurable library for elliptic curve cryptography in wireless sensor networks[C].in Information Processing in Sensor Networks,2008.IPSN'08.International Conference,2008:245-256.

[14]M B O Rafik,F Mohammed.The impact of ECC's scalar multiplication on wireless sensor networks[C].in Programming and Systems(ISPS),2013 11thInternational Symposium,2013:17-23.

Design of Identity Authentication Based on ECC for Wireless Sensor Networks

JI Bing,WANG Zhaoyin,FAN Jiong
(China Electronics Technology Group Corporation No.58 Research Institute,Wuxi 214072,China)

There are many security threats in data transmission of wireless Sensor Networks.In order to meet the requirements of Wireless Sensor Network for data origin authentication,the Ellipse Curve Cryptography authentication scheme is implemented on TelosB hardware nodes by external CycloneII-EP2C5T144 System.The basic arithmetic unit of ECC is optimized by using parallel processing algorithm.The experimental results showthatthe speedofauthenticationisnearlydoubledafter optimizationcomparedtotraditionalmethod.

wirelesssensor networks;ECC;TelosB;authentication

TN915.08

A

1681-1070(2017)12-0026-04

2017-09-18

吉 兵(1988—),男,新疆阿勒泰人,硕士研究生,研究生方向为无线传感器网络以及信息安全,目前就职于中国电科第五十八研究所SOC研发中心。

猜你喜欢

加密算法椭圆身份
Heisenberg群上由加权次椭圆p-Laplace不等方程导出的Hardy型不等式及应用
例谈椭圆的定义及其应用
一道椭圆试题的别样求法
跟踪导练(三)(5)
身份案(下)
椭圆的三类切点弦的包络
他们的另一个身份,你知道吗
基于小波变换和混沌映射的图像加密算法
Hill加密算法的改进
放松一下 隐瞒身份