首页> 中国专利> 一种建立水下传感器网络中多维度信任模型的方法

一种建立水下传感器网络中多维度信任模型的方法

摘要

本发明涉及一种建立水下传感器网络中多维度信任模型的方法,其步骤包括:首先,在每个时间窗口中,分别独立计算链路信任、数据信任和节点信任,根据水声信道模型、信号调制方式和差错控制策略建立通信链路信任,基于邻居节点感知数据相似度的特性进行数据信任的计算,根据节点诚实度和节点能力建立节点信任;其次,基于链路信任、数据信任和节点信任之间的逻辑关系,根据模糊逻辑方法计算链路中间信任、数据中间信任和节点中间信任,并在中间信任值的基础上,建立时间衰减函数,结合动态的水流环境,对链路信任、数据信任和节点信任进行实时更新,本发明能够在复杂的水下环境中有效评估节点的信任值,实时提高网络的安全性。

著录项

  • 公开/公告号CN104469836A

    专利类型发明专利

  • 公开/公告日2015-03-25

    原文格式PDF

  • 申请/专利权人 河海大学常州校区;

    申请/专利号CN201410683493.3

  • 发明设计人 江金芳;韩光洁;朱川;王峰;

    申请日2014-11-24

  • 分类号H04W24/06(20090101);

  • 代理机构32224 南京纵横知识产权代理有限公司;

  • 代理人董建林

  • 地址 213022 江苏省常州市新北区晋陵北路200号

  • 入库时间 2023-12-18 08:54:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-15

    授权

    授权

  • 2015-04-22

    实质审查的生效 IPC(主分类):H04W24/06 申请日:20141124

    实质审查的生效

  • 2015-03-25

    公开

    公开

说明书

技术领域

本发明涉及一种建立水下传感器网络中多维度信任模型的方法,属于水下传 感器网络信任管理技术领域。

背景技术

近年来,水下传感器网络已经广泛应用于海防、水下勘探、水下探测及监视 等领域。随着水下传感器网络应用的日益复杂,其安全需求也呈现多样性。传统 的基于密码体系的安全机制主要用于抵抗外部攻击,无法有效解决由于节点被俘 获而发生的内部攻击。而且由于传感器节点能力所限,网络中往往采用基于对称 密码算法的安全措施,当节点被俘获时很容易发生秘密信息泄露,如果无法及时 识别被俘获节点,则整个网络将被控制。在实际应用中,水下传感器网络常常被 部署无法实施物理保护的环境中,节点被俘获的现象极易发生,这就需要有效机 制及时识别被俘获节点,有针对性地采取相应措施以减小系统损失。

信任管理被认为是对传统的基于密码体制安全措施的有效补充,在对等网 络、网格以及普适计算等环境中已被广泛研究。信任模型在抵抗内部攻击、识别 恶意节点、自私节点及低竞争力节点等方面发挥着重要作用,可应用于安全路由、 安全定位、数据融合等方面的研究,用以提高系统的安全性、可靠性和公平性。

经对现有文献检索发现,目前尚未有针对水下传感器网络信任管理的研究, 但是针对陆上无线传感器网络(WSNs)环境的信任模型的研究较多,相关文献如 下:

1、2004年,Ganeriwal等人首次在《Reputation-based Framework for High  Integrity sensor Networks》中,提出适用于WSNs的基于信誉的信任管理框架 RFSN(Reputation based Framework for Sensor Networks),主要包括watchdog 和信誉系统两个模块。采用watchdog机制监视节点行为并将其划分为合作/不合 作行为。输出结果送入信誉系统模块进行信誉的表示、更新、整合,最终生成节 点信任值,并根据设定的阈值进行决策。信誉值的计算采用贝叶斯公式,并假定 先验分布为Beta分布或Dirichlet分布,节点的信任值为信誉值的期望值。RFSN 管理框架比较完整,提出了用于监视节点行为的Watchdog机制,可应用范围广, 灵活性好,但是不能有效抵抗恶意或预谋的攻击行为,如外来节点有意篡改感知 数据的攻击。

