APP下载

使用深度学习的社交物联网信任预测模型*

2021-04-25温宇垚职如昕陈晋辉

电讯技术 2021年3期
关键词:事务信任联网

温宇垚,徐 湛,职如昕,陈晋辉

(北京信息科技大学 信息与通信工程学院,北京 100101)

0 引 言

近年来,物联网设备的安装数量正在呈现爆发式增长[1]。在如此庞大的网络中,伴随着低延时、高速率、高容量的 5G网络的发展,物联网面临着越来越多的机遇与挑战[2]。同时,大量对象的连接和事物的智能化进一步发掘了人与物、物与物之间交互的潜力。文献[3]提出了“社交设备”的概念,将传统的网络与社交网络相结合,实现了设备间的自主交互。文献[4]正式提出了“社交物联网”(Social Internet of Things,SIoT)的概念,将人类社交网络中的社会关系引入到物与物之间,其中每一个设备均可自主建立社交关系并选择交互对象。

在这样频繁发生社交行为的社交物联网网络中,一旦出现为了自身利益而对其他设备进行恶意攻击的行为不端的设备或所有者,那么良好节点的服务请求过程必将受到干扰。因此,为了使服务请求方得到更满意的服务,提升整体网络的效用性,一个可靠的信任管理是必不可少的。近年来,信任管理在物联网和社交网络中已有很多成熟的解决方案,但是应用于社交物联网中的信任管理协议仍处于发展阶段。文献[5]从P2P和社交网络的解决方案出发,定义了主观和客观两种信任管理模型。在文献[6]的基础上,文献[7]提出了新的社交物联网模型。根据这个模型,可以将一组物体赋予其社会化的形式,建立更亲密友谊关系的节点之间具有更高的信任值评估,更方便它们之间进行交互。文献[8]采用了直接信任、中心性、社区利益、协作性、服务得分等SIoT信任指标来计算对象间的信任值。文献[9]给出了信任和信誉的明确定义。文献[10]中提出了一个名为TMCoI-SIOT的信任管理模型,该模型从节点级与管理员级分别给出了信任协议。

然而,随着物联网设备数量的指数式增长,物联网网络面临的负载压力也在不断增加。因此,在物联网应用场景中,会遇到由于节点交互过于密集而导致通信不畅,从而影响任务交付与信任值评估的情况。此时,一些新加入的节点可能不具备或具备很少与其他节点交互的历史信息,从而使得其他节点使用常规信任模型难以得到对其及时有效的信任值评估。这个问题也被称为“冷启动”问题[11]。

针对此问题,本文拟引入深度学习模型对常规信任模型进行改进,提出了一种适用于节点过于密集或过于稀疏导致交互延迟较大影响信任值评估的社交物联网的改进型信任预测模型,模型主要分为改进型节点级别信任模型和SIoT服务器级别信任模型。在节点级别信任模型中,本文提出了一种根据事件重要程度决定服务提供方的改进型交互规则。对于不同重要程度事件进行分类从而分配给不同信任度的节点,使得恶意节点更难发动攻击,并同时给予其变为良好节点的机会。另一方面,此模型对提供间接信任的友谊节点进行了信任加权计算,即信任度越高的节点提供的建议越具有参考价值,同时考虑了相对中心性,这也更加符合网络信任计算中的一般情况,从而抵挡恶意攻击。在SIoT服务器级别信任模型中,本文针对上述“冷启动”问题,引入深度学习模型,对社区中新加入节点的信任值进行预测。仿真结果表明,在此预测指引下,总交互过程中交互成功率更高。

本文中多次用到的符号及其含义:i表示服务请求方节点,j表示服务提供方节点,TD为直接信任值,TID为间接信任值,T为总信任值,h表示事务重要程度。

1 节点级别信任模型

在社交物联网网络中,恶意节点可以通过执行不同的与信任相关的攻击来传递不正确或恶意的信息,导致系统发生不适当的更改。本文对可能发生在网络中的恶意攻击类型进行了总结,将其分为以下三类:

一是恶意节点通过提供错误的建议来破坏行为良好的节点的声誉,从而降低选择此良好节点作为服务提供商的可能性。在本信任模型中,当恶意节点向良好节点请求服务时,无论良好节点提供服务好坏,恶意节点均给予其较低信任值。

二是恶意节点可以通过向另一个恶意节点提供好的建议来提高其声誉,从而增加该节点被选为服务提供商的可能性。这也是一种共谋攻击,即它可以与其他坏节点协作,以提高彼此的声誉。在本信任模型中,当恶意节点向恶意节点请求服务时,将会给予较高信任值,实施共谋攻击。

三是恶意节点可以通过提供良好服务的方法提升其重要性,以便被选择为服务提供者,但随后在重要的事务中它会提供恶意服务。在本文的模型中,当良好节点向恶意节点请求服务时,恶意节点将在重要程度低的事务中提供良好服务来增加其信任度,而在重要的事务中提供糟糕的服务。

本文借鉴了现有的文献的研究成果,在节点级别的信任计算中将整体信任分为了直接信任值与间接信任值分别进行计算,综合两者共同评判一个节点的信任值。

直接信任值:服务请求方节点与服务提供方节点之间直接进行信息交互所获得的主观性节点信任评估。

间接信任值:服务请求方节点在完成主观上对服务提供方节点的信任评估之后,综合自己的好友节点对于服务提供方节点的信任值进行计算所获得的相应节点声誉。

在本文的信任模型中,每个节点都维护自己的一套对其他节点的信任评估。并且在实验进行中,每个节点在与其他节点进行任务交互之后,均同时动态更新其相应的直接信任值和间接信任值。

首先,本文对社交物联网网络中的所有节点对进行信任值初始化,规则见表1。

表1 本文中节点间初始信任值的设置

初始设定节点间的三种社会关系:属于同一所有者关系、处于同一地域关系以及所有者互为好友关系。设信任值取值范围为(0,1),信任值为0,说明该节点完全不可信;信任值为1,则说明该节点完全被信任。若节点间同时满足多种社交关系,则以信任值高者为准。其中,属于同一所有者的节点由于归属于同一所有者,因此有更大概率拥有相似的行为,本文给予其最高的初始信任值。相比于所有者互为好友关系,如果双方处于同一工作区域,那么他们相互遇到以及共同协作完成任务的概率就越高。例如:A与同事B处于同一办公室,那么两者之间就会产生频繁的信息交互,并且为完成同一个任务协商合作;而A与朋友C之间仅可能偶尔为了共同利益会交互有限次(俗话说远亲不如近邻)。根据信任具有时效性的这一特性,本文给予了后者较小的信任值。在实际的社交网络中,两个关系更为亲密的节点之间相比于无社交关系的节点之间任务交互成功的概率将会更高。因此在本文的仿真中,更亲密的节点关系将会带来更高的任务交互成功率。

为应对上文提到的恶意攻击,本文信任模型中引入了事务因子h来对不同事件的重要程度进行分类。h的取值范围为(0,1)。以0.5为分界点,h值大于0.5的称为重要事件,反之称为不重要事件,且h值越接近于1的事件越重要。文献[9]中给出了信任的定义,即信任值表达了服务请求方节点愿意冒着恶意节点的风险而向对方请求服务的自愿程度。因此,在本文模型中为了防御恶意攻击,重要的事件只交给信任值较高的节点,而不重要的事件分配给其他节点。这样既使得恶意节点更不容易从低事务因子事件中获取高信任值,可以有效抵御部分恶意攻击,同时给予了部分恶意节点变为良好节点的机会。具体做法是:对于重要事件,将h值大于0.9的事件分配给信任值高于0.9的节点(若网络中没有信任值满足条件的节点,则选取信任值最高的),将h值大于0.8的事件分配给信任值高于0.8的节点,以此类推;对于不重要事件,将其分配给信任值小于等于0.5的节点。具体模型算法如下:

本文借鉴文献[10]中的狄利克雷分布信任计算,定义节点间直接信任值:节点i对节点j请求服务并进行交互之后,节点i通过先前与节点j交互经验计算对其的直接信任值TD:

(1)

(2)

(3)

