关键词:无线传感器网络 节点安全 成簇机制 身份认证
1 引言
无线传感器网络WSN (Wireless Sensor Networks, WSN)是一种全新的信息获取、处理和传输技术,通常包含大量的分布式传感器节点。由于无线传感器网络具有组网快捷、灵活,不受有线网络约束的优点,可用于紧急搜索、灾难救助、军事、医疗等环境中,其应用前景非常广泛 [1]。无线传感器网络的分布特点和资源有限因素导致其在物理上存在安全隐患,正常节点容易被占领而变为恶意节点。恶意节点表现为故意发布错误信息,虚假信息或延迟信息,造成其他节点能量快速耗尽;同时,恶意节点甚至进行节点路由误导,迫使节点间转发信息中断等等。因此,无线传感器网络的节点安全问题是其研究内容的一个重要部分。近几年,针对传感器网络节点安全问题出现了多种分簇机制[2-6],将网络划分成若干个簇,每个簇由一个簇首和若干成员节点组成,实现网络中节点层次化管理,对于节点安全问题起到了积极作用。
本文以解决传感器网络的节点安全为研究目的,借鉴基本的随机密钥预分配模型和有效的密钥管理技术实现网络在成簇阶段进行恶意节点的识别和剔除;同时,增加节点和簇头的安全认证以及重新分簇方法增强节点的安全性。该分簇机制能够有效降低恶意节点对网络的破坏性,进而提高节点和网络数据传输的安全性。
2 研究现状
在无线传感器网络中,簇的形成主要有静态和动态两种,其中动态以基于LEACH的算法为代表,而静态的则以SCRP方法为代表。LEACH 协议算法[2]是一种经典的无线传感器网络成簇算法,为了平衡节点能耗,所有节点轮流充当簇首。网络周期性地进行簇首选举,每一个周期称为一轮(round)。每轮又分为“建立阶段”和“稳定工作阶段”。在每轮的建立阶段,各节点按一定的概率成为簇首节点。它的成簇思想贯穿于其后发展出的很多分簇路由协议中。然而LEACH 算法也存在不足之处:由于LEACH假定所有节点都能与基站直接通信,采用的是单跳路径选择模式,故对虚假路由、槽洞、虫洞等攻击没有防御能力;而且,一旦有外部恶意节点伪装成合法节点,或合法节点被攻击者俘获,便能对网络实现以上的各种攻击。所以在成簇过程中,需要解决识别并排除恶意或被俘获节点的问题。此外一旦簇形成之后,簇的结构就不再改变,簇内节点根据簇首列表依次成为簇首,不能动态处理节点的加入、失败和移动。SCRP[3] (Semantic Clustering Routing Protocol)也是一种基于簇的路由协议,但与LEACH不同之处在于簇一旦形成,在通信过程中便不会改变。其工作过程为首先被选为簇首的节点启动簇形成;然后簇首仅向其邻节点发送兴趣消息,在得到邻节点确认后,簇首记录其邻节点ID,它在本阶段的任务完成,并作整个簇的“树根”,邻节点作为簇首的直接子节点;接着簇首邻节点继续向他们的邻节点(不包括根节点)发送兴趣消息,如同前一过程,簇首邻节点记录他们的邻节点ID (作为邻节点的直接子节点),以此继续,直到最后向外的发出兴趣消息节点在经过一定时间没有得到响应,该节点作为叶子节点,这时以簇首为根节点的“树” 已经形成,簇形成过程结束;最后,簇内各节点把检测的到节点向其双亲节点传送,双亲节点不会立即将数据向其上层节点发出,而是将其接收到的数据经过一定的数据融合之后再发出。
LEACH的优点在于簇首的轮换机制,使得簇首负载得到分担,但缺点也很明显:簇内单跳通信,簇重组过程频繁[2]。SCRP在基于某个查询任务时,簇首以及整个簇结构不会改变,网络利用率较高,但如果这个查询任务持续过长的时间,簇首的能量消耗还是相当大,因为它要负责簇间的通信;如果某些节点周围邻节点过于密集,很可能导致该节点过早失效,从而影响监测任务的准确性。无论是动态算法还是静态算法,对于恶意节点的控制均存在很大的问题。要解决传感器网络的节点安全问题,需要充分发挥动态和静态成簇算法的优点,并采用一定的技术手段克服其缺点。
3 面向传感器网络的节点安全成簇机制
3.1 节点安全机制的建立
静态分布的传感器网络中,节点通常在初始化时设置了全网唯一的ID号,而且该号ID为恒定不变,这为敌对节点带来入侵的方便,一种是非法更改正常节点ID号,另一种是复制正常节点ID号,这些对于节点和网络信息安全都极为不利。为此,我们在设计中借鉴了基本的随机密钥预分布模型,即首先在脱机的环境中生成一个较大的密钥池,网络中的每个节点都随机从该密钥池中取出一部分密钥构成密钥环存储在自己的存储空间中。网络部署之后,只要两个节点之间拥有一对相同的密钥就可以用此密钥建立安全通道[7]。该机制共分为初始化阶段和密钥协商阶段。在初始化阶段采用一个离线的密钥管理中心负责传感器节点的初始化操作。而在密钥协商阶段则可以通过有效手段将恶意节点进行滤除。这种机制能够采取有效的密钥管理技术,令只有拥有合法对偶密钥的邻居节点之间才可以进行通信。具体的控制流程为在密钥预分布形成阶段,初始化密钥池、建立安全链路。首先,随机创建一个密钥池,且为每一个密钥分配一个ID号。在将节点部署到监测区域之前,需要对节点进行密钥初始化分配,为每个节点从密钥池中随机选取m个密钥预先存储到节点中。在无线传感器网络部署好之后,传感节点就进入密钥发现阶段。各节点为了发现与自己持有共享密钥的邻居节点,用密钥环来广播自身的密钥ID号。如果两个邻居节点之间发现共享的密钥,则选取共享密钥中密钥ID号最小的那个密钥作为它们之间的对偶密钥。然后,这两个邻居节点之间可以建立一条安全的链路。对于恶意节点来说,由于不享有对偶密钥,当其尝试加入网络时而进行节点间的认证时,能够被识别并被拒绝加入网络。
当节点发现不具有合法密钥的节点试图连接网络时,意味着有恶意节点入侵,由发现该情况的节点向基站发送一个恶意节点的举报消息,基站在收到对某个节点是恶意节点的举报数超过设定阈值后,广播一个消息声明恶意节点,并将恶意节点加入黑名单。凡是被列入网络黑名单的节点,都被认为是非法节点。一旦网络发现非法节点,会发出警告,将恶意节点的坐标进行广播。由于在节点间通信的消息格式中包含了源节点及目的节点的坐标,因此其它合法节点收到报警消息后,可以通过检验坐标的方式识别恶意节点并切断与非法节点的通信。
在邻居节点的识别过程中,增加链路有效性认证反馈环节,凡是不能通过链路有效性验证的节点均被排除在邻居节点的范围之外。基站收到消息后,将按消息的来路反馈一个对消息的ASK。节点在发送或转发一个消息A后,暂存A并等待基站对A的ASK。如果节点在一定的时间收到了ASK,则将继续转发ASK;否则,就将A的发送路由中的下一跳节点标记为恶意节点。节点间相互通信时必须进行链路有效性认证反馈,防止非法入侵,而且对所传输的数据进行加密。传感器节点广播验证消息,只有其合法邻居节点才能解密此消息并反馈一个应答消息。该传感器节点收到其合法邻居节点反馈的应答消息后,才能确定它们之间的链路是合法的且是可用的。 免费论文下载中心
3.2 分簇机制的建立
在分簇方法中,簇头担当了重要角色,是各簇的中转点,集中了整个簇的大量信息,簇头节点一旦被攻陷就会造成巨大损失。因此,应加强对簇头攻击的防范,一旦检测到簇头正在遭受攻击,则基站就强制开始新一轮的重新分簇,重新选举各簇簇头,避免簇头被攻陷所带来的巨大损失,阻止恶意节点对网络造成进一步的破坏。因此,簇头的选取策略对于网络安全至关重要,从上面分析可知,LEACH频繁动态实现节点组簇,尽管在簇头中加入节点安全处理机制能够使网络的安全性能得到提高,但网络能耗损失太高,而静态的分簇机制对于入侵节点防范能力很差。为此,我们提出采用动态和静态结合的分簇机制。当网络构造的初始阶段,根据网络规模选取合适的簇头数量,采用与LEACH算法相似的机制,使网络中所有节点被分配到一个确定的簇中。簇头负责本簇成员通信数据和本簇成员身份(ID)认证。为了平衡簇内节点能耗,该簇的簇头和成员采用轮流工作机制,即当前簇头工作一段时间后,由本簇候选簇头担任,而当前簇头将本簇的密钥和身份认证关系表转发给候选簇头后自动成为该簇普通节点。各簇头分别同基站直接通信,当基站发现某个簇头受到攻击后,由基站向全网广播,所有节点采用网络初始阶段的构造机制重新分簇组网。重新分簇的具体实现过程如下[8]。
首先基站发出重新分簇命令,然后基站根据网络规模确定一定比例的“临时簇头”。“临时簇头”向自己周围的节点广播自己的ID和成簇请求消息,该消息在节点分布前就设置了主密钥加密;要求网络中接收到该消息的节点发送反馈消息,消息包括是否是簇首节点、或临时簇首节点、或普通簇内节点、或空闲节点、节点的ID和剩余能量。
周围接收到成簇请求消息的节点首先进行安全认证,即检查接收到的节点ID是否在黑名单中,如果不在则进一步判断前四位是否与自己的ID前四位一致,一致就认为是“同类”,可以转入下一步;否则为非同类,认为是恶意节点,不予响应。通过安全检查后,接收到成簇查询消息的节点如果尚不是簇首节点或尚未被确定为某个簇内的普通节点,则向该临时簇头节点反馈自己的ID信息和剩余能量信息;如果是簇头节点或临时簇头节点,则返回自己的ID信息和自己是簇头或临时簇头的消息。对于已经通过安全检查的同类节点,如果已存在簇头节点,临时簇头节点就申请加入该簇头节点所在的簇,如果存在多个簇头节点,就选择一个距离自己最近的簇头节点反馈自己的ID号和剩余能量;已经是簇内的普通节点不再响应,已经是簇头的节点则响应并记录下,用于簇问路由;如果同时接收到几个簇头的邀请,则选择距离自己最近的一个簇头加入其所在的簇;如果没有簇头节点,则临时簇头节点根据收到的反馈信息中的相对剩余能量最大的节点作为簇头节点。
簇头节点向周围的节点发送加密的成簇消息,消息包含自己的簇头标识和ID信息,邀请在自己通信范围内的节点成为自己的簇内普通的节点,该普通节点并向簇头反馈自己的ID号和剩余能量;如果接收到成簇消息的节点已经是簇内节点则不予响应,已经是簇头节点则响应并记录下该簇头的ID信息,用于簇间路由的选择条件。如果某个节点同时接收到多个簇头的邀请,选择距离自己最近的一个簇头加入所在的簇。循环反复,直到所有的非恶意节点都成为簇头节点或簇内的普通节点为止。分簇机制的实施流程如图1所示。
图1 分簇机制的实施流程
当网络中各节点重新分配到确定的簇中后,簇头从新开始负责处理簇内成员的通信数据和安全认证。为了尽可能降低簇头更换频率,本文所提的分簇机制采用文献[9]提出的簇头连续工作机制,即当簇头存在较多剩余能量时,可以连续担当本簇控制中心,如果当前簇头能力较低时,将自己所承担的任务转交给候选簇头,候选簇头在接替当前簇头任务后,需向基站和成员确认通信,一方面通知本簇成员簇头更换,另一方面由基站确认其合法身份。
4 仿真与验证
为评估所提出的成簇机制对节点安全性能的改进,假设100个节点随机分布100m*100m的区域,设所有节点具有相同的初始能量,簇头占总节点数目百分比为5%,各节点赋予初始ID号,分别记为1,2,…,100,基站序号为0,其位置坐标为(50, 150)。在网络运行早期,各节点具有较多剩余能量时,如果网络没有出现节点被攻击,各簇头连续担任本地控制中心至少5个轮回,被攻击节点的ID号采用随机函数生成。本文设计的成簇机制与LEACH成簇算法对被攻击节点的捕获结果对比如图2所示。
从图2可以看出,我们所设计的成簇机制比采用LEACH成簇算法在捕获被攻击节点的性能明显提高。由于LEACH算法每轮数据处理后需要重新实施节点分簇,而对邻居节点没有进行安全识别,缺乏链路有效性认证,导致可能当前轮回入侵节点或被攻击节点不能进行处理;而我们所提成簇算法要求对簇头、成员节点和邻居节点间的信息都需要进行安全认证,因此能够有效遏制入侵节点或被攻击节点对网络信息安全的影响。我们所设计的成簇机制和采用LEACH算法实现的节点安全认证中广播能耗与总能量之比的对比情况如图3所示
图3可以看出,我们所提的分簇机制较LEACH算法明显降低了广播能耗。由于在我们所提的分簇机制中,如果基站没有收到任何簇头发送网络不安全信息,则不会通知全网节点进行重新成簇,除非当前簇头连续担任本地控制中心的次数已到,则候选簇头替换当前簇头,以广播的方式通知本簇成员和基站,因此簇头和成员、基站中的广播消息将显著降低。当然,如果基站发现某个簇头出现不安全特征,则仍然需要全网广播,采用组网初始阶段的方法,重新组簇。由图2、图3可知,采用这种动态、静态成簇的机制,既能及时准确发现入侵节点或被攻击节点,又能显著降低网络的广播能耗,对于提高网络安全和延长网络寿命都将起到积极作用。
5 结语
本文针对面向传感器网络的节点安全问题,采用基本的随机密钥预分配模,分配网络初始化密钥池、建立安全链路和动态、静态成簇机制有效地改善了节点安全问题,有利于提高节点和网络安全性,并能延长网络寿命。
参考文献
[1] 孙利民,李建中,陈渝等.无线传感器网络[M].北京:清华大学出版社, 2005.2.
[2] Heinzelman W, Chandrakasan A, and Balakrishnan H. Energy-efficient communication protocol for wireless microsensor net- works. Proc. ofthe 33rd Annual Hawaii Int ’l Conf. on System Sciences. Maui: IEEE Computer Society, 2000: 3005-3014.
[3] Bouhafs F,.Merabti M. A semantic clustering muting protocol for wireless sensor networks[A]. IEEE Consumer Communications and Networking Conference[C]. 2006, 351-355.
[4]Deb B, Bhatangar S, Nath B. A topology discovery algorithm for sensor networks with applications to network management [R]. DCS Technical Report DCS-TR-441, Rutgers University, 2001.
[5] Santi P, Simon J. Silence is golden with high probability: maintaining a connected backbone in wireless sensor networks [C]. In Proceeding of 1st European Workshop on Wireless Sensor Networks (EWSN 2004), Jan 2004: 106-121.
[6] Younis O, Franmy S. Distributed clustering in ad-hoc sensor networks: a hybrid, energy-efficient approach [C]. In Proceeding of the IEEE Conference on Computer Communications (INFOCOM), March 2004: 660-670.
[7] L. Eschenauer, V.D. Gligor. A key-Management Scheme for Distributed Sensor Networks. In: Proc of the 9th ACM Conference on Computer and Communications Security. Washington: ACM Press, 2002.41-47.
[8]蔡东强.无线传感器网络安全密钥成簇算法的设计及研究. http://www.jc-ic.cn/show-1477058-1.html
[9] Xiang Min, Shi Wei-ren, Jiang Chang-jiang, et.al. Energy-efficient clustering algorithm for maximizing lifetime of wireless sensor networks (In Press). AEU-International Journal of Electronic & Communication. doi:10.1016/j.aeue.2009.01.004.
免费论文下载中心