(杭州电子科技大学通信工程学院,浙江 杭州310018)
无线传感器网络是部署在特定区域的传感器节点自组织构成的无线网络[1]。在无线传感器网络中,组播是比单播更有效的通信方法,组播能够在很大程度上节省带宽和能量。在一般情况下,由于传输是发生在多个网络渠道上的,组播远比单播更容易受到攻击。因此,如何保证无线传感器网络中组通信的安全成为了一个重要问题[2]。为了保证组通信安全,文献[3-4]提出了两个经典的组密钥管理方案。这两个方案都采用本地协作的方法,节点预存组密钥分量信息,通过与邻居节点的协作来实现组密钥的更新,从而保证组通信的安全,但这两个方案的安全性并不理想,而且存储开销和通信开销也非常大。文献[5]提出了一种基于多项式的组密钥管理方案,该方案利用节点存储的多项式和汇聚节点发送的节点标识符集合来实现组密钥的更新,减小了网络的通信开销,但存在安全性太低的问题。文献[6]提出了一种基于本地协作的改进方案,该方案引入基站参与组密钥分量更新,提高了组密钥更新的安全性,但仍存在通信开销过大的问题。本文在借鉴本地协作方法的基础上,提出了一种基于簇协作的组密钥管理方案,本方案不需要基站参与更新,采用簇协作的方式进行组密钥更新,避免了簇内节点多余地发送信息。性能分析和仿真结果表明,相比于现有采用本地协作的方案,本方案在保证良好安全性的同时,减小了存储开销和通信开销。
1)以组为单位将节点部署到特定区域后,节点根据文献[7]中的分簇算法生成多个簇,同时每簇生成自身在组内的编号;
2)合法节点能够及时检测出妥协节点以及新加入节点。
假设每组节点总数为N。在节点部署前,基站为每个节点Ui(i=1,2,…,N)预置:
1)节点的ID;
2)伪随机数生成器(Pseudo-random Number Generator,PRNG);
3)初始组密钥K0;
4)哈希函数H1(x)和H2(x);
5)初始组密钥分量GK0。GK0的生成操作如下:在节点部署前,基站在有限域Fq上随机选取t+1个随机数a0,0,a0,1,…,a0,t,用这t+1个随机数构建t 阶多项式根据门限密钥共享机制[8],任意节点Ui的初始组密钥分量为GK0=f0(IDi)。
节点部署后,每个簇的簇内合法节点(簇内未被妥协的节点)将各自的ID 单播发送给簇头节点,簇头保存各自簇内合法节点的ID。当簇头因被妥协或能量消耗等特殊原因退出组通信,组内所有合法节点都会重新选举产生新簇头,接着簇内合法节点将自身的ID 单播发送给新簇头,选举前的合法簇头会删除自身存储的簇内合法节点的ID,最后新簇头发起簇头退出的组密钥更新,其更新操作与下面描述的簇内合法节点被妥协进行的组密钥更新相同。本文中新加入节点由基站预置最新阶段的消息。第1轮更新表示为节点部署后的第一次组密钥更新,第j 阶段表示为第j 轮到第j+1 轮更新之间的时间段。第j 轮组密钥更新操作如下:
1)当某一簇头收到新加入节点的组通信请求消息和它的ID,或者当某一簇头收到簇内合法节点检测到的妥协节点的ID,该簇头需要联合几个邻居簇头对消息进行核实。如属实,该簇头生成组密钥更新消息,并将其发送给组内其他簇头,接着广播组密钥分量请求消息给其簇内合法节点;
2)簇内合法节点收到消息后,将自身的组密钥分量单播给簇头。簇头至少得到t个组密钥分量后,加上自身的组密钥分量,采用拉格朗日插值定理得到第j 阶段的组密钥多项式fj-1(x),并计算出新的组密钥Kj=H1(fj-1(0));
3)组内其他簇头收到更新消息后,也各自广播组密钥分量请求消息给其簇内合法节点,后面的操作如步骤2所述;
为了保证组通信的安全性,本方案采用一个更新多项式来对组密钥分量进行更新。更新多项式中系数的生成如图1所示。组密钥分量更新操作如下:
1)簇头得到第j 阶段的fj-1(0)之后,将fj-1(0)作为随机种子代入PRNG 中得到aj,0,再将aj,0作为随机种子代入PRNG 得到aj,1,以此类推得到t+1个伪随机数aj,0,aj,1,…,aj,t;
2)簇头将每个aj,i代入哈希函数H2(x)计算得到bj,i,用这t+1个数构造t 阶更新多项式gj(x)=并用组密钥Kj加密更新多项式,接着将其广播发送给簇内合法节点,簇内任意合法节点Ui解密后代入计算就可将组密钥分量更新为GKj=GKj-1+gj(IDi),簇头也计算自身的组密钥分量GKj,随之删除更新多项式gj(x)。
图1 更新多项式系数的生成图
在每次组密钥更新之后,每个簇头都会发起组密钥分量的更新,从而及时更新组内合法节点的组密钥分量,这保证了每个阶段都具有不同的组密钥多项式fj-1(x)。由于簇头节点数远远小于簇内合法节点数,其被妥协的概率非常小,如果簇头节点被妥协,组内所有合法节点根据分簇算法重新生成新簇头,分簇前的合法簇头会删除自身存储的簇内合法节点的ID,新簇头存储的簇内合法节点ID 集合与妥协簇头存储的ID 集合肯定不会相同,因此新阶段组密钥更新时的撤销多项式无法被妥协簇头破解,从而保证组密钥更新的继续进行。但如果攻击者在同一阶段妥协的节点数超过t个,那么攻击者可以计算得到当前阶段的组密钥多项式fj-1(x),并可以计算出当前阶段的组密钥Kj和此阶段之后的组密钥多项式,从而攻破网络。因此,只要攻击者在同一阶段妥协的节点数少于t+1个,本方案利用撤销多项式使得妥协节点无法得到新的组密钥,并更新合法节点的组密钥分量,使得组密钥多项式得到更新,从而保证了组通信的安全性。
本文方案中节点ID、簇编号、哈希函数和PRNG 占用空间比较小,其信息长度可以忽略不计,其他信息的长度均为L bits,本文方案中大O表示复杂度。簇头和簇内合法节点都需存储节点自身的ID、簇编号、哈希函数、PRNG、组密钥分量GKj和组密钥Kj,除此之外簇头还需存储簇内所有合法节点的ID,但由于ID的信息长度可以忽略不计,因此簇头和簇内合法节点的存储开销都为O(L)。组密钥更新时,发起组密钥更新的簇头需要将组密钥更新消息发送给组内其他簇头,组内每个簇头都需要广播一条组密钥分量请求消息,每个簇头至少需要t个簇内合法节点向其发送组密钥分量,每个簇头需要将各自的撤销多项式广播给簇内合法节点,并将加密后的更新多项式发送给簇内合法节点,方案总体的通信开销为O(NL)。组密钥更新时,簇头需进行拉格朗日插值、计算组密钥、构建撤销多项式、生成和加密更新多项式、计算新的组密钥分量,当中拉格朗日插值的计算开销为O(t3),远大于其他操作的计算开销,因此簇头的计算开销约为O(t3);簇内合法节点需将ID 代入撤销多项式计算组密钥、解密更新多项式和计算新的组密钥分量,当中撤销多项式的代入计算的计算开销为O(d2)(d为簇内合法节点总数),远大于其他操作的计算开销,因此簇内合法节点的计算开销约为O(d2)。
本文方案(简称CCBG方案)和文献[3]中的GKD方案、文献[4]中的B-PCGR方案、文献[6]中的DGKM方案的性能比较如表1所示。4种方案的通信开销仿真图如图2所示。表1中,L为信息长度,n为平均邻居节点数,r为组密钥会话次数,d为簇内合法节点总数,s为B-PCGR方案的系统参数。
表1 方案性能比较
图2的仿真软件为Matlab2010a,仿真区域设定为400 m×400 m,节点均匀分布在此区域内。节点的通信半径为50 m,组内节点总数N 取500 3 000,t=n/3。
图2 通信开销仿真图
4种方案对比结果分析如下:
1)GKD方案需要节点保存每次会话的隐藏多项式分量和一个加密多项式分量,B-PCGR方案中节点除了保存自身的t 阶多项式之外,还需保存所有邻居节点的t 阶加密多项式分量,DGKM方案中节点需要保存节点标识符、组密钥分量和组密钥,CCBG方案中节点主要需要保存组密钥分量和组密钥,其他存储信息的信息长度可以忽略不计,因此CCBG方案的存储开销略小于DGKM方案,远小于其他2个方案;
2)每次密钥更新,GKD方案中每个节点都需要t个邻居节点向其发送自身的密钥预置信息,B-PCGR方案中每个节点都需向所有邻居节点发送加密多项式分量,DGKM方案中每个节点都需t个邻居节点向其发送自身的组密钥分量,而CCBG方案中每个簇头至少需要t个簇内合法节点向其发送组密钥分量信息,每个簇头负责广播撤销多项式和t 阶更新多项式,理论上的通信开销要小于其他3个方案,仿真结果也表明随着组内节点规模的增大,CCBG方案在通信开销方面的优势越来越大;
3)在密钥更新阶段,CCBG方案中簇头需要进行一次拉格朗日插值,簇内合法节点需要进行一次撤销多项式的代入计算,其他3个方案都需要节点进行一次拉格朗日插值,4个方案总体的计算开销相差不大,而且4个方案的密钥计算时间很短,并不会影响到组密钥更新的实时性;
4)B-PCGR方案中攻击者攻破网络只需获取t+1个不同阶段的组密钥或妥协一个节点及其s+1个邻居节点,GKD方案中攻击者只要妥协节点数超过2t个就可攻破网络,DGKM方案中攻击者只要在连续的两个阶段内妥协节点数超过t+2个就可攻破网络,与其他3个方案相比,CCBG方案安全性相对较高。
本文采用簇协作的方式实现组密钥的更新,并使用伪随机数生成器和哈希函数产生更新多项式,从而实现组内所有合法节点组密钥分量的及时更新。与其他基于本地协作的方案相比,本文提出的方案在保证安全性的同时,减小了通信开销与存储开销。然而,本文方案还是存在一些可以改进的地方,下一步的工作是如何在保证方案开销小的同时,进一步提高方案安全性。
[1]Akyildiy I F,Su W,Sankarasubramaniam Y,et al.Wireless sensor networks:a survey[J].Computer Networks,2002,38(4):393-422.
[2]Wu F,Pai H,Zhu X,et al.Am adaptable and scalable group access control scheme for managing wireless sensor networks[J].Telematics and Informatics,2013,30(2):144-157.
[3]Chadha A,Yonghe L,Das S K.Group key distribution via local collaboration in wireless sensor networks[C].Piscataway:Institute of Electrical and Electronics Engineers Computer Society,2005:46-54.
[4]Zhang W,Zhu S,Cao G.Predistribution and local collaboration-based group rekeying for wireless sensor networks[J].Ad Hoc Networks,2009,7(6):1 229-1 242.
[5]Fan X,Gong G.LPKM:A Lightweight Polynomial-Based Key Management Protocol for Distributed Wireless Sensor Networks[C].Berlin:Springer Verlag,2012:180-195.
[6]邓淑华,赵泽茂.WSN的一种分布式组密钥管理方案[J].信息安全与技术,2012,3(2),18-20.
[7]樊志平,金政哲,谢冬青.基于能量效率的无线传感网络分簇算法[J].小型微型计算机系统,2013,34(3):535-539.
[8]Shamir A.How to share a secret[J].Communications of the Association for Computing Machinery,1979,22(11):612-613.