公式(1)中αij表示节点i与节点j的成功交互,βij则表示失败交互。在公式(2)~(3)中给出了两者的计算方法,其中N表示相应的总交互次数,hl表示两节点在第l次相应的交互时的事务因子。R(reward)表示成功交互之后的奖励,设置为1;P(punishment)表示失败交互之后的惩罚,设置为2。这里对不满意事件的惩罚加倍是为了应对第三种恶意攻击,即建立信任比失去信任更困难,防止对象在低权重服务上表现良好以建立良好的信誉,然后在重要服务上表现不佳。

节点i在与节点j交互完成之后,同时向其好友k发出信任值请求,即获取节点k对节点j的信任值,并综合其所有好友对节点j的信任值共同计算出间接信任值TID(设节点i共有n个朋友):

(4)

由于不同节点的状态不同,其给予服务请求方的推荐信任值可信度也不同,因此间接信任值直接取所有推荐者推荐信任值的平均数在实际网络中是有缺陷的。本模型在此处增加了服务请求方对每个推荐者信任值的加权。

然后通过公式(5)得到节点i对节点j的信任值评估:

(5)

公式(5)受到了文献[5]的启发,引入了相对中心性Rij。Rij表示节点j相对于节点i的中心性,而不是它在整个网络中占据了多少中心位置。这是为了防止恶意节点建立很多关系,刻意提高自己在整个网络的中心性之后发动恶意攻击。Rij的计算方法如公式(6):

(6)

式中:函数F表示相应节点的好友集合。

最后综合节点i对节点j之前的交互经验,得出节点i对节点j的总信任值:

Tij(t)=(1-δ)Tij(t-Δt)+δTij(t) 。

(7)

式中:Tij(t-Δt)表示节点i与j上一次交互后的总信任值。λ∈[0,1]和δ∈[0,1]分别用于加权直接信任值和间接信任值,加权当前和以前的总信任值,其目的是将信任值的计算结果保持在0~1之间。

2 节点级别信任模型的仿真分析

在即将到来的包括智慧城市、车联网等在内的信息化社会,用户设备需要获取某种服务时,那么它将作为服务请求方,使用智能设备向其他设备发送服务请求。这个过程不仅对信息传输速率有着较高的要求,传输过程的安全同样重要。结合这样的现实需要,本文在下列仿真中相应的服务请求方节点在仿真过程中始终为良好状态(在本文的模拟实验过程中,节点仅存在良好以及恶意两种状态)。

在此仿真中,本文设置了8个所有者所拥有的40个设备节点,并对所有者的友谊关系进行了初始化,其中不同所有者拥有的设备及设备数量随机分配。只要节点双方满足属于同一所有者、处于同一地域或所有者互为好友关系中的一种,则视双方为朋友关系。同时,本文将这40个节点分配到4个不同的地域及8个不同的兴趣社区。每个节点只能处于一个地域中,而根据自己的兴趣不同可以同时处于多个不同的兴趣社区。

在信任值及总信任值计算中,文献[10]仿真分析已经论证:信任值评估中使用较高的λ值可以帮助节点快速收敛到真实的节点状态。另一方面,恶意节点不能依赖其良好的历史来进行不当行为,因此当新的交互发生时,旧的交互的比重应该降低。综上所述,本文考虑了间接信任的可信度不如直接信任,同时为了与文献[10]的模型仿真对比结果更加明晰,因此本文沿用文献[10]的模型权重参数,即参数和的初始值均设为0.8。

本文仿真拟进行20 000次交互,每次交互的服务请求方节点随机选取,并在仿真中保证:同一次交互的不同模型仿真中,有着相同的事务因子与兴趣社区选择。每次进行交互前,服务请求方随机取(1,8)8个种类中的一种任务,向其相应的兴趣社区请求服务。在相应的社区内根据不同模型各自的规则选取服务提供方节点之后,服务请求方节点随机取事务因子为h的任务开始进行交互(h的取值范围为(0,1),取值越大代表该事务越重要)。在此次交互完毕之后,服务请求方节点对服务提供方节点所提供的服务进行评估:若此次交互评估满意,则记为1;若不满意,则记为0。

