APP下载

能量平衡的异构传感网跨层密钥管理方案

2018-07-27马春光姚建盛

系统工程与电子技术 2018年8期
关键词:公钥异构传感

袁 琪, 马春光, 姚建盛,3

(1. 哈尔滨工程大学计算机科学与技术学院, 黑龙江 哈尔滨 150001;2. 齐齐哈尔大学通信与电子工程学院, 黑龙江 齐齐哈尔 161006;3. 吉林师范大学计算机学院, 吉林 四平 136000)

0 引 言

无线传感器网络是由大量布撒在特殊地理环境下的传感器节点组成,广泛应用于军事和民用领域,由于应用环境的特殊性,无线传感网中不铺设任何基础设施[1]。传感器节点有感知和传输功能,用来采集数据并将数据最终传输给sink节点。早期针对无线传感网的研究主要考虑的是网络节点性能相同情况下的同构传感网[2],随着传感网技术的发展,更多的研究表明在传感网中适量添加高性能传感器节点,即组成异构无线传感网,可以更有效地提高网络性能,延长网络生命周期[3]。

无线传感网中传感器是以广播的形式发送数据,其数据安全难以保证,当传感器被部署至敌对或无人看管的环境下,其安全问题尤为重要[4]。传感网通信双方在进行数据传输时,需要密钥对传输数据进行加解密,一旦节点密钥被敌方捕获,节点数据就会暴露给对方,所以异构传感网安全的核心问题就是网络节点的密钥管理。由于传感器节点的电池能量、传输范围、存储空间、计算能力等物理特性受限,传统的有线网络下的密钥管理不再适用于无线传感网。2002年,文献[5]最早提出了无线传感器网络环境下的密钥预分配方案,从此,研究人员开始了对无线传感网密钥管理的研究[3-11]。密钥预分配是传感网密钥管理最广泛的研究方向,是指传感器网络部署前将密钥预先分配给网络节点,通信节点间利用预先存储的密钥,按照一定规则建立会话密钥,从而保证了传输数据安全。由于传感器节点物理资源有限,传感网密钥管理方案的设计,在保证密钥连通率的同时,还需要考虑节点的电池能量、存储空间、通信能力和计算能力等重要物理指标。

传感器节点采用电池供电,一旦电池电量耗尽,则节点死亡。当传感网中关键节点(最后一跳到达sink的节点)死亡,影响到传感器节点到sink节点的数据传输,就会大大缩短网络的生命周期。因此,有效保证传感器节点能量平衡、最大化网络生命周期成为无线传感器网络的一个关键问题[6]。传统的传感网密钥管理实际上是一个局部优化问题,即在网络分层结构下,单纯对其在密钥连通率、节点能耗和密钥所占存储空间等性能之间进行优化,这种无线传感网网络分层下的密钥管理,没有考虑其他协议层对密钥管理的影响,必然会造成节点资源的浪费。路由协议是解决网络生命周期最大化问题中需要考虑的一个关键因素[7]。因此,抛开网络层次的独立性,使路由算法和密钥管理有效结合,即将网络层间关系引入到网络协议中完成密钥管理的跨层设计[8],能更有效地协调能量平衡,节省节点物理资源,提高网络生命周期。无线传感网跨层技术研究最多的领域是无线传感网的路由协议[9],将跨层引入到无线传感网密钥管理中的研究[10-14]相对较少。文献[10]利用路由树和密钥分配树,建立了Ad hoc网络组播通信时密钥更新所产生的能耗优化公式,强调了网络拓扑结构和密钥分配对网络能耗的影响,为无线组播下能量有效的密钥管理提供了跨层设计方法,并对不同路由算法下的密钥管理方案的性能进行了对比。文献[11]提出了路由驱动下的密钥管理方案,打破了以往为所有邻居节点间建立共享密钥的方式,将网络层和应用层有效地结合起来,方案中仅为彼此通信的邻居节点间建立共享密钥,较其他密钥管理方案相比,极大地减少了通信耗费、存储空间和能量耗费。文献[12]研究了密钥生成协议和配置无线传感网的簇协议间的性能变化,基于簇协议的状态控制机制,为安全链路的选择提出了直接式、反应式和主动式3种方法,采用密钥预分配和椭圆曲线Diffie-Hellman公钥加密2种方式,设计了跨层密钥管理协议,实验表明,该协议的网络连通性、总能量消耗和抗毁性都优于给定网络配置参数的密钥预分配协议。文献[13]提出的跨层技术是将物理层和应用层结合起来,即将物理层无线衰减通道提取的密钥和应用层异或(exclusive OR,XOR)编码建立密钥,通过密钥协商生成通信密钥,该方案克服了以往密钥建立的缺点,且为密钥产生率提供了灵活的解决方法。文献[14]提出了基于多项式和时间部署的密钥管理方案,将媒体访问控制(media access control,MAC)层的包接收率和包发送率的比率与队列长度结合,实现了MAC层和路由层的跨层设计,该方案提高了网络负载能力,保证了传感器节点间的高连通性,提高了节点抗捕获能力,有效地减少了节点存储耗费。