2、2005年,Yao等人在《A Security Framework with Trust Management for  sensor Networks》中,提出了传感器网络中基于信任管理的安全框架,包括应 用描述、网络输入/输出、信任管理、安全响应4个逻辑组件,其中信任管理采用 分布式的信任模型,首先分别计算直接信任值和推荐信任值,再由二者加权得到 综合信任值。该模型没有考虑数据因素,认为每个节点都存在推荐节点这个假设 条件也并不完全成立,并且,在信任计算过程中,采用了密码操作,例如,使用 哈希序列值证实信息是否来自基站,使用消息认证码判断报文的完整性等,这些 操作都使得算法的复杂度上升。

3、2007年,Matthew等人在中《Statistical Trust Establishment in  wireless Sensor Networks》,采用统计学的方法计算WSNs中的信任值,以减少 故障节点和恶意节点的影响。首先计算统计学上的信任值,然后根据节点直接和 间接的经验建立基于此信任值的置信区间。建立置信区间同时考虑了节点的直接 经验记录条目和其他节点的间接经验记录,但是,经验条目包含内容较多,而每 个节点保存邻居节点的多个经验条目,需要较大的缓存器。该模型适用于故障节 点和妥协节点,但是没有考虑恶意节点的诸如窃听、假冒、拒绝服务等攻击。

4、2009年,Chen等人在《Task-based Trust Management for Wireless Sensor  Networks》中提出基于任务的信任模型,在传感器网络中,节点不仅负责传输数 据,更重要的是感知、采集数据,每个传感器节点都承担着不同的任务,因此, Chen等人针对不同邻居节点间的不同任务分别计算信任,该信任模型包括三个模 块:检测模块,信誉评估模块和信任计算模块。由于每个节点都需要时刻保持对 邻居节点所有任务的监听,因此,该信任模型能耗较大,同时需要记录不同任务 的信任值,占用存储空间也较大。

5、2011年,Rahhal等人在《A Novel Trust-Based Cross-Layer Model for  Wireless Sensor Networks》中提出基于跨层设计的信任模型,首先,利用 watchdog机制监视邻居节点行为,并根据发送的数据包总数和邻居节点正确转发 的数据包的个数,计算邻居节点的信任值和该信任值的可信度,再利用数据连路 层和TCP层的ACK数据包对信任进行更新。

发明内容

本发明所要解决的技术问题是:在随机部署的水声传感器网络中,根据传感 器节点之间的信息交互计算通信链路、传输数据以及传感器节点的信任值,建立 时间衰减函数对通信链路、传输数据的信任值进行更新,并根据水流的影响对传 感器节点的信任值给予动态更新。

为了达到上述目的,本发明是通过以下技术方案实现的:

一种建立水下传感器网络中多维度信任模型的方法:包括以下步骤:

步骤一:初始信任值计算。信任模型的建立过程中,首先基于水环境的动态 特性建立滑动时间窗机制[Δt1,Δt2,...,Δtn],时间窗的大小可根据具体的水环境应 用进行动态调整;在每个时间窗Δti中,根据水声信道模型,计算相互通信的传 感器节点之间的链路信任值Tlink、数据信任值Tdata以及节点信任值Tnode,信任值 由[0,1]之间的数字表示,信任值大于0.5表示可信,小于0.5表示不可信;

步骤二:中间信任值计算。根据链路信任、数据信任、节点信任三者之间的 逻辑关系,基于模糊逻辑方法,在步骤一的链路信任值Tlink、数据信任值Tdata以 及节点信任值Tnode的基础上,分别计算链路中间信任值Tinter-l、数据中间信任值 Tinter-d以及节点中间信任值Tinter-n

步骤三:信任值更新。考虑水流因素的影响,节点运动到新的位置允许信任 迁移,建立时间衰减函数,并根据所述步骤二计算出的链路中间信任值Tinter-l、 数据中间信任值Tinter-d以及节点中间信任值Tinter-n,分别更新所述步骤一中计算出 的链路信任值Tlink、数据信任值Tdata以及节点信任值Tnode

上述步骤一中,通信链路信任值的计算方法如下:

