«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (9): 145-152  DOI: 10.19678/j.issn.1000-3428.0058217
0

引用本文  

韩优佳, 胡黄水, 姚美琴. 基于信任感知的无线传感器网络安全路由协议[J]. 计算机工程, 2021, 47(9), 145-152. DOI: 10.19678/j.issn.1000-3428.0058217.
HAN Youjia, HU Huangshui, YAO Meiqin. Trust-Aware Secure Routing Protocol for Wireless Sensor Networks[J]. Computer Engineering, 2021, 47(9), 145-152. DOI: 10.19678/j.issn.1000-3428.0058217.

基金项目

吉林省教育厅“十三五”科学技术项目(JJKH20181166KJ);吉林省发改委产业技术研究与开发项目(2019C054-4);吉林省科技发展计划技术攻关项目(20190302026GX)

作者简介

韩优佳(1995-), 男, 硕士研究生, 主研方向为无线传感器网络安全;
胡黄水, 教授、博士;
姚美琴, 硕士研究生

文章历史

收稿日期:2020-04-30
修回日期:2020-07-23
基于信任感知的无线传感器网络安全路由协议
韩优佳 , 胡黄水 , 姚美琴     
长春工业大学 计算机科学与工程学院, 长春 130012
摘要:为提高无线传感器网络的安全性和节能性,提出一种基于信任的安全路由协议TSRP。根据新的直接信任值、间接信任值、挥发因子和剩余能量来计算邻居节点的综合信任值,以评估节点的安全指标,并快速地识别和排除发起黑洞攻击、选择性转发攻击、Hello洪泛攻击和槽洞攻击的恶意节点。sink针对难以发现的虫洞攻击,根据多条链路的链路质量、传输距离和跳数计算出最优路径以保证所选路由的安全性和节能性。仿真结果表明,与AODV和TBSRP相比,TSRP选择的最优路由有效地减少了每个节点的负载,降低了网络的延迟和丢包率。
关键词无线传感器网络    综合信任值    安全路由    直接信任值    间接信任值    
Trust-Aware Secure Routing Protocol for Wireless Sensor Networks
HAN Youjia , HU Huangshui , YAO Meiqin     
School of Computer Science&Engineering, Changchun University of Technology, Changchun 130012, China
Abstract: In order to improve the security and energy saving efficiency of wireless sensor networks, a Trust-aware wireless Sensor network secure Routing Protocol(TSRP) is proposed.Based on the new direct trust value, indirect trust value, volatilization factor and residual energy, the node calculates the comprehensive trust value of the neighboring node to evaluate the safety index of the node, and to quickly identify and eliminate malicious nodes that cause black hole attacks, selective forwarding attacks, Hello Flood attacks, and sinkhole attacks.As for covert wormhole attacks, the sink calculates the optimal path based on the link quality, transmission distance, and hop count of multiple links to ensure that the selected route is safe and energy efficient.The simulation results show that compared with AODV and TBSRP protocols, the optimal route selected by TSRP can effectively reduce the load of each node, and reduce the network delay and packet loss rate.
Key words: Wireless Sensor Network(WSN)    comprehensive trust value    secure routing    direct trust value    indirect trust value    

开放科学(资源服务)标志码(OSID):

0 概述

随着物联网的飞速发展,无线传感器网络(Wireless Sensor Network,WSN)越来越广泛地应用于军事、环境监测、医疗、工业生产、交通控制等领域[1-2]。然而,节点有限的计算能力、存储容量、能量和其他因素限制了无线传感器网络的发展[3-4],尤其是如果WSN随机部署在复杂的环境中,则很容易受到来自恶意节点的路由攻击。因此,关于安全路由协议的研究已成为WSN的热门话题[5]

已有大量的研究工作从各个角度来延长网络生命周期和提高网络安全传输指数[6-8]。通常,将基于加密和身份验证的安全机制用于抵御来自恶意节点的路由攻击,但由于攻击者已经拥有所有密钥和密码信息,因此这些恶意节点无法抵御内部路由攻击[9-10]。此外,这些机制需要复杂的计算,导致额外的能耗[11-12]。因此,研究人员提出了基于信任感知的安全机制,以解决基于加密和身份验证的安全机制中的问题。

为确保无线传感器网络的安全性,该信任的方案已被证明对内部节点的攻击更具抵抗力。该方案有助于根据节点过去的观察结果预测节点的未来行为,并识别对可疑节点行为的有效决策。它为无线传感器网络的路由安全性提供了一种新的解决方案[13]。但传统的信任方案安全性较低,只能抵挡少部分的恶意攻击种类。

本文提出一种信任感知的无线传感器网络安全路由协议(Trust-aware wireless Sensor network secure Routing Protocol,TSRP)。该协议通过直接信任、间接信任和剩余能量构造综合信任以防御黑洞攻击、选择性转发攻击、槽洞攻击和Hello洪泛攻击。在构造直接信任值中引入挥发因子来降低历史信任的作用,同时在路由建立过程中主动避开虫洞攻击的链路,以选择一条综合信任值高、跳数少的路由,从而在提高无线传感器网络安全性的同时降低网络的能耗。

1 相关工作

