APP下载

基于节点信任值的安全层次路由协议

2014-12-18王慧芳

电子科技 2014年11期
关键词:数据包路由信任

马 豹,王慧芳

(西安电子科技大学数学与统计学院,陕西西安 710126)

无线传感器网络(Wireless Sensor Networks,WSNs)[1]是一组传感器通过自组织方式构成的网络,其目的是协同感知、可靠传输和智能处理感知到的信息。路由协议负责为数据传输选择最优路径,将数据分组从源节点通过网络转发到目的节点。安全路由是无线传感器网络安全运行的重要环节。由于无线传感器网络资源受限,导致路由协议经常受到虚假路由信息、选择性转发、女巫、蠕虫洞、假冒应答及关键点攻击等[2]。传统的安全机制只能抵抗外部攻击,无法解决开放环境下节点被俘获所带来的内部攻击问题[3]。信任评估机制作为传统安全机制的有效补充,能有效解决内部攻击问题,建立安全可信的数据传输关系。

Crosby等人提出了基于信任管理机制的簇头选举算法,采用冗余簇头和挑战应答措施,保证正常节点当选为簇头,网络安全有效地运行[4]。Zhan等人提出了基于信任值的平面路由协议TARF,综合信任值和能量进行路由选择,阻止恶意节点重放路由信息而误导网络运行[5]。Safa等人提出了一种基于节点信任值的层次路由算法CBTRP,节点间根据信任值组织成簇结构,通过定向扩散将数据直接发送至可靠簇头,保障数据传输的安全[6]。Song等人将信任值引入LEACH协议,在分布式信任评估机制的基础上,选择信任值最高的候选簇头为下一跳路由,阻止恶意节点充当簇头,提高数据传输的效率[7]。Wang等人提出了基于信任值改进的LEACH算法,利用信任值优化簇头节点,识别恶意节点,增强了网络的安全性[8]。

以上方法主要针对某一种网络攻击,缺乏对信任值的整体考虑,忽视了信任路由本身可能存在的问题,如信任计算较为复杂、恶意节点难以识别、关键节点易被攻击等。为此,本文提出了一种基于节点信任值的安全层次路由(A Security Hierarchical Routing Based on Node Trust Value,SHRT)算法。SHRT算法考虑了影响信任的多种因素,结合节点信任值、节点度和距离,利用局部最优原则,选择可信簇头,建立安全可靠的层次路由。

1 网络结构

假设N个传感器节点随机部署在L×L大小的平面内,节点周期性采集数据并发送到SINK节点。为了便于模型分析和描述,对网络作如下假设:(1)所有节点部署之后不再移动,具有唯一标识ID。(2)所有节点是同构的,具有相同的初始能量,并且不能补充。(3)每个节点的通信半径相同。(4)节点已知网络中所有邻居节点位置、剩余能量以及SINK位置。(5)SINK节点位于区域中心,具有足够能量和强大计算能力。

2 相关定义

定义1 邻居集:在二维平面上与节点i的距离小于i的通信半径的所有节点的集合为i的邻居集。设的通信半径为R;以N(i)表示i的邻居集,则有N(i)=

定义2 节点度:节点邻居集中节点的个数。假设i的邻居集用N(i)表示;则节点i的度为 N(i )。

定义3 节点i对节点j的信任值Rij:由节点i对节点j的直接信任值DRij和节点i对节点j的间接信任值IRij得到,用[0,1]间的任意实数表示;1表示完全可信;0表示完全不可信。

3 信任值的评估

信任取决于主体对客体的观察以及第3方的推荐。针对无线传感器网络自组织多跳的特点,需要建立无核心节点的信任评估机制,邻居节点间互相进行行为监控,根据主体对客体的直接和间接信任值,得到综合信任值。

3.1 信任因子的定义

假设节点和节点互为邻居节点,节点对节点进行信任评估,从通信状况、数据内容和剩余能量等方面,对影响信任值的各种因素进行定量分析。

3.1.1 通信行为因子

在WSNS中,恶意节点可能会故意丢弃、篡改数据包,而自私节点可能会为了节省能量而丢弃需要转发的数据包。通过观察节点的通信行为来识别恶意节点或自私节点,是信任管理的常用手段。通信行为因子RC(t)的计算如式(1)ij

其中,sij(fij)表示在[t,Δt,t]时段内节点 i对节点 j通信行为正常(异常)次数的统计结果。

3.1.2 数据行为因子

在无线传感器网络运行时,涉及数据安全攻击有多种,为了计算简单但还能保证数据安全有效地传输,从两个重要方面考虑数据行为。

(1)新鲜性因子RDfij(t)。为防止恶意节点发动重放攻击,需对节点发送数据内容的新鲜性进行分析。新鲜性因子的计算如式(2)

其中,在[t- Δt,t]时段内,nfij为内容重复的数据包数量,而fpij为新鲜的数据包数量。

(2)一致性因子RDcij。为防止恶意节点伪造数据包,需对邻节点发送数据进行一致性分析。一致性因子的计算如式(3)