(2-1)计算链路传输的错误率。首先根据水声信道模型,可以得到信道信 噪比SNR和误比特率Pber;在不考虑信道干扰的情况下,可以获得链路传输错误 率为Pper=1-(1-Pber)n,其中n是每个数据包中的bit数。而当存在信道干扰时, 可采用前向纠错编码进行差错控制,此时获得的链路传输错误率为 Pper=1-(1-Pbler)m,其中Pbler是分组错误率,m是数据包中的有效负载长度, 其中lb是分组长度,lc是可纠错的bit位数;

(2-2)计算链路传输的丢包率。链路是否能够成功传输一个数据包用参数ω 表示,成功传输一个数据包标示为1,否则标示为0,在一个时间窗Δti内,链路 成功或者失败传输数据包的情况可以记录为link=(1,0,1,1...0,1,0),即 link=(ω12,...ωn)。可以直接获得链路传输的丢包率为但是当两条链路 出现link1=(0,0,1,1,1)和link1=(1,1,1,0,0)的情况时,计算出的两条链路的丢包情 况相同,但是实际上link1更加可靠,因为在邻近当前时刻link2的丢包情况更加严 重。因此,给每个参数ω(i)都重新定义权重值为w(i)=i,并将其归一化处理得 到链路传输的丢包率为在水声网络中,数 据丢包不仅仅是由于不稳定通信链路造成的,还可能是恶意节点产生的恶意攻击 行为造成的,例如自私节点发起的丢包行为,或者恶意节点通过选择性转发攻击 发起的数据包丢弃行为。同时,可以通过ARIMA(自回归积分滑动平均模型, Autoregressive Integrated Moving Average Model,简记ARIMA)等预测模型 对链路丢包率进行实时预测,避免恶意节点的影响;

(2-3)评估链路质量。根据(2-1)和(2-2)中链路传输的错误率和丢包 率,在时间窗Δti内,可以得到链路质量LQ(i)的计算为LQ(i)=(1-Pper)×Pplr

(2-4)评估链路能力。链路能力与链路的使用频率相关,被使用次数越多 的链路相应的链路能力越强,该链路也更加可靠。因此,在时间窗Δti内,将链 路能力LC(i)定义为LC(i)=nuse(i)Nuse(i),if|nuse(i)-nuse(i-1)|θLC(i-1),otherwise.其中,nuse(i)是在 时间窗Δti内链路被使用的次数,nuse(i-1)是在前一个时间窗内链路被使用的次 数,Nuse(i)是链路的最大可能被使用次数,为了避免恶意节点过度使用链路来提 高链路能力,定义约束条件为|nuse(i)-nuse(i-1)|≤θ,当链路在两个相邻时间窗内 的被使用次数不超过一定的阈值时,将链路能力定义为反之,如果链路 在两个相邻时间窗内的被使用次数相差较大,链路能力的评估将不做更新, LC(i)=LC(i-1);

(2-5)计算链路信任值Tlink。根据(2-3)和(2-4)中评估的链路质量和 链路能力,可以得到链路信任值Tlink的计算为 当链路质量较差,即LQ<0.5时,即使链 路能力很强,该链路也被认为是不可信的,链路信任值定义为LQ×LC,例如链 路质量较差为LQ=0.4,链路能力较强为LC=0.8,此时链路信任值为 Tlink=LQ×LC=0.4×0.8=0.32,但是,当链路质量较好,即LQ≥0.5时,将链路 质量定义为LQ×LC并不合理,例如当链路质量较好为LQ=0.6,链路能力较强 为LC=0.8时,该链路应该是可信的,但是计算出的链路信任为 Tlink=LQ×LC=0.6×0.8=0.48,该定义得到的链路并不可信(0.48<0.5),因此 当链路质量较好时,重新定义链路信任的计算为:Tlink=0.5+(LQ-0.5)×LC,此 时获得链路信任值为Tlink=0.5+(LQ-0.5)×LC=0.58>0.5,则判断出该链路是可信 的。

上述步骤一中,数据信任值的计算方法如下:

(3-1)计算数据的可信度,邻居节点对同一事件的感知数据服从正态分布, 感知数据的可信度Tdata为,Tdata=2(0.5-μvdf(x)dx)=2vdf(x)dx;

其中vd是感知数据值的大小,f(x)感知数据正态分布的密度函数,μ是均 值;

(3-2)数据的信任值Tdata由数据本身的可信度和该数据发送节点的信任程 度共同决定,如果发送该数据的节点不可信,那么产生的数据也不可信,在由不 可信节点参与的数据传输过程中,如果不事先对不可信数据进行剔除,将会引起 数据平均值的较大偏差,从而影响数据信任的计算。因此,在根据(3-1)计算 数据信任之前,需要先基于MAD规则(中位数绝对偏差Median Absolute  Deviation median rule,简称MAD)对数据进行过滤,之后再平均得到数据均 值,进而计算数据信任值。

上述步骤一中,节点信任值的计算方法如下:

(4-1)如果由节点a计算邻居节点b的信任值,那么节点a为请求节点, 节点b为目标节点。首先定义参数Thnum为节点之间的通信阈值,如果节点a与b 之间的历史通信次数大于阈值Thnum,则根据b的节点诚实度NH(Node Honesty) 和节点能力NC(Node Competence)直接计算得到目标节点的信任值为 Tdirect=0.5+(NH-0.5)×NC,ifNH0.5NH×NC,else;

(4-2)如果请求节点a与目标节点b之间的历史通信次数小于阈值Thnum, 则请求节点a需要向二者共同的邻居节点c广播信任推荐请求包,将满足以下两 个条件的邻居节点c定义为推荐节点:1)邻居节点c本身可信,即信任值大于 0.5,2)目标节点与邻居节点c之间的通信链路可信,即链路信任值大于0.5。

由推荐节点c提供的关于目标节点b的信任值Tbc定义为推荐信任值。每个 推荐节点提供的推荐信任值都是不一样的,而且,并不是所有推荐节点提供的推 荐信任值都是可信的,因此定义推荐信任值的可靠性Trel对其是否可信进行判别, 其中Tave是所有推荐信任值的平均值。根据推荐节点提供的 推荐信任值及其可靠性,得到节点的推荐信任为

(4-3)最终得到节点信任的计算为其中 snew是成功传输数据包的次数,假设节点中记录的成功和失败传输数据包的次数 分别为s和f,其中数据包的丢失可能是由不稳定水声链路或者恶意节点造成 的,而在(2-2)中计算出的由于不稳定链路导致的丢包率为Pplr,因而得到更新 后的数据包成功传输的次数为wdirect和wrecom分别是直接信任和推 荐信任的权重值,满足wdirect∈[0,1],wrecom∈[0,1],wdirect+wrecom=1;

上述步骤二中,中间信任值的计算方法如下:

(5-1)信任模糊化。利用模糊逻辑方法,计算链路中间信任值Tinter-l、数据 中间信任值Tinter-d和节点中间信任值Tinter-n,首先将信任值划分为五个模糊集,1 完全不可信(trustvalue∈[0,0.25)),2不太可信(trustvalue∈[0.25,0.5)),3不确 定(trustvalue=0.5),4比较可信(trustvalue∈(0.5,0.75]),5完全可信 (trustvalue∈(0.75,1]);

(5-2)模糊逻辑推理。建立模糊规则R,链路中间信任值Tinter-l根据数据信 任值Tdata和节点信任值Tnode获得Tinter-l=(Tnode×Tdata)°R,数据中间信任值Tinter-d根 据链路信任值Tlink和节点信任值Tnode获得Tinter-d=(Tnode×Tlink)°R,节点中间信任值 Tinter-n根据链路信任值Tlink和数据信任值Tdata获得Tinter-n=(Tlink×Tdata)°R。以链路 中间信任值Tinter-l的计算为例,根据链路中间信任Tinter-l与数据信任Tdata、节点信 任Tnode之间的模糊逻辑关系,建立其隶属度函数,并根据模糊规则R建立映射函 数Tinter-d=(Tnode×Tlink)°R;

