赵蓓英,姬伟峰,翁 江,孙 岩,李映岐,吴 玄
空军工程大学 信息与导航学院,西安 710177
近年来,无人机自组织网络(flying ad hoc networks,FANETs)在军事和民用领域的应用越来越广泛,如协同侦查、实时监控、空中基站等。无人机具有体型小、易操作、速度快等优点,机间相互协调、共享信息以完成任务[1]。然而,天气状况、地理障碍以及高动态性导致网络拓扑变化快、链路中断频繁[2]。同时,节点本身兼顾路由转发功能,而路由层面的攻击如黑洞、灰洞、泛洪等内部攻击易于实施且破坏性极强[3]。
无人机自组织网络可归纳为移动自组织网络的一类,采取基于信任的路由协议是确保自组织网络路由安全性与可靠性的有效措施之一,但是仍存在信任评估因子单一、信任计算不合理等问题。文献[4]将节点间交互成功概率作为节点信任度,检测黑洞攻击节点并指导下一跳节点的选择。但该文献对信任度的评估仅基于对节点转发行为的观测,无法应对协作式攻击、链路故障等问题。文献[5]考虑了直接信任度、间接信任度、历史信任度、链路质量、活跃度多个信任评估因子,通过模糊层次分析法确定权重进行信任聚合,提出了一种轻量级信任增强路由协议(light-weight trust-enhanced ad hoc on-demand multipath distance vector,TEAOMDV)。文献[6]提出一种随机重复信任计算信任管理(random repeat trust computation,RRTC)方案,进一步考虑了剩余能量、信道质量,直接指定信任评估因子权重,通过加权平均方式计算节点的信任度。但文献[5-6]中权重向量相对固定,忽略了动态环境下信任测度的不确定性,恶意节点检测准确度较低,且容易造成误判。文献[7-8]考虑信号强度、剩余能量、传输延时、数据包投递率,通过模糊C-Means 聚类将节点分为三类,同时根据聚类中心调整评估因子权重并计算信任度。文献[9]选取了覆盖自组织网络中黑洞、泛洪与数据包丢弃攻击的特征作为模糊变量,采用模糊Petri 网络将节点的信任等级分为5 级,实现了节点之间的模糊安全验证。但文献[7-9]未考虑FANETs 网络拓扑高度动态变化、链路中断频繁的特点,导致丢包率较高。以上文献中信任评估模型能够一定程度上防御内部攻击,但对信任模型中的开关攻击均欠缺考虑。文献[10-11]通过判断一个时间窗内信任度下降次数是否超过阈值来检测攻击节点,但没有考虑攻击节点信任度上升快的特点,当恶意节点处于高信任度时,将再次加入路由路径,从而发动攻击。
针对以上协议存在信任评估因子单一、信任计算不够合理的问题,本文引入数据包转发率、可信交互度、探测包接收率作为信任评估因子,提出一种自适应模糊信任聚合网络(adaptive fuzzy trust aggregation network,AFTAN)计算节点间的直接信任度,综合可信邻居节点的间接信任度,得到节点信任度。针对信任模型中的开关攻击,引入信任波动惩罚因子,修正节点信任度。基于按需多径距离矢量路由协议(ad hoc on-demand multipath distance vector,AOMDV),本文提出一种基于信任的按需多径距离矢量路由协议(trust-based ad hoc on-demand multipath distance vector routing protocol,TAOMDV),在路由发现与维护过程中考虑节点信任度,建立可信路由路径,保障通信安全。
信任关系具有不确定性、非对称性、部分传递性等复杂的动态属性,是一个抽象概念,不同环境下存在多种定义。为更清晰地描述模型,对本文采取的信任度以及信任评估因子定义作出如下说明:
定义1(节点信任度)[12]节点对其邻居节点未来行为的信任程度,包括通过观测节点行为与状态得到的直接信任度与通过其他邻居节点推荐得到的间接信任度。
节点信任度的计算如式(1),其中Tij表示节点vi对vj的信任程度,为直接信任度,为间接信任度。节点信任关系模型如图1。
定义2(路径信任度)节点通过候选路径传输数据的可信程度。
信任的评估具有非对称性,因此路径信任度分为正向路径信任度和反向路径信任度。前者决定源节点是否通过该路径发送数据,后者决定目的节点是否从该路径接收数据。路径信任度的计算如式(2)。其中FPT为正向路径信任度,RPT为反向路径信任度,vS为源节点,vD为目的节点,vM、vK为路径中任意两个相邻节点,TMK表示vM对vK的信任度,TKM表示vK对vM的信任度。
Fig.1 Trust model of nodes图1 节点信任关系模型
本文主要针对FANETs 中黑洞、灰洞攻击问题,此类节点收到数据包丢弃而不转发,因此引入数据包转发率,同时考虑节点的交互情况,是否遵守信任机制隔离恶意节点,引入可信交互度,确保了节点级别的安全性。考虑节点间的物理链路状况,引入探测包接收率,保障了链路级别的可靠性。数据包转发率、可信交互度、探测包接收率定义如下:
定义3(数据包转发率)节点接收到的数据包与其转发的数据包的比率。
黑洞节点与灰洞节点在收到数据包时往往会丢弃而不进行转发,通过检测数据包转发率,可以识别此类恶意节点。数据包转发率定义式如式(3):
其中,NRDP为节点接收到数据包,NFDP为转发的数据包。
定义4(可信交互度)节点与其他节点的交互程度。
节点与可信节点交互越多,可信度越高,反之可信度越低,可信交互度定义式如式(4):
其中,fT表示被评估节点与可信节点的交互频率,fN表示与非可信节点的交互频率。
定义5(探测包接收率)反映物理链路和周围环境的状况。利用Hello 消息,对邻居节点进行周期性链路探测,计算探测包成功到达接收方的概率。
探测包接收率定义式如式(5):
其中,N(t-π,t)为评估节点在时间窗π内实际接收到的探测包个数,τ为探测周期,π/τ为理论上应接收到的探测包个数,即被评估节点发送的探测包个数。
本文从不同角度周期性地观察节点行为,提出一种自适应模糊信任聚合网络AFTAN 来聚合数据包转发率、可信交互度与探测包接收率3 个信任评估因子,根据信任评估因子不同的模糊隶属等级,合理计算节点间的直接信任度,以适应不同的网络环境。
Fig.2 Fuzzy membership function图2 模糊隶属函数
令评估因子集{数据包转发率、可信交互度、探测包接收率}为X={x1,x2,x3},参考文献[7-8],将每个评估因子分为“Bad”“ Neutral”与“Good”3 个等级,设计信任评估因子的隶属函数如图2所示。采用Takagi-Sugeno 模型[13-14]进行模糊推理,根据模糊隶属函数,设计模糊规则集,共有3×3×3=27 条模糊规则,规则形式如式(6),其中l、m、n分别代表评估因子隶属的等级,i表示规则序号,pi、qi、ri为结论参数。结论参数依据各评估因子值所处不同等级时,对网络影响程度不同,因此其重要程度也不相同,采用层次分析法进行确定。表1 给出了计算结论参数的总体重要程度判别规则。
Table 1 Judgment rules of importance for conclusion parameters表1 结论参数重要程度判别规则
参考自适应神经模糊推理系统(adaptive neuro fuzzy inference system,ANFIS)[15],根据表1 确定结论参数,设计自适应模糊信任聚合网络如图3 所示。输入层的参数为3 个信任评估因子,通过信任聚合层进行模糊推理,最终输出节点的直接信任度。信任聚合层共分为4 层,各层功能如下:
第一层:模糊化层。利用图2 隶属函数对信任评估因子进行模糊化处理,降低网络不确定性造成的影响,具有一定的容错能力,输出信号为对应各等级的隶属度。
第二层:标准化规则层。每个节点分别对应不同的模糊规则,每条规则的输出对结果的影响不同。各节点通过乘法计算对应规则的激励强度wi,同时计算相对于所有规则的激励强度比例,输出信号为标准化激励强度。
第三层:自适应函数层。由于每个信任评估因子可能对应多个模糊等级,映射多个模糊规则,而不同模糊规则下信任评估因子的权重不同。因此应该确保信任评估因子参与每个模糊规则的计算,每个模糊规则的作用效果取决于其标准化激励强度wˉi。各节点将第二层的输出的标准化激励强度作为输入信号,根据表1 确定的结论参数pi、qi、ri计算每个模糊规则对应的结论zi。此层各节点的输出信号代表了各规则对结果的贡献度,即该规则的标准化激励强度与对应输出的乘积,如式(9)。
第四层:聚合层。将第三层的每个自适应函数输出信号进行聚合,输出信号传递到输出层作为节点的直接信任度。
Fig.3 Adaptive fuzzy trust aggregation network图3 自适应模糊信任聚合网络
通过自适应模糊信任聚合网络计算节点的直接信任度,能够根据节点3 个信任评估因子的模糊等级,适配不同的模糊规则,选择合适的参数,信任计算更为灵活;并且输入量经过模糊处理,对应多个模糊规则时,各规则能够根据激励强度进行信任聚合,信任计算更为合理,同时提高了系统的容错能力。
直接信任度的评估主要来源于自身经验,存在主观性,并且当评估节点与被评估节点的交互较少时能够获取的信任知识有限,而通过间接采纳其他实体的经验可以减轻主观评价的影响,同时也能够充分利用网络中的信任知识。间接信任度的计算如式(11),其中θ为判定节点是否可信的阈值。
本文中间接信任度的推荐只在邻居节点之间进行,评估节点只接受来自可信邻居节点的推荐,主要有以下几个优点:
(1)邻居节点距离较近,与被评估节点有更多交集。
(2)本节点与非邻居节点没有直接的交互,而对邻居节点有一定的信任基础,可信邻居节点的推荐能够提高间接信任度的可靠性。
(3)多跳信任推荐的信任推荐链较长,将导致推荐不可信,多重计算复杂度较高,同时需要转发推荐信息,路由开销较大;在一跳邻居范围内进行信任推荐,推荐信任来源易追溯,能够减轻网络通信负荷,降低路由开销与计算复杂度。
开关攻击是分布式网络中一种典型的内部攻击,节点会在某个时间段内积极参与路由转发,间歇性地发动攻击。从信任角度出发,攻击节点先伪装成正常节点以积累信任度,然后进行攻击,当信任度较低时,又会表现正常以提高自己的信任度。因此,节点的信任度相差可能并不大,但变化极其频繁。
针对此类攻击,结合信任“易失难得”的特点,引入信任波动惩罚因子ρ与信任翻转频率TF对节点信任度进行修正,控制攻击节点的信任度范围,避免其作为中继节点参与路由转发。信任波动惩罚因子ρ∈(0,1),信任翻转定义如式(12),其中式(12a)表示正翻转,式(12b)表示负翻转,为前一个信任评估周期的信任度,σ为信任波动阈值。翻转频率每10个信任评估周期进行清零,计算方式如式(13),其中F为从第一次负翻转开始到目前的总翻转次数,K为从第一次负翻转开始到目前的信任评估次数。最终节点信任计算如式(14),其中,δ为翻转频率阈值。
AOMDV 是基于按需距离矢量路由协议(ad hoc on-demand distance vector,AODV)的多径路由协议,主要针对链路故障与路由中断频繁发生的高度动态的自组织网络而设计[16]。本文以AOMDV 协议为基础,结合第2 章信任度评估模型,提出基于信任的按需多径距离矢量路由协议TAOMDV,考虑节点信任度,从而在路由过程中隔离恶意节点,建立可信路径。
TAOMDV 在AOMDV 原始路由表中添加了路径信任度字段,如图4 所示。在建立路由路径时同时考虑跳数与路径信任度,为数据传输提供多条可靠路径,路由选择时选取满足信任度需求的跳数最少路径。其中,广播跳数(Advertised HopCount)表示到目的节点最大跳数,对于同一序列号,广播跳数不变;最后一跳节点(LastHop)表示目的节点的前一跳节点,以区分不同的路径。
3.2.1 路由发现
TAOMDV 在路由发现过程中完成可信路径的建立。源节点首先查找路由表是否存在可用路径,如不存在,则启动路由发现,向邻居节点广播路由请求RREQ 报文。在RREQ 报文中新增反向路径信任度rq_rpt字段,初始化值为1,随分组的传输而更新。路由回复报文RREP 中新增正向路径信任度rp_fpt与反向路径信任度rp_rpt字段,rp_fpt初始化为1,随报文的传输而更新,rp_rpt从RREQ 中获取。路由发现具体步骤如下:
步骤1源节点vS广播RREQ 报文,初始化rp_rpt=1。
步骤2当节点vK收到RREQ 报文时,更新rq_rpt=min(rq_rpt,TKS),若rq_rpt<θ,则丢弃此请求报文,否则转下一步。
步骤3若该节点是目的节点或有到目的节点的路径,则沿反向路径发送RREP 报文,初始化rp_fpt=1,rp_rpt=rq_rpt,否则更新RREQ 报文并转发,直到找到目的节点。
步骤4当节点vK收到RREP 报文时,更新rp_fpt=min(rp_fpt,TKD),若rp_fpt<θ,则丢弃此报文,否则转下一步。
步骤5若该节点是源节点,插入转发路径,FPT=rp_fpt,RPT=rp_rpt,否则更新RREP 报文并转发,直到源节点收到RREP 报文,可信路径建立。
3.2.2 路由维护
TAOMDV 增加了路由路径报警报文(routing path alert,RPA),发布恶意节点信息,及时隔离恶意节点。RPA 中包含不可达目的地的地址、序列号、最后转发节点。由于路由表中到达同一目的地存在多条路径,用最后转发节点LastHop 区分不同路径。RPA 报文格式如图5 所示。
Fig.5 Routing path alert图5 路由路径报警报文
在数据转发过程中,同时更新下一跳节点的FPT为当前的信任度,若低于信任度阈值,则启动路径报警机制。当前节点发送RPA 到上一跳节点,上一跳节点收到RPA 时,查找RPA 的不可达目的地,检查路由表中对应到达不可达目的节点单个路径的LastHop 是否与RPA 通报的LastHop 相同,如果此类型路径存在,则删除相关路径,并将相应的不可达目的地添加到新的RPA 中,RPA 的下一跳设为相关路径中的LastHop 的前驱节点,继续发送RPA,直到源节点收到RPA,并删除相应的路径,选择其他可信路径进行通信。由于到达同一目的地的多条链路互不相交,转发路径上任何节点的信任度变化不影响其他备用路径,该机制可应对路径中隐藏的恶意节点,保证数据的高效可靠传输。
本文通过包投递率、吞吐量、路由开销与平均端到端时延4组性能指标对AODV、AOMDV、TEAOMDV[5]与TAOMDV 进行仿真对比,分析多径路由协议在存在恶意攻击与节点高速运动场景中的优势,评估基于信任的路由协议的性能。
本文仿真实验在Linux 系统中采用NS2 模拟器完成。50 个无人机节点随机分布在1 500 m×1 500 m的仿真区域内,15 个数据连接分别在不同时刻启动。具体参数设置如表2 所示。
Table 2 Setting of parameters表2 参数设置
为确定合适的阈值参数,本文模拟了正常节点、恶意节点、开关攻击节点的数据转发情况,参考文献[5,7],设置信任度阈值为0.7,选取了20 个周期内的信任度,如图6 所示。正常节点的信任度集中在0.9以上,当链路状况不佳时可能会低于0.7,且信任度波动较小;恶意节点信任度在0.7 以下,信任度波动主要与攻击力度相关,攻击力度相差越大波动越大;开关攻击节点信任度时高时低,信任度波动集中在0.3左右,且波动频繁。因此确定信任度阈值为0.7,波动阈值为0.3,信任度阈值过大、波动阈值过小容易导致对正常节点的误判,反之无法检测出恶意节点。
Fig.6 Trust degree and its fluctuation图6 节点信任度及其波动状况
翻转频率阈值的确定需要考虑链路状况差导致的信任度波动,因此,当出现第一次信任翻转时,该节点被列为可疑节点,连续监控10 个信任周期。当信任翻转小于3 次时,可认为是偶然的链路障碍,不进行惩罚;当链路障碍较多时,主要特点是持续时间长而频率较低,其翻转频率一般小于0.5,可适当进行惩罚降低信任度;开关攻击节点的信任度翻转频率大于0.5,可采取惩罚措施大幅降低其信任度,使得节点处于非攻击状态时,信任度仍低于阈值。因此,本文中取翻转频率阈值为0.5,针对不同状况采取不同惩罚力度,在惩罚恶意节点的同时又具有一定的容错性。
本文所提TAOMDV 主要与同样基于信任的TEAOMDV进行对比,如表3所示。TEAOMDV 采用多个信任评估因子,但其中活跃度仅考虑了与可信节点的交互;不同网络状况下各信任评估因子重要程度差异较大,通过模糊层次分析法确定的固定权重进行信任聚合,得到的信任度无法准确刻画节点属性;同时TEAOMDV 并未考虑信任模型中的开关攻击。本文提出的TAOMDV 将信任度分为直接信任度与间接信任度,其中可信交互度同时考虑了与可信节点及非可信节点的交互,避免正常节点与恶意节点合谋攻击;通过自适应模糊信任聚合网络计算节点直接信任度,能够适应不同的网络状况;同时TAOMDV 采取了信任波动惩罚机制防御开关攻击。对比实验分别在以下三个场景中进行,每次实验采用同一个数据流场景,分别运行在10 个随机生成的节点运动场景下,取平均值作为最终实验结果。
4.2.1 不同恶意节点数量下协议性能比较
设置节点最大移动速度均为10 m/s,改变恶意节点数量,其中黑洞节点与灰洞节点比例为1∶1,实验结果如图7 所示。
由图7 可知,随着恶意节点个数的增加,传输路径中存在恶意节点的概率增大,由于AOMDV 与AODV 未采取任何防御措施,丢包状况严重,包投递率与网络吞吐量急剧下降。虽然恶意节点丢包造成数据包减少,但同时由于恶意节点的路由欺骗,减少了控制报文的传播,导致路由开销增加。AODV 的路由开销与平均端到端时延高于AOMDV,且受恶意节点影响较大。TAOMDV 与TEAOMDV 能够检测并隔离恶意节点,选取可信度较高的路径,减轻了恶意攻击造成的破坏,包投递率与吞吐量下降幅度较小。TAOMDV 与TEAOMDV 虽然减少了丢包,路由开销反而上升,主要原因有:(1)控制包中增加了信任字段,字节数有所增加;(2)路由发现阶段需要发送更多的控制包来建立可信路径;(3)恶意节点造成路径信任变化和路由维护。TAOMDV 可以更加准确地检测出恶意节点,包投递率与吞吐量提升效果更为显著,避免了不必要的路径切换与维护,降低了路由开销。TAOMDV 与TEAOMDV 将恶意节点从路径中剔除后,需重新选择可信路由路径,可能会增加跳数,从而导致更长的延迟。TEAOMDV 的时延明显高于TAOMDV,容易受到恶意节点的影响,可能对正常节点造成误判,切换到其他跳数更大的路径,而TAOMDV 受恶意节点影响较小,时延变化更为平稳。
Table 3 Comparison of protocols表3 协议对比
Fig.7 Effect of number of malicious nodes on protocol performance图7 恶意节点数量对协议性能的影响
4.2.2 不同节点移动速度下协议性能比较
设置6 个恶意节点,其中黑洞节点与灰洞节点比例为1∶1,改变节点的最大移动速度。实验结果如图8所示。
由图8 可知,随着节点移动速度的增加,网络拓扑变更频繁,传输链路中断概率增大,丢包现象频繁发生,包投递率与吞吐量均不断下降;同时需要发送更多的控制包用于路由发现与维护,进行路径切换或重新建立新路径,路由开销与平均端到端时延不断上升。TAOMDV 与TEAOMDV 包投递率较高,吞吐量下降缓慢,原因在于避免了存在恶意节点以及丢包严重节点的路径,通信链路较为稳定,但需要发送更多的路由控制包来建立可信路径,从而导致路由开销与延迟有所上升。相比TEAOMDV,TAOMDV的恶意节点检测更为准确,建立的路径更加高效可靠,提升了数据包投递率与吞吐量,降低了路由开销与平均端到端时延。
4.2.3 开关攻击下协议性能比较
设置6 个恶意节点,其中黑洞节点与灰洞节点比例为1∶1,在160 s 后进行间歇式攻击,每次攻击持续时间为20 s,间隔时间为40 s。实验结果如图9 所示,其中统计时间间隔为20 s。
由图9 可知,当恶意节点发起攻击时,AODV、AOMDV 的包投递率、吞吐量均大幅下降,同时路由开销与平均端到端时延相对上升。TAOMDV 与TEAOMDV 由于加入了信任机制,不同程度上缓解了恶意节点的攻击,提高了包投递率与吞吐量,但同时增加了路由开销与平均端到端时延。TAOMDV 引入了信任波动惩罚因子,当检测到节点信任度波动频率较大时,将立即降低其信任度并移出路由路径,避免后续再次受到攻击。而TEAOMDV 缺乏防御此类攻击的机制,当恶意节点表现正常时,又将其加入转发路径,从而反复遭受攻击。相比TEAOMDV,TAOMDV 的包投递率、吞吐量显著提高,路由开销与平均端到端时延明显优化。
本文针对FANETs 存在内部攻击、链路中断频繁的问题,提出了一种基于信任的按需多径距离矢量路由协议(TAOMDV)。在该协议中建立了节点信任度评估模型,通过自适应模糊信任聚合网络计算直接信任度,可信邻居节点推荐得到间接信任度。同时利用信任波动惩罚因子对节点信任度进行修正,以应对开关攻击。在路由发现阶段考虑下一跳节点信任度,建立可信路径,在路由维护阶段及时检测并隔离恶意节点。仿真结果表明,TAOMDV 能够降低网络拓扑频繁变更带来的影响,有效抵御黑洞、灰洞攻击与开关攻击,在数据包投递率、吞吐量、路由开销与平均端到端时延方面均优于同样基于信任的TEAOMDV。未来工作主要是考虑FANETs 中其他类型攻击如泛洪、虫洞攻击,与协议性能相关的时延、能量等的优化问题,引入多信任评估因子,同时对信任计算问题进行深入研究,在可控的开销范围内,平衡安全与性能,进一步优化路由协议。
Fig.9 Effect of on-off attack on protocol performance图9 开关攻击对协议性能的影响