文章快速检索     高级检索
  重庆大学学报  2014, Vol. 37 Issue (6): 104-111  DOI: 10.11835/j.issn.1000-582X.2014.06.016 RIS(文献管理工具)
0

引用本文 

王华东, 廖利. 平衡理论的P2P网络分布式信任模型[J]. 重庆大学学报, 2014, 37(6): 104-111. DOI: 10.11835/j.issn.1000-582X.2014.06.016.
WANG Huadong, LIAO Li. Distribution of trust model in P2P network based on equilibrium theory[J]. Journal of Chongqing University, 2014, 37(6): 104-111. DOI: 10.11835/j.issn.1000-582X.2014.06.016. .

基金项目

国家自然科学基金青年基金(11301044)

作者简介

王华东(1977-), 男, 副教授, 主要从事计算机网络研究, (E-mail)guilinczc@163.com

文章历史

收稿日期: 2014-05-05
平衡理论的P2P网络分布式信任模型
王华东, 廖利     
周口师范学院 计算机科学与技术学院, 河南 周口 466001
摘要: 当前P2P网络中存在着大量的恶意节点攻击和共谋团体欺骗等问题,已存在的信任模型一定程度上完善了P2P网络环境,但模型的侧重点不同,无法全面解决大规模的恶意攻击和欺骗。为此,提出了基于平衡理论的P2P信任模型。该模型由信任结构的构建、恶意节点检测和信任推测等3部分完成。模型根据平衡理论构建信任网络;针对恶意节点的攻击,利用平衡理论定义节点的平衡因子,通过计算恶意行为对网络平衡性的影响来检测恶意节点;利用信任推测算法来推测信任节点,防止网络加入不信任的节点,降低网络的安全性。实验结果表明该模型可靠完善,算法有效和健壮。
关键词: P2P网络    信任模型    平衡理论    网络攻击    
Distribution of trust model in P2P network based on equilibrium theory
WANG Huadong , LIAO Li     
School of Computer Science and Technology, Zhoukou Normal University, Zhoukou, Henan 466001, China
Abstract: There are a large number of malicious attack nodes and collusion groups in P2P(peer to peer) network, and the existing trust models improve the P2P network environment to some extent, but the emphasis of the models are different, which are unable to fully solve large-scale malicious attacks and deception. Therefore, a P2P trust model based on equilibrium theory is presented. The model consists of the construction of the trust structure, the malicious node detection and trust speculation. It constructs trust network according to the equilibrium theory, uses the equilibrium theory to define nodes balance factor, detects balance malicious nodes by calculating the impact of malicious behavior on the network, and adopts trust inference algorithm to estimate trust nodes to prevent distrust network nodes being added. Experimental results show that the model is reliable, and the algorithm is efficient and robust.
Key Words: peer to peer network    trust model    equilibrium theory    network attacks    

随着互联网技术的不断发展,P2P技术在日常网络应用中不可或缺[1]。P2P网络与传统C/S模式网络相比具有对等性、开放性等特点[2],为各个领域的应用发展带来了极大的便利。但相对的开放和对等使得P2P网络面临着一些前所未有的安全问题,例如节点恶意攻击、共谋团体欺骗、恶意病毒的传播以及知识产权保护等问题[3]

近几年来,国内外许多学者对建模P2P网络环境中的信任模型展开了广泛的研究,并在一定程度上取得了显著的成果。目前,用于构建P2P网络的信任模型主要分为4类:基于局部历史信息的信任模型、基于全局历史信息的信任模型、基于信任证据链传递的信任模和基于历史信息相关性的信任模型。

基于局部历史信息的信任模型是通过网络中一个节点与另一个节点的历史通讯信息计算该节点对其他节点的信任。该模型依赖于其他节点的一些历史数据信息,无法避免恶意节点或恶意团体对信任值计算的影响,虽然模型中存在检测恶意团体的方法,但从整体看,这种方法存在着较大的局限性,很难避免一些恶意行为[4-5]

基于全局历史信息的信任模型使用全网络的通讯历史信息来计算节点的信任值。虽然信任值计算可靠但对全网的通信带宽有较高要求且算法的效率也较低[6]