(5-3)精确化计算。对(5-2)中得到的Tinter-d进行反模糊化可以得到精确 的链路中间信任值,用同样的方法可以获得数据中间信任值Tinter-d和节点中间信 任值Tinter-n

上述步骤三中,更新信任值的计算方法如下:

(6-1)建立时间衰减函数ωdecay=exp(-δ×(t-t0)),其中δ是衰减因子,t是 当前时刻,t0是上一次信任计算的时刻。

(6-2)链路信任值更新为Tlink(i)=ωdecayTlink(i-1)+(1-ωdecay)Tinter-l,其中Tlink(i-1) 是在上一个时间窗口中计算出的链路信任。

(6-3)数据信任值更新为Tdata(i)=ωdecayTdata(i-1)+(1-ωdecay)Tinter-d,其中Tdata(i-1) 是在上一个时间窗口中计算出的数据信任。

(6-4)节点信任值更新。由于受水流的影响,传感器节点是运动的,因此, 在对节点信任值进行更新时需要考虑以下情况。在当前时间窗口内,目标节点b 在可能随水流运动出邻居节点a的通信范围,在下一个时刻到达新的位置,成为 节点c的新邻居,并有可能在未来某一个时刻继续随水流运动回节点a的通信范 围内。目标节点b相对于c节点是新邻居节点,但是相对于a节点是旧邻居节点。 因此,首先考虑新邻居节点的信任更新问题,由于目标节点b并非是网络中的新 加入节点,因此目标节点b内的信任值可发生迁移。信任值的迁移特性为,如果 c节点信任b节点,b节点信任a节点,那么c节点也认为a节点是可信的。因 此,如果节点c认为节点a是可信的,那么在上一个是将窗口内由节点a计算出 的关于节点b的信任值可以进行迁移,并在当前时刻由节点c更新邻居节点b 的信任值;

其次,考虑旧邻居节点的信任更新问题,由于节点a和节点b有过通信历史, 之前的历史信任可以重新被利用,但是在中间一段时间间隔内,节点a和节点b 之间彼此中断了通信,因此,需要对时间衰减函数进行重新定义。首先,定义节 点a和节点b之间的熟知度为其中nab是节点a和节点b成功通 信的次数,na是节点a与所有邻居节点通信的次数,β是通信次数的调节因子, 因此,将时间衰减函数重新定义为ωdecay=exp(-δ×(t-t0)×(1-RM)),节点信 任值更新为Tnode(i)=ωdecayTnode(i-1)+(1-ωdecay)Tinter-n,其中Tnode(i-1)是在上一个时间 窗口中计算出的节点信任值。

通过采用上述技术手段,本发明的有益效果为:通过对通信链路、传输数据 和传感器节点的信任计算,本发明能够在复杂的水下环境中有效提高网络的安全 性;根据水声信道模型、信号调制方式和差错控制策略建立通信链路信任,可以 有效评估不稳定水声链路的工作性能;基于邻居节点感知数据相似度的特性进行 数据信任的计算,计算方法简单有效,在通信频繁的水声网络中有效降低了算法 复杂度,并提高了数据信任计算的效率和准确度;基于链路信任和数据信任的计 算,通过对节点中间信任值的评估,并结合动态的水流环境,使得节点信任计算 的精度更高、更新更及时,具有广泛的应用价值。

附图说明

图1为本发明建立水声传感器网络中多维度信任模型的示意图;

图2为本发明链路质量评估的示意图;

图3为本发明水环境中传感器节点随水流运动示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步的详细说明。

如图1所示,一种建立水下传感器网络中多维度信任模型的方法,其步骤包 括:

步骤一:初始信任值计算。信任模型的建立过程中,首先基于水环境的动态 特性建立滑动时间窗机制[Δt1,Δt2,...,Δtn],时间窗的大小可根据具体的水环境应 用进行动态调整;在每个时间窗Δti中,根据水声信道模型,计算相互通信的传 感器节点之间的链路信任值Tlink、数据信任值Tdata以及节点信任值Tnode,信任值 由[0,1]之间的数字表示,信任值大于0.5表示可信,小于0.5表示不可信,具体 的计算步骤如下:

首先,计算链路信任值,计算方法如下:

(2-1)计算链路传输的错误率。首先根据水声信道模型,可以得到信道信 噪比SNR和误比特率Pber。在不考虑信道干扰的情况下,可以获得链路传输错误 率为Pper=1-(1-Pber)n,其中n是每个数据包中的bit数。而当存在信道干扰时, 可采用前向纠错编码进行差错控制,此时获得的链路传输错误率为 Pper=1-(1-Pbler)m,其中Pbler是分组错误率,m是数据包中的有效负载长度, 其中lb是分组长度,lc是可纠错的bit位数;

(2-2)计算链路传输的丢包率。链路是否能够成功传输一个数据包用参数ω 表示,成功传输一个数据包标示为1,否则标示为0,在;一个时间窗Δti内,链 路成功或者失败传输数据包的情况可以记录为link=(1,0,1,1...0,1,0),即 link=(ω12,...ωn)。可以直接获得链路传输的丢包率为但是当两条链路 出现link1=(0,0,1,1,1)和link1=(1,1,1,0,0)的情况时,计算出的两条链路的丢包情 况相同,但是实际上link1更加可靠,因为在邻近当前时刻link2的丢包情况更加严 重。因此,给每个参数ω(i)都重新定义权重值为w(i)=i,并将其归一化处理得 到链路传输的丢包率为在水声网络中,数 据丢包不仅仅是由于不稳定通信链路造成的,还可能是恶意节点产生的恶意攻击 行为造成的,例如自私节点发起的丢包行为,或者恶意节点通过选择性转发攻击 发起的数据包丢弃行为,同时,可以通过ARIMA(自回归积分滑动平均模型, Autoregressive Integrated Moving Average Model,简记ARIMA)等预测模型 对链路丢包率进行实时预测,避免恶意节点的影响;

(2-3)评估链路质量。如图2所示,根据(2-1)和(2-2)中计算出链路 传输的错误率和丢包率,在时间窗Δti内,可以得到链路质量LQ(i)的计算为 LQ(i)=(1-Pper)×Pprr

(2-4)评估链路能力。链路能力与链路的使用频率相关,被使用次数越多 的链路相应的链路能力越强,该链路也更加可靠。因此,在时间窗Δti内,将链 路能力LC(i)定义为LC(i)=nuse(i)Nuse(i),if|nuse(i)-nuse(i-1)|θLC(i-1),otherwise.其中,nuse(i)是在 时间窗Δti内链路被使用的次数,nuse(i-1)是在前一个时间窗内链路被使用的次 数,Nuse(i)是链路的最大可能被使用次数。为了避免恶意节点过度使用链路来提 高链路能力,定义约束条件为|nuse(i)-nuse(i-1)|≤θ,当链路在两个相邻时间窗内 的被使用次数不超过一定的阈值时,将链路能力定义为反之,如果链路 在两个相邻时间窗内的被使用次数相差较大,链路能力的评估将不做更新, LC(i)=LC(i-1);

(2-5)计算链路信任值Tlink。根据(2-3)和(2-4)中评估的链路质量和 链路能力,可以得到链路信任值Tlink的计算为 当链路质量较差,即LQ<0.5时,即使链 路能力很强,该链路也被认为是不可信的,链路信任值定义为LQ×LC,例如链 路质量较差为LQ=0.4,链路能力较强为LC=0.8,此时链路信任值为 Tlink=LQ×LC=0.4×0.8=0.32,但是,当链路质量较好,即LQ≥0.5时,将链路 质量定义为LQ×LC并不合理,例如当链路质量较好为LQ=0.6,链路能力较强 为LC=0.8时,该链路应该是可信的,但是计算出的链路信任为 Tlink=LQ×LC=0.6×0.8=0.48,该定义得到的链路并不可信(0.48<0.5),因此 当链路质量较好时,重新定义链路信任的计算为:Tlink=0.5+(LQ-0.5)×LC,此 时获得链路信任值为Tlink=0.5+(LQ-0.5)×LC=0.58>0.5,则判断出该链路是可信 的。

