田 鹤郭凯红王彦超赵 海邵士亮
(1.辽宁大学信息学院,辽宁沈阳 110036;2.辽宁科技学院曙光大数据学院,辽宁本溪 117004;3.东北大学计算机科学与工程学院,辽宁沈阳 110169;4.中国科学院沈阳自动化研究所机器人学国家重点实验室,辽宁沈阳 110169)
物联网(internet of things,IoT)中开放的应用环境使网络的安全问题面临着新的挑战[1].从本质来说,物联网架构分为3个逻辑层次,即感知层、传输层和应用层[2].其中,感知层是所有数据的来源,感知数据的安全可靠是物联网有效展开应用的基础.无线传感器网络(wireless sensor networks,WSNs)是物联网感知层的一种重要形式[3],WSNs的感知节点通常用于不同网络环境和应用下的数据收集,实时掌握监测区域的状态信息,使越来越多的物理实体通过传感器连接到互联网,从而实现物理世界、计算世界和人类社会三元世界的互连互通[4].
在物联网环境中,智能的物理设备都能自发地与其它设备或者外部环境设施进行通信[5],所以,解决设备之间的信任问题是保证网络安全的关键.信任的概念最初来源于社会学,描述了在日常生活中,人们总是选择那些他们认为值得信任的人作为合作伙伴,且在不断深入交往中,人们之间的信任关系也在不断地更新和传递[6].近年来,信任被应用到不同的应用场景,逐步扩展成一个跨学科交叉性问题[7–8],在互联网安全领域,引入信任机制作为一种安全策略,建立开放式网络中对象之间交互的信心,降低交互的风险[9].物联网环境下的信任机制研究主要集中在对节点行为、链路状态和节点身份等进行分析,构建信任模型并提出适合特定场景的安全控制策略.文献[10]提出一种能量感知的信任模型,并使用博弈论的方法对安全和能量建立纳什均衡,实现开销的管理.该模型适用于WSNs的物联网,在一定程度上提高了能量利用率.文献[11]构建了一种形式化的物联网信任管理机制,涵盖了物联网核心层次的信任管理策略,为物联网信任系统的开发提供了一种通用的框架,但缺少对具体的模型、功能以及应用的讨论.文献[12]提出一种交互信任的轻量级信任系统,利用交互过程中的行为和数据以及人的社会性来构建一种动态自调整的信任评价机制,利用给定的一个阈值,将隐私保护问题转化为一个简单的判断问题,虽然适用于资源受限的物理环境,但为本文的研究提供了一定的启发.对于WSNs的信任研究主要集中在算法和路由方面,文献[13]在分簇WSNs模型中,将可信度参数的计算引入最小生成树路由协议,提出一种基于可信度的数据聚融算法,针对相对误差界限ε计算出近似聚集和的可信度下限η,从网络性能和规模对数据聚融结果的影响进行分析,而此过程中对近似聚集结果的深度处理并不稳定,由用户视环境而判定.文献[14]针对WSNs的节点能量受限及部署环境恶劣所导致的典型网络攻击对数据安全带来的严重影响,结合半环理论并引入信任度和多项QoS指标,提出一种具有轻量级特性的基于信任感知的安全路由机制,实现安全路径选择算法的优化,为后续关于节点间的信任度和泛在路由提供新的思路.为提高WSNs中节点的攻击防御效果,文献[15]通过衡量节点接收到的数据包数量作为直接信任的计算依据,提出一个高效的分布式信任模型,虽然具有一定的综合性和准确度,但是并没有充分利用所感知的数据.
对网络安全性和可靠性传输方面的研究是持续的热点问题.而若要使网络能够正常通信并且保证网络始终处于安全状态,传输数据的安全可靠是第一要务,在此基础上,才能进行设备、属性、行为以及链路等安全性分析[16].因此,如何有效地对感知数据进行聚集和融合,以辅助人们进行态势/环境判定是解决物联网数据源头的可靠性问题的关键.本文从感知数据出发,以监测模块为评测单元,构造了一种数据驱动信任评测模型,通过直接任信、推荐信任和历史信任的加权计算得到综合信任,同时与模型预设的可疑阈值和异常阈值进行对比,更新监测模块中的信任列表,判断感知节点的状态,利用失信检测误差和预警检测误差两个指标衡量模型的检测效果,完成对节点的异常检测;为了提高数据融合的准确率,将模型输出的综合信任作为加权因子引入到数据融合中,并对比分析了信任评测模型对数据融合的准确率和稳定性的影响;最后,通过实验仿真对信任评测模型进行评价.
WSNs作为物联网的基础设施大规模部署在感知层,通过传感器采集原始数据,利用自组织网络协议传输至网关,使其成为一种以数据为中心的共享网络.然而,WSNs的多对一的多跳传输方式使得距离Sink节点越近的感知节点的能耗越大,它们更容易过早耗尽自身能量而死亡;另一方面,由于外界因素和节点自身因素的影响,感知数据直接汇聚传输到Sink节点的过程中难以实现数据准确性和可靠性.因此,通常在Sink节点附近区域外布设中继节点[17–18],专门用于数据的融合和转发.中继节点的加入减轻了Sink节点的数据融合和传输的负担.建模开始时,将感知层的感知区域划分成多个监测模块,每个监测模块内的感知节点完成相同的监测任务并且隶属于同一个中继节点.由于只对感知节点的信任评测分析,故假定在WSNs中布设的中继节点是可靠的.感知节点只采集某项指标数据,用短程通信技术发送给中继节点,并不转发其它节点的数据;中继节点只负责对感知数据进行融合和转发,同时计算其所在监测模块中各感知节点的信任度,对感知节点采集的数据进行筛选,最后,再传输至Sink节点.模型架构如图1所示,传输方式可自行选择.
由于面向物联网的WSNs中感知节点都存在一定的冗余,使得感知层的感知数据具有连续性和非跳跃性的特征.以监测模块为评测单元,同一个监测模块内节点之间互为邻居关系.根据物联网的实际应用场景的特点,对于相同指标的监测,同一监测模块内感知节点所感知的数据值近似,可实现感知节点自身与同一监测模块中其它感知节点之间的信任评价.本模型输出的综合信任评价由3部分组成:直接信任、推荐信任和历史信任.直接信任的评测是对于感知节点自身而言,是活动感知节点自身的实时数据与其历史数据的聚融;推荐信任产生在感知节点之间,是单个活动感知节点与其监测模块内其它活动感知节点的聚融;历史信任的初始值由人为设定,随着网络的运行而不断更新.最后,由3个信任值的加权计算得到感知节点的综合信任,然后,与设定的可疑阈值和异常阈值对比来判断感知节点的状态,更新历史信任和信任列表,这一过程可实现感知节点的异常检测.
图1 数据驱动信任评测模型的架构Fig.1 The architecture of data-driven trust evaluation model
2.2.1 直接信任
假定感知数据不带有突变且连续的,那么理论上,实时感知数据和近期历史数据之间的差值应该在一定的范围内,如果差值过大,则可判定该感知节点出现了异常.感知节点的历史数据使用近一段时间内其感知数据的均值,中继节点保存其隶属于同一监测模块内的各感知节点的上一次的历史数据.结合感知节点的实时感知数据和其历史数据的计算得到直接信任的信任度值.设感知节点i的实时感知数据记作RDatai,该节点的历史数据记作HDatai,那么直接信任的计算式为
其中:DTmax是一个常数,表示最大直接信任度值.KH是一个阈值,表示实时感知数据与历史数据之差的绝对值上限.将初始的直接信任DTrust设为最大值,并且使其满足DTrust∈(0,DTmax).当
2.2.2 推荐信任
推荐信任的计算参照信任列表的记录.正常状态下,一个监测模块中各感知节点之间对相同指标的实时感知数据的差值应在一定的范围内,于是,使用监测模块内其它可信感知节点的实时感知数据的均值参与运算.设一个监测模块内感知节点i有n −1个邻居节点是可信的,感知节点i的实时感知数据可记作RDatai,其邻居节点的实时监测数据的均值记为
设初始信任列表中包含n个感知节点,KN是一个阈值,表示感知节点i的实时感知数据与其n −1个邻居节点的实时感知数据均值之差绝对值的上限,当|RDatai −|>KN时,感知节点i所在监测模块的推荐信任的计算公式为
其中:RTmax是一个常数,表示推荐信任RTrust的最大值.通常,将RTrust 初始值设为最大且满足的范围是RTrust∈(0,RTmax).当|RDatai −|≥KN时,RTrusti0.
2.2.3 综合信任
综合信任由直接信任、推荐信任和历史信任加权计算得到.感知节点i的历史信任记作HTrusti,初始值取最大信任.感知节点i的综合信任计算式为
其中:α,β和γ是加权系数,它们的取值满足0<α,β,γ <1,α+β+γ1.
2.2.4 历史信任的更新
在模型中引入节点接入认证机制[19],每个感知节点加入网络时,都需要经过严格的认证过程,于是,将历史信任的初始设为最大值,表明评测初期,对感知节点是完全信任的,初始时信任列表包含监测区域内所有感知节点.为了更有效地对感知节点的状态进行评测,模型设置两个信任度下限阈值,即可疑和异常.模型输出的综合信任与两个阈值不断地对比来更新历史信任和信任列表.将可疑阈值记作KS,异常阈值记作KA,则历史信任的更新用公式表示为
其中τ(τ >1)是惩罚因子,由预设的两个阈值以及模型输出的综合信任度的反复调整来确定.计算时出现的异常感知节点,其历史信任用符号“∗Abnormal∗”标识,不再参与历史信任的更新计算.根据经验和实际数据聚集情况预先对可疑阈值和异常阈值进行人工设定,更新过程如图2所示.
具体更新步骤如下:
步骤1将模型计算的综合信任度与可疑阈值进行比较,如果综合信任度高于可疑阈值,说明感知节点是可信的,直接将历史信任更新,其值与综合信任度相等.如果综合信任度等于或低于可疑阈值,转到步骤2;
步骤2继续与异常阈值进行比较,如果综合信任度高于异常阈值,说明此节点是可疑的,这时需进行惩罚计算以调整其信任度,再更新历史信任,转至步骤3;如果综合信任度等于或低于异常阈值,说明此节点是异常的,转至步骤4;
步骤3查看此可信节点是否在信任列表中,如果不存在,则添加到信任列表中;如果存在,则继续信任评测;
步骤4查看此异常节点是否在信任列表中,如果存在,则从信任列表中删除;如果不存在,则将其丢弃,继续信任评测.
图2 信任列表的更新Fig.2 Update of trust list
数据融合[20]是在一定准则下对感知数据加以分析、综合和支配,获得对被测对象的一致性解释与描述,以完成所需决策和评估任务而进行的数据处理过程.网络状况经常随着环境的变化而变化,如果融合数据的参数固定不变,必然导致融合后的数据不准确.为此,将本模型的信任机制引入到数据融合中,基本思想是:感知节点所采集的实时数据的权重由其综合信任度确定,这样在网络运行时感知数据的权重是动态可变的.同时结合信任列表,异常节点不参与数据融合过程,从而可以提高数据融合的准确性.设定信任列表中包含M个感知节点,当综合信任CTrusti >KA时,数据融合的计算式为
实验搭建了一个由20个感知节点、1个中继节点和1个Sink节点组成的小型网络.感知节点的功能是对室外空气温度的感知,感知频率设为2 s,由中继节点对信任评测模型的功能进行分析和验证.对于模型中的各常量和阈值,结合实验环境首先设定一个经验值,然后根据仿真的结果不断调整出一个相对合理的取值.设最大信任度MAX取值为100.在仿真过程中不断调整而获得的其它阈值和参数的相对合理的取值列于表1.
表1 信任评测模型的常量取值Table 1 Constant value of trust evaluation model
在表1中,3个加权系数α,β和γ的调整变化过程如图3–4所示的曲线变化.它们的取值在满足0<α,β,γ <1以及α+β+γ1条件的基础上,各权重分配的目标是确保信任的连续性,因此,历史信任的权重不小于直接信任和推荐信任的权重.
图3 正常节点下不同加权系数的综合信任变化Fig.3 Comprehensive trust changes with different weighting coefficients under normal nodes
图4 出现异常节点时不同加权系数综合信任变化Fig.4 Comprehensive trust changes with different weighting coefficients when abnormal nodes occur
从图3所示中的各组加权系数取值的综合信任的变化情况可以看出,在正常状态下,当3个加权系数α,β和γ分别取(0.1,0.4,0.5)时,综合信任度最大;当分别取(0.4,0.1,0.5)时,综合信任度最小.另外,在理想状态下,当出现异常节点时,不论α,β和γ如何取值都会是失信的.而观察图4所示中的各组加权系数取值的综合信任的变化情况可以看出,当α,β和γ分别取(0.1,0.1,0.8),(0.1,0.2,0.7),(0.2,0.1,0.7)以及(0.1,0.3,0.6)时,相应的综合信任度都存在超出了KA的现象,不符合信任评测模型和实验的设定,故排除;当分别取(0.3,0.3,0.4)时,综合信任度最小.所以,不同网络状况下,同一取值分配的加权系数得到的综合信任度并不相同,加权系数的取值会随着节点的状态而改变.纵向对比各个加权系数分配比重计算得到的综合信任度,发现当α,β和γ分别取(0.3,0.2,0.5)时,两种网络状态下的综合信任度相近,如图5所示,并且直接信任和推荐信任的所占比重相对均衡,取值合理,可用于实验,此时综合任度的计算式为
当节点处于不同状态时,节点可信度的变化趋势反映了模型的有效性.依据表1中各阈值和参数的设定,分别计算在正常节点状态和出现异常节点时各信任度的变化趋势,结果如图6–7所示.
图5 当加权系数α=0.3,β=0.2和γ=0.5时综合信任的变化Fig.5 The change of comprehensive trust when α=0.3,β=0.2和γ=0.5
图6 正常节点下各信任度的变化Fig.6 The change of each trust value under normal nodes
图7 出现异常节点时各信任度的变化Fig.7 The change of each trust value when abnormal nodes occur
观察图6,直接信任和推荐信任的波动幅度较大,这是由于KH和KN的设定值较小.当直接信任度低于可疑阈值时,推荐信任会随之跳变下降,但不会低于可疑阈值,其它情况下变化相对平稳.由于对可疑节点进行了惩罚计算,及时调整了它们的信任度,从整个变化趋势来看,历史信任和综合信任表现相对稳定,并没有显著的影响.
图7中,当感知节点出现异常时,直接信任最敏感,立刻归0;推荐信任也会随之降低至失信状态,但不一定归0;综合信任的降幅虽没有前两项大,但也会低于异常阈值,3种信任均表现出失信状态.而历史信任并没有受异常节点的影响,是因为在计算历史信任时(如式(5)),对于可疑节点进行惩罚,调整其信任度,而异常节点并不参与计算,直接丢弃或从信任列表中删除.由于信任列表是由历史信任的更新而更新,体现了模型对异常节点的处理是边发现边消除的特点.结合图4来看,当节点出现异常时,虽然不同的加权系数得到的综合信任变化趋势有一定差别,但都显著体现出了异常情况的发生.而在正常状态下,综合信任会保持其历史惯性和稳定.
将实验获得的综合信任度作为权重引入数据融合,运用式(6)计算出监测模块中所有可信的感知节点融合后的数据值,并与实测值进行统计分析,结果如图8–9所示.
图8 正常节点下融合数据的比较Fig.8 Comparison of fused data under normal nodes
图9 出现异常时融合数据的比较Fig.9 Comparison of fused data when abnormalities occur
图8–9分别为监测模块中正常节点下和出现异常节点时应用信任评测模型的数据融合与未应用信任评测模型的数据融合的对比.结果表明,在数据融合中引入信任评测机制的标准差相对较低,在一定程度上提高了数据融合的准确性.当网络出现异常节点时,这种差距会很明显,如图9所示,在未引入信任评测时,虽然能够明显的反映出网络出现异常的状态,但是所获得的数据并不可靠,融合后误差会很大.由于信任评测模型输出的感知节点的综合信任度可以筛选出监测模块中的可信节点,将异常节点丢弃或从信任列表中删除,使它们不参与融合过程,这样融合后的数据不会因为异常数据而出现过大或过小的跳变.因此,引入信任评测模型可以及时改善监测模块中的异常状况,提高数据融合的准确性、可靠性和稳定性.
为了评价模型的检测效果,利用失信检测误差和预警检测误差两个指标对实验过程中出现的异常节点检测的准确率进行统计分析.检测误差包括误检和漏检两种异常因素[21],对比结合实验设定的异常阈值KA和可疑阈值KS,相关定义如下:
定义1失信检测误差:是异常节点没被检测出来的比例.计算式为
定义2预警检测误差:是可疑节点没被检测出来的比例.计算式为
其中:f为监测模块中总节点集,fA为检测出的异常节点集,fAr为实际异常节点集,fS为检测出的可疑节点集,为实际可疑节点集,用相应节点集中节点数量计算比值.结果如图10所示.
图10 检测误差的统计Fig.10 Statistics of detection error
从图10中各统计指标的变化可以看出,模型的失信检测误差和预警检测误差虽会出现偏高的情况,但其累计的平均失信检测误差和平均预警检测误差都很低,所以,本模型能够对感知节点的异常或可疑状态做出较为准确的检测,具有普适性.
设在100 m×100 m的监测区域内有100个传感器节点随机地分布,Sink节点位于中心,感知节点的初始能量均为0.5 J,在LEACH算法中加入本模型的信任评测代码,模型的参数见表1.运行结果如图11所示.
图11 存活节点数的比较Fig.11 Comparison of the number of surviving nodes
从图11看出,应用信任评测模型后延长了节点开始死亡的时间,节点死亡的数量相对更少,但节点的死亡速度较快,这是因为应用信任评测模型之后,一部分节点经过信任计算被判断为异常(失信)节点,模型将这些节点及时删除,使得网络运行时节点死亡数量下降得较快,图11中表现为斜率较大.但随着网络中节点的更新迭代,失信节点越来越少,在一定程度上提高了节点的存活率,延长了网络的生命周期.
图12为本文构建的信任评测模型与TRM–IoT模型[22]和DRBTS模型[23]、LDTS模型[24]的预警检测的对比,LDTS模型通过通信行为构建信任模型,但由于漏检的概率较高,使得当两个节点一直通信正常时,即便LDTS算法认为是可信的,也难以保证其数据也是正常的;对于TRM–IoT模型和DRBTS模型,它们只考虑行为因素在节点间的影响,虽然在一定程度上可以刺激分布式计算和通信实体之间的协作,以及监视节点的不端行为,但对数据充分感知和融合的准确性偏低,是造成它们的失信检测误差和预警检测误差都偏高的主要原因.观察4个模型的失信检测误差对比,如图13所示,随着失信(异常)节点比例的增加,本模型的失信检测误差逐步降低,相较于其它3个模型,本模型在实现过程中综合考虑了数据因素和历史惯性的影响,失信检测误差最小,说明模型的异常检出率较高,而且,即使异常节点随着网络的运行频繁出现,但信任检测的加入不会使网络出现异常的现象愈演愈烈,只有从根源上把控感知节点的异常发生,获得的数据才会安全可靠.
图12 预警检测误差的比较Fig.12 Comparison of alert detection errors
图13 失信检测误差的比较Fig.13 Comparison of dishonest detection errors
数据感知是物联网的一种重要的应用形式.物联网中感知节点作为数据感知的源头,其自身的可靠性对数据的安全传输至关重要.为保障物联网中感知设备的可信和感知数据的可靠,结合物联网应用场景的特点,以感知数据为核心,提出一种基于感知源的信任评测模型.模型以监测模块为评测单元,由直接信任、推荐信任和历史信任的加权计算输出节点的综合信任,并与节点的可疑阈值和异常阈值对比,更新监测模块中的信任列表,实现感知节点的异常检测;统计预警检测误差和失信检测误差分析模型的检测效果,得出本模型的平均误差较低,能准确地检测出异常节点.引入信任机制参与数据融合过程,将综合信任作为融合参数,对比分析信任评测模型对数据融合的影响,结果表明不论网络在正常节点状态下还是出现异常节点时,加入信任评测的融合后的数据更加准确.由于模型对异常节点及时排除,因此,改善了监测模块中的异常状况,提高了数据融合的稳定性.最后,对信任评测模型进行实验仿真,验证模型的可用性和有效性.结果表明对于日常的数据聚集和融合,本模型可以有效的控制网络的异常现象,具有普适性.