一种基于ecdsa算法的无线传感器网络广播认证方法

文档序号:7886487阅读:326来源:国知局
专利名称:一种基于ecdsa算法的无线传感器网络广播认证方法
技术领域
本发明涉及一种基于E⑶SA算法的无线传感器网络广播认证方法,属于通信技术和信息安全领域。
背景技术
现有的无线传感器网络广播认证方法分为基于认证码的广播认证方法和基于数字签名的认证方法。Perrig等在SPIN安全模型中提出了一种基于认证码的传感器网络广播认证算法μ TESLA, μ TESLA利用Hash链,在广播时通过延迟公布密钥机制使用对称密钥实现了广播认证,该算法能耗低,实现简单,但是需要节点间宽松时间同步协议支持,同时由于引入了认证延迟,易受到选择性转发攻击和DOS攻击;aekyoung Kwon等提出了Χ-μ TESLA用于解决μ TESLA网络休眠、失效,受到攻击时存在的问题,Donggang Liu等基 于μ TESLA提出了ー种Tree-Basedy TESLA广播方案,该方案适用于多个广播节点,能够抵御针对μ TESLA分发过程的DoS攻击,D. G. Liu和P. Ning提出了 Multi-Level μ TESLA,该协议采用多级密钥链的方式来維持μ TESLA的生存期,同时使用冗余传输和随机选择策略来完成密钥链的发布,提高了节点对包丢失的容忍度和抗DOS攻击的能力.沈玉龙等在协议μ TESLA的基础上,利用门限密码思想,提出了一种适合于多基站传感器网络的广播认证协议MMu TESLA, Yu-Shian Chen等将Bloom filter应用到μ TESLA中,提高了算法的可扩展性,降低了通信消耗,使得算法能适用于多用户和长时间的情形。μ TESLA类方案具有计算量小,安全性高的特点,但是也存在ー些不足之处(I) μ TESLA类方案采用延迟公布密钥的方法实现广播认证,这在ー些对实时性要求较高的应用中是不合适的,并且易遭受wormhole攻击;(2) μ TESLA类方案必须暂存当前时间段内的所有广播数据,这对于广播量较大的应用是不合适的,易占用大量的内存资源及遭受DOS攻击,例如某个攻击者可以在一个单位时间内大量发送数据包,会导致内存溢出;(3) yTESLA类方案对于数据包丢失很敏感,不适用于低功耗、能量受限、稳定性较差的的无线网络环境,并且容易遭受选择性转发攻击。近来的ー些研究表明,基于公钥密码体制采用数字签名的算法经过优化后也能够应用于传感器网络中。Kui Ren等利用椭圆曲线密码学算法(ECC)提出了基于Bloomfilter的多用户广播认证算法BAS,BAS将用户的ID和公钥PKid组成的数据结构<ID,PKid>映射到ー个长度为m的位串V上,減少了公钥占用的存储空间,从而解决了公钥的认证性问题,为了进ー步减少公钥的存储空间,Kui Ren等又提出了基于Merkle Hash树的广播方案HAS。BAS和HAS较好的減少了公钥的存储空间,解决了公钥的认证性问题,其主要的缺点在干,每一条广播消息都需要进行ECDSA算法进行数字签名和认证,计算代价大。XuefeiCao等利用基于身份的公钥密码学提出了 MBAS算法,该算法对BNN-IBS签名算法改进为vBNN-IBS应用于传感器网络广播中,在不降低安全性的前提下,减少了通信消耗,vBNN-IBS基于椭圆曲线密码体制,计算量较大,针对公钥认证算法计算量大的缺点,Wang Ronghua等提出了 ShorPK算法,ShorPK将公钥算法的密钥缩短,降低运算量,同时降低公钥的生存期,利用μ TESLA认证方案的思想,将认证时间分为若干个时间段,每ー个时间段有一个公钥密钥进行认证,ShorPK较好的解决了公钥密码体制在传感器网络上的广播认证问题,但是没有能够较好的解决公钥的分发问题,对选择性转发攻击较敏感。