异构传感网中越接近簇头的节点,其通信转发的几率越高,节点能量消耗越快,节点能量一旦耗尽,则节点死亡。以上基于跨层技术实现的密钥管理方案,都是通过层间协作减少能量消耗,并没有考虑到能量耗费的均衡问题。均匀使用节点进行存储转发,可有效地提高网络生命周期。针对上述密钥管理方案存在的节点能量耗费不均问题,本文提出了一个能量均衡的跨层密钥管理方案,通过节点能量、节点度、节点位置等参数确定邻居节点中下一跳通信节点的选择,在此路由基础上建立通信节点间的密钥关系,所提方案即保证了无线传感网的安全,又均衡了节点的能量消耗,有效延长了异构传感网生命周期。

1 网络初始化模型

在无线传感网构建阶段,随机部署大量低性能传感器和少量高性能传感器。本文基于如下假设建立异构传感网模型。异构传感器网络是由sink节点、簇头节点和簇节点组成的层簇式传感器网络,结构如图1所示。

图1 层簇式异构传感器网络Fig.1 Layer-cluster heterogeneous wireless sensor networks

其中,sink节点不会被敌手捕获,其作用是用来接收监控端数据进行处理或者通过其他网络结构传递给上层处理器;簇头节点是由具有大电池容量、宽通信半径和高处理能力的高性能传感器承担,节点内设有防篡改硬件保护装置[11],敌对方不能获取其密钥材料;簇节点由低性能传感器组成,其能量、处理能力有限,位于传感网终端,负责采集数据并传输给簇头节点,具有全方位天线,能全方向地传输数据。异构传感器网络是静态网络结构,一经部署,网络中传感器节点位置不再发生变化,每个传感器节点既是感知节点又是传输节点,可以通过全球定位系统或者定位算法确定位置。传感器节点能够通过调整发射功率,改变传输距离[15]。

2 异构传感网的路由结构

在层簇式的异构传感器网络中,簇节点需将采集到的数据汇聚到簇头,再由簇头最终传递给sink节点。在这种多对一的通信方式下,簇节点仅与同簇路由上的邻居节点通信,由此,仅为路由上的通信节点间建立共享密钥可以有效地节省密钥存储空间。本文在设计传感网密钥管理方案之前,先构建基于簇的能量平衡路由算法。

2.1 簇结构生成

在随机布撒传感器节点的过程中,不考虑网络覆盖问题,假设高、低性能传感器能均匀布撒在待监测区域。在簇结构初始化期间,以簇头为中心,将异构传感网划分为不同的簇。初始化簇结构是将区域内原本无关的传感器节点之间的层簇关系建立起来,形成层簇结构的异构传感器网络。为简化簇结构初始化过程,本文利用文献[16]提出的方法生成簇,簇头节点H广播包含自己ID和位置信息Loc的初始化消息,可表示为

(1)

2.2 基于簇的能量平衡路由算法

