APP下载

志愿计算中基于贝叶斯定理的信任模型

2020-04-20乔建忠林树宽祁瑞华

计算机工程 2020年4期
关键词:分布式计算信誉贝叶斯

徐 玲,乔建忠,林树宽,祁瑞华

(1.东北大学 计算机科学与工程学院,沈阳 110169; 2.大连外国语大学 软件学院,辽宁 大连 116044)

0 概述

近年来,一些分布式计算模式如对等计算、志愿计算、云计算等被应用于文件共享、科学计算、企业IT建设等方面,给人们的生活方式带来了巨大的变革,但这些分布式计算模式的发展仍然面临很多问题和挑战,其中一个关键问题就是系统安全性问题[1]。本文针对志愿计算中节点的非预期退出计算或蓄意破坏计算等影响系统的安全性行为[2],设计相应的模型来解决这些不可靠的捐献资源的节点带来的系统安全性问题。

志愿计算主要是通过网络中节点捐献自己闲置资源来进行大规模科学计算的求解[3],从而实现资源的深度共享。志愿计算主要基于主从分布式计算模型[4-5],其中主节点是中心服务器,负责任务的分发和结果的回收,子节点是志愿计算机,可以自愿选择加入或随时退出计算而不受主节点控制。如何在这些子节点中选择可信节点从而提高系统的安全性,是亟需解决的问题。

传统解决分布式计算系统安全性的方法为采用身份认证、信息加密、访问控制等方法。这种安全机制被称为硬安全机制。对于由系统内部节点的行为动态变化带来的系统安全问题,硬安全机制的解决效果不佳,为此一些研究者[6-7]提出采用信任和信誉模型来提高分布式计算系统的安全性。然而在志愿计算中目前关于信任和信誉的研究工作较少。与本文工作较相关的研究为文献[8],其利用信誉模型提高志愿计算系统的安全性,该文提出节点历史表现中返回正确计算结果的概率值即为节点的信誉值,但是模型在计算信誉值时没有考虑信誉值随时间动态更新的情况。

针对文献[8]模型存在的不足,本文构建志愿计算中基于贝叶斯定理的信任模型。对节点的非预期退出计算或蓄意破坏计算行为,利用BTMS模型[9]的二值逻辑描述节点行为,通过添加不确定性来更全面地描述节点的行为。在此基础上,对节点的不确定行为采用贝叶斯定理预测节点返回正确计算结果的概率,并在计算节点信任值时加入处罚因子和调节函数,实现信任值慢增长快下降,从而有效防止节点通过连续几次返回正确计算结果行为刷取信任值。此外,本文模型还采用基于时间的滑动窗口对节点的信任值进行更新。

1 相关工作

自从计算领域中信任模型被提出后,越来越多的研究学者对其进行研究,提出了多种信任模型。已有的信任模型主要可以分为集中式和分布式两类。较典型的集中式信任模型主要应用于在线电子商务如e-bay[10]、阿里巴巴、京东,这类模型通过中心节点集中管理信任,虽然简单、高效,但是可扩展性差,不适合在大型的分布式计算环境下使用。目前,国内外许多研究者针对分布式网络环境如P2P网络、无线传感器网络提出了多种分布式信任模型。文献[11]提出的基于P2P网络的Eigen Trust信任模型通过多次迭代求得节点的全局信任值,缺点在于通信开销过大。文献[12]提出的PeerTrust信任模型利用反馈评价计算节点的信任值,在模型中加入了用户激励机制,缺点在于没有对节点恶意行为的惩罚。针对文献[11-12]全局信任模型存在计算复杂性较高、收敛速度较慢的问题,文献[13]提出了基于结构化P2P网络的GeTrust信任模型,该文受人类社会建立信任关系的启发,提出每个服务节点在向服务请求节点提供服务时,需要同时向服务请求节点提供服务信任值及其担保节点的信任值做抵押,服务请求节点对每个服务节点综合评价其信任值,选择信任值高的服务节点提供服务。该模型在提高任务交互成功率和抵御攻击方面具有一定的有效性,但是只适用于结构化的P2P网络。文献[14]提出的信任模型综合考虑时间衰减、交互重要性和交互次数等上下文属性计算P2P网络中节点信任值。文献[9,15-16]提出的基于无线传感器网络的信任模型,在信任评价时综合考虑节点的直接信任和推荐信任,其中在计算直接信任值时是在文献[17]基础上加入对恶意节点的惩罚机制。文献[18]提出的基于无线传感器网络的EDTM信任模型,其直接信任值的计算主要包括通信信任、能量信任和数据信任3个部分,EDTM信任模型可以更精确地评估传感器节点的可信度。虽然现有的针对于其他分布式计算环境的信任模型提高了系统安全性,但无法直接用于志愿计算,这主要是因为志愿计算在以下两点与其他分布式计算环境不一致:1)志愿计算存在中心服务器;2)节点可以不用负责随时退出计算。