本文首先随机选取了两个良好节点,编号分别为1和2,即在随机选择服务提供方节点的20 000次交互中,仅记录节点1向该良好节点提供服务请求的交互事件。在低恶意节点比例环境(恶意节点比例为20%)与较高恶意节点比例环境(恶意节点比例为50%)下分别对本文节点级信任模型与其他信任模型进行了仿真对比,结果如图1和图2所示(仿真过程中间隔固定时段取计数点)。

图1 20%恶意节点比例下不同模型中的节点1对良好节点信任值对比

图2 50%恶意节点比例下不同模型中的节点1对良好节点信任值对比

从图1和图2中可以看出,本文节点级信任模型中良好节点间的信任值评估相较于文献[10]的更高,使相应良好节点更容易被选作下一次的服务提供方。这是由于在本文节点级信任模型中,每次交互的服务请求方会根据事务因子的大小来选择合适的服务提供方,从而更好地避免了将重要事务交付给恶意节点使其对良好节点进行第三种恶意攻击。同时,由于在本文模型中计算间接信任值时,加入了服务请求方节点对推荐者信任值的加权,使得在恶意节点比例增加后本文信任模型依然可以在一定程度上抵挡恶意节点对良好节点的第一种和第二种恶意攻击。相比于本文与文献[10]的信任模型,文献[8]与文献[9]中的信任模型虽然在大多数时间表现可观,但波动较大。这是由于它们缺乏对当前总信任值和以前总信任值的加权综合,而仅根据之前交互的满意度来计算信任值。这在实际社交物联网网络中是有缺陷的。而本文模型则兼顾了两者。

接下来,本文保留良好节点1,并随机选取恶意节点26,仅记录节点1向该恶意节点提供服务请求的交互事件。在低恶意节点比例环境(恶意节点比例为20%)与较高恶意节点比例环境(恶意节点比例为50%)下分别对本文节点级信任模型与其他信任模型进行了仿真对比,结果如图3和图4所示。

图3 20%恶意节点比例下不同模型中的节点1对恶意节点信任值对比

图4 50%恶意节点比例下不同模型中的节点1对恶意节点信任值对比

综合图3和图4,本文信任模型与文献[8]的信任模型中,良好节点对于恶意节点的信任值评估在下降到不可信的阈值(即小于0.5)之后,经过一段时间会重新回到阈值。而文献[9]和文献[10]的信任值曲线总体均处于下降趋势,并分别收敛到一个较低的值。这是由于在本文模型与文献[8]中,会将事务因子较低的事务分配给信任值在阈值以下的节点,给予他们一个信任值重新回到阈值以上的机会。在实际网络中节点的状态是动态的,即一个节点可能从良好节点变为恶意节点,也可能从恶意节点变为良好节点。因此,给予可能变为良好节点的恶意节点提升自己信任值的机会是很有必要的。同时,由于本文模型中综合了以前的总信任值,因此对于恶意节点的信任值评估波动相较于文献[8]更小。这不仅给予了恶意节点更多表现自己良好行为的机会,同时也避免了恶意节点过度提升自己的信任值评估导致其在重要事务中发起攻击的情况。

3 SIoT服务器级别信任模型

本文中采用了如图5所示的物联网架构。在此网络中有多个不同的社区,并且处于网络中的不同智能设备(例如智能手机、计算机等)根据其不同兴趣分别选择自己的兴趣社区。SIoT服务器负责管理新加入网络中的节点,即每个想要加入该社交物联网网络中的对象都必须进行身份验证并注册到SIoT服务器,且在该节点处于新加入状态时(在本文中设置交互次数10次为状态阈值,即交互10次以下的为新加入的陌生节点),网络中其他节点可向SIoT服务器请求其相关信息。同时,任何未经SIoT服务器同意即离开本网络的节点均被SIoT服务器加入其黑名单中。

图5 本文中采用的社交物联网架构