基于簇的异构传感网路由结构分为簇内路由和簇间路由。簇内路由是指同一簇内的下一跳节点的选择,簇间路由是簇头节点将数据传输给sink节点的过程中下一跳簇头的选择。

2.2.1 基本定义

定义1邻居节点 位于同一个簇(CH)内的传感器节点U和V,两节点间的距离为d(U,V),U的通信半径为r。如果节点V在U的一跳通信范围内,则称V是U的邻居节点。U的所有邻居节点构成的集合记为

Neb(U)={V|d(U,V)≤r,U,V∈CH}

(2)

定义2前向邻居节点 如果V是U的邻居节点,且它与簇头节点H的距离小于U与簇头节点H的距离,则称V是U的前向邻居节点,U的所有前向邻居节点构成的集合记为

FwNeb(U)=

{V|V∈Neb(U)∪d(V,H)≤d(U,H)}

(3)

图2中,实线圆内区域代表节点U的通信区间,U的最大传输距离为r,虚线大圆是以簇头节点H为圆心,H与U的距离d为半径的圆,两圆相交于A、B两点。可以看出,扇形区域内的节点即是节点U的前向邻居节点。

图2 簇内节点结构Fig.2 Node structure in the cluster

定义3前向区间 前向邻居节点所在的区域范围,称节点的前向区间。如图2的扇形区间即为节点U的前向区间,用FW表示。

cosθ=r/2d,θ=arccos(r/2d)

(4)

由θ值可以确定U的前向区间面积SFW为

(5)

假设异构传感网的节点符合均匀分布,簇内节点个数为N,则节点密度ρ的值为

ρ=N/πR2

(6)

那么U的前向区间中节点个数NFW的值为

NFW=SFWρ=Nr2arccos(r/2d)/(180R2)

(7)

2.2.2 簇内路由

在簇节点的前向区间内选取下一跳节点,能使数据更快地到达簇头节点。簇节点是低性能节点,其能量有限,为延长簇的生命周期,在设计路由算法时,需考虑簇节点能量的均衡消耗。对文献[17]提出的方案进行改进,从能量均衡的角度设计了簇内路由算法。

设节点U有NFW个前向邻居节点V1,V2,…,Vi,…,VNFW,节点Vi(1≤i≤NFW)的4个参数,即剩余能量、节点度、UVi与UH的夹角及Vi与U的距离,分别表示为REi、DGi、βi和ri,其中节点度是指邻居节点个数。前向邻居节点Vi的Fi值表示为

0≤βi≤θ, 0≤ri≤r, 1≤i≤NFW

(8)

式中,ω1、ω2、ω3和ω4代表REi、DGi、βi和ri的权重,其值由异构传感器网络的不同需求来确定,最终选择Fi值最大的节点作为节点U的下一跳节点。如果下一跳节点中有关键节点,则只在关键节点中选择Fi值最大的节点作为下一跳节点。如果U本身就是关键节点,则簇头节点即为下一跳节点。设F为所有Fi的最大值,即

(9)

能量均衡的簇内路由算法流程如图3所示。

图3 簇内路由算法流程图Fig.3 Routing algorithm in the cluster flow chart

由式(8)可以看出,当两个节点的REi、DGi、βi的值相同的情况下,ri越小,Fi越大,其意义在于当其他条件相同的情况下,选择距离簇头节点近的节点,可以更快地将数据传输到簇头。由图2可以看出,Vi和Vj的β值相同,节点U经过节点Vj到达簇头H的距离大于经过节点Vi到达簇头H的距离。由于控制节点的发射功率可以调整传输距离[15],以节省节点能量,因此从总能量消耗角度看,下一跳节点选择Vi更有利于能量的节省。对路由算法进行改进,缩短了数据从源节点到簇头节点的传输距离,从而减少了簇内节点总能量的消耗,并达到了能量均衡的效果。

2.2.3 簇间路由

