论文摘要
在P2P(Peer-to-Peer)信誉系统中,每个节点具有两种不同的角色:作为评价者(Rater)来给其他节点提供评价值,或作为被评价者(Ratee)来接收别人对自己的评价。当前的信誉系统都假设每个节点拥有一个长期使用的假名(Pseudonym),节点通过与某一节点相绑定的评价值来判断该节点的可信程度。信誉系统中存在的一个主要安全问题是同一节点进行的所有活动可以被攻击者连接起来。因此,节点需要隐藏自己的假名或变换自己的假名来保护自身的身份隐私,匿名(Anonymity)可以实现这个要求。然而,在信誉系统中节点假名的隐藏或假名的改变使得与某些身份相绑定的信誉值失去意义,这便是信誉系统与匿名之间的矛盾。鉴于此,基于可信计算(Trusted Computing,TC)技术,主要是基于TC技术所支持的直接匿名验证(Direct Anonymous Attestation,DAA)协议,本文针对上述问题进行了深入的研究,并且提出了有效的解决方案,取得了一定的科研成果。本文的研究内容主要包括以下四个方面:首先,对TC技术进行了研究,重点研究了TC技术所支持的DAA协议。针对DAA协议中使用可变名字基(Basename)时检测克隆可信平台模块(Trusted Platform Mudule,TPM)存在的困难,在保持TPM高匿名度的前提下,提出了两种新的克隆TPM检测方案;针对验证DAA签名的时间开销过高的问题提出了一种多重签名方案。其次,提出了一种适用于社区网络(Social Network)P2P信誉系统的基于组的采用Chord覆盖层(Overlay)的匿名机制,实现了组间节点之间彼此的匿名。对该机制的匿名度与服务选择失败率之间的关系、时间消耗等性能进行了分析与仿真,结果表明,该机制在保证节点高匿名度的情况下具有抵抗恶意节点的鲁棒性。为了使得Chord中节点转发消息所引起的负载分布更为均匀,并提高Chord中消息路由的成功率,在不明显增加Chord中路由跳数的情况下提出了基于Chord的协议——DM-Chord协议。再次,使用不同的技术,分别提出了三种适用于P2P信誉系统中具有可信第三方(Trusted Third Parry,TTP)可依赖的匿名机制:自存储高效匿名机制、基于盲签名的匿名机制和基于请求者集合的匿名机制。其中,基于盲签名的匿名机制又包括机制I和机制II两个机制;基于请求者集合的匿名机制还包括两个机制:基于TTP服务器向导的匿名机制和基于Mix的匿名机制。通过相关仿真实验对其性能进行了评估,与相关已有机制进行了对比,表明这些机制在减小TTP服务器和/或节点的开销、提高节点匿名度、提高服务选择成功率等性能方面所具有的优越性。最后,提出了两种适用于完全分布式P2P信誉系统的匿名机制:DARep和EARep。并通过仿真实验对这两种机制进行了分析和对比,分析与仿真结果表明这两种机制具有高匿名度、高服务选择成功率等特性。本文创新性的工作描述如下。1.基于TC技术,提出了六种不同的匿名机制。根据不同机制所具有的不同特点,可以方便的部署到相应的具体P2P信誉系统应用环境中。基于组的匿名机制实现了组间节点之间的匿名,易于部署到社区网络P2P信誉系统中;自存储高效匿名机制、基于盲签名的匿名机制和基于请求者集合的匿名机制可以应用到TTP可依赖的P2P信誉系统中;最后两个机制DARep和EARep均可以部署到完全分布式的P2P信誉系统中。2.提出了两种在保持TPM高匿名度的前提下检测克隆TPM的方案:基于DAA证书颁发者的检测方案和基于Chord的检测方案。与已有方案相比,这两种方案具有高检测率、低漏警率等特性。其中基于DAA证书颁发者的检测方案需要在线TTP的支持,便于部署到TTP可依赖的系统中;基于Chord的检测方案可以在不增加额外开销的情况下部署到基于分布式哈希表(Distributed Hash Table,DHT)的完全分布式系统中。3.在对DAA协议进行扩展的基础上,提出一种新的基于可信计算的多重签名机制,主要目的在于减少验证DAA签名的时间开销。此外,该机制中签名者具有动态匿名性,因而很好地保护了签名者的隐私;验证签名的公钥与签名长度不随签名者数量的变化而变化;当有新的签名者加入时,无需修改验证签名的公钥,并且能有效地防止密钥转储或泄漏引起的攻击。4.提出了动态多路由协议——DM-Chord。挖掘出Chord路由协议中每一跳路由距离之间所具有的特性,在不改变节点指针表(Finger Table)的前提下,提出了一种基于Chord的路由改进算法DM-Chord。仿真结果表明,与Chord路由协议相比,DM-Chord能够保持与Chord接近的平均跳数,在路由源节点和路由目的节点确定且Chord处于稳定状态的情况下,该算法能够使节点转发消息所引起的负载分布更为均匀,并提高消息路由的成功率。