梁 靓 张镨丹 武彦飞 贾云健
(重庆大学微电子与通信工程学院 重庆 400044)
近年来,分布式网络应用前景越来越广泛,与集中式网络相比,分布式网络能有效避免因单个重要节点失效而影响整个网络运行的问题。但也因为传统网络安全措施如身份认证、访问控制等技术过于依赖中心节点的特点,分布式网络安全问题需另找一条解决途径——信任模型。
文献[1]针对p2p网络中典型的信任模型Eigentrust进行改进,保留每个节点与交互节点利用迭代得出全局信任值的优点,还解决了Eigentrust模型对新加入节点估计不准确的问题。文献[2]基于熵的信任模型和基于概率的信任模型提出了信任值建立和信任值更新方法并将所提出的信任模型和评估方法应用于adhoc网络。文献[3]基于adhoc网络的特点提出了分布式自适应信任模型DATEA,分为单跳模块与多跳模块。单跳模块可自适应地设置权重来计算直接信任值与推荐信任值,多跳模块负责间接信任值的计算。文献[4]针对无线传感器网络提出了一种分布式高效信任模型EDTM,考虑了直接信任值和推荐信任值。该模型在直接信任值中提出基于数据、能量和通信的3维信任证据,在推荐信任值中引入可靠性和熟悉度两个指标以提高推荐信任值的准确性。文献[5]针对水下无线传感器网络提出了一种基于C4.5决策树的可信评估方法,该方法采用模糊逻辑信任模型收集各类信任证据并进行分析,再采用训练好的C4.5决策树完成信任值分类。文献[6]基于水下传感网络易遭到混合攻击的特点提出了一种分布式容错信任模型,该模型分为3个阶段。首先利用量化的环境模型反映水下环境对信任评估的影响;
然后构建一个基于强化学习的信任更新模型来对抗混合攻击;
最后采用一种信任恢复模型来恢复低信任值的节点以提高网络的资源利用率。
运用信任模型进行可信评估虽然是解决分布式网络安全问题的重要手段,但很多针对分布式网络提出的信任模型依赖于节点过去行为的历史信任证据,可是初次对分布式网络进行可信评估时是没有这些信任证据的。一种解决方式是对网络中所有节点统一设置信任值,这是许多现有信任模型采用的方式,其优点是设置简单且节省能量,缺点是统一设置的信任值并不代表节点的真实行为。另一种方式是对节点进行评估来获取可靠的初始信任值,这种做法的优点是可以在可信评估初始阶段获取节点的真实行为,从而对恶意节点和自私节点有更准确的预测。与统一设置初始信任值相比,该方式的缺点是相对复杂而且会消耗更多能量。在文献[7]中,作者提出了一种在个人空间物联网中创建设备初始信任值的方法。
本文基于挑战-响应模型,提出了一种面向分布式网络的可信评估方法。网络节点通过该方法对挑战进行响应,形成关于节点的先验知识,用于度量其初始信任值。然后利用节点的初始信任值进行分簇,在簇内进行信任值计算和信任值更新,完成分布式网络中整个可信评估的流程。
2.1 网络模型
本文所研究的分布式网络结构如图1所示,由一个超级节点和大量普通节点组成。
图1 分布式网络结构图
其中,超级节点是拥有足够能量的可靠节点,主要负责与普通节点实行挑战-响应模型以获取各节点的初始信任值。部署在一定区域范围内的各个节点ni ∈N, i=1,2,...,M都由超级节点分配给它们一个唯一的标识符I Di。
2.2 攻击模型
攻击者对分布式网络发起的内部恶意攻击一般分为3个阶段[8],其各个阶段的攻击过程和攻击可能带来的后果如表1所示。分布式网络中的节点通常都配备有编程接口或测试接口以便对其进行编程或者调试。其中,当攻击者对节点发起物理捕获攻击时,一般手段是采用一块编程板连接到节点的编程接口或测试接口来获取节点中的关键信息[9]。所以在对分布式网络进行可信评估前,必须假设当攻击者发起物理节点物理捕获攻击时,每个节点都可以检测到被编程板连接。
表1 内部攻击过程及后果
3.1 挑战-响应模型
在网络开始运行前,超级节点中需引入伪随机数生成算法为每个节点生成独一无二的挑战数,该挑战数在网络中是公开的。然后,每个节点需生成密钥对来实施挑战-响应模型,运用RSA公钥密码算法原理[10–12],对节点集合N={n1, n2,..., nM}进行预置密钥操作。
节点完成预置密钥后,超级节点和普通节点间实行挑战-响应模型,以获取每个普通节点的初始信任值。挑战-响应模型的运作机制如图2所示,不同颜色的线条代表不同的挑战-响应轮次。据图2可知超级节点与普通节点ni之间实施挑战-响应模型的步骤如下:
图2 挑战-响应模型运作机制
(1)节点ni发 送[ IDi,(Ei,Ri)]给超级节点,超级节点把这个对应关系记录在表中;
(2)超级节点生成一个挑战数N oncei并把挑战数发送给节点ni;
(3)节点ni收到挑战后,结合标识符I Di、挑战数N oncei以及自己是否感应到被编程板连接的状态h(0表示连接状态,1表示未连接状态),采用密钥对(Di, Ri)生 成响应R esponsei=Noncei //IDi//h并将(IDi,Responsei)发给超级节点;
(4)当超级节点收到响应后采用预存的密钥(Ei, Ri) 对Responsei进 行解密得到消息序列I si,根据消息序列 Isi的不同,对应的响应结果由式(1)给出
第1种情况下,超级节点相信该节点未被捕获;
第2种情况下节点ni有很大可能被攻击者的编程板连接,挑战失败且累计挑战失败次数为cnum/3次(cnum为挑战的总轮数);
第3种情况表明这些节点可能是合作意愿较低的自私节点,挑战失败且累计挑战失败次数1次。利用上述挑战-响应模型,可以获得节点的响应结果。
3.2 初始信任值获取
获取节点初始信任值前,网络中任一节点行为均具有不确定性。引入贝叶斯准则来度量节点行为的不确定性概率x。首先给x分配一个先验分布p(x),p(x)取自Beta函数族[7],即
Beta(1,1)是均匀分布[13]。初次对网络进行可信评估时,节点的任何一个信任值都可能对应任意概率,因此参数选择α=β=1。在挑战-响应模型中,响应被定义为二元事件,用r表示一轮挑战结束后的响应结果。当r=1时,代表节点给超级节点的响应是预期中的响应,反之亦然。每一轮挑战-响应回合后r发生的概率结合给定未知概率x如式(3)所示
当一轮挑战-响应完成后,结合全概率式和条件概率式,利用贝叶斯准则更新x的后验分布p(x|r)如式(4)所示
此时x的后验分布也为Beta分布,且参数为(α+r) 和(β+1−r)。
在随后几轮的挑战-响应中,x的估计将采用上一轮挑战-响应结束后的后验分布作为其先验分布,在cnum轮挑战-响应之后x 的后验分布为p(x|r1r2...rcnum) ,其 参 数 为( 1+cnumr¯) 和(1+cnum−cnumr¯)。
因此cnum轮挑战-响应结束后x的后验分布期望值如式(6)所示
获取节点的初始信任值后,对节点进行分簇:(1)将初始信任值最高的几个节点选为簇头节点,负责簇内管理;
(2)剩下的节点被随机均匀地分配到每一个簇中,形成如图3所示的分层管理结构。
图3 分布式网络分层管理结构
4.1 信任值计算
评估节点A获取被评估节点B信任值的步骤如下:
(1)根据两节点间的通信行为和节点B的剩余能量来计算直接信任值;
(2)若节点A与节点B之间通信行为较少,则需挑选一组与节点A、B均有过交互的推荐节点 {C1,C2,...,CZ}给出推荐信任值;
(3)若有推荐信任值,则需对直接信任值和推荐信任值进行加权得到整合信任值。信任值计算过程如图4所示。
图4 信任值计算过程
4.1.1 直接信任证据
(1) 基于通信行为的信任证据
基于主观逻辑的信任模型引入了不确定度,比用单一数值表示节点间信任关系的方法更准确[14],所以采用此信任模型来量化基于通信行为的信任证据。引入信任3元组 {b,d,u} , 其中b,d和u分别对应于信任、不信任和不确定度,{b,d,u}的计算方法由式(8)给出
其中,b,d,u ∈[0,1]且b+d+u=1。s和f是指通信成功和不成功的次数,λ(λ>1)表示对不成功通信的惩罚因子。u是分布式网络中的不确定因素,本文将其定义为动态变量u=δc(s+f), 其中δc ∈(0,1)为不确定因素的调控因子。基于通信行为的信任证据可表示为
(2) 基于能量的信任证据
分布式网络中的节点依赖于它们所拥有的能量[5],能量信任值的计算由式(10)给出
其中,θ为能量阈值,Eres和Eini分别代表节点当前剩余能量与未开始评估前的初始能量。若节点当前剩余能量较低,可能是参与了内部攻击而消耗了节点自身过多能量,且剩余能量较低的节点可能无法与其他节点进行交互。因此可将剩余能量作为衡量能量信任值的指标。
基于通信信任值Tcom、能量信任值Tene,根据式(11)可获得两节点之间的直接信任值Tdir
其中,ωcom和ωene分别是通信行为信任证据和能量信任证据的权重,且ωcom+ωene=1。
4.1.2 推荐信任证据
若评估节点A与被评估节点B间通信数据包过少,还须加入推荐信任值以保证信任值计算的准确性[15,16]。节点A想获取节点B的推荐信任值时,将挑选节点A和B的一组公共邻居节点中初始信任值较高的节点作为推荐节点Ci(i=1,2,...,Z)。节点A收到多个推荐值时通过检测每个推荐值的一致性来计算其权重,计算方法如式(12)所示
其中,c pAB是评估节点A与被评估节点B之间的通信数据包数量, Thnum是定义的通信数据包阈值;
ωdir和ωrecom分别是直接信任值和推荐信任值的权重,ωdir+ωrecom=1。
4.2 信任值更新
本文采用基于新记录滑动窗口的信任值更新机制。基于新记录触发的信任值更新原理是当有新的信任记录产生时,滑动窗口移动,旧的信任记录被移除窗口。如图5所示窗口存储节点的信任记录,信任值更新开始后窗口随新记录的产生从左向右移动,定期清除历史记录。
图5 滑动窗口示意图
信任值更新应保持快降慢升的准则[17],引入调节因子γ(0<γ<1)来 控制信任值更新的快慢,Tnew是最新记录中的信任值,Told是历史信任值。信任值更新方式由式(15)给出
本文采用MATLAB进行仿真验证。在100 m×100 m的区域内随机部署100个节点,设置挑战-响应的轮数为10轮,经过挑战-响应后获取每个节点相应的初始信任值,选择初始信任值不小于0.95的节点作为簇头节点,随机均匀地把剩下的节点分配到每一个簇中,簇头节点拥有较多能量,簇内节点与簇头节点之间的通信数据包c pAB随机分配。参照文献[4]的仿真参数设置,将通信数据包阈值Thnum的初始值设为60,信任值更新的轮数设为3轮。
现对基于挑战-响应模型获取节点信任值算法的复杂度进行分析。在挑战-响应阶段中,挑战-响应总轮次数为cnum,所以获取节点初始信任值的循环最多执行cnumN次。设信任值更新的轮次为Tnum轮,则获取节点直接信任值和间接信任值最多循环执行 2N+N2次,信任值更新的循环执行TnumN次。因此基于挑战-响应模型获取节点信任值算法的计算复杂度为O(cnumN+2N+N2+TnumN),可在二次时间内求解。
5.1 挑战-响应模型性能验证
在此环节中设置恶意节点率为25%,自私节点率为10%(序号76-100为恶意节点,66-75为自私节点),得到经挑战-响应后获取的节点初始信任值如图6所示。从图中可以看到恶意节点的初始信任值都很低,自私节点的初始信任值也不高,为信任值计算提供了可靠前提。
图6 挑战-响应后的初始信任值
图7为经过3轮信任值更新后每一簇节点的信任值变化情况。从图7(a)—图7(c)中可以看到大部分节点信任值变化的幅度不大,反映出了挑战-响应模型的误判率较低,用初始信任值就可以较为准确地预测节点在信任值计算阶段与信任值更新阶段的表现。
图7 各簇更新后的信任值
5.2 可信评估性能验证
为验证本文可信评估方法的性能,将基于挑战-响应模型的可信评估方法与基于统一初始信任值的方法进行对比仿真实验。在统一初始信任值的评估方法中,把所有节点的初始信任值设为0.5,信任值计算与信任值更新方式均与本文所设计的方法一致。
在图8(a)中,恶意节点率由5%增加到40%,步进为5%。比较了两种不同设置初始信任值方法下的恶意节点检测率,基于挑战-响应模型的可信评估方法中随着恶意节点数量的增加,其检测率依旧较高,而统一信任值方法的检测率一直在30%至50%徘徊。
在可信评估中常用信任计算误差(TCE)来评价模型的好坏[18],TCE越小说明模型效果越好。设M是网络中节点的数量,τt(i)是时间t内第i个节点的信任值,在一定时间t内
其中,pt(i)表示时间t内第i个节点为诚实节点的可能性,pt(i)=1 表示节点为正常节点,pt(i)=0表示节点为恶意节点,pt(i)=0.5表示节点为自私节点。在图8(b)中,恶意节点率由5%增加到40%,步进为5%。比较了两种不同设置初始信任值方法下TCE的变化,可以看出基于挑战-响应模型的可信评估方法的信任计算误差较小,模型性能更好。
图8 基于挑战-响应与无挑战-响应方法的性能对比
文献[4]针对无线传感器网络提出了一种分布式信任模型EDTM,该模型采用统一设置初始信任值并首次根据多维信任证据评估节点信任值。相关文献[3,19]也将该经典模型作为基准进行了对比。本文所设计的模型与EDTM模型的对比结果如图9所示。其中,图9(a)为恶意节点检测率的变化图,可以看出基于挑战-响应模型的评估算法的恶意节点检测率始终高于基于EDTM模型的算法。图9(b)为信任计算误差的变化图,由该图可知基于挑战-响应模型算法的信任计算误差始终小于基于EDTM模型的算法。由此可以说明本文提出的算法性能更优于基于EDTM模型的算法。
图9 本文算法与EDTM模型算法的性能对比
为了解决在分布式网络中运用信任模型进行可信评估时缺乏历史信任证据的问题,本文提出了基于挑战-响应模型的可信评估方法。整个可信评估过程分为两步:第1步是在超级节点和普通节点间实施挑战-响应模型来获取普通节点可靠的初始信任值。第2步是利用获得的初始信任值进行分簇并在簇内实现信任值计算和信任值更新,以达到提早检测恶意节点并降低自私节点信任值的目的。仿真实验结果表明,采用挑战-响应后获取的初始信任值可以较为准确地检测出恶意节点并降低自私节点的信任值,使用此初始信任值完成整个可信评估流程后的恶意节点检测率较高且信任计算误差较小,所以在分布式网络中运用挑战-响应模型获取节点的初始信任值并实施完整的可信评估流程是一种解决缺乏历史信任证据问题的可靠手段。由于挑战-响应模型涉及密钥的生成与配送问题,耗时较长,如何做到高效且可靠地获取节点初始信任值来完成可信评估是未来的研究方向。
猜你喜欢分布式信任证据分布式光伏热钱汹涌能源(2017年10期)2017-12-20分布式光伏:爆发还是徘徊能源(2017年5期)2017-07-06嘤嘤嘤,人与人的信任在哪里……桃之夭夭B(2017年2期)2017-02-24对于家庭暴力应当如何搜集证据红土地(2016年3期)2017-01-15手上的证据幼儿智力世界(2016年6期)2016-05-14基于DDS的分布式三维协同仿真研究雷达与对抗(2015年3期)2015-12-09手上的证据小雪花·初中高分作文(2015年10期)2015-10-24“证据”:就在深深的水底下——《今生今世的证据》“读不懂”反思语文知识(2015年11期)2015-02-28信任高中生·青春励志(2014年11期)2014-11-25西门子 分布式I/O Simatic ET 200AL自动化博览(2014年12期)2014-02-28