由于簇头节点物理资源充足,本文采用贪心法[11]处理簇间路由算法,即每个簇头节点选择邻居节点中距离sink节点最近的簇头作为下一跳节点,重复该过程,最终将数据传输到sink节点。

3 基于动态路由的跨层密钥管理方案

当无线传感网部署在敌对环境下,节点数据很容易被窃取或篡改。在通信节点间建立共享密钥,用来对传输数据进行加解密,来保证数据安全,是密钥管理方案设计的核心。现有的无线传感网密钥管理方案可以分为基于对称密码体制和基于公钥密码体制两种。受传感器节点能量、计算性能和存储空间等性能的限制,无线传感网密钥管理多是基于对称密码体制的研究。相比较而言,公钥密码体制会引起大量的计算和通信耗费,曾被认为不适合资源受限的无线传感网的密钥管理。随着传感器技术的发展及轻量级公钥加密算法的改进,基于公钥密码体制的无线传感网密钥管理的研究也越来越受到关注[11,18-19]。

1985年,Kobltitz和Miller将椭圆曲线引入密码学,提出了基于椭圆曲线的公钥密码机制(elliptic curves cryptography, ECC),其安全性基于椭圆曲线上离散对数问题的安全性,160位的ECC密钥就可以达到RSA密钥1 024位的安全水平[18]。由于ECC具有密钥短且安全性高等轻量级特性,已有更多的研究[11,19]将椭圆曲线密码ECC用于无线传感网的密钥管理中。考虑到ECC的轻量级特性,本文异构传感网密钥管理方案采用ECC确定节点的公私钥对。

由第2节可知,簇结构是在部署传感器节点后,根据节点位置来确定的。节点和节点之间的路由关系,由源节点前向区间的节点剩余能量、节点度等4个参数来确定,因此每一次数据传输,都需要重新选择下一跳节点。采用基于对称密码算法设计的密钥预分配协议,无法保证两节点间密钥连通性达到100%。在第2.2节设计的路由算法基础上,构造了一个基于ECC的跨层密钥预分配方案,该方案与能量平衡的路由协议有效结合,最大限度地延长了异构传感网的生命周期。

3.1 能量平衡的会话密钥建立方案

在异构传感网部署之前,可信机构利用ECC为传感器节点(簇节点和簇头节点)产生公私钥对。簇头节点具有抗篡改性,为节省存储空间、简化设计思想,方案中所有簇头节点共用同一公私钥对。公私钥对初始存储情况如下:簇节点存储自己的公私钥对(PuK和PrK)和簇头节点的公钥UK;簇头节点存储空间足够大,存储自己的公私钥对(UK和RK)和所有簇节点的ID和对应的公钥PuK。

3.1.1 安全机制的簇结构初始化

假设异构传感网部署初期,即簇结构生成期间,网络状态是安全的,无需考虑数据安全问题。确定了簇头的簇节点需将包含其ID和地址Loc的消息告知簇头,该节点先采用椭圆曲线数字签名算法(elliptic curve digital signature,ECDS)[20]对该消息签名,并将签名加载在消息后面,一同发送给簇头。本文采用贪心法[11]实现消息的传递,即节点将带有数字签名的消息发送给距离簇头最近的簇节点,下一个节点采用同样的方法,直到数据到达簇头。经过一段时间,簇头节点获得了大部分簇节点的消息,簇头利用预存的簇节点的公钥,对收到的消息进行确认,最终将不属于本簇的节点信息删除。

3.1.2 簇内节点的会话密钥建立

异构传感网的簇结构生成后,簇(头)节点的PuK、ID和Loc是一一对应的。簇头节点首先采用ECDS算法,用它的私钥为存储在其中的簇节点的PuK、ID和Loc进行签名,签名表示为SignRK(PuK∥ID∥Loc),并将其发送给相应的簇节点。经过一段时间后,每个簇节点内都保存了簇节点信息及其签名。

异构传感网工作期间,簇内节点间的会话密钥建立过程如下:

步骤1簇节点U准备发送采集的数据时,首先以广播的形式发出请求,内容包括请求消息、簇节点PuK、ID、Loc和其签名,可表示为