文献[14]提出一种BRDT(Beta Reputation and Direct Trust model for secure communication in wireless sensor networks)模型,其为Bata模型和直接信任模型的组合。该模型分为信任度评估、阈值设置和基于信任值的路由3个阶段。其中信任度评估包括信任服务、能量信任、周转时间信任和数据传输信任4个部分。阈值设置是选取这4个部分中最小的值作为阈值,基于信任值的路由能为网络提供安全的数据传输链路。虽然该协议平衡了网络的能耗,但可能会造成簇头与簇头之间通信范围的重叠区域较大,容易引起簇头过多,导致能量浪费。此外,BRDT中未指定可防御的攻击。文献[15]提出了防御信任攻击的无线传感器网络安全信任评估模型DTSA(A trust evaluation model for Defense against Trust System Attacks)。DTSA利用模糊综合评判模型对直接信任进行计算,选择合适的第三方节点推荐的间接信任值以保证没有恶意评价,并将直接信任值,间接信任值和历史信任值综合考虑到综合信任值的计算中以保证安全性高的节点具有高综合信任值。但是,节点的剩余能量并没有被考虑其中。对于能量受限的无线传感器网络来说,节能也是网络研究的重要研究热点之一。因此,文献[16]提出一种基于分布式信任评价模型的能量优化安全路由协议EOSR(Energy-Optimized Secure Routing protocol),EOSR考虑了综合信任值、节点剩余能量和路径跳数以评价路径安全程度,从而保证选择路径的安全可靠性。其综合信任值由直接信任值和间接信任值综合决定,其中直接信任值若大于置信度阈值,则将直接信任值当做综合信任值以降低获取间接信任值的能量开销。节点成为恶意节点之前均为合法节点,都拥有较高的信任值,但EOSR并没有将节点的历史信任值考虑到信任程度中,使得节点被俘获成为恶意节点后无法被快速地降低信任值,以至于恶意节点无法快速地被排除在网络之外。

文献[17]提出了基于节点信任与能耗均衡的分簇协议(Secure Clustering Routing protocol based on Trust and Balancing Enemy consumption,SCR-TBE)。SCR-TBE采用模糊评价的方法来计算节点的直接信任值,并将历史信任值考虑到综合信任值的计算中以保证对恶意节点识别的准确性。同时SCR-TBE采用非均匀分簇方法来缓解多跳分簇协议中的能量空洞现象。但SCR-TBE评价节点的直接信任值的模糊性可能会造成信任评估的不准确性。文献[17-18]提出的机制均是采用模糊控制理论,两者的不同点在于:文献[18]采用的模糊控制理论是根据综合信任值的大小对节点的安全性进行模糊评估,以选出安全的路由。为提供准确的信任值和评价路由的安全性,文献[19]提出了基于QoS的无线传感器网络信任路由算法SQEER(Secured QoS aware Energy Efficient Routing),该信任模型使用基于密钥的安全机制提供信任值的认证技术。该算法中的安全模块负责使用时间约束管理器维护信任,并通过与安全管理器交互来执行身份验证。而能量管理器则通过计算能量水平并将其发送给决策管理器,以做出节能决策。QoS管理器通过调用数据包传输率、延时和错误率分析器检查QoS来执行分析。然后,SQEER根据QoS指标和信任值来选择簇头以执行基于簇的安全路由。最后,根据路径信任值、能量和跳数选择最终路径,有效地实现了安全路由过程。但SQEER的信任模型需要基于密钥的安全机制的参与,这使节点增加了额外的能量消耗。

综上所述,传统的信任感知安全路由协议仍然面临以下挑战:

1)准确地检测恶意节点。例如文献[16]没有考虑历史信任值这一重要因素;文献[17-18]利用模糊控制器来模糊计算节点的信任值,在这些方案中信任评估的准确性均有待提高。

2)使网络能够抵抗多种路由攻击。如果网络防御攻击的类型相对单一,则网络仍将面临主要的安全风险。例如文献[6, 20]只针对虫洞攻击进行防御;文献[21]只针对黑洞攻击进行防御。

3)减少网络能耗。例如文献[15]没有考虑节点的剩余能量这一重要因素;文献[19]则需要密钥安全机制的参与,这使得网络的能量消耗增加。

面对上述的挑战,本文目标如下:

1)TSRP的直接信任值将由历史和当前的信任值构成,同时为历史信任值分配一个新颖的挥发因子,以降低恶意节点拥有良好的历史信任的作用,从而提高信任评估的准确性。

2)TSRP的综合信任值将用来防御黑洞攻击、选择性转发攻击、Hello flood攻击和槽洞攻击;同时,将利用AODV路由建立阶段引入链路质量来主动避开虫洞攻击,以此增强网络对抗多种攻击的能力。

3)在传统的基于AODV安全路由协议中,其源节点向sink方向发送RREQ帧后,sink会以多路径的方式返回RREP帧。但TSRP协议将只选择一条跳数少、信任程度高的链路返回RREP帧,以此降低网络在路由建立和数据传输的能耗。

2 信任模型

节点的信任值是参与安全路由协作的基础,这意味着较大信任值的节点将具有更高的安全性。因此,具有更高信任值的节点更有可能被选作为路由的中继节点。文献[15, 17]并没有考虑节点的历史信任值对信任评估系统的影响。如果合法节点成为恶意节点之前拥有较高的综合信任值,没有挥发因子的作用则降低了识别恶意节点的速度。而TSRP使用节点的直接信任值、间接信任值、挥发因子和剩余能量计算综合信任值以抵抗来自恶意节点的黑洞攻击、选择性转发攻击、Hello洪泛攻击和槽洞攻击。此外,传统的安全路由协议只防御虫洞攻击[6],TSRP可以防御多种攻击,增强网络安全。

