APP下载

一种基于能量合作的异构传感网密钥管理机制

2020-07-06张晓荣

关键词:公钥路由密钥

刘 宣, 张晓荣, 许 勇

(安徽师范大学 计算机与信息学院,安徽 芜湖 241000)

引言

无线传感器网络(Wireless Sensor Networks,WSN)是由大量的传感器节点组成的,每一个传感器节点都具有体积小、价格便宜、具有无线通信和监测能力等特点。无线传感器网络在军事、国土安全、医疗保健、环境、农业、制造业等许多领域都有应用。早期的研究主要考虑同构传感器网络,即每个传感器节点都有相同的性能。然而,理论研究[1-2]和仿真实验[3]表明,同构传感网在性能上存在瓶颈。由于传感器网络在应用上的特殊性,节点通常被部署在无人区或者敌方区域,所以传感器网络的安全变得至关重要。在无线传感器网络安全领域中,密钥管理问题引起了人们的关注。

根据方案所依据的加密技术,WSN密钥管理可以分为对称密钥管理和公钥密钥管理两类。对称密钥管理所使用的对称密钥长度较短,通讯、计算和存储开销较小,然而其密钥协商较复杂。公钥加密算法曾被认为不适用于WSN,因其使用的公钥加密对传感器存储、通信和计算开销要求较高。随着研究的深入,人们发现了一些改进的公钥加密算法可以应用在WSN中。

图1 异构传感器网络Fig.1 Heterogeneous sensor networks

Du X.[4]提出了一种基于椭圆曲线密码学(Elliptic curve cryptography)的密钥管理机制(以下简称Du-ECC)。在Du-ECC中,节点只与通信邻居节点建立连接,减少了建立连接的开销。若邻居节点C在A通往sink的链路上,则C是A的通信邻居。簇内采用基于最小生成树的路由结构进行数据传输,节点间采用基于ECC的密钥协商减少了建立连接的开销,提高了网络的安全性,采用集中式或分布式方式建立共享密钥。然而集中式的路由协议可能会使某条链路一直被使用,加速其能量消耗。由于节点通常由不可替换的电池供电,网络的生命期随着节点能量的耗尽而结束。

在无线传感器网络中,由于其多对一的流量模式使得传感器网络能量不均衡,离sink近的节点会承担大量的数据转发,加速其能量消耗。如图1所示,A节点不仅要将自身数据传送给sink节点,还要转发来自B的数据。Gurakan等人[5]提出了能量合作技术,Kang等人[6]提出了三种能量合作模型:能量预支付合作传输、能量租借合作传输和能量租借直接传输。通过能量合作,避免了某些节点因能量耗尽而过早死亡,延长了网络的生命期。

基于上述分析,本文提出一种基于能量合作的的异构传感网密钥管理机制(以下简称HECC)。在HECC中,各传感器节点只与他们的通信邻居建立连接,并采用能量均衡路由进行数据传输,平衡了节点寿命。同时采用能量合作技术延长了网络的生命期,并提高了网络安全性。

1 相关工作

针对对称密钥体制密钥管理问题,文献[7]提出了一种基于部署知识的随机密钥预分配机制,提高了网络的安全性和连通性,但存储开销过大。文献[8]对随机密钥预分配的初始化阶段进行改进,提高了它的安全性,然而并未解决存储开销过大的问题。文献[9]提出了一种基于多元非对称多项式的密钥管理方案,该方案安全性较好,同时支持邻居节点的身份认证,但其计算开销、通信开销和存储开销过大。文献[10]提出了一种分组部署方案,将异构传感网部署区域分为六边形分组区域,简化了密钥池的划分,对各个分组分别部署密钥,提高了节点安全连通率,但其抗捕获攻击能力较差。