U→*:

LocU,SignRK(PuKU∥IDU∥LocU)>

(10)

步骤2接收到节点U广播消息的簇节点Vi,由于预存储了簇头节点的公钥,对节点U的PuK、ID和Loc进行签名验证。如果验证通过,Vi根据簇头节点的位置信息,由式(5)确定自己是否属于节点U的前向邻居。如是其前向邻居,则利用式(8)获得它对应的Fi值。

步骤3Vi将本节点基本信息及其签名、Fi及其用Vi私钥的签名,传给节点U,可表示为

Vi→U:

IDVi, LocVi, SignRK(PuKVi∥IDVi∥LocVi)>

(11)

步骤4U接到Vi发来的信息后,验证Vi的基本信息,再用Vi的公钥进一步验证Fi值。然后选择前向邻居节点中Fi值最大的节点作为下一跳节点,此时源节点U和目的节点Vi都拥有了对方的公钥(PuKVi,PuKU)。

步骤5利用Deffie-Hellman原理,将自身节点私钥和对方节点公钥相乘,作为双方安全通信的会话密钥。即,U和Vi分别计算

KUVi=PrKU·PuKVi,KViU=PrKVi·PuKU

设E是有限域Zq上的椭圆曲线,α是E上阶足够大的点,可知

KUVi=PrKU·PuKVi=PrKU·(PrKVi·a)

(12)

式中,PrKU和PuKVi分别是U和Vi的私钥和公钥,a是生成元。

KViU=PrKVi·PuKU=PrKVi·(PrKU·a)

(13)

由于PrKU·PuKVi=PrKVi·PuKU,因此KUVi=KViU。

自此,节点U和Vi就协商生成了会话密钥(KUVi=KViU),其将作为对称加密算法的密钥对通信数据进行加密,达到了减少通信耗费的目的。一次U和Vi间的安全通信过程如图4所示。

图4 会话密钥建立过程Fig.4 Process of session key establishment

3.2 新节点的加入

可信机构将没分配的公私钥对分配给新节点W,并用簇头节点的私钥对该节点ID和公钥PuK进行签名,连同簇头节点公钥预置在新节点中。当新节点W随机部署到异构传感网中,首先发送一条寻找簇头的广播消息,数据格式为

W→*:

SignRK(IDW‖PuKW)>

(14)

接收到该消息的节点U首先通过签名验证该节点的合法性和数据的完整性,然后,U需将所在簇的簇头ID和地址Loc发送给W,为避免消息被篡改,传输数据格式为

U→W:

‖PuKU), IDH, LocH, SignPrKU(IDH‖LocH)>

(15)

即将被簇头签名的源节点的ID、地址Loc和公钥PuK及簇头的ID、地址Loc和它的源节点签名一起传递给W。W先用预存的簇头公钥验证源节点的公钥,然后用源节点的公钥验证簇头的ID和地址Loc。如果节点W收到多个节点发送的簇头信息,则存储最先获得的簇头信息,后面的簇头信息做备份。

新节点工作期间,如需将自己的地址信息告知对方,由于存储的簇头签名中没有地址信息,为防止地址信息被篡改,要用自己的私钥对位置信息签名,然后与其ID、PuK和簇头对ID和PuK的签名一起发送,数据格式为

W→*:

LocW, SignPrKW(LocW)>

(16)

假设妥协节点能被簇头检测出来,则簇头节点广播一条撤销消息,该消息包括妥协节点ID及簇头的签名。簇内节点通过存储的簇头公钥验证消息的真实性,一旦确认消息来自簇头,则记录妥协节点ID。之后,一旦有该妥协节点发来的消息,则拒绝接收。

4 性能分析

4.1 连通性分析

基于对称密码算法的密钥预分配方案,是将密钥预分配给节点或利用某种密钥生成材料为节点生成密钥,然后采取某种方案确定两个节点间的会话密钥。这种方案的密钥高连通率往往需要以存储空间为代价[5],且容易造成连通性越高,抗毁性越差。本文所提的跨层密钥管理方案利用椭圆曲线Diffie-Hellman(elliptic curves Diffie-Hellman,ECDH)算法为无线传感网路由上的有通信需求的邻居节点建立会话密钥,因此密钥连通率达到100%。