2.1 直接信任值

节点根据邻居节点的接收和发送数据包个数,可以计算对每个邻居节点的直接信任值,节点i对邻居节点j的直接信任值可表示如下:

$ D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}=\gamma \times ({\omega }_{1}{R}_{\mathrm{t}}+{\omega }_{2}{S}_{\mathrm{t}}{)}^{\mathrm{p}\mathrm{r}\mathrm{e}}+(1-\gamma )\times ({R}_{\mathrm{t}}+{S}_{\mathrm{t}}{)}^{\mathrm{n}\mathrm{o}\mathrm{w}} $ (1)

其中:前者代表历史信任值,后者代表当前信任值;$ \gamma $$ (1-\gamma ) $$ 0 < \gamma < 1 $)分别是历史信任值和当前信任值的权重,其为可调参数。为公平起见,令$ \gamma $的值为0.5。$ {R}_{\mathrm{t}} $$ {S}_{\mathrm{t}} $分别是发送和接收的数据包数量占总数据包数量的比例,可以表示为:

$ {R}_{\mathrm{t}}=\frac{{R}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{e}\mathrm{i}\mathrm{v}\mathrm{e}}\_{M}_{{}_{j}}^{\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}\mathrm{e}}}{{M}_{{}_{j}}^{\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}\mathrm{e}}} $ (2)
$ {S}_{\mathrm{t}}=\frac{{S}_{\mathrm{s}\mathrm{e}\mathrm{n}\mathrm{d}}\_{M}_{{}_{j}}^{\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}\mathrm{e}}}{{M}_{{}_{j}}^{\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}\mathrm{e}}} $ (3)

此外,还定义了挥发因子,目的是将从具有高信任度值和普通节点转变成低信任度值的节点快速排除。挥发因子表示如下:

$ {\omega }_{1}={\mathrm{e}}^{-{c}_{1}\mathrm{m}\mathrm{o}\mathrm{d}(T, \tau )} $ (4)
$ {\omega }_{2}={\mathrm{e}}^{-{c}_{2}\mathrm{m}\mathrm{o}\mathrm{d}(T, \tau )} $ (5)

其中:$ T $是网络的当前时间;$ \tau $是时间阈值;$ {c}_{1} $$ {c}_{2} $都是用来调整信任值变化速度的常数。此外,引入$ \mathrm{m}\mathrm{o}\mathrm{d}(T, \tau ) $以保证历史信任值不会太小,并使挥发因子在一定范围内周期性衰减。

2.2 间接信任值

图 1所示,节点i对节点j的间接信任值由其公共邻居节点提供的直接信任值计算而来。公共邻居节点集合可以用$ {B}_{h}=[{B}_{1}, {B}_{2}, \cdots , {B}_{m}] $表示,m是公共节点个数。节点i对节点j的间接信任值表示如下:

$ I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}=\frac{1}{n}\sum \limits_{u\in {B}_{h}}^{n}(D{T}_{iu}^{\mathrm{n}\mathrm{o}\mathrm{w}}\times D{T}_{uj}^{\mathrm{n}\mathrm{o}\mathrm{w}}) $ (6)
Download:
图 1 节点ij的公共节点 Fig. 1 The common nodes of nodes i and j

图 1中,$ D{T}_{iu}^{\mathrm{n}\mathrm{o}\mathrm{w}} $是节点i对节点u的直接信任值,$ D{T}_{uj}^{\mathrm{n}\mathrm{o}\mathrm{w}} $是节点u对节点j的直接信任值,节点u是节点i和节点j的可信公共邻居节点。此外,将一组可信公共邻居定义为$ N{T}_{h}=[N{T}_{1}, N{T}_{2}, \cdots , N{T}_{q}] $$ q\le m $,如果节点i对节点u的信任值小于阈值$ T{h}^{\mathrm{n}\mathrm{o}\mathrm{w}} $,则将节点u从公共邻居节点中删除。在本文中$ T{h}^{\mathrm{n}\mathrm{o}\mathrm{w}} $的值设置为0.35。

2.3 能量信任值

本文使用与文献[22]相同的能耗模型。当节点j在距离d上接收到l位数据包时,接收和发送的能耗为:

$ \mathrm{E}\_\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{e}\mathrm{i}\mathrm{v}{\mathrm{e}}_{j}=l\times {E}_{\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{c}} $ (7)
$ \mathrm{E}\_\mathrm{s}\mathrm{e}\mathrm{n}{\mathrm{d}}_{j}=\left\{\begin{array}{l}l\times {E}_{\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{c}}+l\times {\varepsilon }_{\mathrm{f}s}\times {d}^{2}, d < {d}_{0}\\ l\times {E}_{\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{c}}+l\times {\varepsilon }_{\mathrm{m}\mathrm{p}}\times {d}^{4}, d\ge {d}_{0}\end{array}\right. $ (8)
${{d}_{0}}=\sqrt{{}^{{{\varepsilon }_{\text{fs}}}}\!\!\diagup\!\!{}_{{{\varepsilon }_{\text{mp}}}}\;}$ (9)

其中:$ {E}_{\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{c}} $表示发射器电子设备消耗的能量/比特;$ {\varepsilon }_{\mathrm{f}\mathrm{s}} $表示自由空间模型的能耗;$ {\varepsilon }_{\mathrm{m}\mathrm{p}} $表示多径衰落模型的能耗;$ {d}_{0} $是放大器调整其功率的阈值。

j的初始能量为$ {E}_{0} $,则剩余能量$ R{E}_{j} $为:

$ R{E}_{j}={E}_{0}-\mathrm{E}\_\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{e}\mathrm{i}\mathrm{v}{\mathrm{e}}_{j}-\mathrm{E}\_\mathrm{s}\mathrm{e}\mathrm{n}{\mathrm{d}}_{j} $ (10)

其中:只有当j的剩余能量$ R{E}_{j} $大于阈值$ {E}_{\mathrm{t}\mathrm{h}} $时,节点j才能参与TSPR的操作,因此j能量信任值为:

$ {E}_{j}=\frac{R{E}_{j}}{{E}_{0}} $ (11)
2.4 综合信任值

考虑到节点的安全性和能耗,节点i对节点j的综合信任值公式如下:

$ C{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}={\eta }_{1}\times D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}+{\eta }_{2}\times I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}+{\eta }_{3}\times {E}_{j} $ (12)