随着ECC在无线传感网密钥管理中的应用,Kishore等人[11]提出一种基于ECC的密钥预分配方案。其安全强度在计算意义上要远远高于传统的基于对称密钥的密钥管理方案,降低了存储开销和能量消耗,提高了网络连通率,但无法实现节点的动态增加和密钥的实时更新和回收,不适用于动态WSN。文献[12]提出了一种基于ECC和自认证公钥的密钥协商协议。该协议减少了计算和存储开销,提高了网络的安全性,但可扩展性较差。Jiang和Liu[13]提出了基于ECC的密钥管理方案。此方案主要采用了身份认证和ECC两种技术,连通性能达到100%,并且支持节点的动态加入和撤销。但是没有很好的解决簇头的选择问题,容易导致节点能量的耗尽。Louw等人[14]提出了一种基于ECC的密钥分配机制。该机制类似于扩展的客户-服务器体系结构,使用系统密钥对节点身份进行认证,具有良好的灵活性和可扩展性,但实施起来较为复杂。Karunkaran[15]对Du-ECC的路由方案进行改进,使用Shamir秘密分割技术对信息进行分割后随机扩散,增强了链路的可靠性,然而计算开销过大。

2 基于能量合作的的异构传感网密钥管理机制(HECC)

假设异构传感网主要有三种不同类型的节点:大量普通节点、少数簇头节点和一个sink节点。各节点都具备ECC和对称密钥(如AES)计算能力,并且普通节点具有能量收集功能,即可以从周围环境中收集能量来补充自身能量。与普通节点相比,簇头节点在安全性、存储能力、计算能力、传输范围等方面有较大的提高,并配备有防篡改硬件。在部署时簇头节点可以跟普通节点一样采取随机抛洒的方式,我们认为普通节点和簇头节点是均匀随机分布的。每个普通节点和簇头节点都预分配一对唯一的基于ECC的公私钥对。此外簇头节点还存储着sink的公钥。sink节点被认为具有足够的能量、存储能力和计算能力,存储着所有簇头节点ID和对应的的公钥,同时自身也预分配了一对基于ECC的公私钥对。

2.1 符号

为了表述方便,下面列出在本文中所使用的符号:

C表示普通传感器节点,其中C是A的通信邻居;

ID表示普通节点或簇头节点的身份;

H表示簇头节点;

P表示一个节点的公钥,S表示一个节点的私钥;

Ek(...)表示用密钥k对括号内的消息进行加密;

Es表示发送数据包消耗的能量;

Er表示接收数据包消耗的能量;

n表示通信邻居节点个数;

Serial表示序列号,随着节点发送信息的次数递增。

为了便于描述,本文作了如下定义:

前向邻居节点与后向邻居节点:若邻居节点O是N到sink的下一跳邻居节点,则N是O的前向邻居节点,O是N的后向邻居节点。

2.2 能量合作

能量合作指的是在能量收集型传感器网络中,节点之间将收集的能量以无线能量传输的方式进行能量共享[16]。

如图2所示为能量收集型合作网络模型,该网络主要由三种类型的节点:源节点(S)、合作节点(C)和目标节点(D)。所有的节点都具备从周围环境中收集能量的能力。节点由两大模块组成:

能量收集模块:该模块主要用于节点能量的收集和存储。

信息传输模块:该模块主要功能是节点之间信息传输。节点间存在如下合作方式:

数据传输合作:如图3所示,在网络初始化阶段,各节点能量充足,节点间以数据传输合作的方式进行能量合作。在数据传输合作中,源节点S与合作节点C共同完成信息的传输。作为源节点S到目标节点D的中继,合作节点C不仅接收来自源节点的信息,也接受来自源节点的能量。在传输开始前,S根据数据包大小计算发送所需能量,并将能量和数据包发送给C,减少了中继节点转发数据的能量损失。

图2 能量收集型合作网络模型

图3 数据传输合作

能量合作:由于数据传输的单向性,节点的能量总是低于其前向邻居节点。当某些节点剩余能量低于某个阈值(假设为Emin)时,我们认为节点可用能量不足,进入能量合作阶段。在该阶段,各节点向其前向邻居节点发送能量请求报文请求能量传输,各节点根据他们的能量状态承担其后向邻居节点的能量补充任务。