目前在志愿计算中关于信任和信誉模型的研究工作较少。文献[8]提出利用信誉模型提高志愿计算系统的安全性,该文定义节点的信誉值为节点历史表现中节点返回正确计算结果的概率值,同时通过设计简单的调度算法来验证所构建模型的有效性。但是该模型计算节点信誉值时仅考虑节点返回正确计算结果和错误计算结果2种行为对信誉值的影响,没有考虑节点非预期退出计算行为对信誉值计算带来的影响,同时由于信誉值是随时间动态变化的,该模型也没有考虑信誉值的动态更新过程。文献[19]提出在任务调度时基于节点信誉提高系统可靠性,该文将节点信誉定义为节点能够提供稳定计算时间间隔的能力,若节点能持续提供的计算时间间隔长,则认为该节点更可靠,但该模型也没有考虑信誉随时间动态更新。考虑上述不足,本文构建考虑节点非预期退出计算或蓄意破坏计算等行为动态变化的信任模型。

2 节点信任模型

2.1 信任评估基本框架

针对志愿计算环境自身的特点,本文构建的信任模型不考虑节点间的推荐信任值,节点信任值的计算主要来自于节点的历史交互。模型中的信任机制框架如图1所示。

图1 信任机制框架Fig.1 Framework of trust mechanism

本文模型通过收集节点间的历史交互记录计算节点的信任值,通过计算节点信任值为选择下次的交互对象提供依据。对于系统中新加入的节点,采用分配固定值的方法初始化信任值。由于志愿计算自身的特性,本文中VC-trust模型采用集中式管理,但也可以将其扩展应用于分布式管理中。

下文从信任值计算涉及的相关定义、信任值计算和更新、仿真分析模型的有效性等方面对模型进行详细阐述。为描述方便,在表1中给出本文中所用符号的定义。

表1 符号定义Table 1 Definition of symbols

2.2 相关定义

定义1(信任) 信任是志愿网络中心服务器server在历史交互记录基础上对节点i针对计算任务t能提供满意服务的主观期望值。

定义2(信任值) 信任值表示志愿网络中节点的可信程度。本文将信任值规范化为[0,1]区间上的值,越接近1代表节点的可信度越高,越接近0代表节点越不可信,0代表节点完全不可信,1代表节点完全可信。

定义3(交互) 节点i完成志愿网络中心服务器server分发的一次计算任务称为一次交互。

2.3 信任值

节点i的信任值用Ti表示,根据定义1,有:

(1)

其中,m为节点i在Δt时间内完成的计算任务的数目,f为节点i在Δt时间内返回正确计算结果行为的数目,s为节点i在Δt时间内返回错误计算结果行为的数目,u为节点i在Δt时间内出现了不确定性行为的数目。当m=0时,节点为新加入的节点,其信任值初始化为0.5。

在式(1)中,当节点出现不确定性行为时,为使信任计算计算结果更精确,用贝叶斯定理预测节点返回正确计算结果的概率值来替换式(1)中的u值,下文将详细介绍这一过程。

2.4 贝叶斯定理预测

在VC-trust计算信任值时,当节点出现不确定性行为时,为消除不确定性使得信任值的计算更精确,本文使用贝叶斯定理计算节点出现不确定性行为时返回正确计算结果的概率:

(2)

(3)

其中,f′和s′分别代表节点在Δt时间内返回的正确计算结果数目和错误计算结果数目。

实际网络中节点的行为动态变化,当节点的历史交互记录中出现多个不确定性行为时,本文假设志愿计算系统的容错率为ε,则通过贝叶斯公式预测节点出现不确定性行为时返回正确计算结果的概率为p,如果p>1-ε,默认节点此次计算返回正确计算结果来进行下个不确定性行为的预测;反之,默认节点返回错误计算结果来进行下个不确定项的预测。通过贝叶斯定理消除节点不确定性行为后,式(1)中的u利用下式替换:

(4)

其中,pk为节点在第k次出现不确定性行为时返回正确计算结果的概率,可由式(3)计算得到。

例如:节点i在Δt时间内的历史交互记录集合ti={1,1,1,0,1,0},ε=0.01,根据式(1)计算得到节点i的信任值Ti=0.632。

2.5 信任值更新

由于信任是随时间动态变化的,越旧的交互记录对信任值的计算参考价值越小,越新的交互记录对信任值的计算参考价值越大,因此本文使用基于时间的滑动窗口存储最新的历史交互记录用于更新节点信任值。

假设每个时间滑动窗口大小为w,存储的是最新w个单位时间内的历史交互记录信息,每当窗口向前移动r个单位时间,根据时间窗口内存储的历史交互记录对每个节点i的信任值进行一次更新,则:

(5)

图2 基于时间的滑动窗口Fig.2 Sliding window based on time

3 实验与结果分析