4.2 安全性分析

本文方案是利用Deffie-Hellman原理为节点U和V之间生成会话密钥,然后利用该会话密钥采用某种对称加密算法实现节点间的安全通信。针对Deffie-Hellman协议的攻击者,其攻击手段包括主动攻击和被动攻击。对称密钥管理方案中,通过抗毁性来判断两节点的妥协对其他节点安全通信的影响。因此,抗毁性、主动攻击和被动攻击3个方面分析方案的安全性,由于篇幅有限,这里只对被动攻击的安全性进行了形式化分析。

4.2.1 抗毁性分析

本文所提密钥管理方案是为具有动态路由关系的2个通信节点建立会话密钥,该会话密钥由通信双方公私钥决定的,由于节点预分配的公私钥不同,每一对通信节点之间的会话密钥也都不同,因此某个节点的妥协并不影响到其他节点间的通信安全。

4.2.2 被动攻击下的安全性分析

本方案密钥协商的安全性是基于椭圆曲线确定性Deffie-Hellman(elliptic curve decisional Deffie-Hellman,ECDDH)假设。下面对被动攻击下本方案中的Deffie-Hellman密钥协商过程的安全性进行分析。

E是有限域Zq上的椭圆曲线,q是大于3的素数,G是E的一个循环子群,α是G的生成元,o是α的阶,Q是概率多项式时间(probabilistic polynomial-time, PPT)敌手。

定义4[20]ECDDH问题

给定p1,p2∈G,1≤k1,k2≤o,Q是一个PPT,如果p1=α·k1,p2=α·k2,那么α·k1·k2=p1·k2=p2·k1。ECDDH问题是指,是否有一个p∈G,使得

|Pr[Q(G,q,α,α·k1,α·k2,α·k1·k2)=1]

-Pr[Q(G,q,α,α·k1,α·k2,p)=1]|≤ε

(17)

式中,ε是任意小的数。

定义5被动攻击安全模型 设Π是密钥交换协议,η是安全参数,Q是一个PPT敌手。假设存在一个以公共参数(G,q,α,PuKU,PuKV)和sk为输入,随机数为输出的PPT算法RND。考虑如下挑战者与敌手之间的游戏,记为EXQ,Π(η)。

初始化给定的安全参数η及随机数b∈{0,1},双方持有1η执行协议Π。敌手获得公开信息G,q,α,PuKU,PuKV和sk。

学习阶段如果b=0,则sk=KUV;如果b=1,选择算法RND生成sk=p。

最后,敌手输出b′∈{0,1},停止访问。

结束如果b=b′,输出1,否则输出0。

如果EXQ,Π(η)=1,敌手获胜。

密钥协商协议Π面对窃听者是安全的,对于任意PPT敌手Q,如果存在一个可忽略函数Neg,有

(18)

定理1如果ECDDH问题是困难的,那么密钥交换协议面对被动攻击的PPT敌手Q是安全的。

证明因为Pr[b=0]=Pr[b=1]=1/2,则

Pr[EXQ,Π(η)=1]=

-Pr[Q(G,q,α,PuKU,PuKV,KUV)=1])≤

-Pr[Q(G,q,α,PuKU,PuKV,KUV)=1] |

(19)

式中,G,q,α,PuKU,PuKV为敌手Q获得的公开信息。

如果ECDDH假设是困难的,则有一个可忽略的函数Neg,有

|Pr[Q(G,q,α,PuKU,PuKV,p)=1] -

Pr[Q(G,q,α,PuKU,PuKV,KUV)=1] |≤Neg(η)

(20)

因此,由式(19)~式(20)可得

(21)

式中,Q是一个被动攻击的PPT敌手;Π是密钥交换协议;η是安全参数;Neg是可忽略函数。