由于本文主要研究对于事务交互密集导致通信不畅的社交物联网网络中(以密集网络为例)交互经验相对匮乏的陌生节点的信任值预测,因此在执行信任值预测前,需要利用改进型的节点级信任模型在社区中先模拟若干次交互(由于本文设置节点数较多,故模拟20 000次随机交互作为训练集数据)。SIoT服务器对于成功交互次数达10次以上的节点对,收集节点对之间的社交关系、前若干次(在这里设置为10次)交互成功事务的事务权重之和与所有交互事务的事务权重之和之比、双方的节点属性(例如好友数量、所处地域、兴趣社区、所有者等)以及相应目标节点交互若干次之后所得到的最终信任值评估。SIoT服务器将收集到的若干组信息作为训练集输入到如图6所示的DNN深度学习模型中。

图6 本文所用深度学习模型

在图6所示的DNN深度学习模型中,左边输入层分别为合作性、社区利益、相对中心性、是否为同一所有者(是记为1,否记为0)、是否处于同一地域、所有者是否为朋友关系、前若干次交互成功事务的事务权重之和与所有交互事务的事务权重之和之比(若没有交互经验则记为0.5);中间的隐藏层设定为3层,第一层有64个神经元,第二层有128个神经元,第三层有32个神经元;最后的输出值即为目标节点的信任预测值。

其中,相对中心性Rij已经在公式(6)中给出了计算方法,合作性COij与社区利益CIij计算公式如下:

(8)

(9)

式中:函数community表示相应节点兴趣社区的集合。

本文训练深度学习模型时的各项参数见表2。

表2 本文训练深度学习模型的参数

在本文模型中,共收集了150组节点对的数据,其中120组作为训练集,30组作为测试集。

服务请求方通过向SIoT服务器提供深度学习模型所需的相应输入数据,可以得到对新加入节点的信任值预测,并将其保存在自己的日志中。这样使得相应服务请求方节点即使面对交互经验相对匮乏的陌生节点也可以有相应的信任值评估,从而按照信任模型中的规则决定是否将任务交付给对方。

4 信任预测模型的仿真分析

本节在第1节节点级别信任模型基础上仿真模拟密集网络。由于在密集网络中节点间交互密集,有时可能出现网络负载过大、交互不成功的情况。在此设置节点间交互成功率为80%,其余仿真初始设置沿用本文第2节的设定。

在此仿真中,以50%恶意节点比例为例(所有恶意节点属性在仿真初始即设置完成),初始化新加入社交物联网网络中的良好节点。其中,网络中所有节点均可向SIoT服务器请求新加入节点的社交属性及其历史交互信息等(若历史交互次数达到10次以上,则仅记录前10次的信息)。为了使仿真结果更加明晰,本次仿真中仅记录发生在节点1与新加入节点之间的交互,并同时统计向新加入节点所在兴趣社区发起服务请求的总交互中交互成功的次数和交互失败的次数,结果如图7和表3所示。

图7 50%恶意节点比例时节点1对新节点在是否使用深度学习模型下的信任值对比

表3 仿真中成功与失败交互次数对比

综合图7与表3可以看出,在使用深度学习模型预测后,良好节点间的信任值评估相比于不使用深度学习时更高,且整体交互过程中成功交互次数更多,失败次数较少。仿真结果显示,使用深度学习模型预测后的成功交互率提升约1.8%,系统性能明显提升。

5 结束语

本文提出了一种适用于社交物联网网络的信任预测模型,模型分为节点级别信任模型和SIoT服务器级别信任模型两部分。在节点级别信任模型的仿真实验中,本文引入了其他三个信任模型作为对照组,通过仿真证明本文模型具有更好的稳定性,可以更好地应对网络中的恶意攻击。在SIoT服务器级别信任模型的仿真实验中,本文模拟了“冷启动”环境,通过对比仿真证明使用深度学习预测后的模型可以获得更多的成功交互,并且在较高恶意节点比例下依然有效,成功交互率提升约1.8%。

目前,在本文的仿真实验中仅模拟了密集网络的状况,对于稀疏网络的仿真实验是未来进一步研究的内容。

猜你喜欢

事务信任联网
基于分布式事务的门架数据处理系统设计与实现
“身联网”等五则
《物联网技术》简介
河湖事务
抢占物联网
嘤嘤嘤,人与人的信任在哪里……
信任
得MCU者得物联网天下
SQLServer自治事务实现方案探析
移动实时环境下的数据一致性研究