基于信任证据链传递的信任模型[7-8],每个节点都维护着一个与自身有交互的其他节点的评价信息,算法在节点之间找到所有的路径,并添加权重来进行信任值计算。这种方法在直接信任和间接信任不明确时无法满足建模要求,并且方法在计算权重时通信开销和查询效率也存在一定的不足[9]

基于历史信息相关性的信任模型是利用节点之间的相关程度与全局模型进行结合,对节点团队恶意行为有一定的抵制能力,其相关性因子只考虑了通讯成功、失败参数,并没有其他优先级别、延时级别、可靠性级别、峰值吞吐量级别、平均吞吐量级别等参数[10]

针对上述模型中的不足,文中提出了基于平衡理论的P2P信任模型。模型由3部分构成:信任结构的构建、恶意节点检测和信任推测。此信任模型不仅使P2P网络抵御恶意节点和恶意团体的共谋等行为的攻击,而且可以在新节点加入网络时进行信任推测,已禁止不信任节点的加入,提高了信任网络的准确性和健壮性。

1 基于信任结构的P2P网络建模 1.1 信任结构的构建过程

在信任结构的构建过程中,需要根据平衡理论提取出网络中的节点,并根据节点之间原有的关系对它们进行组合,最终形成一个信任网络。根据海德平衡理论,将P2P网络中的节点作为构造三角形的顶点,每个节点与其他2个相邻节点之间有“信任”或“不信任”的关系,节点之间的“信任”关系用“+1”表示,而“不信任”关系使用“-1”表示,这样可以构成3个节点的三角形结构。

根据所构造的三角形是否处于平衡状态,来判断3个节点之间是否可信。由平衡关系的判断方法,可以得出T1T32种平衡状态的三角结构,如图 1所示。

图 1 处于平衡状态的三角形结构

提取图 1中16种情况的三角结构节点,将其组合进而形成信任网络。下面对基于T3平衡状态构建信任结构的过程进行说明,基于T1平衡状态构建信任结构的方法以此类推。

图 1(b)中的三角形结构进行进一步地整合,可以得到如图 2所示的分类结果。

图 2 T3三角形结构整合结果

网络中节点与节点之间的关系利用邻接矩阵E表示,E中记录了数据集中符号为“+”的链接集合。矩阵E中的元素用ex, y表示,其中xy表示元素所在的行和列。若2个节点xy之间存在符号为“+”的链接,则该ex, y的值为1,否则值为0。

为了在P2P网络中找到满足T3.aT3.b结构的节点,定义满足T3结构的三角形集合S3

1) 在邻接矩阵E中挑选2个位于同一行或列,且ex, y值为1的元素,进而得到2个节点分别记为(x, y1)、(x, y2)或(x1, y)、(x2, y)。

2) 在矩阵E中确认ey1, y2ey2, y1ex2, x1ex1, x2的值是否为1,若为1则将节点(x, y1)和(x, y2)或(x1, y)和(x2, y)以及它们之间的链接信息加入到S3中,S3的集合为

$ {S_3} = \left\{ \begin{array}{l} \;\;\;\left\{ {{\mathit{\boldsymbol{E}}_{{x_1}{y_1}}}, {\mathit{\boldsymbol{E}}_{{x_2}{y_2}}}, {\mathit{E}_{{x_3}{y_3}}}} \right\}\\ \;\;\;\;\;\;\;\;\;\;\;\; \vdots \\ \left\{ {{\mathit{\boldsymbol{E}}_{{x_{n - 1}}{y_{n - 1}}}}, {\mathit{\boldsymbol{E}}_{{x_n}{y_n}}}, {\mathit{\boldsymbol{E}}_{{x_{n + 1}}{y_{n + 1}}}}} \right\} \end{array} \right\}, $ (1)

重复上述2个步骤,使每一行或列中所有可能的取值一一验证,最终得到满足T3.aT3.b平衡结构的节点集合S3

而对于T3.c和T3.d 2种结构,从矩阵的第x行选取值为1的一个元素ex, y1,第x列选取值为1的一个元素ex1, x,其下标记为(x, y1)和(x1, x)。然后根据E中的数据检验元素ex1, y1ey1, x1的值是否为1,若为1则将节点x, x1, y1之间的链接信息加入到集合S3中。