发明内容
本发明的目的是解决现有无线传感器网络广播认证方法中出现的运算量大的问题而提出一种基于ECDSA算法的无线传感器网络广播认证方法。本发明为解决上述上述技术问题而提出一种基于ECDSA算法的无线传感器网络广播认证方法,该方法的步骤如下I).将无线传感器网络的生存期T分为t个时间段Ti (I彡i彡t);2).利用E⑶SA签名认证算法为每ー个时间段Ti对应产生ー个密钥对PKi/ Ski (I ^ i ^ t);3).利用k个哈希函数将公钥PKi映射到长度为m的位串V[m] = VtlV^" Vnrl,将此位串V[m]预先装入到传感器网络节点中,并将传感器节点随机抛撒到目标区域中;4) ·在时间Ti内,节点广播消息PKi I I Ti ;5).节点在收到广播消息时,判断Ti与本节点当前时间是否一致,若一致则计算若V/e[U],有 VEh1 (PKi I Ti)] = 1,则可知 PKi e (PK1, PK2,…,PKt},则该密钥通过验证,节点将此公钥记录下来,该公钥在Ti时间内有效,超过Ti时间,则将此公钥作废;6).在Ti时间内广播消息m时,节点使用Ski进行数字签名并广播签名后的消息m|I(r, s);7).节点收到消息m| I (r,s)后利用公钥PKi按照E⑶SA算法的签名认证算法进行消息认证,判断该签名是否合法;8).复上述步骤4)到步骤7),直至无线传感器网络的整个生存期T结束。所述的步骤2)中的产生密钥对是通过E⑶SA參数生成和E⑶SA签名方案的密钥生成完成的。所述的步骤3)生成位串V[m]的过程为利用k个哈希函数Iiph2, -hj, "4,(1彡j彡k)将PKi映射到长度为m的位串V[m] = VWVnri
fi,如果ョ/g[u],WTi)= j
V;"lo,其它为解决上述技术问题本发明还提出了一种基于ECDSA算法的无线传感器网络广播认证方法,该认证方法的步骤如下I).将传感器网络的生存期T分为t个时间段TiQ彡i彡t),再将Ti分为f个更小的时间片 7,(1 く/く ,1 < P <t) ·,2).利用E⑶SA签名认证算法为每ー个时间段Ti对应产生ー个密钥对PKiZiSki,以及每ー个时间段对应产生ー个密钥对(\<i<t,\<p<t);3).利用k个哈希函数将公钥PKi映射到t个长度为m的位串中,并将此第I个位串预先装入到传感器网络节点中,然后将传感器节点随机抛撒到目标区域中;4).在时间段ぐ,节点广播I)ぐ消息;5).当节点收到广播消息后,首先判断与本节点当前时间是否一致,若一致则计算若V7 e [I,k],有F[/#f (PKf丨m = I,则可知PKf G \ρκ),ρκレ· ·,ρκ1),则该密钥通过验证,节点将此公钥记录下来,该公钥在P时间内有效,超过77时间,则此公钥作废;6).在77时间内广播消息m吋,节点使用沿f进行数字签名并广播签名后的消息m|I(r, s);7).节点收到消息m| I (r,s)后利用公钥I/按照E⑶SA算法中的的签名认证算法进行消息认证;8).在时间Ti内,节点将下一个时间段Ti+1内用到位串Vi+1 [m],使用SKi进行数字 签名,并广播到各节点中;9).重复上述步骤4)到步骤8),直至无线传感器网络的整个生存期T结束。所述的步骤2)中的产生密钥对是通过E⑶SA參数生成和E⑶SA签名方案的密钥生成完成的。所述的步骤3)生成位串的过程为利用k个哈希函数Ivh2, -hj,…hk(l彡j彡k)将I/映射到t个长度为m的位串 = V10V11 ■ ■-V1m^ (I 彡 i 彡 t)中
仏如果ョMU],满足/^[/127) = 7.
1 I O,其它本发明的有益效果是本发明利用E⑶SA算法和Bloom filter,通过将无线传感器网络生存时间分成若干小的时间段,根据ECDSA签名算法为每ー个时间段产生ー个密钥对,利用哈希操作将公钥集合映射到一位串中,并将该位串装入网络节点中,然后进行公钥认证、消息签名和消息认证。该方法实时性好,计算代价小,能够容忍数据包丢失,和ShortPK算法相比,占用内存少,为了减少在生存期较长的时候ECDSA-BA方案的内存占用,又提出了适用于较长生存期的PECDSA-BA,该方法拥有在实时性、计算性能、安全性能、容忍数据包丢失等方面的优点。