2.3 簇的形成

本文假设在初始化阶段,所有传感器节点都是合法的。所有H随机延迟一段时间后向周围的节点广播Hello信息,随机延迟可避免临近簇头节点之间信息的干扰。Hello信息包括H的ID、位置和公钥PH。由于H是均匀随机分布的,周围的节点都能收到一个或多个H的Hello信息。节点A选择信号强度最好的Hello信息的发送者作为自身H并存储其公钥PH,接收到的其它Hello信息的发送者可作为备用簇头节点,然后向簇头发送用PH加密的自身的ID、位置和公钥。簇头收到簇内其它节点的公钥信息后解密进行存储。

若节点A在部署后一段时间内没收到Hello信息,它将向周围广播探测信息。当通信邻居节点C收到探测信息后,将随机延迟向探测者发送响应信息,响应信息包括自身H的ID和位置。A收到响应信息后可将C的H作为自己的H,最终所有节点都能找到自己的H。为了减少能量消耗,A收到响应信息后不必回复C。

2.4 基于能量合作的能量均衡路由

本文采用能量合作技术构建能量均衡路由,具体合作算法如下:

①所有节点定期向邻居节点广播汇报自身能量状态。

②节点A根据其后向邻居节点的能量状态,从中选择能量最高的节点作为其中继,采用数据传输合作的方式进行合作。传输的能量Et可用以下方式计算:

Et=Es+Er(由于能量传输损失,接收到的能量略少于发送的能量)。

③若一段时间后,节点R当前可用能量低于Emin,进入能量合作阶段。它将向其前向邻居节点请求能量大小为Ec的能量传输。为了达到较好的能量均衡,能量传输总量Ec可用以下方式计算:

Ec=Sum/(n+1);其中Sum为其邻居节点可用能量之和。

同时各节点根据它们能量在Sum中的比重分担能量传输任务。

2.5 共享密钥生成

图4 共享密钥生成Fig.4 The generation of shared keys

为了减少计算开销,节点之间用对称密钥加密进行通信。在通信开始前要进行密钥的协商。如图4所示,A向H发送消息1向H请求C的公钥,并用自身私钥进行加密。H收到消息后解密然后向节点A发送消息2,并用自身私钥进行加密,然后向节点C发送自身私钥加密后的消息3。节点A与C获得对方的公钥后即可用通信密钥进行通信,A与C之间的通信密钥KAC为PA⊕PC=PC⊕PA。

2.6 密钥的更新

为了避免重放攻击影响密钥的更新,所有的密钥更新信息可加上唯一的序列号。当传感器节点因为某些原因(能量耗尽、被捕获、物理损害)退出原有网络时,为了接替这些传感器节点的工作,系统需要及时补充一批新的节点。旧节点退出时新节点A根据能量均衡路由选择恰当的通信邻居节点C,并将自身公钥、位置和ID通过Hello信息发送给C,C经过多跳转发后将该消息传输到簇头节点,簇头节点收到后即向A传输自身公钥。为了保证信息的前向安全性,簇头应及时对簇内密钥进行更新。簇头节点随机生成更新密钥KU并发送给其邻居节点,能量均衡路由确保了中继节点不会因能量耗尽而失效。邻居节点收到后进行逐跳转发,直到所有节点都收到KU。A和C收到KU后设置新的共享密钥为KAC⊕KU=KCA⊕KU。此外,为了降低节点捕获攻击的危害,网络应定期对密钥进行更新,密钥更新过程与新节点加入相同。

3 性能分析

下面从存储开销、网络生命期和安全性方面用matlab对HECC进行仿真分析并与Du-ECC进行对比。

3.1 存储开销分析

假设异构传感网部署了m个H和n个普通节点,则Du-ECC集中式和分布式密钥管理方案存储密钥总数为(m+2)n+3m和2n+3m。HECC由于在初始化阶段簇头节点只存储簇内节点公钥,避免了无关节点占用其存储空间,其存储密钥为(4n+2m),假设m∶n=1∶50。HECC与Du-ECC的密钥存储对比如下图。