重复上述步骤,直到每一行及每一列所对应的可取元素全被检验后,就得到了包含完整节点链接信息的集合S3

以此类推得到集合S1。最后将集合S1S3进行合并。将数据信息以网络的形式展现出来,即得到了一张信任网络。

1.2 基于信任结构的恶意节点检测 1.2.1 单个恶意节点检测

在P2P网络中,恶意节点最常见的攻击是针对目标节点发布伪造的评价信息,进而提高或降低目标节点的信任值。因此,如果仅使用节点的局部信任值来计算目标节点的信任值,就会使目标节点的信任值受到较大的影响[11]

针对恶意节点攻击的特点,文中提出了一种基于平衡理论的恶意节点检测方法,首先利用平衡理论定义节点的平衡因子,进而通过恶意行为对网络平衡性的影响来检测节点,具体的检测方法如下所述。

1) 获得待检测的目标网络T,针对网络中有直接链接的2节点ij,检测节点j对节点i的评价行为的异常情况。

2) 对于网络中的节点i,收集信任网络T中节点i所处的三角形结构的信息,根据式(2) 计算节点i的平衡因子βi,该平衡因子反映了该节点i在网络T中的全局性的平衡情况。

$ {\beta _i} = \left\{ \begin{array}{l} \frac{{\Delta {T_{i{\rm{balance}}}}}}{{\Delta {T_{i{\rm{total}}}}}}\;\;\;\Delta {T_{i{\rm{balance}}}} > 0, \\ \;\;\;\;\;0\;\;\;\;\;\;\;\;\Delta {T_{i{\rm{balance}}}} = 0, \end{array} \right. $ (2)

式中:ΔTitotal为包含节点i的三角形结构的总个数;ΔTibalance为三角形结构中处于平衡状态的三角形的个数。

3) 针对节点j到节点i的链接,收集该链接Eji所处的三角形结构,并利用式(3) 计算该链接Eji的平衡因子βjiβji反映了链接βji在整个信任网络T中的全局性平衡度。

$ {\beta _{ji}} = \left\{ \begin{array}{l} \frac{{\Delta {T_{ji{\rm{balance}}}}}}{{\Delta {T_{ji{\rm{total}}}}}}\;\;\;\Delta {T_{ji{\rm{balance}}}} > 0, \\ \;\;\;\;\;0\;\;\;\;\;\;\;\;\Delta {T_{ji{\rm{balance}}}} = 0, \end{array} \right. $ (3)

式中:ΔTjibalance表示三角形结构中处于平衡状态的三角形的个数;ΔTjitotal节点j到节点i的链接所处的三角形结构的总个数。

4) 利用节点i的平衡因子βi与链接Eji的平衡因子βji,节点j的评价行为为

$ \omega = \left| {\frac{{{\beta _{ji - {\beta _i}}}}}{{{\beta _i}}}} \right|。$ (4)

如果ω的值大于或等于选定的阈值,则认为节点j对节点i的评价属于恶意评价。因此,认为节点j属于恶意节点;否则属于正常的评价行为。

1.2.2 共谋团体检测

共谋团体被认为是一些具有相似恶意行为的恶意节点的组合,团体的恶意行为会对整个网络造成极大的危害,这不仅降低了网络的可信性,还对P2P网络的发展造成极大的阻碍[12]图 3为共谋团体的恶意行为的示意图。

图 3 共谋团体的恶意行为

当网络中存在恶意共谋团体时,单个恶意节点的检测方法不再实用。所以文中在单个恶意节点检测的基础上,进一步提出了检测恶意共谋团体的方法。

要检测与节点i相关的恶意团体,首先在网络中找到与节点i存在历史评价信息的节点集合Li,并定义集合Si为对节点i有恶意行为的节点集合。

1) 检测集合Li中与节点i有恶意行为的信息,若有这样的节点,将其加入到Si中。重复上面的过程,直到集合Li中的所有节点均检测完毕后,即可得到对节点i有恶意行为的节点集合Si