图I是本发明实施例中使用ECDSA-BA算法时误称率随位串长度变化情况图;图2是本发明中使用PQ-BA算法时网络节点生存期划分结构图;图3是四种算法在进行广播认证时能耗情况比较图;图4是系统生存时间和占用内存空间的关系图。
具体实施例方式下面结合附图对本发明的具体实施方式
做进ー步说明。A — B表示节点A发送消息到节点B ;A — *表示节点A发送广播消息到所有邻居节点;m」Im2表示两个消息的连接。本发明的研究基于以下几个假设(I) Sink节点是可信的;(2) Sink节点较强的计算能力和通信能力;(3) Sink节点可以是移动或静止的。实施例一本发明的一种基于E⑶SA算法的无线传感器网络广播认证方法的具体步骤如下I.将传感器网络的生存期T分为t个时间段Ti (I彡i彡t),每ー个时间段Ti为数分钟或数小时,对于数小时或数分钟内的安全认证,这里我们选择ECDSA的密钥长度为 80位。2.为E⑶SA算法生成參数组,參数组的生成算法如下I).输入域的阶为q,Fq的域表示FR,安全级别L满足要求;2).输出參数组2;3).若Fq是素域、ニ进制域或0EF,随机选择a,b e F,,令S为生成种子,若Fq是素域或OEF则令E为y2 = x3+ax+b ;若Fq是ニ进制域,则y2+xy = x3+ax2+b4).计算 N = #E (Fq);5).检验N是否能被满足η > 2し的大素数η整除,若不能,则跳至步骤I);6).检验η对于所有I彡k彡20是否能被qk_l整除,若能,则跳至步骤I);7).检验是否η q,若不是,贝U跳至步骤I);8).令 h — N/n ;9).选择任意的点P' e E(Fq)并令P = hP',重复直到P尹00;10).返回任意的 D = (q, FR, S, a, b, P, n, h)。3.生成E⑶SA签名方法生成密钥,其具体过程为输入參数组D = (q, FR, S, a, b, P, n, h)输出公钥Q,私钥dI).选择 d e ,[1,n-Ι];2).计算 Q = dP ;3).返回(Q,d);4).得到公钥PKi为Q,对应的私钥SKi为d。4.利用步骤2和3中的E⑶SA签名方法为每ー个时间段Ti对应产生ー个密钥对PVSki (I < i < t)。5.利用k个哈希函数Iiph2, -hj,…hk(l彡j彡k)将PKi映射到长度为m的位串 V[m] = vw Vm-;!
fi,如果ョ/g[u],WTi)= j
V;"lo,其它并将此位串V[m]预先装入到传感器网络节点中,然后将传感器节点随机抛撒到目标区域中。6.在时间Ti时,Sink节点首先广播如下消息
Sink — * =PKi | | Ti当节点收到广播消息后,首先判断Ti与本节点当前时间是否一致,若一致则计算若V/e[U],有 VEh1 (PKi I Ti)] = 1,则可知 PKi e (PK1, PK2,…,PKt},则该密钥通过验证,节点将此公钥记录下来,该公钥在Ti时间内有效,超过Ti时间,则此公钥作废。7.在Ti时间内广播消息m吋,Sink节点使用Ski进行数字签名,具体操作如下输入參数组D = (q, FR, S, a, b, P, n, h),私钥 d,消息 m ;输出签名(r,s);I).选择f Gr [I, -I];2).计算= (X1J1)并将转换为整数^;; 3) ·计算厂=I1贈れ,若r = 0,则跳转至步骤I);4).计算 e = H(m);5).计算.+ii^modw 若 s = O,则跳至步骤 I);6).返回(r, s)。8.随后 Sink 节点做如下广播Sink — * :m | | (r, s)。9.节点收到消息m| I (r, s)后利用公钥PKi按照如下算法进行消息认证输入參数组D = (q, FR, S, a, b, P, n, h),公钥 Q,消息 m,签名(r, s);输出判断签名是否合法;I).检验r和s是否区间[l,n_l]内的整数,若任何一个检验失败则返回(“拒绝签名,,);2).计算 e = H (m);3).计算 w = sベmod η ;4).计算 U1 = ew mod η 和 Uo = rw mod n ;5).计算 X = !^+U2Q ;6) ·计算X = ^,则返回(“拒绝该签名”)。7).将X的X的坐标X1转换为整数ち;计算V = mod η。8).若V = r,则返回(“接受该签名”),否则,返回(“拒绝该签名”)。在E⑶SA-BA算法中,Bloom Filter对数据集合采用ー个位串表示并能有效支持公钥集合的哈希查找操作.由于其表示算法的随机特性,存在某元素不属于公钥集合{PKJ(l^i^ t),而被指称属于该公钥集合的可能性,其大小记为误称率,只要这种可能性足够地小以致在实际应用中能容忍这种误差,算法即是有效的。每次将PKiI Ti映射到V[m]使
得V[m]中某位为I的概率为I,为O的概率为1-1,算法执行t次后,某位仍为O的概率为
P0 = (I--f ^ e—:,则某攻击者伪造的PKI I T通过k个哈希函数映射,被错误映射到V[m],使得V/e[l,ん],都有VDi1 (PK T)]=]的概率为pe= (\- po)" = (I - f = eln(1-e^ f (I)为使Pe最小,应使in(i —どヴ最小,则有kt kt
d\n{\-e m)k-- kt e m~~- = ln(l-e m) +--— =0,可得m
5んm (i — e-:)k = —\n2 (2)将(6)代入(5)可得
_m t mmmPe ={\-et my =(0 5)7 =(0.6185)7 (3)由(3)可以看出,在时间t 一定的情况下,pe随着m的变大而减小,如图2所示, 当时间间隔个数t 一定吋,pe随m的变化情況,当时间t较小吋,为达到一定的误称率,需要的内存较小,以t = 100为例,当pe = I. 36e-21时,m = IOOOObit ;当t较大时,为达到
一定的误称率,需要的内存显著上升,当t = 1000时,为达到pe = I. 36e_21的误称率,需要m > IOOOOObit,占用内存12. 5kbyte,当Ti = 10小时,则在达至Li pe = I. 36e_21的误称率,占用内存12. 2kbyte的条件下,系统可以安全工作417天,可以看出,在节点内存空间较大的情况下,系统能够满足基本的无线传感器网络广播认证需求。实施例ニ在E⑶SA-BA算法中,为达到更高的安全级别,令Ti = 10分钟,t = 1000,则在达到Pe= I. 36e-21的误称率条件下,系统可以工作一周,占用内存12. 2kbyte,工作时间较短,当传感器网络的生存期t増大吋,为达到同样的误称率,占用的内存数量増大,当t =5000吋,占用内存61kbyte,这对于资源有限的传感器网络系统而言是不合适的,为此我们在ECDSA-BA算法上进行了改进,提出PECDSA-BA算法,使用该算法的无线传感器网络广播认证方法的具体步骤如下I.将传感器网络的生存期T分为t个时间段Ti (I彡i < t),每ー个时间段Ti为数天;再将Ti分为F个更小的时间片C(1 U41 <尸<O。2.每ー个时间段77对应产生ー个密钥对/《ダ(;1シ+弘1<; <「),产生密钥对的过程和实施例一中所述一祥,详情请參考实施例一中的步骤2至步骤4。3.利用k个哈希函数hptv -hj,…hk(l彡j彡k)将I/映射到t个长度为m的位串 = ν'0ν\ · ■-V1m^ (I 彡 i 彡 t)中
Jl,如果ョMU],满足= 7
1 I O,其它将此第I个位串ViDn]预先装入到传感器网络节点中,然后将传感器节点随机抛撒到目标区域中。4.在时间T1P吋,Sink节点首先广播如下消息=Sink — * : i^/1 V,当节点收到广播消息后,首先判断P与本节点当前时间是否一致,若一致则计算V/e[l,ん],有I VhJ汄/;· !丨—丨’则可知^^^丨^^メ^^…ゾ^ト则该密钥通过验证’节点将此公钥记录下来,该公钥在V时间内有效,超过77时间,则此公钥作废。5.在ぐ时间内广播消息m吋,Sink节点使用狀/ 行数字签名,其具体操作过程请參照实施例一中的步骤7。
6.随后 Sink 节点做如下广播Sink — * :m| I (r, s)。7.节点收到消息m| I (r, s)后利用公钥按照进行消息认证,其具体操作过程请參照实施例一中的步骤9。8.在时间Ti内,Sink节点将下一个时间段Ti+1内用到位串Vi+1[m],使用SKi进行数字签名,并广播到各节点中。9.重复上述步骤4-8直至整个无线传感器网络生存期T结束。传感器网络认证算法应该具有一定的可扩展性,可扩展性是指算法适应不同规模传感器网络的能力。本发明针对不同节点内存空间大小提出的E⑶SA-BA和PE⑶SA-BA算法能够适用于不同规模的传感器网络中,不会因为网络规模的増大而增加开销,在μ TESLA算法中,基站完成广播初始化后,通过单播方式实现每个节点的认证加入和同步,这对于大规模的网络而言是ー个巨大的开销。无线传感器网络中的广播一般都是实时的,节点在接收到数据后,应当立刻进行认证,TESLA类算法利用Hash链,在广播时通过延迟公布密钥机制使用对称密钥实现了广播认证,从而引入了认证延迟,容易受到DoS攻击。在无线通信环境中,数据的传输受外界干扰较大,因此广播认证算法应当具有一定的抗包丢失能力,μ TESLA类算法利用Hash链进行认证,ShortPK算法利用前一时间段的公钥为本时间段用到的公钥进行认证,需要保证数据包传输的完整性,数据包的丢失将导致算法失效或能耗增加。E⑶SA-BA和PE⑶SA-BA算法不仅适用于单用户广播认证,也适用于多用户广播认证,在多用户广播认证时,只需要再増加一个位串V[M]即可。表I典型广播认证算法性能比较
权利要求
1.一种基于ECDSA算法的无线传感器网络广播认证方法,其特征在于该网络广播认证方法包括的具体步骤如下 1) 将无线传感器网络的生存期T分为t个时间段Ti (I < i < t); 2).利用E⑶SA签名认证算法为每一个时间段Ti对应产生一个密钥对PKi/Ski (I ^ i ^ t); 3).利用k个哈希函数将公钥PKi映射到长度为m的位串V[m]= VtlV1…Vlrt,将此位串V[m]预先装入到传感器网络节点中,并将传感器节点随机抛撒到目标区域中; 4) 在时间Ti内,节点广播消息PKi I I Ti ; 5).节点在收到广播消息时,判断Ti与本节点当前时间是否一致,若一致则计算若V/e [U],有V Di1 (PKi I Ti)] = 1,则可知PKi G (PK1, PK2,…,PKj,则该密钥通过验证,节点将此公钥记录下来,该公钥在Ti时间内有效,超过Ti时间,则将此公钥作废; 6).在Ti时间内广播消息m时,节点使用Ski进行数字签名并广播签名后的消息m|| (r,s); 7).节点收到消息m|I (r,s)后利用公钥PKi按照ECDSA算法的签名认证算法进行消息认证,判断该签名是否合法; 8).复上述步骤4)到步骤7),直至无线传感器网络的整个生存期T结束。
2.根据权利要求I所述的基于ECDSA算法的无线传感器网络广播认证方法,其特征在于所述的步骤2)中的产生密钥对是通过E⑶SA参数生成和E⑶SA签名方案的密钥生成完成的。
3.根据权利要求2所述的基于ECDSA算法的无线传感器网络广播认证方法,其特征在于所述的步骤3)生成位串V[m]的过程为 利用k个哈希函数hi,h2,-hj,…hk(l彡j彡k)将PKi映射到长度为m的位串V[m]=V0V1... Vnrl
4.一种基于ECDSA算法的无线传感器网络广播认证方法,其特征在于该网络广播认证方法包括的具体如下 1).将传感器网络的生存期T分为t个时间段TiQ彡i彡t),再将Ti分为F个更小的时间片 Ttp{\<i<t,\<p<t); 2).利用E⑶SA签名认证算法为每一个时间段Ti对应产生一个密钥对PKySki,以及每一个时间段V对应产生一个密钥对PKpSK『(\<i<t,\<p<t); 3).利用k个哈希函数将公钥PKi映射到t个长度为m的位串中,并将此第I个位串预先装入到传感器网络节点中,然后将传感器节点随机抛撒到目标区域中; 4).在时间段V,节点广播IfIlP消息; 5).当节点收到广播消息后,首先判断V与本节点当前时间是否一致,若一致则计算若 V/e[ i ,有I ,则可知 ^^{^^,^^,…,^^,则该密钥通过验证,节点将此公钥记录下来,该公钥在V时间内有效,超过V时间,则此公钥作废;6).在V时间内广播消息m时,节点使用SKi进行数字签名并广播签名后的消息m|I(r, s); 7).节点收到消息m|I (r, s)后利用公钥I/按照ECDSA算法中的的签名认证算法进行消息认证; 8).在时间Ti内,节点将下一个时间段Ti+1内用到位串Vi+1[m],使用进行数字签名,并广播到各节点中; 9).重复上述步骤4)到步骤8),直至无线传感器网络的整个生存期T结束。
5.根据权利要求4所述的基于ECDSA算法的无线传感器网络广播认证方法,其特征在于所述的步骤2)中的产生密钥对是通过E⑶SA参数生成和E⑶SA签名方案的密钥生成完成的。
6.根据权利要求4所述的基于ECDSA算法的无线传感器网络广播认证方法,其特征在于所述的步骤3)生成位串的过程为 利用k个哈希函数Ii1, h2,…hj,…hk(l彡j≤k)将映射到t个长度为m的位串…! (I≤i≤t)中
全文摘要
本发明涉及一种基于ECDSA算法的无线传感器网络广播认证方法,属于通信技术和信息安全领域。本发明利用ECDSA算法和Bloomfilter,通过将无线传感器网络生存时间分成若干小的时间段,根据ECDSA签名算法为每一个时间段产生一个密钥对,利用哈希操作将公钥集合映射到一位串中,并将该位串装入网络节点中,然后进行公钥认证、消息签名和消息认证。该方法实时性好,计算代价小,能够容忍数据包丢失,和ShortPK算法相比,占用内存少,为了减少在生存期较长的时候ECDSA-BA方案的内存占用,又提出了适用于较长生存期的PECDSA-BA,该方法拥有在实时性、计算性能、安全性能、容忍数据包丢失等方面的优点。
文档编号H04L9/32GK102684874SQ201210001989
公开日2012年9月19日 申请日期2012年1月5日 优先权日2012年1月5日
发明者吴庆涛, 张海涛, 张聚伟, 普杰信, 李世伟, 李强懿, 陈媛 申请人:河南科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1