其次,计算数据信任值,其计算方法如下:

(3-1)计算数据的可信度,一般情况下,邻居节点对同一事件的感知数据 服从正态分布,感知数据的可信度Tdata为,Tdata=2(0.5-μvdf(x)dx)=2vdf(x)dx;

其中vd是感知数据值的大小,f(x)感知数据正态分布的密度函数,μ是均 值;

(3-2)数据的信任值Tdata由数据本身的可信度和该数据发送节点的信任程 度共同决定,如果发送该数据的节点不可信,那么产生的数据也不可信,在由不 可信节点参与的数据传输过程中,如果不事先对不可信数据进行剔除,将会引起 数据平均值的较大偏差,从而影响数据信任的计算。因此,在根据(3-1)计算 数据信任之前,需要先基于MAD规则(中位数绝对偏差Median Absolute  Deviation median rule,简称MAD)对数据进行过滤,之后再平均得到数据均 值,进而计算数据信任值。

最后,计算节点信任值,其计算方法如下:

(4-1)如果由节点a计算邻居节点b的信任值,那么节点a为请求节点, 节点b为目标节点。首先定义参数Thnum为节点之间的通信阈值,如果节点a与b 之间的历史通信次数大于阈值Thnum,则根据b的节点诚实度NH(Node Honesty) 和节点能力NC(Node Competence)直接计算得到目标节点的信任值为 Tdirect=0.5+(NH-0.5)×NC,ifNH0.5NH×NC,else;

(4-2)如果请求节点a与目标节点b之间的历史通信次数小于阈值Thnum, 则请求节点a需要向二者共同的邻居节点c广播信任推荐请求包,将满足以下两 个条件的邻居节点c定义为推荐节点:1)邻居节点c本身可信,即信任值大于 0.5,2)目标节点与邻居节点c之间的通信链路可信,即链路信任值大于0.5。

由推荐节点c提供的关于目标节点b的信任值Tbc定义为推荐信任值。每个 推荐节点提供的推荐信任值都是不一样的,而且,并不是所有推荐节点提供的推 荐信任值都是可信的,因此定义推荐信任值的可靠性Trel对其是否可信进行判别, 其中Tave是所有推荐信任值的平均值。根据推荐节点提供的 推荐信任值及其可靠性,得到节点的推荐信任为

(4-3)最终得到节点信任的计算为其中 snew是成功传输数据包的次数,假设节点中记录的成功和失败传输数据包的次数 分别为s和f,其中数据包的丢失可能是由不稳定水声链路或者恶意节点造成 的,而在(2-2)中计算出的由于不稳定链路导致的丢包率为Pplr,因而得到更新 后的数据包成功传输的次数为wdirect和wrecom分别是直接信任和推 荐信任的权重值,满足wdirect∈[0,1],wrecom∈[0,1],wdirect+wrecom=1;

步骤二:中间信任值计算。根据链路信任、数据信任、节点信任三者之间的 逻辑关系,基于模糊逻辑方法,在步骤一的链路信任值Tlink、数据信任值Tdata以 及节点信任值Tnode的基础上,分别计算链路中间信任值Tinter-l、数据中间信任值 Tinter-d以及节点中间信任值Tinter-n

中间信任值的具体计算方法如下:

(1)信任模糊化。利用模糊逻辑方法,计算链路中间信任值Tinter-l、数据中 间信任值Tinter-d和节点中间信任值Tinter-n,首先将信任值划分为五个模糊集,1完 全不可信(trustvalue∈[0,0.25)),2不太可信(trustvalue∈[0.25,0.5)),3不确定 (trustvalue=0.5),4比较可信(trustvalue∈(0.5,0.75]),5完全可信 (trustvalue∈(0.75,1]);