2) 在集合Si中任取2个节点xy,得到其共同历史通信节点集合Nxy,这2个节点间的相关性sim(x, y)

$ {\rm{sim(}}{x}{\rm{, }}{y}{\rm{) = }}\frac{{\sum\limits_{u \in {U_{xy}}} {({\beta _{xu}} - {{\bar \beta }_x})({\beta _{yu}} - {{\bar \beta }_y})} }}{{\sqrt {\sum\limits_{u \in {U_{xy}}} {{{({\beta _{xu}} - {{\bar \beta }_x})}^2}\sum\limits_{u \in {U_{xy}}} {{{({\beta _{yu}} - {{\bar \beta }_y})}^2}} } } }}, $ (5)

式中:βxβy分别表示节点xy的平衡因子均值;βxuβyu则表示节点xy与节点u之间链接的平衡因子值;集合Uxy表示节点xy共同具有历史通信的节点的集合。

3) 若sim(x, y)>0.8,则将2节点加入共谋团体集合Ci中。待集合Si中所有两两节点组合的相关性值经过计算后,得到了针对节点i的恶意共谋团体Ci

1.3 基于信任结构的信任推测算法

一个节点认为有价值的评论对另一个节点有一定有参考。例如所有与该节点有直接关系的节点都认为此节点信任可靠,那么此前与此节点毫无关系的新节点也有理由相信此节点信任可靠。

图 4(a)所示,与节点B有直接信任关系的节点均与节点A有信任关系,可以推测出节点B对节点A也具有信任关系。在这种情况下,通过一个全局的评价得出了信任推测的结果,从而一个新的节点就可以通过这种信任推测方式计算。

在实际的网络环境下,一个目标节点收到的评价既有“信任”也有“不信任”。如图 4(b)所示,与节点B具有直接信任关系的节点,对节点A既有信任关系也有不信任关系,那么在此情况下,一个新节点继续已经不能通过传统推测方式推测目标节点的可信性[13]

图 4 基于全局信息的信任推测

为了解决上述问题,文中在P2P信任网络的架构中利用一种基于平衡理论的信任推测算法来推测信任节点。该算法不再依赖用户的全局历史评价,同时对用户的历史通讯也没有了限制。算法的核心思想是对原有信任网络的平衡因子β值与加入新节点后所得到的新网络的β值进行比较,得出该新节点是否为可加入信任网络以及与其他节点之间关系。将原始信任网络中源节点的平衡因子记为β,加入新链接后的网络针对源节点的平衡因子记为β。根据式(2) 计算ββ的值,根据比较结果判断新节点是否满足信任推测条件。

使用基于平衡理论的信任推测算法对网络中节点x进行信任预测,首先需要进行一系列的初始化操作:初始化与源节点x有符号为“+”的链接集合Lpx,符号为“-”的链接的集合Lhx,以及与节点x没有直接链接的节点集合Sx,根据现有原始网络T的信息,按照公式(2) 计算出初始网络中源节点x的平衡因子,进而初始化β。选取集合Sx中选取节点y,将其加入到信任网络T中,得到新的信任网络T,根据T的信息通过公式(2) 计算出更新后的网络中源节点的平衡因子β。若ββ,说明加入节点y的链接后,网络T的平衡情况较原始网络好,因此认为较原始信任网络T相比,新的网络T也是可信的,节点y的链接满足平衡条件,可以加入;否则若β < β,则说明加入节点y的链接后,网络的平衡情况收到了影响,因此y节点的链接不可信不可加入。重复该过程,直到集合Sx中的所有节点的每种链接情况全部判断完毕。

2 实验结果与分析 2.1 恶意节点检测结果分析

研究采用Epinions数据集对算法的可靠性和健壮性进行验证。在数据集中含有130 000个节点,节点之间有840 000条链接,其中包含T3T12种平衡三角形结构的具体数量统计信息如表 1所示。

表 1 T3T1三角形结构数量统计表

为了直观地展示信任建模后信任网络的状况,实验随机抽取5 000多个节点组成信任网络。图 5是在信任建模结果中随机抽取的5 000多个节点所组成的信任网络。