其中:$ {\eta }_{1} $$ {\eta }_{2} $$ {\eta }_{3} $分别是直接信任值、间接信任值和能量信任值的权重,满足$ {\eta }_{1}+{\eta }_{2}+{\eta }_{3}=1 $$ {\eta }_{1} $$ {\eta }_{2} $$ {\eta }_{3} $的值选取为0.34、0.4和0.26。$ D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}\mathrm{、}I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $$ {E}_{j} $均分布在[0, 1]区间内,因此综合信任值$ C{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $满足[0, 1],$ C{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $的值越高,节点j越值得信赖。

当网络中的某个节点发起黑洞攻击时,$ {S}_{t} $的值会急剧降至接近于0,在挥发因子的作用下历史信任值会急剧下降,因此恶意节点的综合信任值也会急剧下降,从而使发起黑洞攻击的恶意节点被隔离到网络之外。同样,如果网络有发起Hello洪泛攻击的节点,$ {R}_{t} $的值会急剧下降并接近于近0,这必然导致恶意节点的综合信任值也会下降。从而使恶意节点被排除在网络之外。因此,伴随着选择性转发攻击和槽洞攻击的节点,在挥发因子、$ {S}_{t} $$ {R}_{t} $的作用下,其综合信任值逐渐下降,同样会被排除在网络之外。

2.5 信任值的存储

节点i将监听到邻居节点j接收到的数据包数量$ \mathrm{r}\mathrm{e}\mathrm{c}\mathrm{e}\mathrm{i}\mathrm{v}\mathrm{e}\_\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $的值、发送的数据包数量$ \mathrm{s}\mathrm{e}\mathrm{n}\mathrm{d}\_\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $的值和数据包总量$ \mathrm{m}\mathrm{e}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $的值并存放在如表 1所示哈希表中。通过式(1)计算直接信任值$ D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $并将其存放在哈希表中,以便计算间接信任值$ I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $。之后,通过式(12)计算出综合信任值$ C{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $并将其保存在哈希表中。

下载CSV 表 1 节点i对邻居节点j的评价信息哈希表 Table 1 Hash table of evaluation information of node i to neighbor node j

节点i的邻居节点个数为q,对其ID编码:{ID1=0,ID2=1,…,IDq=q-1};同时对邻居节点j$ \mathrm{r}\mathrm{e}\mathrm{c}\mathrm{e}\mathrm{i}\mathrm{v}\mathrm{e}\_\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $$ \mathrm{s}\mathrm{e}\mathrm{n}\mathrm{d}\_\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $$ \mathrm{m}\mathrm{e}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $$ D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $$ C{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $分别编码为qq+1,q+2,q+3,q+4,令$ {a}_{1}=q $$ {a}_{2}=q+1 $$ {a}_{3}=q+2 $$ {a}_{4}=q+3 $$ {a}_{5}=q+4 $

节点i将监听到邻居节点j$ \mathrm{r}\mathrm{e}\mathrm{c}\mathrm{e}\mathrm{i}\mathrm{v}\mathrm{e}\_\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $$ \mathrm{s}\mathrm{e}\mathrm{n}\mathrm{d}\_\mathrm{m}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $$ \mathrm{m}\mathrm{e}\mathrm{s}\mathrm{a}\mathrm{g}{\mathrm{e}}_{j} $$ D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $$ C{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $的值通过哈希函数映射到同一张表中,哈希函数设计如下:

$ H\left(\mathrm{i}\mathrm{n}\mathrm{d}\mathrm{e}\mathrm{x}\right)=I{D}_{x}\times 5+{a}_{y}-q, x\in (\mathrm{1, 2}, \cdots , q), y\in (\mathrm{1, 2}, \cdots , 5) $ (13)

例如,节点i查询和计算2号邻居节点的$ C{T}_{i2}^{\mathrm{n}\mathrm{o}\mathrm{w}} $值时,根据式(13),将其存储在index=10的位置,查询和计算1号邻居节点的$ D{T}_{i1}^{\mathrm{n}\mathrm{o}\mathrm{w}} $值时,将其存储在index=3的位置。

3 TSRP设计

TSRP具体包括信任模型、路由建立和路由维护3个阶段。信任模型是TSRP的前期准备也是评价节点是否安全的重要依据。拥有越高综合信任值的节点代表的安全性也越高,被选择作为下一跳节点的可能性也越大。路由建立是将这些高综合信任值的节点作为中继节点的同时控制好跳数,使链路跳数尽可能少。当链路的不再是最优时,路由维护再次选择出最优路由,使网络中的数据沿着安全节能的路径传输。

3.1 网络模型

在本文中,WSN有n个节点被随机部署在感兴趣的L×M矩形区域上且每个节点均通过邻居节点将信息发送到sink。进行以下假设以简化网络模型:

1)部署后,每个节点和sink均不可移动;

2)考虑同构节点并具有相等的初始能量,此外,不可能补充能量;

3)每个节点都有一个唯一的标识符号(ID);

4)可以基于接收信号强度来计算任意一对节点或任意节点与sink之间的距离;

5)节点部署后,sink知道每个节点的ID和位置信息。