图5 普通节点个数为50-300个

图6 普通节点个数为1000-2000个

Fig.6 The number of nodes is between 1000 and 2000

由图5和图6可知,HECC存储密钥总数始终高于分布式Du-ECC。当普通节点数目不足100时,HECC存储密钥数高于集中式Du-ECC方案。当节点数目超过100时,HECC存储密钥数介于集中式Du-ECC和分布式Du-ECC之间。

3.2 网络生命期

3.2.1 节点剩余能量 我们采用图1所示的网络拓扑,假设每个普通传感器节点预分配了1.8*105mW的能量。Et=80mW,Er=30mW,空闲能量消耗为10mW。假设各节点每一小时进行一次数据传输,只考虑数据传输的能量消耗,采用太阳能收集技术为节点补充能量,太阳能电池板面积(sp)分别为2cm2、3cm2、4cm2,其收集效率为30mW/cm2。图7揭示了节点D剩余能量与时间的关系。

由图7可知,能量收集技术的引入增加了节点的剩余能量。若不使用能量收集技术,则2000h后D节点将因失去能量而无法工作。能量收集技术的引入使得传感器节点的能量不一定会减少,反而可能随着时间增加,延长了网络的生命期。

3.2.2 节点能量消耗速率 由于在无线传感网中存在能量不均衡问题,“木桶效应”大大减少了网络的生命期。若不考虑能量收集,则图1中A的消耗速率为420mW/h,然而C和D的消耗速率仅为90mW/h,这意味着C、D的生命期是A的4.7倍。为了减少中继节点因转发数据大量消耗自身能量,节点间以某种概率采用能量预支付直接传输合作模型。表1为节点能量消耗与能量传输效率的关系。

图7 节点剩余能量随时间的变化

表1 节点能量消耗速率与能量传输效率的关系

由表1可知,随着能量传输效率的提高,中继节点因转发数据包而损失的能量逐渐降低。因此,能量平衡路由避免了节点的能量不均衡性,提高了通信链路的可靠性,相应地提高了密钥更新的成功率。由于A下一跳是簇头节点,而簇头节点被认为能量充足,因此A不需要采用数据传输合作。

3.3 安全性分析

与E-G等基于对称加密算法的密钥管理机制相比,Du-ECC有明显的优势。各个传感器节点之间的密钥互不影响,捕获某个节点不能对其他节点产生影响,因此能很好地抵御节点捕获攻击。然而其在安全方面存在一些缺陷。首先,基于最小生成树的集中式路由会使网络因为节点能量耗尽而频繁更新,在更新期间容易遭到非法用户的干扰和入侵,HECC通过均衡节点能量提高了密钥更新的成功率。其次,由于节点能量的增加,HECC提高了Du-ECC节点的抗能量攻击(如DoS)能力。为了避免重放攻击对网络的影响,对传输的信息加上了唯一的序列号。因此,HECC提高了Du-ECC的安全性。

4 结束语

本文提出了一种基于能量合作的异构传感网密钥管理机制。在能量收集型传感器网络中,节点采用能量合作技术平衡能量消耗,使用能量均衡型路由进行数据传输。节点使用ECC对传输的密钥加密,产生用于对称加密的共享密钥,然后使用对称加密算法对传输的数据进行加密。性能分析表明,该机制减少了密钥存储开销、延长了网络的生命期,并提高了网络的安全性和密钥更新的成功率。然而能量合作技术的引入带来了新的安全问题,下一步可考虑提高能量合作型网络的安全性。

猜你喜欢

公钥路由密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
数据通信中路由策略的匹配模式
路由选择技术对比
OSPF外部路由引起的环路问题
路由重分发时需要考虑的问题
TPM 2.0密钥迁移协议研究
神奇的公钥密码
国密SM2密码算法的C语言实现