其中,在[t- Δt,t]时段内,cpij为一致数据包的数量;ncpij为不一致数据包的数量。综合数据的新鲜性和一致性两方面,数据行为因子的计算如式(4)

其中,α1,α2分别表示数据新鲜性和一致性在数据行为方面的加权系数,且 α1,α2∈[0,1],α1+ α2=1,若针对重传攻击取α1>0.5,若针对篡改攻击α2>0.5。

3.1.3 能量因子

能量因子REj:传感器网络中节点的资源受限,而信任值较高的节点有可能会承担更多的任务,导致节点能量消耗过快[9]。为减少低能量节点的参与,延长网络生命周期,将剩余能量作为信任值的参考因素,能量因子的计算如式(5)

其中,Ej为节点的剩余能量;Esr是节点为了发送和接收数据包所需的量;Ecp为节点j为了收集和处理数据包所需的能量;β为动态调节因子,θi用来将能量因子归一化处理。为预设的阈值,常取为2,若比值低于该阈值,则该节点的能量因子取值为0,阻止低能量节点当选簇头。

3.1.4 时间因子

时间因子η:由于节点信任值是历史信任纪录和当前观测信息的综合,加入历史因子可减少偶然因素对评估造成的影响,但需要根据具体情况,制定不同的时间因子,常取为0.5。

3.2 信任值的计算

根据具体应用需求,评估节点i监测部分或全部信任因子,采用加权平均的方法计算评估客体j的直接信任值DRij(t)。直接信任值的计算如式(6)

式中,ω1,ω2,ω3为加权系数,根据具体应用可针对性调整,例如在安全数据的应用时取ω2>0.5,且ω1+ω2+ω3=1。

设主体 i与客体j之间在[t-Δt,t]时段内的交互次数为numij(Δt),则直接信任值的可信度CDRij(Δt)的计算如式(7)

式中,θ2为预先制定的阈值,表示主体i与客体j之间交互行为的期望值,根据经验θ2取为10,当numij<θ2时,主体i收集其他节点对被评估客体j的信任值作为间接信任值。为了减少通信负荷,间接信任只采用i,j共同邻节点对j的直接信任值,间接信任值的计算如式(8)

其中,k为i与j两者共同邻居节点。

WSNs中的节点密集分布,评估客体可能有多个间接信任值;为减少计算量,取各个间接信任值的加权平均值:假设有 s个邻居节点,分别为 k1,k2,…,ks则最终间接信任值的计算如式(9)

最后评估主体i对评估客体j的综合信任值Rij(t)的计算如式(10)为

4 簇头节点的可信选举

选举安全可靠的簇头节点是层次路由的关键所在。但是为了节约能量,簇头的可信选举不宜考虑太多因素,这里需考虑节点度、距离、信任值的最优组合即可。假设节点m在可信候选簇头集中,令FSm表示节点m的簇头选举函数,则簇头选举的无约束优化问题如式(11)

式中,Rim表示普通成员节点i对可信候选簇头节点m的综合信任值;Cm表示节点m的度数;Cmax表示可信候选簇头集S中的节点度的最大值;μ1,μ2,μ3为信任值、节点度、距离参数的权重,且 μ1+μ2+μ3=1,从上式可看出,簇头选举函数随着信任值和节点度的增大而增大,随着距离的增大而减小,其表示为一个组合优化问题,若节点m要成为可信簇头,则m需是式(11)的一个解,即

式(12)的解不唯一,是参数 μ1,μ2,μ3的函数;因此,对式(11)求解需要根据实际问题,确定各参数的值,然后对式(12)进行迭代优化。

5 层次路由算法

传统的层次路由中,一般假设全网络的节点安全可信,然而在实际中,层次路由容易受到的威胁有:恶意节点充当簇头节点,威胁网络安全运行;恶意节点加入正常的簇结构,发送错误信息,影响采集结果。为保障簇结构的安全可靠,与LEACH算法相比,利用可信簇头节点选举函数能将恶意节点排除出网络,建立安全可靠的路由。其具体过程分为以下几步:

Step1当簇头节点的剩余能量小于预设的阈值或网络运行一段时间后,当前簇头发布重新选举簇头信息。

Step2每个节点产生一个[0,1]之间的随机数,若小于阈值T(i),则其当选为候选簇头节点,并向周围节点广播自己是候选簇头的消息。T(i)的计算公式如式(13)

式中,p是簇头在所有节点中所占的百分比;r是选举轮数;M是这一轮循环中未当选过簇头的节点集合;Ei代表节点i的当前能量;E0代表节点i的初始化能量。

Step3成员节点收到多个不同候选簇头的广播消息后,查询本地的信任纪录,排除信任值较低的节点,确定可信候选簇头集。成员节点计算候选簇头的选举函数,将选举值最大的节点作为自己的簇头,并把这个簇头作为下一跳路由,形成本地信任路由表。