3.2 路由建立

TSRP中的路由建立是对AODV[23]的改进,扩展了路由请求帧(RREQ)和路由回复帧(RREP),在RREQ中添加了节点ID、综合信任值、剩余能量和跳数,在RREP中添加了节点的路由表和中继节点的剩余能量。RREQ和RREP中添加节点的剩余能量以便邻居节点收到此帧时更新其对邻居节点的能量信任值。

网络中的源节点广播RREQ消息以启动路由建立过程,因此sink可以接收多个RREQ,其数量等于源节点到sink之间总共存在的链路个数,链路集合可以表示为$ \mathrm{l}\mathrm{i}\mathrm{n}\mathrm{k}\_\mathrm{l}\mathrm{i}\mathrm{s}\mathrm{t}=[\mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{1}, \mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{2}, \cdots , \mathrm{l}\mathrm{i}\mathrm{n}{\mathrm{k}}_{r}] $r是链接的数量。链路集合中的链路由源节点i和所有中继节点组成,可以用$ \mathrm{l}\mathrm{i}\mathrm{n}\mathrm{k}=[\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{1}, \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{2}, \cdots , \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{k}] $表示,k是链路中节点的数量。sink根据链路集合中每条链路的链路质量选择出最优路径,链路质量表示如下:

$ \mathrm{l}\mathrm{i}\mathrm{n}\mathrm{k}\_\mathrm{q}\mathrm{u}\mathrm{a}=\frac{\sum \limits_{c}^{k}C{{T}_{c}}^{\mathrm{n}\mathrm{o}\mathrm{w}}}{\mathrm{d}\mathrm{i}\mathrm{s}} $ (14)

其中:dis是链路的传输距离,可以用以下公式表示:

$ \mathrm{d}\mathrm{i}\mathrm{s}=\sum \limits_{i=2}^{k}\left(\frac{\sqrt{{\left(\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{i}-\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{i-1}\right)}^{2}}}{R}\right) $ (15)

从式(14)可以看出,如果存在虫洞攻击,2个恶意节点之间的距离将会很长,必然会产生较大的dis值,从而降低链路质量,将恶意节点排除在链路之外。其中R为节点的传输半径。

为了将网络中的延迟降到最低,将跳数考虑到最优路径的选择中。TSRP定义了最优路径指标PPV,其表示如下:

$ {P}_{\mathrm{P}\mathrm{V}}=\lambda \times \left(\mathrm{l}\mathrm{i}\mathrm{n}\mathrm{k}\_\mathrm{q}\mathrm{u}\mathrm{a}\right)+\left(1-\lambda \right)\times {J}_{\mathrm{j}\mathrm{u}\mathrm{m}\mathrm{p}}^{-1} $ (16)

其中:jump是链路中的跳数;$ \lambda $和1-$ \lambda $分别是链路质量和跳数的权重系数,其为可调参数,为了公平起见,令$ \lambda $的值为0.5。对链集合的PV值由大到小排序,构建路由表$ \mathrm{P}\mathrm{V}\_\mathrm{l}\mathrm{i}\mathrm{s}\mathrm{t}=[\mathrm{P}{\mathrm{V}}_{1}, \mathrm{P}{\mathrm{V}}_{2}, \cdots , \mathrm{P}{\mathrm{V}}_{r}] $,选择最大的PV值对应的链路作为数据传输的最优路由。

具体的路由建立步骤如下:

步骤1  节点部署之后,sink向全网发送一个广播包,每个节点根据接收到广播包的信号强度计算出与sink之间的距离;向自己的邻居节点广播自己与sink之间的距离;每个节点保存自己所有邻居节点到sink的距离和相应的ID。

步骤2  源节点i广播RREQ来启动路由建立过程,首先源节点i根据自己邻居节点的综合信任值来寻找符合要求的预选下一跳节点,预选下一跳节点应该满足综合信任值高于阈值且距sink的距离小于自己到sink的距离(如图 2中的节点2、3、5、8、$ {a}_{1} $$ {a}_{2} $所示);之后节点i将预选下一跳节点按照综合信任值的大小由大到小排序,取前1/2高信任值的节点作为下一跳,且将下一跳节点的ID(如图 2中的节点2、3、5、8所示)、自己的综合信任值和ID放在RREQ包中;最后广播RREQ,跳到步骤3。

Download:
图 2 路由建立过程 Fig. 2 Process of route establishment

步骤3  源节点i的邻居节点在收到RREQ消息后,首先检查RREQ中是否有自己的ID,如果没有则丢弃RREQ,否则检查自己的剩余能量是否低于阈值,低于阈值则丢弃RREQ(如图 2中的节点2所示),高于阈值则跳转到步骤4。

步骤4  如图 2中节点3、5、8所示将RREQ包中的Jjump=Jjump+1,将RREQ中别的ID和对应的综合信任值删除,只保留自己ID、上一跳ID、源节点ID和对应的综合信任值。