(2)模糊逻辑推理。建立模糊规则R,如下表所示,链路中间信任值Tinter-l根据数据信任值Tdata和节点信任值Tnode获得Tinter-l=(Tnode×Tdata)°R,数据中间信任 值Tinter-d根据链路信任值Tlink和节点信任值Tnode获得Tinter-d=(Tnode×Tlink)°R,节点 中间信任值Tinter-n根据链路信任值Tlink和数据信任值Tdata获得 Tinter-n=(Tlink×Tdata)°R。以链路中间信任值Tinter-l的计算为例,如表1(a)所示,根 据链路中间信任Tinter-l与数据信任Tdata、节点信任Tnode之间的模糊逻辑关系,建立 其隶属度函数,并根据模糊规则R建立映射函数Tinter-d=(Tnode×Tlink)°R。同样, 可以建立数据中间信任Tinter-d与节点信任Tnode、链路信任Tlink之间的模糊逻辑关系 如表1(b)所示,建立节点中间信任Tinter-n与链路信任Tlink、数据信任Tdata之间的 模糊逻辑关系如表1(c)所示。

(a)基于数据信任和节点信任的链路中间信任

(b)基于链路信任和节点信任的数据中间信任

(c)基于链路信任和数据信任的节点中间信任

表1链路信任、数据信任和节点信任三者之间的逻辑关系示意图

(3)精确化计算。对(5-2)中得到的Tinter-d进行发模糊化可以得到精确的 链路中间信任值,用同样的方法可以获得数据中间信任值Tinter-d和节点中间信任 值Tinter-n

步骤三:信任值更新。考虑水流因素的影响,节点运动到新的位置允许信任 迁移,建立时间衰减函数,并根据所述步骤二计算出的链路中间信任值Tinter-l、 数据中间信任值Tinter-d以及节点中间信任值Tinter-n,分别更新所述步骤一中计算出 的链路信任值Tlink、数据信任值Tdata以及节点信任值Tnode

更新信任值的具体方法如下:

(1)建立时间衰减函数ωdecay=exp(-δ×(t-t0)),其中δ是衰减因子,t是当 前时刻,t0是上一次信任计算的时刻。

(2)链路信任值更新为Tlink(i)=ωdecayTlink(i-1)+(1-ωdecay)Tinter-l,其中Tlink(i-1)是 在上一个时间窗口中计算出的链路信任。

(3)数据信任值更新为Tdata(i)=ωdecayTdata(i-1)+(1-ωdecay)Tinter-d,其中Tdata(i-1)是 在上一个时间窗口中计算出的数据信任。

(4)节点信任值更新。由于受水流的影响,传感器节点是运动的,因此, 在对节点信任值进行更新时需要考虑以下情况。如图4所示,在当前时间窗口内, 目标节点b在可能随水流运动出邻居节点a的通信范围,在下一个时刻到达新的 位置,成为节点c的新邻居,并有可能在未来某一个时刻继续随水流运动回节点 a的通信范围内。目标节点b相对于c节点是新邻居节点,但是相对于a节点是 旧邻居节点。因此,首先考虑新邻居节点的信任更新问题,由于目标节点b并非 是网络中的新加入节点,因此目标节点b内的信任值可发生迁移,信任值的迁移 特性为,如果c节点信任b节点,b节点信任a节点,那么c节点也认为a节点 是可信的。因此,如果节点c认为节点a是可信的,那么在上一个时间窗口内由 节点a计算出的节点b的信任值可以进行迁移,并在当前时刻由节点c更新邻居 节点b的信任值为;

其次,考虑旧邻居节点的信任更新问题,由于节点a和节点b有过通信历史, 之前的历史信任可以重新被利用,但是在中间一段时间间隔内,节点a和节点b 之间彼此中断了通信,因此,需要对时间衰减函数进行重新定义。首先,定义节 点a和节点b之间的熟知度为其中nab是节点a和节点b成功通 信的次数,na是节点a与所有邻居节点通信的次数,β是通信次数的调节因子, 因此,将时间衰减函数重新定义为ωdecay=exp(-δ×(t-t0)×(1-RM)),节点信 任值更新为Tnode(i)=ωdecayTnode(i-1)+(1-ωdecay)Tinter-n,其中Tnode(i-1)是在上一个时间 窗口中计算出的节点信任。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号