孙子文,吴 平
(1.江南大学物联网工程学院,江苏 无锡 214122;2.物联网技术应用教育部工程研究中心,江苏 无锡 214122)
随着工业控制系统网络化的推进,网络安全和数据安全问题日益突出,一些安全漏洞将给工业控制应用造成巨大的损失[1]。工业无线传感器网络IWSN(Industrial Wireless Sensor Networks)[2-4]中存在的网络攻击使得节点能量消耗异常、能量耗尽以及节点出现不同程度的故障,最终造成路由空洞。因此对于IWSN而言,最基本的要求就是设计的路由协议不仅要实时可靠、节能,而且要确保路由路径的安全,抵御恶意节点的攻击[5]。
针对网络中的内部攻击,研究人员提出了许多基于信任的方法来增强路由协议的安全性。文献[6]利用模糊逻辑进行信任的合成,但容易丢失信息而造成结果的不准确,并且忽略了间接信任;文献[7]考虑了直接信任与间接信任,同时利用Beta模型确定权重,具有自适应的调整功能,但算法虽然采用周期更新,却忽略了历史信任值的重要性,这将不利于结果的准确性;文献[8]采用周期更新方式,不仅考虑了当前信任值,同时也考虑了历史信任值,算法将8个信任指标加权后作为直接信任值,虽在一定程度上提高了成功交互率,但算法计算复杂度提高,加大了平均端到端时延;文献[9]将信任评估模型与蚁群算法相结合,研究了一种安全路由协议IASR(Improved ACO-Based Security Routing Protocol),算法考虑了历史和当前信任值,由此计算的成功交互率虽在一定程度上提高了直接信任值的结果准确性,但却无法快速识别恶意节点的伪装和暴力攻击;同时,算法也加入了间接信任值,虽然间接信任值计算了转发节点对推荐节点的信任值,但对于恶意节点的诽谤推荐,算法并不能识别,有必要寻求能够抵御恶意节点诽谤攻击的间接信任值计算方法。
本文采用一种改进的信任评估模型,将模型融入两跳实时可靠路由协议THTR(Two-Hop Reliable and Real-Time Routing)[10]中,研究了一种工业无线传感器网络节点可信安全路由协议NCSRPT(Node Credible Security Routing Protocol for IWSN Based on THTR)。首先,直接信任值交互次数更新方法不仅可以阻止恶意节点的暴力攻击,同时可以识别恶意节点的伪装行为;其次,基于推荐节点的推荐信任可靠度计算方法将不可靠的推荐节点排除在外,阻止了恶意节点对其他节点的群体诽谤,最终提高了网络安全性。
信任模型通过对节点过去行为的统计(即原有信任值)推断节点将来动作行为。转发节点采取合适的信任模型计算直接、间接信任值,两者加权得到综合交互信任值。
网络中的每一个节点都分配一个看门狗组件,用于监测其他节点的行为。依据看门狗组件,当转发节点i发送一个数据包给下一跳的邻居节点i+1时,它开始在节点信任值周期更新时间Δt内监听无线信道,目的是接收一个被动确认信息,监听下一跳节点是否转发其发送的数据包,如果在时间间隔内未接收到被动确认信号,则重新发送该数据包,直至重新发送次数到达设置的发送次数上限(设置重发次数上限为5)。
转发节点i不断更新与一跳邻居节点i+1的信任值,以确保信任信息的新鲜性以及时间相关性。为此,使用周期性更新方式对信任值进行更新,更新周期为Δt。
设当t=t0时,IWSN的信任机制开始工作。tn=tn-1+Δt(n=1,2,3,…)时刻的成功与失败交互次数更新如式(1)所示:
(1)
动态更新权重因子λ的计算如式(2):
(2)
其中:
(3)
表示t0到tn-1时刻累计的历史成功交互率与近期成功交互率之差;μ∈[0,0.5][11-12]为度量节点i+1的历史与近期行为接近程度的关节度量。
若|z|<μ或1时刻,表示节点i+1的行为保持一致,可信度较高,λ取0,式(1)中成功交换次数为历史数据直接累加近期成功交换次数,不成功交换次数更新方法亦相同。
若|z|>μ,表示节点i+1的行为表现差异较大,即行为异常,此时分两种情况讨论:
①z<0,节点i+1的历史成功交互率低于近期成功交互率,λ<0,此时式(1)中用于衡量直接信任的成功交互次数和失败交互次数小幅度上升,由此计算的成功交互率相对于无权重因子λ所计算的成功交互率上升幅度变小,可以防止恶意节点通过欺骗或伪装快速提高成功交互率而达到增加信任的目的。
②z≥0,节点i+1的历史成功交互率高于近期成功交互率,则节点恶性行为概率上升,λ≥0,此时式(1)中用于衡量直接信任的成功交互次数和失败交互次数大幅度增大,由此计算的成功交互率相对于无权重因子λ所计算的成功交互率下降幅度变大,可以迅速识别恶意节点。
(4)
设W(i)和W(i+1)为节点i和i+1各自邻居节点集合,节点i和i+1共同邻居节点集为[13]:
H1={mk|mk∈[W(i)∩W(i+1)]}k=1,2,3,…
(5)
由于恶意节点发动黑洞攻击具有随机性[14],因此直接选取直接信任值并不充分,此时节点i需要向H1中的推荐节点请求推荐信任值,推荐节点mk将把节点i+1的直接信任值作为推荐信息返回给节点i。推荐节点集合表示如下:
F1={mk|[d(mk,D)-d(i+1,D)>0]∩ [d(i,D)-d(mk,D)>0]mk∈H1}
(6)
其中,d(.,.)表示两节点间的距离,[d(mk,D)-d(i+1,D)>0]∩[d(i,D)-d(mk,D)>0]表示节点i和节点i+1朝着目的节点D方向所形成的半径圆弧之间的节点。如图1所示,阴影部分为推荐节点区域,黑色实心节点m1、m2、m3、m3和m4为推荐节点。
图1 推荐节点集合示意图
为了确保推荐节点mk的可靠性,计算节点i与节点mk之间的信任偏差,获得推荐节点mk的可靠度[15]。节点i与节点mk之间的信任偏差取决于两节点的共同邻居节点。
则节点i和节点mk的共同邻居节点集为:
H2={xp|xp∈[W(mk)∩W(i)]}p=1,2,3,…
(7)
节点mk的可靠度评价节点集为:
F2={xp|d(mk,D)-d(xp,D)>0,xp∈H2}
(8)
其中,d(mk,D)-d(x,D)>0表示节点mk朝着目的节点D方向所形成的半径圆弧内的节点。节点i与节点m1的可靠度评价节点集合如图2所示,阴影部分为可靠度评价节点区域,黑色实心节点x1、x2和x3为m1的可靠度评价节点集合。
图2 可靠度评价节点集合示意图
定义t=tn时刻推荐节点mk的可靠度如式(9):
(9)
其中,η表示节点信任的偏差容忍,取值范围[0,1];Dei,mk表示节点i对mk的信任偏差[16],其值为:
(10)
分子表示节点i与推荐节点mk对所有可靠度评价节点的直接信任值差的平方根。若Dei,mk>η,表示两个节点对可靠度评价节点的直接信任存在较大偏差,因此,mk的可靠度Rei,mk为0;若Dei,mk<η,表示两个节点对可靠度评价节点的直接信任的偏差较小,因此mk的推荐具有一定的可靠度,但随着信任偏差Dei,mk增大,可靠度Rei,mk的值将快速减小[15]。
(11)
最终t=tn时刻节点i对节点i+1的间接信任值由式(12)给出:
(12)
节点间接信任值的推荐过程示意图见图3所示。
图3 节点间接信任值推荐过程示意图
在评价节点间的信任关系时,考虑直接信任值因素的同时,也要考虑间接信任值因素。定义节点i对节点i+1的综合交互信任值为直接信任值和间接信任值的加权和,如式(13):
(13)
其中,0<ξ<1为加权因子,为了避免人为因素的干预,选择自适应方法对ξ进行计算,如式(14)所示:
(14)
本文在研究了路由的实时性和可靠性的基础上,将提出的信任模型引入到THTR路由协议中,形成新的可信安全路由协议NCSRPT。
在THTR路由协议[10]中,将数据包从转发节点传给两跳邻居节点的潜在路径节点集O如下式所示:
(15)
(16)
其中,delay1是将数据包从节点i传到节点i+1的总延迟时间,delay2是将数据包从i+1传到i+2的总延迟时间。Vdeadline表示源节点S到目的节点D的数据包的传输速度,其值为:
(17)
其中,delayS,D是IWSN的应用层延迟QOS规定的源节点到目的节点的截止时间。
(18)
其中,qi_send是节点i的发射功率,E(qi_send)表示以qi_send为发射功率转发数据包消耗的能量。Ei+1为节点i+1的剩余能量。E(qi+1_send)和Ei+2亦同理。
同时定义如下的线性优化函数:
(19)
其中,
(20)
为自适应加权因子,ts→i表示将数据包从源节点传到节点i所需要的时间。
(21)
(22)
其中:
(23)
为交互因子,TN_sum=TNi,i+1+TNi+1,i+2表示一跳总交互次数与两跳总交互次数之和。
(24)
为剩余能量因子,E_sum=Ei+1+Ei+2表示一跳邻居节点剩余能量与两跳邻居节点剩余能量之和。
为研究信任模型的有效性,将文献[9]的IASR安全路由协议的典型信任评估模型与NCSRPT路由算法的信任评估模型进行仿真对比。
3.1.1 直接信任分析
当网络中的恶意节点发动相当频率的黑洞攻击时,网络应尽可能快速反应恶意节点的信任值变化;相反,当恶意节点在直接信任值很差的前提下,企图通过持续性的友好行为骗取高信任值,网络应对恶意节点的行为重点考察,信任值应尽可能缓慢增加。采用OPNET建模者14.5对两者的信任评估模型进行直接信任分析。实验取两个节点,分别是转发节点i和恶意节点,转发节点i发送数据包给恶意节点,恶意节点发动黑洞攻击,计算恶意节点在仿真时间内的直接信任值变化。针对恶意节点发起暴力攻击以及利用良好表现赚取高信任值(伪装)的两种行为进行仿真实验。仿真时间T=100s,节点信任值更新周期Δt为20s,具体的仿真参数如表1所示[17]。
表1 实验仿真参数配置
图5 伪装对直接信任值的影响
图4和图5分别显示了当恶意节点发动暴力攻击和伪装时直接信任值的变化情况。
图4 暴力攻击对直接信任值的影响
从图4和图5可以看出,当恶意节点发动暴力攻击时,NCSRPT信任评估模型随着仿真时间的增加,直接信任值迅速下降,这是因为随着数据包转发率迅速下降,节点交互失败次数也迅速增多,惩罚因子的存在以及改进的交互更新方法使得直接信任值快速下落,符合网络快速反应恶意节点信任值变化的要求;IASR信任评估模型虽然也采用了交互更新方式,使得信任值也一定程度开始下降,但却无法迅速反应,从而间接地增加了丢包率和端到端延迟。当恶意节点发动伪装时,NCSRPT信任评估模型随着仿真时间的增加,直接信任值缓慢上升。一方面,由于初始周期的数据包转发率为60%,惩罚因子的存在使得直接信任值上升幅度很小,只有0.05,另一方面,当数据包转发率从60%上升至85%时,改进的交互更新方法发挥了主要作用,在时间周期为第40s时,相比IASR信任评估模型,NCSRPT信任评估模型的直接信任值要小0.28;而IASR信任评估模型的直接信任值总体上升幅度较大,对于骗取高信任值的恶意节点并无防范能力。
3.1.2 综合交互信任分析
同样采用OPNET建模者14.5对两者的信任评估模型进行交互信任分析,验证转发节点对推荐节点诽谤行为的抵抗能力。实验计算转发节点i对一跳邻居节点i+1的综合交互信任值,设置两节点的共同邻居为10个,其中一个为恶意节点,设置节点i与恶意节点的共同邻居为7个,恶意节点发送推荐信任值时会发动诽谤攻击。目的节点位置与节点i和节点i+1同处一条直线,如图6所示。
图6 参与交互信任计算的节点关系示意图
设置节点间的直接信任值为0.6到0.9的随机数,设置恶意节点向转发节点i发送诽谤的直接信任值为0.1到0.3的随机数。假设恶意节点在诽谤前已经利用良好表现骗取了高信任值并将在仿真周期内一直保持,依照式(9)和式(10)计算所有推荐节点的可靠度。转发节点i以1 packet/s的速率发送数据包给一跳邻居节点i+1。仿真时间T=100 s,节点信任值更新周期Δt为20 s,具体的仿真参数如表2所示。
图7显示了恶意节点进行群体诽谤时,转发节点i对一跳邻居节点i+1的交互信任值变化。
表2 实验仿真参数配置
通过图7可以看出,在仿真周期内,NCSRPT信任评估模型和IASR信任评估模型求得的交互信任值都在缓慢下降,但NCSRPT信任评估模型中基于推荐节点可靠度的间接信任模型明显要优于IASR信任评估模型中典型的间接信任模型,这是因为推荐节点可靠度的存在使得恶意节点的群体诽谤行为无法奏效,反而因为诽谤行为被算法所隔离,而IASR信任评估模型中的间接信任模型虽然加入了转发节点i对恶意节点的直接信任值,但这对骗取高信任值的恶意节点无法奏效,因此综合交互信任值迅速下降。
图7 群体诽谤对交互信任值评价的影响
为研究算法的有效性,本文对NCSRPT路由算法进行了仿真实验,并将NCSRPT路由算法与THTR算法的性能进行了对比。
3.2.1 仿真环境
采用OPNET建模者14.5建立性能仿真平台。在200 m×200 m的区域内随机部署200个节点,源节点位于(175 m,175 m),目的节点位于(20 m,20 m)。仿真时间T=200 s。随机选取网络中0~10%的节点为恶意节点,为了模拟恶意节点利用前期良好表现赚取高信任值的行为,在仿真前40 s设置恶意节点的数据转发率为区间[0.9,1.0]内的随机数,后160 s设置为区间[0,0.33]内的随机数,恶意节点发起黑洞攻击,并向其他节点提供虚假推荐信任;正常节点的数据转发率均设置为区间[0.9,1.0]内的随机数。实验结果取多次仿真的平均值。为了突出网络的安全性,将应用层规定的源节点到目的节点的链路延迟delayS,D设置为2 000 ms[10]。具体的仿真参数如表3所示。
表3 场景及节点参数配置
μ和η是算法的关键参数,通过对比恶意节点历史信任值和当前信任值的差别以及对信任偏差和可靠度之间约束关系的权衡,最终μ和η分别取0.2和0.4[18]。
3.2.2 实验结果与分析
①丢包率
丢包率(Packet Loss Rate)是反映网络状况的重要性能参数。表示源节点发送数据包个数和目的节点接收到的数据包个数差与源节点发送数据包个数比值。
图8显示了两种路由协议在0~20个恶意节点的情况下的丢包率。从图中可以看出随着恶意节点的增多,两种路由协议的丢包率都在增大。当网络中没有恶意节点时,THTR、NCSRPT两种路由的丢包率分别是3.74%和4.35%,两者丢包率相差并不大,但随着恶意节点的增多,THTR的丢包率从 3.74%增加到了72.43%,可见,黑洞攻击可对路由造成破坏性影响。NCSRPT算法的丢包率总体而言优于THTR算法。在存在恶意节点的情况下,两者丢包率最低相差4.24%,最高相差59.70%。第一,惩罚因子的使用使得网络能够更加有效识别恶意节点;第二,恶意节点在仿真前40 s利用正常行为骗取了高信任值,NCSRPT中节点交互次数的动态更新使得网络能够在恶意节点发生恶意行为时迅速降低其信任值,降低了丢包率;第三,恶意节点会对转发节点发送虚假的推荐信任值,发动诽谤攻击,推荐节点可靠度的引入使得网络能够将恶意节点排除在外,从而间接降低丢包率。
图8 丢包率
②平均端到端时延
端到端时延(End-to-End Delay)是指数据包发送和到达的时间间隔。而平均端到端时延(The Average End-to-End Delay)表示所有数据包发送和到达的时间间隔和与成功转发数据包个数的比值。
图9显示了两种路由协议在0~20个恶意节点的情况下的平均端到端时延。从图3中可以看出两种算法的平均端到端时延都呈现增大的趋势。这是因为恶意节点的存在增加了丢包率,而一旦节点丢包,上层网络协议需要不断等待节点间重新建立链接并重发数据包,这无疑增加了网络的时延。在没有恶意节点的情况下,THTR以及NCSRPT的时延分别为1 423 ms和1 445 ms。THTR的时延小。这是因为THTR算法的计算复杂度最低,而NCSR-PT算法由于需要计算信任值,时延相对较大。但随着恶意节点的数目增多,THTR的时延迅速上升,幅度较大,恶意节点为25个时,两者时延分别为2 305 ms和1 675 ms,相差最大,为630 ms。这是因为恶意节点的增多使得THTR丢包率不断上升,网络重传较多,这导致路由稳定性直线下滑,因此时延增大。
图9 平均端到端时延
③吞吐量
吞吐量(Throughput)是指目的节点单位时间内接收到的数据量[19]。网络的平均吞吐量可以表示为目的节点接收到的数据包总量与接收最后一个数据包和接收第一个数据包的时间差的比值。
图10显示了两种路由协议在0~20个恶意节点的情况下的吞吐量。从图中可以看出两种算法的吞吐量都在降低。这是因为随着恶意节点的增多,网络丢包率逐渐增大,端到端时延增加,使得目的节点接收的数据包减少,吞吐量减小。当恶意节点个数为0时,THTR和NCSRPT的吞吐量分别为78.66 bit/s和76.56 bit/s,由于THTR计算复杂度低,实时性相比NCSRPT较强,丢包率和时延也相对较小,吞吐量也因此较高一些。但随着恶意节点个数增加,THTR的吞吐量从78.66 bit/s大幅度下降至22.64 bit/s,当恶意节点为25时,与NCSRPT的吞吐量相差最大,为46.80 bit/s,由于没有信任机制,随着恶意节点个数的增加,THTR丢包越来越频繁,也致使吞吐量急剧下滑。
图10 吞吐量
图11 路由开销
④路由开销
路由开销(Routing Overhead)表示网络中被转发和发送的数据包总次数与目的节点接收到的数据包个数的比值。它反映了算法的综合路由代价[20]。
从图11中可以看出,随着恶意节点数目的增多,两种算法的路由开销逐渐上升。这是因为恶意节点的增多使得节点丢包率增加,时延增大,路由开销也就随之上升。当恶意节点数从0上升到25时,THTR的路由开销从11.69上升至50.86,变化范围相对 NCSRPT 较大;另外,当网络中恶意节点数低于13时,THTR的路由开销比NCSRPT要低(当网络中没有恶意节点时,NCSRPT的路由开销为21.34,与THTR相差9.68;当恶意节点数为10时,THTR的路由开销为21.76,NCSRPT的路由开销为24.66,与THTR相差2.90),这是因为THTR没有信任机制,在恶意节点数较少时,其转发的数据包数量要少于 NCSRPT 算法;此外,当恶意节点数为0时,由于 NCSRPT 的信任模型引入了推荐节点可靠度,推荐节点需要将与转发节点i的共同邻居节点的直接信任值发送给转发节点i,这就使得NCSRPT在恶意节点数为0时的路由开销比THTR高出了9.68,但当网络中恶意节点数高于13时,THTR的路由开销迅速上升,且远远高于NCSRPT算法(当恶意节点数为25时,THTR的路由开销为50.86,NCSRPT的路由开销为31.13,与THTR相差19.73),这是因为恶意节点数较多时,THTR丢包率升高,致使网络重传次数上升,目的节点接收的数据包数量下降,从而路由开销迅速增加。可见,NCSRPT的路由开销整体水平优于THTR路由算法。
针对IWSN中地理路由遇到的内部攻击如基于黑洞攻击的暴力、伪装以及诽谤问题,本文的NCSRPT路由算法引入一种改进的信任评估模型,从而建立了一种安全路由。首先,与传统的IASR信任评估模型相比,通过引入新的交互更新方法,改进的信任评估模型能够有效识别恶意节点的暴力攻击和伪装攻击;其次,基于推荐节点可靠度的间接信任方法能够有效抵御恶意节点的群体诽谤攻击;最后,通过将加入改进的信任评估模型的NCSRPT路由算法与THTR路由算法相对比,实验结果显示NCSRPT路由算法能有效隔离恶意节点,在丢包率、平均端到端延迟、吞吐量以及路由开销方面有着显著提升。