图 5 5 000节点的信任网络图

实验从基于平衡理论建模算法所得到的信任网络中提取出链接数量最多的100个节点,并从该100个节点中随机取出一部分节点,将该部分节点作为目标节点,针对其他节点对这些目标节点的评价进行检测[14]

实验抽取不同的节点对目标节点行为进行恶意性检测,从而获得了去除恶意节点前后,目标节点在信任网络中平衡情况的均值。实验统计了22个节点在去除恶意节点前后所在网络平衡性的变化,网络中平衡因子的变化情况如图 6所示。

图 6 删除恶意节点前、后节点的平衡性对比

图中菱形间隔曲线代表 1~22个节点在原始网络中平衡因子值的变化,正方形间隔曲线为统计去除恶意节点后节点平衡因子值的均值。从图中可以看到,目标节点的原始平衡因子在0.49~0.96之间,删除恶意链接后对网络的平衡性有一定的影响,但删除恶意节点后节点平衡因子曲线与原始曲线相比有所提高[15]。这说明恶意节点的检测并删除一定程度上增加了网络的可信任性。

2.2 信任推测算法验证

为了验证信任模型中信任推测算法的有效性,在上述实验的基础上,从结果中取出与其他节点链接数最多的100个节点,并在该100个节点中选取23个节点,每一个节点要求与其余22个节点之间的链接数>5。在23个节点所组成的信任网络上进行信任推测实验。图 7为所选节点组成的信任网络。以图中节点20为例进行信任推测算法验证,首先初始化节点20的初始平衡因子值β20,经过计算得到节点20的初始平衡因子β20=0.876 8。

图 7 包含23个节点的信任网络图

图 7中可以看出与节点20没有直接链接的节点集合NS20={167, 321, 655, 2 292}。然后向信任网络中分别添加链接L20, 167={20, 167, 1/-1}、L20, 321={20, 321, 1/-1}、L20, 655={20, 655, 1/-1}和L20, 2292={20, 2 292, 1/-1},进而计算添加链接后新网络中节点20的平衡因子β20β20β20的对比信息如表 2所示。

表 2 节点20的信任推测结果

表 2数据比较可以看出:只有添加链接E20, 167E20, 321时,所得的节点20的新平衡因子值β20>β20,说明在添加新的符号为“+”的链接后,节点20在网络中的平衡性有所提高,从而推出该链接满足信任推测条件。实验结果表明信任模型中信任推测算法有效可行。

3 结论

文中提出了一种基于平衡理论的P2P信任模型。根据平衡理论构建信任网络模型,对所构建的信任网络进行恶意节点和共谋团体的检测,从而使信任模型能够抵御恶意节点与恶意团体的攻击,并利用信任推测算法来推测信任节点,以防止网络加入不信任的节点,进一步增强信任网络的安全性。文中创新性地将平衡理论应用到P2P信任网络的建模中,并利用Epinions数据集对模型的3部分进行数据测试。实验结果表明所提出的信任模型安全可靠。