因此,根据定义5可以判断,被动攻击下,该密钥交换协议是安全的。

4.2.3 主动攻击下的安全性分析

由于没有认证功能,Deffie-Hellman协议不能抵抗中间人攻击。为了防止中间人拦截并篡改信息,所提方案增加了认证功能。簇头为每一个簇内节点的ID、位置和公钥生成了一个签名,由于节点预存了簇头节点的公钥,当节点将数据传输给另一个节点时,同时也将签名发送给对方。接收节点可以利用簇头的公钥对节点信息进行验证,有效地防止了中间人攻击下的信息篡改,保证了数据的完整性。

4.3 复杂性分析

在异构传感网的簇结构中,簇头节点是高性能节点,假设其计算资源足够大,因此只对低性能的簇节点的计算耗费进行分析。如图4所示,在节点间的一次安全通信建立过程中,簇节点的路由选择和密钥协商是同时进行的,其中的耗能运算主要是ECC中的密码运算,包括EEC的点乘运算、ECC公钥签名运算和ECC签名验证运算,分别用C(Mul)、C(Sign)和C(Ver)表示其计算耗费。

具体地,簇节点U在下一跳路由节点选择时,需要对NFW个前向节点发来信息进行验证,由式(11),将分别进行2次签名(簇头签名、前向邻居节点签名)验证,此计算耗费为2NFW·C(Ver);U在与下一跳节点进行会话密钥协商时,需要进行一次ECC点乘运算,由式(12),此计算耗费为C(Mul);同时,U也将作为其前向节点的路由对象,所以其还将进行NFW次签名运算,此计算耗费为NFW·C(Sign)。因此,本方案中簇节点总计算耗费C的值为

C≈NFW·C(Sign)+2NFW·C(Ver)+C(Mul)

(22)

式中,NFW是指前向邻居节点个数,Sign、Ver和Mul分别表示ECC中的签名、验证和点乘操作。

4.4 存储性分析

本方案与文献[11]所提方案所需的存储空间进行对比分析,过程如下。异构网中部署了m个高性能节点和n个低性能节点,其中n要远大于m。在所提方案中,网络部署之前,低性能节点预置一对公私钥对和高性能节点的公钥,则n个低性能节点共存储了3n个密钥。高性能节点除了存储自己的公私钥对外,还存储了所有低性能节点的公钥,则m个节点共存储了(2+n)m个密钥。则异构网中所有节点的密钥存储总数3n+(2+n)m。在始化部署确定了簇结构后,簇头节点把不属于本簇的节点公钥删除,仅保留簇内节点的公钥。此时,网内节点的密钥总数为3n+2m+n=4n+2m。文献[11]提出的集中式ECC和分布式ECC两种密钥管理方案,所需的密钥个数分别是 (m+2)n+3m和2n+3m。部署初期,将本文方案与上述两方案的密钥存储空间进行对比,由于n值要远大于m,本文方案密钥存储耗费要大于文献[5]所提方案。簇结构确定后,本文方案与文献[5]对比可知,当m的个数大于1时,本文方案优于文献[11]的集中式ECC密钥管理方案,但高于文献[11]的分布式ECC密钥管理方案。假设异构网络部署中高低性能节点个数比例为1∶50,本文方案与文献[11]所需密钥个数对比如图5所示。

图5 与文献[5]方案密钥存储对比图Fig.5 Contrast with key storage of scheme of Ref.[5]

本文方案存储需求始终高于分布式ECC方案,节点数量不足100时,如图5(a)所示,本文方案所需存储空间高于集中式ECC方案,但当节点数量超过100时,如图5(b)所示,簇形成后所需的密钥存储空间介于集中式ECC密钥管理方案和分布式ECC密钥管理方案之间。

4.5 能耗分析

传感网中数据传输是节点能量消耗的主要因素[21],第4章只对方案中节点发送和接受数据所消耗的能量进行分析。对计算和消息处理时的能耗忽略不计。由文献[21]提出的能量消耗模型可知,两节点间发送数据,节点能耗与发送数据大小和两节点间距离有关。节点发送数据的能耗Et可表示为

