摘 要:结合客观的风险评估和主观的推荐信任共同计算用户可信度,并利用推荐可信度和域可信度来识别和惩罚提供虚假反馈的服务方,提出了基于风险和推荐的用户信任计算方法。仿真实验表明,该模型具有较好的动态适应性,能够准确反映用户行为,为信任决策提供安全、可靠的依据。
关键词:用户可信度;风险评估;推荐可信度;域可信度
随着网络传输速度的极大提高,人们已经不再满足于传统网络所带来的便利,而需要最大限度地共享资源并充分利用各类闲置资源。于是各种分布式系统应运而生,如云计算、可信计算、网格计算、对等计算等。但由于缺乏有效的信任机制来提高系统整体的可用性,分布式系统的应用受到了各种限制。因此,如何建立一种行之有效的信任机制,已成为当前信息安全领域研究的热点问题[1]。
信任是指在特定的情境下,对某一个体能够独立、安全且可靠地完成任务的坚定信念[2]。如何监控用户的行为,减少破坏系统安全行为的发生,是信任机制研究的一个方面。
在网格信任模型中,参考文献[3]提出的Grid环境下基于实体行为的信任评估模型,信任计算的过程过于简单,域信任值更新仅仅是域中个体信任值的简单叠加,惩罚机制与上下文的联系不大。参考文献[4]的综合信任计算综合硬件条件、服务能力、推荐可信度等因素采用MADM(Multiple Attribute Decision Making)方法计算权值,但该模型仅考虑直接信任和间接信任,造成信任计算的主观性和片面性。DyTrust模型[5]提出了累积滥用信任的概念,并通过对公共交互节点的评价差异来更新反馈可信度,可有效减少合伙欺骗节点提供的虚假反馈对信任计算的影响,再将反馈可信度与累积滥用信任相结合,可以对节点的摇摆行为进行惩罚。
针对以上问题,本文提出了一种基于风险和推荐的用户信任计算方法。该方法从主观和客观两方面着手,利用风险评估和推荐信任综合计算用户的信任值;同时使用时间帧和时间衰减来标示推荐的时间属性。上述方法引入了推荐可信度和域可信度衡量服务方推荐的可靠性,并对提供虚假推荐的服务方及其所在域进行相应的惩罚。
1 系统结构
本文的计算方法以网格为背景进行测试。网格环境分为两层结构:上层由域代理和服务器组成,域代理主要实现域间通信、与服务器通信、传递信任、更新数据、进行信任决策;服务器负责计算更新节点的风险评估值,同时存储部分数据。下层以域为单位,由域代理、用户和服务方构成,每个域可以采取适合本域的管理机制,充分体现域的高度自治性。系统的访问、计算、更新流程如图1所示。
2 基于风险和推荐的用户信任计算方法
用户信任计算主要包括用户行为风险评估、综合推荐计算、用户可信度计算和反馈更新几个部分。
2.1 用户行为风险评估
用户行为风险评估采用了参考文献[6]的方法,即将日志中记录的用户行为通过资产识别、脆弱性识别和威胁识别评估其潜在的安全风险,并量化为风险值。
2.2 综合推荐计算
综合推荐计算就是把服务方对用户的推荐值乘以相应的权值进行综合计算的过程,每个权值由其推荐可信度、所属域的域可信度以及时间衰减共同决定。
2.2.1 推荐可信度
推荐可信度反映了域代理对域中服务方所提供的推荐的信任程度。针对联合欺骗和诋毁的行为,利用推荐可信度影响推荐值在综合推荐计算中的比重。当服务方的推荐可信度较低时,即使它提供虚假推荐,对综合推荐值的影响也很小。服务方i的推荐可信度计算如下:
FTj∈[0,1],u为域中服务方提供真实推荐的总数,v为域中服务方提供推荐的总数。
2.2.3 时间衰减函数
推荐值在信任评估中的重要性随时间衰减,即推荐值产生的时间越久远,它对综合推荐的影响就越小。采用式(3)描述时间的衰减特性:
2.2.4 综合推荐
用户n的综合推荐是指将所有与用户n有过交互的服务方i对用户n的推荐值进行综合计算。每个服务方i提供推荐值所占的权重由其推荐可信度、域可信度和时间衰减函数共同决定。RTn为用户n的综合推荐:
2.3 用户可信度计算
用户可信度代表用户的可信程度,是进行信任决策的一个决定性的因素。用户可信度越高,用户越可靠安全。用户n的用户可信度Tn可表示为:
设服务方i对用户n可以容忍的最大推荐差异偏差为?着,利用推荐差异diffin和服务方i所属域的域可信度FTj构造一个映射函数fin:
Tθ是域可信度阈值,式(7)表明只有当推荐差异小于ε,并且服务方所属域的域可信度大于阈值Tθ时才认为服务方i的推荐是真实的,令fin=1;当服务方所属域的域可信度大于阈值Tθ时,尽管推荐差异小于ε,但是认为服务方i的推荐不确定是否真实,令fin=0;当推荐差异大于ε,认定服务方i的推荐不真实,则令fin=-1。
2.4.2 推荐可信度更新
在上述推荐差异的基础上,各域服务器都采用式(1)对该域中服务方的推荐可信度进行更新。当fin=-1时通过降低推荐可信度的方式惩罚提供虚假推荐的服务方;fin=0时由于不能确定服务方的推荐是否诚实,所以推荐可信度无法增加,保持原样。这样就要求域中的服务方都要进行诚实的推荐,使域可信度高于阈值,才能让域中提供诚实推荐的服务方的推荐可信度提高,从而在一定程度上遏制不诚实推荐的发生。
2.4.3 域可信度更新
域可信度的更新同样以推荐差异为基础,服务方所在域代理根据式(2)对其维护的域可信度表进行更新。fin=-1时,v加1;fin=1时,u加1,v也加1;fin=0时,因为推荐差异在可以容忍的范围内,在此认为服务方i提供的推荐可信,所以u加1,v也加1,域可信度就可以相应地提高。
3 仿真实验及结果分析
通过仿真实验考察本文的信任计算方法对交互成功的影响、对用户行为的动态适应能力和对服务方推荐的动态适应能力,分别使用成功交互率、用户可信度的变化情况,以及推荐可信度的变化情况来说明上述问题。本文采用omnet++4.0软件进行仿真,基于C++实现。仿真参数如表1所示。
3.1 成功交互率
成功交互率是信任模型性能的一个重要体现。实验从两个方面评价用户的行为:是否滥用资源;操作是否符合要求。
从图2中可以看出,成功交互率随着时间的发展能够稳定在一个较大的数值上。这说明了基于风险和推荐的用户信任计算方法实现了预期目的,为信任决策提供了准确的依据,能够保障系统安全。
3.2 对用户行为的动态适应能力
恶意用户的行为分为静态和动态,动态的恶意行为又可以分为以下两种:用户首先与服务方建立良好信任关系,然后突然实施破坏行为;开始就实施破坏行为,然后改变策略想通过好的行为提高信任值。本实验对比好用户与提供第一种动态恶意行为用户的综合信任值的变化情况。
图3中上升曲线代表好用户的用户可信度变化,先上升后下降的曲线代表恶意用户的用户可信度变化曲线。图中曲线的变化趋势与用户的行为表现一致。同时由图可知,信任下降的速度远大于上升的速度,符合信任快减慢增的规律。
3.3 对服务方推荐的动态适应能力
实验中服务方的不诚实推荐是动态变化的,即恶意服务方针对某些好用户给出较差的推荐值,对同伙用户则给出较好的推荐值,而对其他用户给出诚实的推荐值。
恶意服务方有时提供诚实推荐,有时提供不诚实推荐,故其推荐可信度上下波动,但由于推荐可信度的变化同样遵循慢增快减的原则,所以节点推荐可信度下降的速度明显快于上升的速度,经过多次恶意推荐后其推荐可信度降为0。
本文提出了一种基于风险和推荐的用户信任计算方法,采用风险评估、时间衰减函数、推荐可信度和域可信度等共同计算用户的信任值,并通过推荐可信度和域可信度惩罚恶意推荐的服务方。仿真实验证明此计算方法具有较好的动态适应性,能够有效识别节点的虚假反馈和抵抗恶意用户的攻击。在后续的工作中,还需从反馈机制和调度算法方面进一步完善信任计算方法。
参考文献
[1] 张骞,张霞,刘积任,等. Peer-to-Peer环境下多粒度Trust模型构造[J]. 软件学报,2006,17(1): 96-107.
[2] 田春岐. P2P网络信任模型的研究[D].北京:北京邮电大学,2007.
[3] 刘莉平,葛志辉. Grid环境下基于实体行为的信任评估模型[J]. 计算机应用研究, 2008, 25(7): 2020-2022.
[4] YU Yi Yu, TANG Jun Hua, HAO Li Ming, et al. A grid trust model based on MADM theory[J]. Journal of
Computer Applications.2008, 30(12):1-5.
[5] 常俊胜,王怀民,尹刚. DyTrust: 一种P2P系统中基于时间帧的动态信任模型[J].计算机学报, 2006, 29(8):
1302-1307.
[6] 张润莲,武小年,周胜源,等. 一种基于实体行为风险评估的信任模型[J]. 计算机学报, 2009, 32(4): 689-698.