本文通过仿真实验对VC-trust模型进行有效性验证。首先,在实验中验证信任值计算过程中调节函数和处罚因子对节点信任值变化的影响,判断模型是否能针对节点动态行为变化调整其信任值,从而识别善意节点和恶意节点,抵御内部攻击;然后,通过验证在任务分配时优先分配给信任值高的节点对系统交互成功率的影响,判断模型是否能提高系统安全性;最后,与BTMS模型进行对比分析,验证本文模型的有效性和合理性。为实现对模型上述性能的验证,本文仿真实验采用C语言编程模拟实现不同类节点出现的3种行为情况。假设网络中的节点分为以下2类:

1)善意节点。此类节点长期提供友好服务,且在历史交互过程中很少有恶意破坏计算行为及不确定行为出现,但在实际网络中服务良好的节点也无法100%提供真实可靠的服务。本文假设此类节点的历史交互记录中只有2%的不确性行为出现,95%返回正确的计算结果的行为。

2)恶意节点。此类节点长期提供较差服务,在历史交互过程中存在较多破坏计算行为和不确定行为。本文假设此类节点的历史交互记录中20%返回错误计算结果的行为,10%有不确定性行为出现。

本文在计算节点信任值时加入了处罚因子和调节函数,实现节点信任值累积慢而下降快的目标。实验验证VC-trust模型中处罚因子和调节函数对信任值的影响,并与BTMS模型进行比较分析。由于志愿计算环境的特点,本文不考虑推荐信任值的计算,因此在计算BTMS模型的信任值时只考虑节点的直接信任值计算。仿真实验默认参数设置如表2所示。

表2 实验默认参数Table 2 Default parameters of experiment

3.1 调节函数与处罚因子对信任值的影响

为分析调节函数和处罚因子对信任值的影响,本文提取节点i的一组特殊仿真数据进行说明。节点i在同一时间段内出现3种节点行为的信任值如表3所示。通过对比可知,随着节点返回正确计算结果行为次数的增加,由BTMS模型计算的信任值是逐渐增加的。本文模型综合考虑了节点行为对信任值变化的影响,当节点总的计算次数增加使得返回正确计算结果行为增多时,节点信任值没有增加反而下降,这是模型中处罚因子和调节函数共同作用的结果,因为调节函数使信任值增加的速度慢于处罚因子使信任值下降的速度,所以信任值没有增加反而下降。同时可以注意到节点i表现出的行为属于恶意节点,通过本文模型计算的恶意节点的信任值约为0.5,这样更有利于区分善意节点和恶意节点。

表3 调节函数与衰减因子对信任值的影响Table 3 Effects of regulatory function and attenuation factor on trust value

3.2 与其他模型性能的比较分析

由于节点的信任值越高,节点返回正确计算结果行为出现的概率也越高,因此为更全面地衡量模型的性能,本文以系统交互成功率作为指标设计仿真实验。

定义5(交互成功率) 每次仿真实验由若干个单位时间组成,在一个单位时间内节点返回正确计算结果行为的数目和总的计算任务数目的比率即为交互成功率。

在本文实验过程中,假设系统中活跃在线节点数目为100个,恶意节点比例为50%,服务器在选择节点分配任务时,假设选择信任值排名在前五十的节点分发计算任务。由于志愿计算环境的特点,本文不考虑推荐信任值的计算,因此利用BTMS模型计算交互成功率时只考虑节点直接信任值的计算。VC-trust模型和BTMS模型的系统交互成功率对比如图3所示。可以看出,在第9 h后,由于节点行为变化,本文模型的交互成功率下滑后恢复较快,而BTMS模型恢复较慢,且由于BTMS模型适应环境与本文不同,因此在系统交互成功率上,本文模型的交互成功率整体要高于BTMS模型。

图3 VC-trust模型与BTMS模型的交互成功率对比Fig.3 Comparison of interaction success ratio betweenVC-trust model and BTMS model

综上可知,本文VC-trust模型在系统交互成功率和对节点行为变化的灵敏度2个方面要优于BTMS模型,表明该模型具有一定的合理性和有效性。

4 结束语

本文构建志愿计算环境中一种基于贝叶斯定理的信任模型。考虑到节点行为的不确定性,在模型中对节点的不确定性行为采用贝叶斯定理进行预测。在计算信任值更新时,利用基于时间的滑动窗口更新节点信任值,体现其随时间的动态变化的特性。实验结果表明,该模型在系统交互成功率和适应节点行为变化灵敏度方面性能优于BTMS模型。后续将把本文模型扩展应用到其他分布式计算系统中,同时考虑更多的上下文因素以进一步提升交互准确率。

猜你喜欢

分布式计算信誉贝叶斯
以质量求发展 以信誉赢市场
基于单片机MCU的IPMI健康管理系统设计与实现
基于贝叶斯解释回应被告人讲述的故事
信誉如“金”
基于云计算的大数据处理与分析综述
基于云计算的移动学习平台设计与实现
云计算中MapReduce分布式并行处理框架的研究与搭建
基于贝叶斯估计的轨道占用识别方法
江苏德盛德旺食品:信誉为翅飞五洲
基于互信息的贝叶斯网络结构学习