Step4成员节点加入某簇后。簇头节点收到所有成员节点的加入请求后,利用本地信任纪录,排除恶意节点加入,保证簇内成员节点的可信可靠。同时,簇头节点选择本簇内信任值最大的成员节点作为副簇头,如果有新节点加入时,需通过副簇头的测试,只有表现良好的节点才能与簇头节点直接通信,这样是为了恶意节点通过多次加入簇而将簇头能量耗尽。另外,当簇头节点失效时,副簇头暂时执行簇头功能,直至该轮结束。

Step5簇头定期广播征集不信任节点消息,簇内节点选择信任值最低的邻居节点发送给簇头,簇头对票数最多的节点进行挑战应答,如果应答失败,那么失败的节点将被拉入黑名单。

Step6当分簇完成后,簇内成员节点进入数据传输阶段。簇头节点为本簇的成员节点建立一个时分复用方案,并以广播的方式通知簇内所有成员节点。成员节点收到该消息后,就分别在各自的时间槽内传输数据。当所有成员节点的数据传输完毕后,簇头节点对本簇传来的数据进行数据处理,压缩成一个新的信息,发送给基站或离基站较近的簇头。

6 仿真分析

以VC++6.0为工具,对簇头节点的可信选举过程和层次路由的建立过程进行仿真。如图1所示,仿真场景:200 n×200 n的正方形区域,200个节点,通信半径32 m;90%的仿真节点为正常节点;5%的仿真节点为低信任值的恶意簇头节点,主动发送虚假广播消息,诱导邻居节点加入该簇;5%的仿真节点为恶意成员节点,并发送虚假或伪造的数据包,以干扰簇内的数据传输及数据融合。

图1 仿真实验示意图

在簇头节点可信选举的基础上,对 LEACH和SHRT算法的层次路由建立过程进行了仿真,结果分别如图2和图3所示。在LEACH算法中,网络中的所有成员节点根据接收到的测试信号的强度选择距离最近的簇头加入;而在SHRT算法中,成员节点在可信簇头集中选择最大选举函数值的簇头加入。从仿真结果可知,LEACH算法无法阻止恶意节点的攻击行为,少量的恶意节点就可误导网络流向,严重破坏网络的运行;而SHRT算法能够有效地将恶意簇头和恶意成员节点剔除出网络,保证了分簇的可靠性。

图2 网络攻击情况下LEACH算法的簇结构

图3 网络攻击情况下SHRT算法的簇结构

7 结束语

基于节点信任值的安全层次路由算法SHRT包含两方面内容:(1)分析传感器网络的实际环境,对3种信任因子进行定性分析和定量计算,从而获得各节点对其邻居节点的综合信任值,解决恶意节点难以识别的问题。(2)结合节点信任值、节点度和距离参数进行路由主干节点的可信选举,建立安全可靠的层次路由,防止恶意节点参与数据传输。SHRT算法在节点信任评估的基础上,综合考虑了网络的各种性能,利用局部最优化原则,更加安全地实现了层次路由,有效解决了无线传感器网络内部节点失效或被俘所导致的路由安全问题。

[1]孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社,2005.

[2]XIE Miao,HAN Song,TIAN Biming,et al.Anomaly detection in wireless sensor networks:a survey[J].Journal of Network and Computer Applications,2011,3(4):1302 -1325.

[3]BOUKERCH A,XU L,EL KHATIB K.Trust- based security for wireless Ad Hoc and sensor networks[J].Computer Communications,2007(30):2413 -2427.

[4]CROSBY G V,PISSINOU N,GADZE J.A framework for trust-based cluster head election in wireless sensor networks[C].Piscataway:Proceeding of the 2nd IEEE Workshop on Dependability and Security in Sensor Networks and Systems(DSSNS),2006.

[5]ZHAN Guoxing,SHI Weisong,DENG Julia.TARF:a trustaware routing framework for wireless sensor networks[C].Heidelberg:Proceeding of the 7th European Conference on Wireless Sensor Networks,2010.

[6]SAFA F,ARTAIL H,TABET D.A cluter- based trust- aware routing protocol for mobile Ad Hoc networks[J].Wireless Networks,2010(16):969 -984.

[7]SONG F,ZHAO B H.Trust- based LEACH protocol for wireless sensor networks[C].Hainan:Proceeding of the 2th International Conference on Future Generation Communication and Networking,2008.

[8]WANG Weichao,DU Fei,XU Qijian.An improvement of LEACH routing protocol based on trust for wireless sensor networks[C].Beijing:Proceeding of the 5th International Conference on Wireless Communications,Networking and Mobile Computing,2009.

[9]DONG Huihui,GUO Yajun,YU Zhongqiang,et al.A wireless sensor networks based on multi- angle trust of node[J].Computer Science,2009,36(9):43 -45.

猜你喜欢

数据包路由信任
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
一种基于虚拟分扇的簇间多跳路由算法
SmartSniff
探究路由与环路的问题
嘤嘤嘤,人与人的信任在哪里……
基于预期延迟值的扩散转发路由算法
信任