徐 震, 李秋苇, 杨 蕾
(武汉轻工大学 电气与电子工程学院,湖北 武汉 430023)
随着微电子技术和物联网技术的发展,无线传感器网络(wireless sensor network,WSN)受到了越来越多的关注。在WSN中,部署在监测区域内的传感器节点,将监测结果通过多跳方式送达汇聚节点或基站。WSN的应用场景非常广泛,目前已经应用于医疗服务、环境管理、家居智能和交通等领域[1-4]。由于无线网络的广播特性,使得WSN容易遭受窃听和仿冒等各种恶意攻击。随着WSN的广泛应用,WSN的安全性问题受到越来越多的关注。
WSN安全机制包括节点认证、入侵检测、密钥管理和安全路由,其中,密钥管理是WSN安全的核心[5]。近些年来,许多学者提出了基于密钥管理的WSN安全方案。文献[6]提出了一种基于随机概率的密钥预分配方案,该方案安全性较低,一旦有节点被捕获,会使很多密钥被泄露。文献[7]对文献[6]的方案进行了改进,提出了q-composite预分配方案,该方案使用q个共享密钥,适应网络的动态性能较差。文献[8]提出了基于对称多项式的密钥预分配方案,该方案通过引入对称多项式,有效地提高了网络的安全性,却增加了节点的存储开销和计算开销。文献[9]提出了以椭圆曲线为基础的密钥管理方案,该方案应用椭圆曲线加密,在基站到簇头、簇头到成员节点之间建立安全通信链路。文献[10]针对分簇式无线传感器网络拓扑结构,基于互斥基底系统(exclusion basis system,EBS),设计了一种动态密钥管理方案。文献[11]为增强节点间的连通性,提出了辅助密钥的概念,并将其与EBS方案结合起来。为进一步增强WSN的安全性,文献[12]提出了一种动态密钥管理方案,该方案虽然避免了一些恶意节点的攻击,但是由于网络需要不断地更新密钥,密钥更新之后节点之间需要重新建立密钥链接,会增加网络的能量消耗。
以上的密钥管理方案都是针对静态WSN而言的,忽略了节点在移动场景下的安全性。本文针对现有密钥管理方案开销大和抗毁性较低,难以支持动态无线传感器节点等问题,结合EBS的优点,基于分簇型网络提出了一种新的密钥管理方案。该方案能够很好地满足移动场景下的无线传感器网络安全需求。
2004年,文献[13]提出了一种基于组合理论的EBS密钥管理方案,该方案定义了3个参数,分别是N、K和M,且K>1,N>M。N、K、M均为正整数,其中,N代表该组中节点数量,K代表单个节点存储的密钥个数,M是节点被攻击或捕获后替换原有密钥所需要的密钥数,K+M代表节点中储存的总密钥数。EBS(N,K,M)表示在N个节点的安全通信组中, 每个节点都含有由K个密钥组成的密钥组合,且和该组中的其他节点所含的密钥组合不相同。
在由N个节点组成的N元安全通信组中,每个节点存储K+M个密钥。使每个节点被分配一个由K个密钥组成的密钥组合,且对于任意节点t∈[1,10] = {1,2,…,10},每个节点使用的密钥组合均不同于其他节点。对密钥进行排列组合,密钥组合总个数为C(K+M,K),并且需要满足C(K+M,K) >N,使得每个密钥都能分配到密钥组合。当某一节点被捕获时,假设该节点的K个密钥都已经被泄漏,利用剩余的M个密钥便可以替换掉这K个密钥,即C(K+M,K)=C(K+M,M),剩余的N-1个节点中至少包含M个密钥中的一个。
例如,EBS(10,4,2),该组有10个节点,从6个密钥中选取4个组成密钥组合。使用规范枚举技术来构建EBS的子集,包含C(K+M,K) =C(6,4)=15种方法的枚举,EBS(10,4,2)的枚举矩阵如表1所示。
表1中的每一列对应于子集Ti,其中该行中的条目1表示相应的节点存在于该子集中。
表1 EBS(10,4,2)的枚举矩阵
对于N=10的安全通信组,每个Ti(i=1,2,…,N)预分配4个密钥,当T1节点被捕获时,T1持有K1、K2、K3、K4密钥,假设这些密钥已经泄露并需要删除,K5或K6是除T1以外的节点都含有的密钥,因此K5、K6成为了更新密钥。于是产生两条更新消息:
在WSN中,网络由汇聚节点、簇头和普通节点组成。汇聚节点和簇头是静止的,普通节点可以有移动性。基站是可信的,有无限的能量和强大的通信能力。每个传感器节点必须在汇聚节点注册过后,才能成为合法的节点。簇头相比于普通节点具有较多的能量和较强的计算通信能力。汇聚节点负责为簇头和普通节点产生簇密钥和对密钥。
当节点完成部署后,向汇聚节点报告其位置信息,然后开始选择簇头。根据簇头选择算法[14],每个节点决定其是否能够担任簇头。当簇头选定后,假设节点Ni成为簇头,节点Ni广播一个簇头信标(CH_BEACON)。当相邻节点Si接到簇头的消息时,在多个簇头中选择一个距离最近、信号强度最强的簇头,并向该簇头发送CH-Request消息申请加入该簇,簇头回复ACK帧进行确认。当所有成员加入以后,由簇头为所有成员节点分配身份标识ID。
无线传感器网络拓扑结构见图1。网络由3个簇组成,每个簇包含一个簇头。Ch1、Ch2和Ch3分别是簇C1、C2和C3的簇头。Ch1包含成员1~4,Ch2包含成员5~8,Ch3包含成员9~13。簇建立后,簇头向汇聚节点发送其簇内所有成员节点的身份信息。M1、M2和M3是由Ch1、Ch2和Ch3向汇聚节点发送的簇信息:
图1 无线传感器网络拓扑结构
M1={
M2={
M3={
汇聚节点收到M1、M2和M3后,为网络中的每个簇分配簇密钥。图1中,簇头Ch1、Ch2和Ch3获得的簇密钥分别为KCh1、KCh2和KCh3。从汇聚节点获取簇密钥后,每个簇头收到基于EBS的成对密钥集。
EBS密钥集包括簇头与其成员之间的成对密钥Kij,以及用于簇头之间的成对密钥KChij,由簇密钥加密。
1.3.1 簇内通信
簇头使用簇密钥解密由汇聚节点发送的对密钥,并将其分发给簇成员。为了在簇头与成员节点之间建立安全通道,簇头向成员节点发送hello消息。基于成员节点的确认消息,簇头与其成员之间建立了一条安全路径。如果C1的节点1想要与同一簇的节点3通信,则簇头1将把对密钥分配给节点1和节点3。
接下来在两个节点之间建立一条安全路径。节点1收到簇头的hello消息后进行确认,
接着,节点3收到簇头的hello消息后进行确认,
通过簇头,节点N1和N3之间建立一条用于通信的安全路径。
1.3.2 簇间通信
当簇内的成员节点与另一个簇的成员节点通信时,簇内成员首先和本簇簇头通信,然后进行簇间通信。对于两个簇之间的通信,簇头使用从EBS密钥集中获取的对密钥KChij。在簇头间分配对密钥之后,源簇头向目的簇头发送一个hello消息。在接收到来自目的簇头的确认消息后,源簇头与目的簇头之间建立一个信道。
图1中,如果C1的节点2想要与C3的节点10通信,簇头Ch1将对密钥K12分配给节点2,簇头Ch3将对密钥K310分配给节点10,然后在C1的簇头Ch1和节点2、C3的簇头Ch3和节点10、簇头Ch1和簇头Ch3之间建立安全信道。
在移动场景中,无线传感器网络中的一些传感器节点在网络中随机移动。如果传感器节点从一个簇的通信范围移动到另一个簇,汇聚节点需要执行相应的密钥管理操作。假设簇Ci中的成员节点Sm由于某种原因需要离开当前簇。
(Ⅰ)节点Sm在新的位置广播入簇请求消息,在所有收到的簇头应答消息中,选择距离该节点最近的簇头Chj。
(Ⅱ)节点Sm向汇聚节点发送Request消息。Request消息包括自身的ID、旧簇头Chi的ID、新簇头Chj的ID和由Sm产生的随机数Rm。为确保消息的可靠性,使用密钥KSm给Request消息的内容生成消息验证码(message authentication code,MAC)。
(Ⅲ)汇聚节点接收到Request消息后,检查节点Sm的信息以确保其合法性。如果Sm是合法的节点,则汇聚节点用KSm验证MAC。验证成功后,汇聚节点使用EBS生成对密钥Kmj和Kii,Kmj和Kii密钥分别用于簇内和簇间通信。
(Ⅳ)汇聚节点产生一个随机数RS,并生成一个消息。 该消息由节点Sm的ID、对密钥、新簇头Chj的ID、节点Sm与汇聚节点产生的随机数Rm和RS组成。消息用簇密钥加密,并发送至新簇头Chj。
(Ⅴ)簇头Chj收到Sink的消息后,使用簇密钥进行解密获取成对密钥。然后向节点Sm发送一个确认消息,通知它已经正式成为该簇成员。确认消息包括节点Sm,汇聚节点生成的随机密钥、对密钥、节点ID和簇头ID。
(Ⅵ)节点Sm用它的原始随机数验证随机数Rm,使用KSm验证MAC,并恢复对密钥。最后,Sm通过向新簇头Chj发送ACK消息加入新簇。
图2 基于节点移动性的密钥管理
(Ⅶ)旧簇头Chi由于在指定的时间内没有收到节点Sm的消息,判定该节点已不是该簇成员,将节点Sm从本簇移除。
基于节点移动性的密钥管理见图2。图2中,簇C1的节点S2离开Ch1的传输范围。S2向Sink节点发送请求消息。Sink节点收到请求消息后,检查该节点的合法性,并为点S2生成簇内和簇间通信成对密钥。生成的密钥通过消息被发送到簇C3的簇头Ch3。Ch3向节点S2发送确认消息,节点S2向簇头回送ACK消息。最后,节点S2加入簇C3并成为该簇的成员。
本文将对安全连通性、存储开销、对捕获节点的抵抗性这3个重要性能指标进行分析。
在无线传感器网络中,网络的安全连通性表示传感器节点与其通信范围内节点之间能够建立共享密钥的概率。
本文提出的密钥管理方案是基于EBS的,汇聚节点负责给簇头节点分发EBS密钥,假设簇头节点存储的密钥个数为k,没有被分配给簇头节点的密钥个数为m,则安全连通性为:
(1)
在HaG密钥管理方案[15]中,安全连通概率为:
(2)
其中:m为密钥池中总密钥的数量;n为每个节点密钥的数量。
图3 节点所含密钥数量与节点连通率的关系
节点所含密钥数量与节点连通率的关系见图3。图3对HaG方案和本文方案连通率进行了比较。当网络中总密钥数量一定时,HaG方案的节点连通率随着节点密钥数量的增加而提高。但当节点所含密钥数量达到一定程度时,连通率处于饱和状态。而在本文方案中,只需要存储很少的密钥就能获得很高的连通率。当节点存储的密钥数量超过k+m的1/2时,连通率为1。
图4 本文方案与HaG方案对捕获节点的抵抗性对比
无线传感器网络中存储空间有限,因此,要求所设计的密钥方案存储开销要尽可能小。假设网络区域为300 m×300 m,节点的数目为n,节点的平均邻居节点数目为b。k是本文方案中分配给每个节点的密钥数量,则本文方案中节点的存储开销为k+b+1。HaG方案中,总密钥数量为m,每组密钥数量为g,节点的存储开销为m/g。在本文方案中,节点密钥存储开销与网络的节点密度有关。基于本文仿真实验环境中有限的区域,本文方案中节点的密钥存储开销低于HaG方案。
在无线传感器网络中,攻击者可以通过捕获节点部分密钥的方式来获取网络其他节点的密钥。对捕获节点的抵抗性是衡量无线传感器网络健壮性的重要指标。在仿真实验中,攻击者在每一轮中分别随机捕获1个和3个节点,并试图获取被捕获节点的其他密钥。图4是本文方案与HaG方案对捕获节点的抵抗性对比分析结果。图4结果表明:本文方案抗捕获性优于HaG方案,因为本文方案中每对节点间存在不同的对密钥,某个密钥被捕获,不会影响其他节点的安全。
本文针对分簇型无线传感器网络,提出一种基于EBS的密钥管理方案。方案给出了密钥的建立和更新、节点间通信的实现过程,并针对移动节点给出了密钥解决方案。相比HaG方案,本文提出的密钥管理方案能够明显地提高网络安全连通性和对捕获节点的抵抗性。