参考文献
[1] Lua E K, Crowcroft J, Pias M. A survey and comparison of peer-to-peer overlay network schemes[J]. IEEE Communications Survey and Tutorials, 2005(2): 72–93.
[2] Jiang J Z, Fu L, Zhang X P, et al. Collaborative work model based on peer-to-peer network[J]. Journal of Chongging University:English Edition, 2007, 6(2): 130–131.
[3] 陈姝, 方滨兴, 周勇林. P2P技术的研究与应用[J]. 计算机工程与应用, 2002, 38(12): 20–23.
CHEN Shu, FANG Binxing, ZHOU Yonglin. The research and application of P2P technology[J]. Computer Engineering and Applications, 2002, 38(12): 20–23. (in Chinese)
[4] Audun J, Touhid B.Optimal trust network analysis with subjective logic[C]//Procceedings of the 2nd International Conference on Emerging Security Information, System and Technologies, August 25-31, 2008, Cap, Esterel.Piscataway:IEEE Press, 2008:179-184.
[5] 陈爱国, 徐国爱, 杨义先. 评价离散度敏感的P2P交易系统信任模型[J]. 电子科技大学学报, 2010, 39(3): 425–426.
CHEN Aiguo, XU Guoai, YANG Youxian. A rating dispersion sensitive trust model for P2P transactions[J]. Journal of University of Electronic Science and Technology of China, 2010, 39(3): 425–426. (in Chinese)
[6] 孙知信, 唐益慰. 基于全局信任度的多层分组P2P信任模型[J]. 通信学报, 2007, 28(9): 134–140.
SUN Zhixin, TANG Yiwei. Multilayer and grouping P2P trust model based on global reputation[J]. Journal on Communications, 2007, 28(9): 134–140. (in Chinese)
[7] 李静, 陈蜀宇, 文俊浩. 基于信任网络的网格资源发现机制[J]. 重庆大学学报:自然科学版, 2007, 30(1): 86–87.
LI Jing, CHEN Shuyu, WEN Junhao. Mechanism of resource discovery based on trust network[J]. Journal of Chongqing University:Natural Science Edition, 2007, 30(1): 86–87. (in Chinese)
[8] 彭淑芬, 何泾沙, 高枫. 可信的网络交互模式设计与实现[J]. 重庆大学学报, 2010, 33(10): 123–125.
PENG Shufen, HE Jingsha, GAO Feng. Design and implementation of trusted network interaction pattern[J]. Journal of Chongqing University, 2010, 33(10): 123–125. DOI:10.11835/j.issn.1000-582X.2010.10.021 (in Chinese)
[9] 秦志光, 杨毅, 杨磊, 等. P2P网络中利用推拉模式实现的信誉系统[J]. 计算机工程与应用, 2013, 49(5): 88–90.
QIN Zhiguang, YANG Yi, YANG Lei, et al. Using push-pull mode to achieve reputation system in P2P networks[J]. Computer Engineering and Applications, 2013, 49(5): 88–90. (in Chinese)
[10] 谭振华, 王兴伟, 程维, 等. 基于多维历史向量的P2P分布式信任评价模型[J]. 计算机学报, 2010, 33(9): 1726–1727.
TAN Zhenhua, WANG Xingwei, CHENG Wei, et al. A distributed trust model for Peer-to-Peer networks based on multi-dimension-history vector[J]. Chinese Journal of Computers, 2010, 33(9): 1726–1727. (in Chinese)
[11] 汪胡青, 孙知信. P2P网络中恶意节点控制算法的研究[J]. 计算机工程, 2012, 38(17): 142–143.
WANG Huqing, SUN Zhixin. Research on malicious nodes control algorithm in P2P Network[J]. Computer Engineering, 2012, 38(17): 142–143. (in Chinese)
[12] 苗光胜, 冯登国. P2P信任模型中基于行为相似度的共谋团体识别模型[J]. 通信学报, 2009, 30(8): 9–11.
MIAO Guangsheng, FENG Dengguo. Colluding clique detector based on activity similarity in P2P trust model[J]. Journal on Communications, 2009, 30(8): 9–11. (in Chinese)
[13] 胡建理, 周斌, 吴泉源. P2P网络中具有激励机制的信任管理研究[J]. 通信学报, 2011, 32(5): 24–26.
HU Jianli, ZHOU Bin, WU Quanyuan. Research on incentive mechanism integrated trust management for P2P networks[J]. Journal on Communications, 2011, 32(5): 24–26. (in Chinese)
[14] 谭振华, 王贺, 程维, 等. 基于通信历史相关性的P2P网络分布式信任模型[J]. 东北大学学报:自然科学版, 2009, 30(9): 1243–1248.
TANG Zhenhua, WANG He, Cheng Wei, et al. A distributed trust model for P2P overlay networks based on correlativity of communication history[J]. Journal of Northeastern University:Natural Science, 2009, 30(9): 1243–1248. (in Chinese)
[15] 姜守旭, 李建中. 一种P2P电子商务系统中基于声誉的信任机制[J]. 软件学报, 2007, 34(10): 56–57.
JIANG Shouxu, LI Jianzhong. A reputation-based trust mechanism for P2P e-Commerce systems[J]. Journal of Software, 2007, 34(10): 56–57. (in Chinese)