基于ECC和ID签名的WSN广播快速认证方案
2016-10-17何常胜孙宇轩
何常胜,孙宇轩
(韶关学院韶州师范分院,广东 韶关 512009)
基于ECC和ID签名的WSN广播快速认证方案
何常胜,孙宇轩
(韶关学院韶州师范分院,广东 韶关 512009)
广播认证是无线传感器网络(WSN)的一种基本安全服务,针对现有认证方案的计算量大、认证速度慢等问题,提出一种基于椭圆曲线加密(ECC)和身份(ID)签名的WSN广播快速认证方案。对现有EIBAS签名认证方案进行改进,通过节点间的合作,共享中间计算结果来减少邻居节点的计算量,以此提高认证速度,减少能量消耗。同时,提出一种安全机制,通过对多个邻居共享数据的对比来抵御恶意节点的攻击。实验结果表明,该方案相对于传统的椭圆曲线加密算法能够提高约42%的签名认证速度,降低约36%的能耗,大大延长网络生命周期。
无线传感器网络;广播快速认证;椭圆曲线加密;身份
在无线传感器网络(Wireless Sensor Networks,WSN)中,消息广播是一种基本的数据传播方式,能够有效地大规模发布消息,也允许大量用户动态加入网络和传播消息[1]。然而,传感器网络很容易受到攻击,在多中继转发时,攻击者可以很容易地窃听流量、注入虚假数据消息或改变合法内容。所以,必须具备一种认证机制,以确保通信的安全性。另外,在考虑加密认证的同时,也要考虑认证的时间和能量效率问题[2]。
目前,公钥加密(Public Key Cryptosystem,PKC)技术应用到WSN认证中,公钥加密认证不存在认证延时,但是它资源开销很大[3]。基于PKC的广播认证协议通常采用一些加密技术,例如梅克尔哈希树、椭圆曲线密码(Elliptic Curve Cryptography,ECC)等。文献[4]提出一种基于椭圆曲线数字签名的WSN认证算法(ECDSA),其具有密钥长度短、占用存储空间小等优点。然而,其运算过程复杂,耗时较多。对此,文献[5]提出一种改进型快速ECDSA方案(F-ECDSA),提高ECDSA中签名认证的速度,避免了求逆过程,运算速度得到了提高,但是此算法中存在着2次标乘运算,仍存在改进的空间。文献[6]提出了一种基于ID的WSN广播认证方案(EIBAS),EIBAS是一种基于ID的签名方案,可以减小签名的大小,其中,用户的公钥直接从其公共身份信息产生,用户的私钥由一个私钥生成器(PKG)计算得到。利用ECC组合密钥实现公钥加密,保证WSN的广播通信安全。同样,其存在计算量大等缺点,每次签名认证需要3次标乘运算。
本文对文献[6]提出的EIBAS方案进行改进,提出一种基于ECC和ID的WSN广播快速认证方案,提高签名认证速度。方案中,基站基于ECC和ID对广播包进行加密并广播,第一批接收到广播包的传感器节点执行传统签名验证,然后向邻居节点共享中间计算结果,以此减少邻居节点的计算量,提高签名验证速度。同时添加一个安全策略,对多个邻居数据包进行对比来抵御恶意节点的攻击。实验结果表明,本文方案计算量小,认证速度快,提高了网络的生命周期,且具有较高的安全性能。
1 EIBAS签名认证方案
本章在介绍了椭圆曲线加密的基础上,对基于ID的EIBAS的签名认证方案进行较详细的技术分析。
1.1椭圆曲线加密
密码学中椭圆曲线通常定义在一个素数有限域Fq,其中q是一个大素数,它由一个三次方程定义[7]
y2=x3+ax+b
(1)
式中:a,b∈Fq是常量,且4a3+27b3≢0。Fq上的椭圆曲线E由所有满足方程(1)的坐标(x,y)和无穷大点ϑ构成
E(Fq)=(x,y)∈Fq×Fq,其中y2=x3+ax+b∪ϑ
(2)
P∈E(Fq)是p阶的一个点,G是由P生成的一个组。p是一个素数,p2不划分E(Fq)的阶。G在点加"+"的作用下构建一个循环群,定义如下:令P,Q∈E(Fq),l是包含P和Q的直线(当P=Q时,l为E(Fq)的切线),R是l与E(Fq)相交的第3个点。令l′为包含R和ϑ的直线,P"+"Q是l′与E(Fq)在点R,ϑ和P"+"Q处相交的点。E/Fq的点乘可计算为nP=
寻找对应于nP的n和P的问题称为椭圆曲线离散对数问题(ECDLP)[8]。
1.2EIBAS的签名认证
EIBAS是一种基于ID的签名方案,可以减小签名的大小,保障用户在WSN中的广播安全。其中,用户的公钥直接从其公共身份信息产生,用户的私钥由一个私钥生成器(PKG)计算得到。EIBAS方案的4个步骤(伪代码)如下描述[6]:
1)设置安全参数k,生成密钥:
指定E/Fq和p阶的P点。
●从Zp中随机选择一个系统的密钥x,设置系统公钥为P0=xP。
●发布系统参数(E/Fq,P,p,P0,H1,H2),保持系统密钥为x。
2)给定用户A一个唯一标识符IDA∈{0,1}*,PKG基于Schnorr签名算法生成A的私钥PriA:
●选择随机数r,r∈Zp,计算R=rP。
●PKG通过安全通道将私钥(R,s)传送给用户A。
3)通过标识符IDA和私钥PriA生成用户A的签名:
●选择随机数y,y∈Zp,计算Y=rP。
●计算h=H2(IDA,m,R,Y)和z=y+hs。
●形成用户A在m上的签名为数组(R,h,z)。
4)对签名(R,h,z)、IDA和信息m进行签名认证:
●检验等式h=H2(IDA,m,R,zP-h(R+cP0))是否成立。如果成立,则签名可接受,否则就拒绝。
1.3EIBAS的消息广播和认证
EIBAS中,如果具有标识符ID的用户想要广播一个消息M,则会发送一个数据包PM
PM=(M,tt,ID,Sig{M,tt,ID})
(3)
式中:tt代表当前时间;Sig{M,tt,ID}为用户在{M,tt,ID}上的EIBAS签名。在接收到数据包PM后,传感器进行如下操作:
1)检查tt是否更新。
2)如果tt有效,验证EIBAS签名,否则丢弃消息。
3)如果签名认证失败,拒绝消息或者丢掉它;否则,传播消息到下一跳。
2 本文快速认证方案
2.1改进EIBAS签名认证
EIBAS方案的广播认证过程中,在接收到一个广播包后,所有的传感器节点都执行相同的签名验证,且都需要计算h=H2(IDA,m,R,zP-h(R+cP0)),然后计算zP,hP和hcP0,来确认EIBAS签名。这3个值都通过椭圆曲线上的标量乘法计算,因此产生了显著认证时间和能源消耗。为了提高认证速度,本文对EIBAS进行改进,提出一种快速签名认证方案。其核心思想是,在广播认证过程中,接收到广播包的第一批传感器节点执行相同的签名验证,然后向邻居节点共享一些中间计算结果,减少邻居节点的计算量,通过节点间的合作提高验证速度。改进EIBAS签名认证方案的认证过程如图1所示。
图1 改进EIBAS数字签名认证过程
在图1中,用户广播(M,tt,ID,Sig{M,tt,ID})数据包,其中Sig{M,tt,ID}=(R,h,z)是(M,tt,ID)的EIBAS签名。当节点A,B和C接收到包且成功完成签名认证后,它们决定分别释放一个中间计算结果(l1P=zP,l2=hP或l3P0=hcP0)给邻居节点。这意味着与A相邻的节点D和E,只需通过执行两次椭圆曲线标乘和两次椭圆曲线点加计算zP-hR-hcP0,就可以进行数字签名的快速验证,其中,hR和hcP0可通过节点D和E自身进行计算,zP通过节点A获得。节点F,G,H和I也可以类似的方式执行快速签名验证。因此,如果WSN中的一些节点释放其中间计算结果,其所有相邻节点都可以通过计算两个标乘和两个点加(而不是3个标量乘法)来快速验证数字签名。由于点加运算的计算量很小,可以忽略不计,所以和传统EIBAS签名认证相比,可以提高33%的性能。
注意,本文方案假设每个节点把中间计算结果发送到它的相邻节点,若该中间计算结果是三个信息中的任意两个,即 (l1P-l2R)=(zP-hR),(l1P-l3P0)=(zP-hcP0)或(l2R+l3P0)=(hR+hcP0)。那么,和传统的EIBAS签名认证相比,本文方案可以实现约66%的性能提升。若把3个中间计算结果全部公布,可再次提高速度,然而这样存在很大的危险性。攻击者可以通过标识符IDA捕获传感器节点A,伪造中间计算结果,并能轻易地通过认证。
于是,本文只允许传感器节点最多释放{l1P,l2R,l3P0}中的两个中间结果来进行签名认证。为简单起见,本文假设传感器节点释放的是l2R和l3P0。因此,节点发送消息为
{M,tt,ID,Sig{M,tt,ID},(l2R+l3P0)}
(4)
令MUL和ADD分别代表椭圆曲线标乘运算和椭圆曲线点加运算。在本文方案中,一个传感器节点会收到数据包{M,tt,ID,(R,h,z)}或{M,tt,ID,(R,h,z),l2R+l3P0}。如果接收到数据包{M,tt,ID,(R,h,z)},传感器节点将首先计算l1P,然后,等待一个很短的时间α,观察是否能从相邻节点得到提高签名速度的有用信息。如果能得到,该节点可通过1MUL+1ADD结束签名认证,否则,该节点将通过3MUL+2ADD来完成验证。如果签名被成功验证,该节点将继续传递广播包到相邻的节点,并释放中间计算结果,否则,该传感器节点将发送一个签名报告给基站。一旦基站接收到来自网络的足够多的报告,它将执行相应的安全机制来识别WSN的受损节点。
2.2预防攻击
虽然本文方案考虑了攻击行为,但仍然容易受到攻击。
攻击者:
1)随机选取m′,z′,R′,Y′,M′={m′,tt,IDA}。
2)计算h′=H2(IDA,M′,R′,Y′)。
5)使用(R′,h′,z′)作为消息M′的签名,并且发布假广播包{M′,(R′,h′,z′),Q}到相邻的节点。
受害者:
1)计算c′=H1(IDA||R′)。
3)根据公布的两个中间计算信息和签名,受害者计算H2(IDA,M′,R′,z′P-Q),并和接收到的h′进行比较。其结果是,受害者接收的M′为一个有效的消息。
为了抵御这种攻击,本文对上述方案又进行改进,添加一个系统参数β。每个传感器节点首先等待α秒,从不同相邻节点得到β个数据包(即(R,h,z)或{(R,h,z),l2R+l3P0},其中,α和β可选择,使传感器节点可以从不同的可信相邻节点接收到至少一个数据包。接着,传感器节点检查β个数据包是否具有相同的(R,h,z)和l2R+l3P0。如果传感器节点发现接收到的数据包具有不同的R,h,z或l2R+l3P0,那么它将向基站发生潜在攻击报告。否则,传感器节点检查是否接收到有用的l2R+l3P0,如果有,该节点可通过1MUL+1ADD结束签名认证,否则,该传感器节点将利用3MUL+2ADD进行传统的签名验证。签名认证后的步骤和基本方案中的步骤一样。
对于α和β的选择,本文方案中,假设传感器节点A平均拥有λ个相邻节点,且其中一半将通过特定路径广播数据包到A。本文还假设在A的λ/2个相邻节点中,υ个节点会受到攻击者的影响,且它们最多发送w个伪造数据包给A。需要注意的是,若要想进行攻击,则所有恶意节点必须相互串通,发送相同的伪造数据包到A。否则,只要存在不同数据包,A将放弃所有数据包,并且报告给基站。为了使本文方案抵御这种共谋攻击,需要保证接收到的数据包数要大于恶意节点数,即阈值β应该满足
λ/2≥β≥υ·w+1
(5)
在确定阈值β后,选择延时参数α,使β个数据包能被传感器节点A接收。延时参数α取决于传输数据的速率和传感器节点上使用的无线电收发器的无线电退避。A的无线电退避是在发送前的一段暂停时间周期。考虑两个无线电退避周期,即初始退避(InitialBackoff)和阻塞退避(CongestionBackoff)。考虑到所有的这些因素,本文得出延时参数α应该满足
α≥(SizeMAX/RateMAX+Init_BackoffMAX+
Cong_BackoffMAX)×β
(6)
式中:SizeMAX,RateMAX,Init_BackoffMAX和Cong_BackoffMAX分别代表允许的最大包大小、最大发送数据速率、最大初始退避和最大阻塞退避。
3 能耗和安全性分析
3.1能耗分析
假设具有平均N个传感器节点的签名验证,PT为传感器节点T释放其中间计算结果的概率。令Es,Er分别表示发送、接收一个包的能耗,EMUL表示传感器节点上计算一个椭圆曲线的标量乘法的能耗。每个节点平均具有λ个相邻节点。则可以通过以下的快速签名认证过程,估算出额外消耗/节约的能量。
1)节点T局部广播其中间计算结果,消耗T×Es的能量。
2)大约有λT/2个传感器节点将会接收到中间计算结果,消耗λT/2×Er的能量。
3)大约有λT/2个传感器节点将会通过运用接收到的中间计算结果提高它们的签名认证速度,将节约λT/2×2EMUL=λT×EMUL的能量。
因此,与EIBAS方案相比,本文方案的额外消耗/节约的能量为
(7)
3.2安全性分析
1)重放攻击
重放攻击利用重发之前的合法消息作为当前消息进行攻击[9]。本文方案通过广播消息中携带的时间戳信息tt来抵御这种攻击。需要注意的是,使用时间戳来抵御重放攻击必须具有同步机制。也可以使用随机数来代替时间戳,随机数实时更新,不可预知。
2)女巫攻击
女巫攻击通过非法声称多重身份来破坏网络协议的运行[10]。本文方案中,私钥生成器(PKG)为每个用户标识符(ID)生成一个私钥,并分配给用户。用户可以一直使用私钥对消息进行签名,生成的签名根据用户的ID不同而不同。为了能伪造用户的ID,攻击者必须伪造一个新的私钥,然而,这只有通过获取系统的密钥x才能实现。这种情况下,除非系统密钥x被盗或者基站被攻击,否则,女巫攻击就可以避免。
3)拒绝服务攻击
拒绝服务(DoS)攻击是通过对网络进行消耗性攻击,使其无法提供服务[11]。本文方案中,可通过广播消息的实时签名认证,设定验证失败的次数阈值来避免DoS攻击。当检测到攻击后,传感器节点将发送报告到基站。基站接收到来自网络的报告后,会执行相应的安全机制来识别网络中的恶意节点。
4 实验及分析
利用NS2工具构建一种4×4网格化传感器仿真网络,如图2所示。其中每个节点仅能与它距离一跳的邻居节点通信,用户将其签名的广播包发送到节点1,然后通过转发传播到各个节点。例如,广播消息要到达节点12,则需要经过6轮的传递(节点1,2,6,7,11和12)。
图2 4×4网格化WSN模型
实验中,为更好地模拟实际环境,根据一个具有8位处理器ATmega128L的实际传感器节点参数来设定仿真参数:工作频率为8MHz,遵循IEEE802.15.4标准,工作电压为3.0V,活动状态下电流消耗为8.0mA,接收电流消耗为19.7mA,发送电流消耗为17.4mA,数据传输速率为250kbit/s。ATmega128L处理器在椭圆曲线上进行一次点乘需要0.81s[12]。
4.1理论计算分析
理论计算分析中,只考虑3个主要能量消耗操作[13],即标量点乘、信息发生和接收,其余操作引起的功耗可以忽略不计。根据实际传感器性能参数,设定传感器节点发送一个比特数据能耗为Es=1.67μJ,接收一个比特数据能耗为 Er=1.89μJ,一次椭圆曲线的标乘运算的能耗为EMUL=19.44mJ[14]。
在EIBAS中,传感器认证签名主要需要3个点乘运算,则签名验证消耗为Ever=58.32mJ。若传感器节点需要传输128bit的数据,传输一次128bit数据总体能耗为(1.67+1.89)×128uJ+52.32mJ=58.77mJ。可以看出,在认证过程中,能量消耗主要为标乘运算。
本方案中签名包含E(Fq)上的一个点和Zp中的一个整数。为实现与1 024位RSA相同的安全等级,设定椭圆曲线的q和p大小分别为168bit和166bit,因此,传感器发送消息{M,tt,ID,Sig{M,tt,ID},(l2R+l3P0)}的大小为139bit,其中,签名大小为83bit,M为10bit,ID为2bit,tt为2bit,l2R+l3P0为42bit。 本文方案中,需要发送附加消息l2R+l3P0,因此需要一个额外的发送和接收能量,但总量非常小,不足0.2mJ。但本文方法却减少了2次标乘运算,约节省39mJ的能量。所以一次传播,理论上整体能耗比传统EIBAS方案降低约66%。
4.2仿真性能比较
运行传统EIBAS、ECDSA、F-ECDSA和本文方法,在能耗和时间效率上进行比较。实验中,所有操作和节点状态的能耗都被考虑,每个节点消耗的能量都会被记录,并计算网络中总能量消耗,同时记录传播时间。一次广播消息传遍整个网络的能耗和时间数据如表1所示,数据为10个独立运行结果的平均值。
表1网络消耗的总能量和传递时间
对比项EIBAS本文方案ECDSAF-ECDSA能量/mJ2064131520961760时间/s49.2028.3154.7438.92
当考虑多种能耗时(CPU空闲状态能耗等),本文方案的实际能耗并没有像理论计算中的改善66%。表1表明,本文方案的能耗比传统EIBAS方案降低约36.3%,比F-ECDSA方法降低约25%。本文方案的扩散时间比传统EIBAS方法减少了约42.5%,比F-ECDSA方法减少约27.3%。
假设节点由2节容量为2 450mAH的AA电池供电,那么4×4的网络初始状态时各节点具有26 460J的能量,整个网络能量约为4.23×105J。在实验中,假设当电池电压低于2.1V时,网络停止运行,即当网络能量降到3×105J时,就不能正常工作。以此来测量网络的生命周期,各种方案的网络生命周期如图3所示。
图3 网络的生命周期
从图3可以看出,由于本文方案的计算量小,总体能耗最低,所以本文方案的网络生命周期最长,可达到约4 500 轮,而传统EIBAS大约在3 000轮网络就不能正常运行。
5 结束语
本文提出了一种基于ID和ECC的WSN快速认证方案,在现有EIBAS方案的基础上进行改进,通过节点共享中间计算结果来减少邻居节点的计算量,提高签名验证速度,从而来减少耗能并且延长网络生命周期。同时考虑了改进带来了安全隐患,并提出一种安全机制来预防攻击。仿真实验表明,与EIBAS方案相比,本文方案在验证阶段的能量增益提高约36%,比F-ECDSA方案提高大约25%。另外,本文方法加速了网络中信息扩散,减少了总扩散时间和空闲状态的能量消耗,从而提高了网络的生命周期。未来工作中,将设计负载均衡技术和寻找更优的扩散模式达到更高的节能效果。
[1]杨奎武,郭渊博,马骏,等.基于网络编码的延迟容忍移动传感器网络低时延广播传输机制[J].电子与信息学报,2012,34(5):1239-1245.
[2]程红举,黄行波,XIONGN.不可靠通信环境下无线传感器网络最小能耗广播算法[J].软件学报,2014,25(5):1101-1112.
[3]任勇军,王建东,徐大专,等.自认证公钥的无线传感器网络密钥协商协议[J].计算机研究与发展,2012,49(2):304-311.
[4]AQEELK,KULDIPS,SANDEEPS.Implementationofellipticcurvedigitalsignaturealgorithm[J].Internationaljournalofcomputerapplications,2010,1(2):21-27.
[5]CHANDEMK,THAKURBS.Anellipticcurvebasedmulti-signatureschemeforwirelessnetwork[J].Internationaljournalofinformation&networksecurity,2013,30(1):2089-3299.
[6]SHIMKA,LEEYR,PARKCM.EIBAS:anefficientidentity-basedbroadcastauthenticationschemeinwirelesssensornetworks[J].AdHocnetworks,2013,25(6):134-
142.
[7]昝亚洲,刘文芬,魏江宏,等.适用于无线传感器网络的动态ID认证方案[J].密码学报,2014,1(5):422-436.
[8]罗文俊,付海洋.一种基于椭圆曲线的WSN密钥管理方案[J]. 计算机工程与应用,2013,49(19):88-91.
[9]BIJN,XUE.Anenergy-efficientattackdetectionprotocolforWSN[J].Appliedmechanics&materials,2013,380-384:2716-2719.
[10]胡蓉华,董晓梅,王大玲.SenLeash:一种无线传感器网络虫洞攻击约束防御机制[J]. 通信学报,2013,34(10):65-75.
[11]MANSOURID,MOKDADL,BEN-OTHMANJ,etal.DetectingDoSattacksinWSNbasedonclusteringtechnique[C]//WirelessCommunicationsandNetworkingConference(WCNC),2013.[S.l.]:IEEE,2013:2214-2219.
[12]HEOJS,OKKS,KIMKC.Publickeytechniquesforpreventionofresourceexhaustionattackinwirelesssensornetworks[J].Advancedmaterialsresearch,2013,740:159-
163.
[13]王艳,万镪.生物启发的无线传感器网络能量均衡方法研究[J].系统仿真学报,2013,25(12):2860-2866.
[14]赵彤,杨文国.无线传感器网络中基于能效的最优数据包长[J].中国科学院大学学报,2008,25(2):161-166.
何常胜(1976— ),讲师,硕士,研究领域为网络安全、云计算等;
孙宇轩(1979— ),硕士,主研计算机辅助技术、数据库安全等。
责任编辑:许盈
Fast authentication scheme of WSN broadcast based on ECC and ID signature
HE Changsheng, SUN Yuxuan
(ShaoguanUniversityShaozhounormalbranch,GuangdongShaoguan512009,China)
Broadcast authentication is a fundamental security service in wireless sensor network (WSN). For the issues that the existing authentication schemes has the disadvantages such as large amount of calculation, slow authentication and so on, a fast authentication scheme of WSN broadcast based on ECC and ID signature is proposed. The existing EIBAS signature authentication scheme is improved, the calculation amount of neighbor nodes are reduced through sharing intermediate computing results between nodes, in order to improve the speed of certification, reduce energy consumption. At the same time, a security mechanism is proposed to resist the attack of the malicious nodes by comparing the data from the multiple neighbors. Experimental results show that the proposed scheme can improve the speed of signature verification by about 42% compared with the traditional elliptic curve encryption algorithm, which can reduce the energy consumption by about 36%, and greatly extend the network lifetime.
wireless sensor network; fast authentication of broadcast; elliptic curve cryptography; identity
TP393
A
10.16280/j.videoe.2016.09.018
2015-07-22
文献引用格式:何常胜,孙宇轩.基于ECC和ID签名的WSN广播快速认证方案[J].电视技术,2016,40(9):89-94.
HE C S,SUN Y X.Fast authentication scheme of WSN broadcast based on ECC and ID signature[J].Video engineering,2016,40(9):89-94.