阮清强
(遵义师范学院信息工程学院,贵州 遵义 563006)
科学技术的飞速发展,增加了人们获取信息的途径,促进了社会的信息化,无线通信网络是物联网中较为重要的基本技术之一[1]。无线通信网络结合了通信、传感器、分布式处理和嵌入式计算等技术,具有无线通信、计算处理和感知信息的功能,被广泛的应用在商业、环境保护、军事和医疗护理等领域中[2-3]。无线通信网络是通过无线传感节点构成的,存在传输能力有限、硬件资源有限、自组织、电源容量有限等独特性,以上特点会使自组织远距离无线通信网络易受到攻击[4]。自组织远距离无线通信网络中的节点分为故障和正常两种状态,当节点出现故障时容易受到攻击,对自组织远距离无线通信网络中的故障节点进行检测是保证自组织远距离无线通信网络安全运行的必要措施[5]。当前无线通信网络节点检测算法存在检测结果准确率低和检测效率低的问题,需要对自组织远距离无线通信网络故障节点检测算法进行研究。
崔坤利等[6]提出了一种基于分簇定位的故障节点检测算法,该算法通过DV-Hop定位算法重新对簇头节点坐标进行定位,DV-Hop是一种距离矢量路由的非测距定位算法,根据递归神经网络学习算法计算簇头节点的惯性权重,在簇头节点惯性权重的基础上优化均值粒子群优化(Particle Swarm Optimization, PSO)的搜索能力,搜索到易受攻击的节点,完成易受攻击节点的检测,该算法不能准确的计算节点在无线通信网络中的状态值,得到的检测结果准确率较低。张颖等[7]提出了一种无线通信网络同步态的故障节点检测算法,通过数学分析方法对自组织远距离无线通信网络的动力学机制进行描述,从全局的角度出发对无线通信网络的健康程度进行评价,采用耦合矩阵表示网络节点中存在细节信息,通过分析耦合矩阵检测出易受攻击的节点,该算法检测节点所用的时间较长,存在检测效率低的问题。常琳等[8]提出了一种基于数据驱动的节点检测算法,该算法根据各个节点中存在的信息构建空间高维向量,通过邻居节点的数据和节点自身的原始数据建立滑动窗口,通过滑动窗口得到节点故障权重,完成无线通信网络中易受攻击节点的检测,该方法存在检测结果准确率低的问题。Sun等[9]讨论了在实际应用中依赖于静态模型的传统主成分分析(Principal Component Analysis, PCA)方法的局限性,提出了一种无线传感器网络中的在线故障诊断算法:基于递归PCA模型和支持向量数据描述的多类分类节点。该算法的特点是满足数据流处理的实时性要求,较好地跟踪数据的变化。
上述方法不能准确的得到节点在无线通信网络中的状态值,检测所用的时间较长,存在检测结果准确率低和检测效率低等问题。因此,本文提出一种自组织远距离无线通信网络易受攻击节点检测算法,本文主要工作是:在空间相似性原理的基础上,对比无线通信网络中节点之间的测量值,比较结果计算节点的状态值,以节点状态值为依据采用基于随机游走的故障节点检测算法确定易受攻击节点在自组织远距离无线通信网络中的位置。
在空间相似性的基础上,对比无线通信网络节点之间的传感数据,确定节点在无线通信网络中的实时状态,为无线通信网络中易受攻击节点的检测提供依据。
设G(V,E)代表自组织远距离无线通信网络的通信图,V代表无线通信网络中节点的集合,E代表邻近节点边的集合。当邻近节点vi和vj之间在无线通信网络中的距离小于通信半径l时,邻近的两个节点在通信图G(V,E)中存在连接的边。在无线通信网络中G(V,E),vi∈V,且1≤i≤n。N(vi)代表节点vi周围邻近节点的集合。
检测节点vi是否易受攻击时,设Fi代表的是节点在无线通信网络中的实时状态,当Fi的值为零时,代表该节点在无线通信网络中不易受到攻击,当Fi的值为1时,代表该节点在无线通信网络中易受到攻击[9-10]。在空间相似性原理的基础上,比较节点vi和周围邻近节点的测量值,根据比较结果判断节点在无线通信网络中的状态。设cij代表的是节点vi与周围邻近节点之间的比较函数,cij的表达式为:
当节点vi与周围邻近节点比较结果相似时,比较函数cij的值为0,当节点vi与周围邻近节点比较结果不相似时,比较函数cij的值为1。设ci代表的是无线通信网络所有邻近节点中cij=0的数目,0≤|ci|≤|N(vi)|,通过ci对节点vi与周围邻近节点之间的相似度进行反映。设置阈值θ1,当|ci|≥θ1时,代表节点vi为无故障节点,不易受到攻击。
(2)
设C代表的是r×q的矩阵,反映节点vi在不同时刻和周围邻近节点的比较结果,矩阵C的表达式为:
(3)
此时,可以采用矩阵C中的时间冗余对节点vi与周围相邻节点的比较结果进行表示,即:
(4)
式中,θ2代表的是设定的阈值,通过阈值θ2对时间检测中无线通信网络节点瞬时故障的容忍度进行反映。得到自组织远距离无线通信网络中节点vi的状态值Fi:
Fi=ci·cij
(5)
无线通信网络的规模较大,节点在无线通信网络中的分布呈现随机性和多样性,破坏了无线通信网络中节点之间的位置关系,不能构建有效的节点检测模型[13]。将2中得到的节点状态值作为无线通信网络稳定区域中的原始种子点ZW,建立无线通信网络稳定区域GW的模型,根据原始种子点ZW以外的区域初始化变化区域GD的模型。当变化区域的权值小于稳定区域的阈值时,随机设置无线通信网络中变化区域的种子点[14]。将完成标记的稳定区和变化区域中存在的节点作为无线通信网络的原始种子点,将等待标记的无线通信网络的节点作为随机运作点[15]。当无线通信网络中的原始种子点数量较少时,不能直接检测出易受攻击的节点,采用权值最小化方法对检测结果进行优化,完成自组织远距离无线通信网络易受攻击节点的检测。
设S1、S2代表的是无线通信网络中的节点,采集节点S1、S2的相同位置,t1、t2代表的是采集节点位置的时间。构建无线通信网络中节点S1与S2的差分模型Se,Se的表达式为:
Se=|S1-S2|
(6)
设λ={λ1,λ2,L,λn}代表的是透明度值,λn∈{0,1},其中“0”代表的是稳定区域,“1”代表的是变化区域;un代表的是高斯混合模型的分量,赋予无线通信网络节点对应的分量un,分量un的计算公式为:
un=argminZn(λn,un,δ,Fi)
(7)
式中,δ代表的是高斯混合模型参数。
G(λ,u,δ,Fi)=logπ(λn,un)δ+∑(λn,un)+ηFi
(8)
为了验证自组织远距离无线通信网络易受攻击节点检测算法的整体有效性,需要对自组织远距离无线通信网络易受攻击节点检测算法进行测试,本次测试平台在操作系统为Windows10,Intel酷睿双核i7, @2.80GHz,RAM为16GB的个人电脑,采用matlab与C混合编程。节点在无线通信网络中的状态值是检测节点是否容易受到攻击的重要依据,分别采用自组织远距离无线通信网络易受攻击节点检测算法(算法1)、基于分簇定位的故障节点检测算法(算法2)、基于数据驱动的节点检测算法(算法3)计算无线通信网络中节点的状态值,节点状态值为常数,将计算结果与实际结果进行对比,对比结果如图1所示。
图1 三种不同算法的测试结果
图1(a)为自组织远距离无线通信网络易受攻击节点检测算法的测试结果,分析图1(a)可知,采用以上算法得到的无线通信网络节点状态值与实际值相符。图1(b)和图1(c)分别为基于分簇定位的故障节点检测算法和基于数据驱动的节点检测算法的测试结果,分析图1(b)和图1(c)可知,采用以上两种方法得到的无线通信网络节点状态值与实际值之间的误差较大。对比三种不同方法的测试结果可知,自组织远距离无线通信网络易受攻击节点检测算法可准确的得到节点的状态值,因为该方法在空间相似性原理的基础上采用时间冗余检测方法对无线通信网络中的节点状态进行检测,提高了所提方法的检测结果准确率。
为了进一步验证自组织远距离无线通信网络易受攻击节点检测算法的整体有效性,分别采用自组织远距离无线通信网络易受攻击节点检测算法(算法1)、基于分簇定位的故障节点检测算法(算法2)、基于数据驱动的节点检测算法(算法3)进行测试,对比三种不同算法检测节点所用的时间,测试结果如图2所示。
图2 三种不同算法检测所用的时间
图2(a)为自组织远距离无线通信网络易受攻击节点检测算法所用的时间,分析图2(a)可知,采用以上算法检测无线通信网络中的节点所用的时间均在10 s以下。图2(b)为基于分簇定位的故障节点检测算法所用的时间,图2(c)为基于数据驱动的节点检测算法检测所用的时间,分析图2(b)和图2(c)可知,采用以上两种方法检测无线通信网络中节点所用的时间分别高达14 s和18 s。对比三种不同算法的检测时间可知,自组织远距离无线通信网络易受攻击节点检测算法所用的检测时间短,检测效率高。
无线通信网络具有传输能力有限、硬件资源有限、自组织等独特性易受到攻击,需要对网络中存在的易受攻击节点进行检测。当前无线通信网络易受攻击节点检测算法存在检测结果准确率低和检测效率低的问题。提出一种自组织远距离无线通信网络易受攻击节点检测算法,解决了当前算法中存在的问题,对无线通信网络的运行进行了优化。