(23)

式中,Ee是发送电路损耗能量;Ea是发送放大电路能耗;dij是源节点i和目的节点j的距离;k是发送数据大小。

节点接收数据的能耗Er表示为

Er=k·Ee

(24)

用Et和Er表示簇节点发送和接收数据时产生的能耗。由于簇头节点能量资源不受限制,簇头能耗不作分析。簇结构建立初期,每一个簇节点确定了所在簇后,需要将节点信息及其签名发送给簇头,此时发送数据大小为k=568b,能耗为1Et。簇头接收到簇内各节点信息后,用私钥对簇节点公钥等信息进行签名,然后将该签名发送簇内各个节点,簇节点接收该消息,此时能耗为1Er。簇节点工作期间,需广播其地址、公钥等信息及其签名,此时能耗为1Et,前向区间节点计算出本节点的F值,并将F连同该节点基本信息及他们的签名传给该簇节点,簇节点接收能耗为2NFWEr,NFW为前向区间节点个数,dij的最大取值为r。由此,节点与通信节点建立共享密钥过程中所需能耗为

E=2Et+(1+2NFW)Er

(25)

由式(7)、式(23)~式(25),可得

(26)

参数如表2取值,式(26)可得

E=28.4(3+2Nr2cos-1(r/2d)/(180R2))+0.113 6r2 (27)

设簇头半径R和簇节点半径r分别取值200和50,dij的最大取值为r。令簇内节点个数N在100到200内变化,节点距离簇头越近,即d值越小,其前向区间越小,则耗能越小,与文献[5]方案能耗对比如图6所示。

图6 与文献[5]方案能耗对比图Fig.6 Compare with energy consumption of Ref. [5]

但在这种情况下,前向区间的变化不是很大,因此能耗相差也不是很大,如图6(a)所示。簇头半径R为200,簇节点通信半径r分别取值50和100,簇内节点个数N从100递增到200,增量为10。由于前向区间变大,前向邻居节点数目增多,节点耗能也随之增加。可以看出,节点半径的变化对于能耗的影响较大,如图6(b)所示。

在文献[5]的分布式ECC密钥管理方案中,节点需将带签名的地址信息传给簇头,此时能量耗费为1Et,当簇头节点确定了树形结构,要将该结构及公钥签名一起发给簇节点,此时簇节点能耗为1Er。簇节点要与邻居节点交换带签名的公钥,设邻居节点个数NFW最少2个,最多有Nr2/R2个。此时最小能耗Et+2Er,最大耗费为Et+Nr2/R2Er。由此,节点与通信节点建立共享密钥过程中的能耗为

(28)

由式(23)和式(24),可得

(29)

由表2可得

(30)

由图6可以看出,节点数目相同的情况下,对于建立节点共享密钥过程中的能耗,所提方案介乎文献[5]方案邻居节点最少和最多2种情况之间。

5 结 论

考虑到异构传感网中受限的传感器能量资源,为均衡节点能量,延长网络生命周期,提出了一个能量平衡的跨层密钥管理方案。方案在保证能量平衡的基础上建立了异构传感网的动态路由算法,基于动态路由确定了节点间安全通信的会话密钥,从而实现了密钥管理的跨层设计。该方案有效地保证了节点间的连通性和安全性。分析结果表明,本文所提方案比文献[5]提出的集中式ECC密钥管理方案更节省存储空间,保证了传感网能量平衡的同时,节点能耗在一定程度上优于文献[5]的跨层密钥管理方案。

猜你喜欢

公钥异构传感
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
试论同课异构之“同”与“异”
吴健:多元异构的数字敦煌
一种基于混沌的公钥加密方案
IPv6与ZigBee无线传感网互联网关的研究
神奇的公钥密码
P2X7 receptor antagonism in amyotrophic lateral sclerosis
异构醇醚在超浓缩洗衣液中的应用探索
LTE异构网技术与组网研究