步骤5  满足要求的节点重复步骤2~步骤3。在重复步骤2~步骤3时,如果中继节点收到多个RREQ并且源节点相同则只对先收到的RREQ进行处理,后收到的RREQ丢弃,以避免路由循环,直至到达sink;或者中继节点剩余能量或者综合信任值低于阈值,同样丢弃RREQ(如图 2中节点4所示)。

步骤6  sink可能收到一个或者多个RREQ时(如图 2中路径$ {r}_{1} $$ {r}_{2} $),sink根据接收到的RREQ中的信息通过式(14)~式(16)计算出每条路径中的最优路径,然后将其由大到小排序并且存储在$ \mathrm{P}\mathrm{V}\_\mathrm{l}\mathrm{i}\mathrm{s}\mathrm{t} $列表里。从列表中选择最大的PV值对应的路径作为最优路由,然后sink沿着这条路径反向传播RREP,直至到达源节点i

步骤7  在转发RREP过程中,从中读取邻居节点的剩余能量以便更新能量信任值。一旦中继节点剩余能量(如图 2中的节点10所示),则此节点沿着这条路径向sink发送RERR(错误帧)或者综合信任值低于阈值(如图 2中的节点10所示),则此节点的上一跳节点(如图 2中的节点11所示)沿着这条路径向sink发送RERR。sink收到RERR后,从$ \mathrm{P}\mathrm{V}\_\mathrm{l}\mathrm{i}\mathrm{s}\mathrm{t} $选择第二大的PV值对应的路径作为最优路由再次发送RREP,直至到达源节点i

步骤8  源节点i接收到RREP后,沿着该路径发送数据,并且该路径上的节点和周围的节点在一定周期$ {T}_{t} $内更新其综合信任值。

3.3 路由维护

在数据传输期间,一旦路径中任何节点的剩余能量低于阈值(如图 3中节点2所示),表示节点无法承担数据转发,则此节点沿着这条路径反向发送RERR,告知源节点i此路径不再可靠,需要重新发动路由建立过程;或者任何节点的综合信任值低于阈值(如图 3中节点2所示),表示此节点不再可信,则此节点的上一跳节点(如图 3中节点1所示)沿着路径反向发送RERR,告知源节点i需要重新发动路由建立过程,并从步骤2重新开始。

Download:
图 3 路由维护过程 Fig. 3 Process of route maintenance
4 仿真与结果分析

通过MATLAB与AODV和TBSRP(Trust Based Secure Routing Protocol)[10]进行比较,对本文提出的TSRP的性能进行评估,将100个节点随机部署在通信半径为30 m的100 m$ \times $100 m方形监视区域中,并将仿真回合数设置为3 000。上述剩余能量的阈值设置为不足以转发2个数据包所消耗的能量。恶意节点可以在网络上发起虫洞攻击、槽洞攻击、黑洞攻击、选择性转发攻击和Hello洪泛攻击。此外,当恶意节点发起选择性转发攻击时,接收到的数据包中有60%~80%被丢弃。以下仿真实验选择恶意节点的个数为5,表 2给出了仿真参数。

下载CSV 表 2 仿真参数 Table 2 Simulation parameters

对于无线传感器网络安全路由来说最重要的是网络的高安全性和低能耗。式(12)的前半部分$ {\eta }_{1}\times D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}+{\eta }_{2}\times I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $是评估节点安全性的指标,后半部分$ {\eta }_{3}\times {E}_{j} $是评估节点的能耗指标。为了使高安全性和低能耗来主导综合信任值的波动幅度,必须使$ {\eta }_{1}\times D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $$ {\eta }_{2}\times I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $之间的变化幅度不能大于$ {\eta }_{1}\times D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}}+{\eta }_{2}\times I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $$ {\eta }_{3}\times {E}_{j} $的变化幅度,所以$ {\eta }_{1}\times D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $的值和$ {\eta }_{2}\times I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $的值是相近的。根据仿真结果,直接信任值的平均值$ D{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $为0.919 4,间接信任值的平均值$ I{T}_{ij}^{\mathrm{n}\mathrm{o}\mathrm{w}} $为0.802 14。由表 3可以看出,$ {\eta }_{1} $$ {\eta }_{2} $的值选取为0.34和0.40,所以$ {\eta }_{3} $的值为0.26。

下载CSV 表 3 $ {\mathit{\eta }}_{1} $$ {\mathit{\eta }}_{2} $的选取 Table 3 Selection of $ {\mathit{\eta }}_{1} $ and $ {\mathit{\eta }}_{2} $ values
4.1 平均剩余能量

测试网络的平均剩余能量,该平均剩余能量是所有存活可信节点的剩余能量的平均值。图 4显示了在网络中有5个恶意节点的情况下平均剩余能量的比较。因为网络在计算且选择最优路径时由sink完成,分担了节点的计算能耗,更重要的是将节点的剩余能量、跳数和传输距离均考虑在其中,TSRP选择的最优路径具备信任值高、剩余能量高、跳数少、传输距离短的特点,降低了节点之间的通信能耗。而TBSRP并没有考虑节点的剩余能量、跳数和传输距离,选择的路径并非最优,所以不能很好地平衡网络的负载。AODV是没有安全防护措施的路径,因此恶意节点会破坏网络的路由,使节点更早更快地死亡。

Download:
图 4 平均剩余能量 Fig. 4 Average remaining energy
4.2 RREQ成功送达率

RREQ成功送达率是源节点i通过中继节点转发RREQ成功达到sink的路径与总共建立的路径的比值。源节点i向sink方向扩散RREQ,满足要求的中继节点会继续转发RREQ,不满足的则丢弃。因此,源节点i和sink之间会建立很多的路径,也会产生许多不能成功到达的sink路径。本文在路由建立过程中,控制了转发过程中继节点个数,从而减轻了节点间的信息交互,避免了通信拥堵,降低了网络的能耗。表 4表 5所示为距sink不同距离下随机选择源节点建立的路径个数和成功送达率。由表 4表 5可以看出该方法不仅降低了总共建立的路径条数而且提高了RREQ到达sink的成功送达率,使每条链路得以充分利用。

下载CSV 表 4 TSRP的RREQ成功送达率 Table 4 Successful delivery rate of RREQ in TSRP
下载CSV 表 5 TBSRP的RREQ成功送达率 Table 5 Successful delivery rate of RREQ in TBSRP
4.3 平均端到端延迟

评估平均端到端延迟,比较结果如图 5所示。随着恶意节点的增加,所有协议的平均端到端延迟都在增加。在AODV中,由于没有防御措施,因此丢包率随着恶意节点的增加而迅速增加。一旦发生数据包丢失,该节点需要建立重新连接并重新传输数据包,这无疑会增加端到端延迟。对于TBSRP和TSRP而言,由于采用了安全机制,平均端到端延迟会随着恶意节点的增加而缓慢增加。但是TSRP的延迟明显低于TBSRP。从图 5可以看出,当恶意节点个数为10时,TBSRP的端到端延迟为6.11 ms,而TSRP的端到端延迟为4.50 ms。主要原因是TSRP和TBSRP相比,TSRP选择了更安全且传输数据跳数更少的链路作为路径。

Download:
图 5 平均端到端延迟比较 Fig. 5 Comparison of average end-to-end delay
4.4 平均丢包率

图 6中显示的是平均丢包率,它是源节点发送的数据包数量与接收器接收的数据包数量之差与发送方发送的数据包数量之差的比率。AODV的平均丢包率随着回合次数的增加而迅速增加,因为它缺乏安全措施保护。在恶意节点的攻击下,节点将数据包恶意丢弃,使sink不能接收到数据包,从而急剧地增加了网络的丢包率。TSRP和TBSRP的丢包率先增大后减小,这是因为恶意节点逐渐地被排除在网络之外,使网络的丢包率逐渐降低。此外,TSRP的丢包率在2 100轮之后开始下降,而TBSRP在2 400轮之后才开始下降,这意味着TSRP比TBSRP能更快地将恶意节点排除在网络之外。因此,TSRP的性能比TBSRP更优。总体而言,TSRP的平均丢包率比TBSRP的平均丢包率高2.23个百分点。

Download:
图 6 平均丢包率比较 Fig. 6 Comparison of average packet loss rate
5 结束语

为提高网络安全性及节约网络能量,本文提出一种基于信任的安全路由协议(TSRP)。该协议通过节点的成功收发包概率、历史状态和剩余能量来综合评估每个节点的信任值,量化节点的安全等级,根据单个节点的信任值和跳数找到一条安全性最高、能量消耗最少的路径作为数据传输的路由。仿真结果表明,TSRP在能耗、丢包率及网络延迟方面均优于AODV和TBSRP。下一步将通过构建基于分簇结构的网络,提高排除恶意节点的速度,降低节点的能量消耗。

参考文献
[1]
GUO Z P, LI J, ZHAO Y G, et al. Review of wireless sensor networks technology in internet of things[J]. Computers and Applied Chemistry, 2019, 36(1): 72-83. (in Chinese)
郭志鹏, 李娟, 赵友刚, 等. 物联网中的无线传感器网络技术综述[J]. 计算机与应用化学, 2019, 36(1): 72-83.
[2]
SANDEEP V, NEETU S, AJAY K S. Genetic algorithm-based optimized cluster head selection for single and multiple data sinks in heterogeneous wireless sensor network[J]. Applied Soft Computing Journal, 2019, 85(3): 1-21.
[3]
SELVAKUMAR K, SAIRAMESH L, KANNAN A. An intelligent energy aware secured algorithm for routing in wireless sensor networks[J]. Wireless Personal Communications, 2017, 96(3): 1-18.
[4]
DEVANAGAVI G D, NALINI N, BIRADAR R C. Secured routing in wireless sensor networks using fault-free and trusted nodes[J]. International Journal of Communication Systems, 2016, 29(1): 170-193. DOI:10.1002/dac.2810
[5]
WANG Y, ZHANG M, SHU W. An emerging intelligent optimization algorithm based on trust sensing model for wireless sensor networks[J]. EURASIP Journal on Wireless Communications and Networking, 2018(1): 145. DOI:10.1186/s13638-018-1174-6
[6]
WANG C, JIA X Y, LIN Q. Trust based secure routing algorithm for wireless sensor networks[J]. Journal on Communications, 2008, 29(11): 105-113. (in Chinese)
王潮, 贾翔宇, 林强. 基于可信度的无线传感器网络安全路由算法[J]. 通信学报, 2008, 29(11): 105-113. DOI:10.3321/j.issn:1000-436X.2008.11.015
[7]
QIN D Y, JIA S, YANG S X, et al. Research on trust sensing based secure routing mechanism for wireless sensor network[J]. Journal on Communications, 2017, 38(10): 60-70. (in Chinese)
秦丹阳, 贾爽, 杨松祥, 等. 基于信任感知的无线传感器网络安全路由机制研究[J]. 通信学报, 2017, 38(10): 60-70. DOI:10.11959/j.issn.1000-436x.2017198
[8]
ALMAZYAD A S. Reputation-based mechanisms to avoid misbehaving nodes in Ad Hoc and wireless sensor networks[J]. Neural Computing and Applications, 2018, 29(9): 597-607. DOI:10.1007/s00521-016-2555-6
[9]
TANG J W, LIU A F, ZHANG J, et al. A trust-based secure routing scheme using the trace back approach for energy-harvesting wireless sensor networks[J]. Sensors, 2018, 18(3): 751. DOI:10.3390/s18030751
[10]
AHMED A, BAKAR K A, CHANNA M I, et al. Countering node misbehavior attacks using trust based secure routing protocol[J]. Telkomnika, 2015, 13(1): 260-268. DOI:10.12928/telkomnika.v13i1.1181
[11]
ALFARRAJ O, ALZUBI A, TOLBA A. Trust-based neighbor selection using activation function for secure routing in wireless sensor networks[J]. Journal of Ambient Intelligence and Humanized Computing, 2018, 6: 1-11. DOI:10.1007/s12652-018-0885-1
[12]
SELVI M, THANGARAMYA K, GANAPATHY S, et al. An energy aware trust based secure routing algorithm for effective communication in wireless sensor network[J]. Wireless Personal Communications, 2019, 105: 1475-1490. DOI:10.1007/s11277-019-06155-x
[13]
AHMED A, BAKAR K A, CHANNA M I, et al. Energy-aware and secure routing with trust for disaster response wireless sensor network[J]. Peer-to-Peer Networking and Applications, 2017, 10(1): 216-237. DOI:10.1007/s12083-015-0421-4
[14]
PRIAYOHESWARI B, KULOTHUNGAN K, KANNAN A. Beta reputation and direct trust model for secure communication in wireless sensor networks[C]//Proceedings of the International Conference on Informatics and Analytics. New York, USA: ACM Press, 2016: 73.
[15]
TAO Y, PAN L N, WANG J, et al. A security trust evaluation model for wireless sensor networks defense against trust attacks[J]. Chinese Journal of Sensors and Actuators, 2018, 31(12): 100-105. (in Chinese)
陶洋, 潘蕾娜, 王进, 等. 防御信任攻击的无线传感器网络安全信任评估模型[J]. 传感技术学报, 2018, 31(12): 100-105.
[16]
TAO Y, XU X Y, LI P, et al. Energy-optimized secure routing algorithm in WSN[J]. Computer Engineering and Design, 2018, 39(12): 3638-3642. (in Chinese)
陶洋, 许湘扬, 李朋, 等. WSN中能量优化的安全路由算法[J]. 计算机工程与设计, 2018, 39(12): 3638-3642.
[17]
PAN L N, TAO Y, XU X Y, et al. A secure clustering routing protocol based on trust and balancing energy consumption[J]. Journal of Beijing University of Posts and Telecommunications, 2019, 42(3): 29-36. (in Chinese)
潘蕾娜, 陶洋, 许湘扬, 等. 基于信任与能耗均衡的安全分簇路由协议[J]. 北京邮电大学学报, 2019, 42(3): 29-36.
[18]
ZHANG G H, YANG Y H, ZHANG D W, et al. Secure routing mechanism based on trust against packet dropping attack in internet of things[J]. Computer Science, 2019, 46(6): 153-161. (in Chinese)
张光华, 杨耀红, 张冬雯, 等. 物联网中基于信任抗丢包攻击的安全路由机制[J]. 计算机科学, 2019, 46(6): 153-161.
[19]
KALIDOSS T, RAJASEKARAN L, KANAGASABAI K, et al. QoS aware trust based routing algorithm for wireless sensor networks[J]. Wireless Personal Communications, 2020, 110(4): 1637-1658. DOI:10.1007/s11277-019-06788-y
[20]
FENG C, ZHAO W, YANG Y W. A secure routing method for wormhole attack[J]. Computer Engineering, 2013, 39(9): 186-188, 200. (in Chinese)
冯聪, 赵炜, 杨余旺. 一种针对虫洞攻击的安全路由方法[J]. 计算机工程, 2013, 39(9): 186-188, 200. DOI:10.3969/j.issn.1000-3428.2013.09.041
[21]
CHEN S, ZHANG H, LI H F, et al. Security routing protocol resisting blackhole attack in delay-tolerant sensor network[J]. Computer Engineering, 2014, 40(11): 121-125. (in Chinese)
陈思, 张宏, 李华峰, 等. 时延容忍传感器网络中抗黑洞攻击的安全路由协议[J]. 计算机工程, 2014, 40(11): 121-125. DOI:10.3969/j.issn.1000-3428.2014.11.024
[22]
KUMAR N, SINGH Y. An energy efficient and trust management based opportunistic routing metric for wireless sensor networks[C]//Proceedings of the 4th International Conference on Parallel, Distributed and Grid Computing. Washington D.C., USA: IEEE Press, 2016: 611-616.
[23]
PERKINS C E, ROYER E M. Ad-hoc On-demand Distance Vector Routing[C]//Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and Applications. Washington D.C., USA: IEEE Press, 1999: 90-100.