(何滔)P2P网络安全模型的研究与设计(终稿)_第1页
(何滔)P2P网络安全模型的研究与设计(终稿)_第2页
(何滔)P2P网络安全模型的研究与设计(终稿)_第3页
(何滔)P2P网络安全模型的研究与设计(终稿)_第4页
(何滔)P2P网络安全模型的研究与设计(终稿)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南人文科技学院本科毕业设计湖南人文科技学院本科毕业论文PAGE60学科分类号:__ 湖南人文科技学院 本科生毕业论文论文题目:P2P网络安全模型的研究与设计(英文):TheResearchandDesignofSecurityModelofPeer-to-PeerNetwork学生姓名:何滔学号07408111系部:计算机科学技术系专业年级:计算机科学与技术2007级指导教师:刘浩职称:讲师湖南人文科技学院教务处制湖南人文科技学院本科毕业论文PAGEII本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本设计不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 作者签名:PAGEPAGEIV摘要P2P(PeerToPeer)即对等计算或对等网络,可以简单地定义成通过交换来共享计算机资源和服务。在文件共享、分布式计算、在线交流甚至是企业计算与电子商务等应用领域P2P都显露出很强的技术优势。因此P2P网络发展很快,并成为先下研究的热点。本文在对P2P网络中信任机制、信任模型以及构建信任模型的关键技术进行深入研究的基础上,针对现有信任模型在计算节点信誉值的过程中网络消息开销过大、不能很好的处理恶意节点提供虚假局部评价等的缺陷提出了一种多粒度分层的信任模型。研究过程中主要对信任模型中信任的计算,存储分布式处理进行分析。关键词:P2P网络;共享;信任模型;安全AbstractP2P(PeerToPeer)namelyequivalencecomputationorpeer-to-peer,canbesimplydefinedasthroughtheexchangetosharecomputerresourcesandservices.Infilesharing,distributedcomputing,onlineexchangesevenenterprisecomputingande-commerceapplicationsP2Pallshowstrongtechnologicaladvantages.ThereforeP2Pnetworks,andbecomethefirstdevelopingveryquicklyundertheresearchfocus.Inthispaper,P2Pnetworksamongtrustmechanism,trustmodelandtheconstructionofthekeytechnologyoftrustmodelbasedonathoroughinvestigation,existingtrustmodelintheprocessoftrustvaluecalculatenodalnetworkmessageoverheadtoomuch,can'tbeverygooddealwithmaliciousnodeprovidesfalselocalevaluationofdefectputforwardakindofmulti-granularitylayeredtrustmodel.Intheprocessofresearchmainlytothetrustmodelcalculation,thetrustofstoragedistributedprocessingforanalysis.Keywords:P2Pnetwork;Filesharing;Trustmodel;safe

目录摘要 IAbstract II第一章绪论 11.1P2P网络简介 11.1.1P2P网络与传统网络的对比 11.1.2P2P网络主要特点 21.1.3P2P网络的主要应用 31.2P2P研究的目的与意义 61.3P2P网络国内外研究现状 71.4论文的组织结构 8第二章P2P网络信任模型 92.1P2P网络安全分析 92.1.1P2P网络的安全缺陷 92.1.2P2P网络需求分析 92.3P2P环境下的信任模型 112.3.1信任的概念 112.3.2信任模型的分类 122.3.3信任数据的存储 132.5本章小结 15第三章典型的信任模型研究 163.1基于博弈论的P2P网络信任模型 163.1.1博弈信任模型 163.1.2信任进化机制 173.2基于推荐的P2P网络信任模型 183.2.1信任评价的主要参数 183.2.2信任值的计算 193.2.3信任值的存储 203.2.3基于推荐的综合信任模型的分布式求解协议 213.3效率分析 223.5本章小结 24第四章分层多粒度的P2P信任模型研究 254.1相关理论 254.1.1公钥密码学 254.1.2数字签名 254.1.3哈希算法 264.1.4信任与信誉 264.2信任值的计算 274.3信任的存储 294.3.1信任代理 294.3.2存储结构 304.4信任的分布式处理 314.5模型的性能分析 324.6本章小结 33总结与展望 34参考文献 35致谢 36PAGE40PAGE34第一章绪论1.1P2P网络简介P2P网络是一种资源(计算、存储、通信与信息等)分布利用与共享的网络体系架构,与网络中占据主导地位的客户机服务器(Client/Server,C/S)体系架构相对应。P2P的网络在进行通信时不存在中心节点,每个节点之间都是对等的,各节点同时服务器和客户端两个角色,既提供资源和服务,也可以享用其他节点提供的资源和服务。通常这些资源和服务包括:计算资源、存储资源、硬盘空间和信息的共享与交换等的共享运用。传统的C/S网络模式中,集中计算和存储的架构使得每个中央服务器成为一个个数字孤岛。客户端很容易从一个孤岛跳到另一个孤岛,却很难在客户端进行数据的整合。在这种网络架构下,中央服务器的计算能力和通信能力已不能满足日益增长的客户机的通信需求,它们成为网络开放和能力扩展的瓶颈。作为分布式计算技术的实现形式之一的P2P网络(Peer-to-PeerNetwork)并不是新技术,早在1969年ARPANET出现的时候,网络运用的模式就是P2P。如今,P2P又回到了人们的视线。1.1.1P2P网络与传统网络的对比 (a)传统网络C/S模式 (b)对等网络P2P模式图1-1传统网络和对等网络P2P技术与C/S模式互联网技术的根本区别在于两者的拓扑结构不同。在传统的C/S模式中,客户端之间要进行通信必须通过服务器对话,一旦服务器崩溃,整个网络也随之瘫痪。而在P2P网络中每个节点的地位对等,每个节点即可充当服务器为其他节点提供服务,也可作为客户端享受其他节点提供的服务。由于每个节点在工作时都在向网络贡献资源,所以,对等点越多,网络的性能就越好,这一点也是其与传统C/S模式的重要区别之一。在P2P网络中,没有单纯的服务器或客户端之说,任意两台PC互为服务器/客户机,即使只有一个对等点存在网络也是出于活动状态的,节点所有者可以随意地将自己的信息发布到网络上。P2P技术可以实现信息数据成本资源向所有用户计算机均匀分布,即“边缘化”趋势。P2P网络不是推翻现有的网络结构,而是在现有的网络上构建一个符合P2P特点的网络,但是又不限于现有的网络协议。表1-1P2P技术与传统网络技术性能比较性能P2PC/S模式易管理差好安全性差好容错性好差可扩展性动态静态中心依赖性无中心依赖性对服务器有很强的中心依赖性传输速度好差抗干扰性好差资源利用率高低1.1.2P2P网络主要特点对等互联网尚无统一的定义,比较认同的观点是:整个网络由许多权力平等、自治且相互协作的节点组成,网络资源分布于各个节点。所谓节点是指包括了所有具有一定运算功能的设备,如:PC机,PDA、甚至是手机等。从本质上说,对等网计算并不是一个全新的概念,它可以看成是分布式计算的一个分支。其技术特点具体体现在以下几个方面:非中心化:网络中的资源和服务分布在所有结点上,信息的传输和服务都直接在结点之间进行,无需中间环节和服务器的介入。可扩展性:在P2P网络中,随着用户的不断加入,不仅使服务的需求增加了,系统整体的资源和服务能力同步地扩充,始终能比较容易地满足用户的需要。对于纯P2P来说,整个体系是全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的。健壮性:P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。所以P2P网络能自动调整整体拓扑以保持当部分节点失效时的连通性。而且服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。高性价比:采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。隐私保护:在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。负载均衡:P2P网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。1.1.3P2P网络的主要应用对等网络技术以应用为第一推动力,它从应用中不断发展了各个不同层次上的关键技术。它的应用模式也是多种多样的,在军事、商业、通讯和个人应用领域,P2P模式都是大有可为的。目前,对等网络主要应用在以下一些领域:分布式数据存储P2P的分布式数据存储技术本身包含文件共享的功能,但其目的与文件共享不同,它不像文件共享系统那样将数据的传输率看成是最重要的属性,而是以数据的可用性、持久性、安全性为目标,并且通常致力于广阔的领域和海量的数据。鉴于不同的目标,分布式数据存储系统采用的数据存取方法也不同,通常每个数据对象都带有自己的认证和鉴别信息,大多数系统中用户的存取都遵循严格的规则和权限来进行。同时为确保数据的可用性和持久性,往往采用分片、复制、混存的方法。目前已出现很多基于P2P的分布式存储系统模型,典型的系统包括OceanStore、CFS和Granary等。这些项目的目标都是提供面向全球范围内的文件存储服务。多媒体和流媒体传输P2P技术极大的改善了多媒体、流媒体传输的性能。多媒体传输对带宽和稳定性要求很高。在传统的C/S模式下,当用户急剧增加时,服务器的性能以及网络带宽就成为限制数据传输的重要因素,所以只能限制用户或者给每个用户有限的流量,这都影响了传输的效果。P2P技术适应了多媒体传输对网络带宽的需求,用户之间相互提供数据流量并承担了传输所需要的大量带宽。基于P2P技术的流媒体分发(P2Pstreaming)具备CDN(ContentDistributionNetwork)技术的低延时以及IP组播的可扩展性特点,而且它的实施部署不需要改变Internet网络层协议,因而正在日益显示出其旺盛的生命力和巨大的市场前景。P2P多媒体传输的最突出表现就是网络电视的应用,如PPlive、TVants等。而且香港科技大学的Coolstream,华中科技大学的Anysee以及由企业开发的ppLive,ppstream等软件都有着巨大的用户群。文件共享这是P2P最初的应用和基本功能之一,可以说文件共享的需求直接引发了P2P技术热潮。在传统的Web方式中,要实现文件共享需要服务器的大力参与,通过将文件上传到某个特定的网站,用户再到某个网站搜索需要的文件,然后下载,这种方式的不便之处不言而喻。在这种情况下,Napster抓住人们希望通过互联网共享MP3音乐文件的需求,以P2P模式实现了自由的文件共享体系,从而引发了网络的P2P技术革命,文件共享的需求也很自然地延伸到了信息的交换。从技术上讲,目前的P2P文件共享系统有以下几种不同的形式。一种是“中心文件目录/分布式文件系统”,交换数据时是通过中央服务器来进行目录管理的。Napster就属于此类,由于采用集中式目录管理,所以不可避免地存在单点瓶颈的问题。另外一类属于完全的P2P,这类系统没有中间服务器。这类软件更接近于绝对的自由,因为没有中间服务器,这样形成的P2P网络很难进行诸如安全管理、身份认证、流量管理、计费等控制。Gnutella和Freenet是这方面两个典型的应用,它们都不可避免地存在着不足。Gnutella在进行搜索的过程中所采用的消息前向传递算法使得消息总数量按指数级增长,这就存在着信息洪泛的问题。Freenet的目标是使人们可以匿名地发布和索取信息,它在文件加密和通信加密方面做得较好,但是,它在文件的检索以及可扩展性方面还很不完善。第三类系统是上两类系统的折衷一一有中间服务器,但文件目录是分布的,如Workslink,这是国内具有代表性的P2P应用软件。分布式计算人们一直在尝试通过并行技术、分布式技术将多个网络节点联合起来,利用闲散计算资源来完成大规模的计算任务。现在,P2P的网络结构组织方式为这种计算技术提供了新的契机。P2P用于分布式计算的优势在于每个对等点不再只是单纯的接收计算任务,它还可以根据自己的情况(比如分到的任务太多)再搜索其它空闲节点把收到的任务分发下去。然后中间结果层层上传,最后到达任务分发节点。对等点之间还可以直接交换中间结果,协作计算。按照这种方式进行,可以合理整合闲散的计算能力和资源,使得总体计算能力得到大规模提升,获得非常可观的计算性价比。P2P分布式计算的成功典范是伯克利大学于1999年开发的SETI@HOME项目。在该项目中,利用分布于世界各地的参与者的个人电脑组成的计算机阵列来计算处理射电天文望远镜采集的信号,以搜索外星文明迹象。到目前该项目已经得到500万以上用户的支持。Intel也利用分布式计算技术来设计CPU,并为其节省极大的费用,同时由于分布式计算的发展是以PC机资源的有效利用为根本出发点的,它也受到Intel的极力推崇。就本质而言,分布式计算就是网络上CPU资源的共享。协同工作协同工作是指多个用户之间利用网络中的协同计算平台互相协同来共同完成计算任务,共享各种各样的信息资源等。协同工作使得在不同地点的参与者可以在一起工作在P2P出现之前,协同工作的任务通常由诸如LotusNotes、MsExchange等来实现,但是无论是采用哪种服务器软件,都会产生极大的计算负担,造成昂贵的成本支出,而且并不能很好地完成企业与合作伙伴、客户、供应商之间的交流。而P2P技术使得互联网上任意两台PC都可建立直接的通讯联系,不再需要中心服务器,降低了对服务器存储以及性能的要求,也降低了对网络吞吐量和快速反应的要求,从而大大节约了成本,使低成本的协同工作成为可能,最终帮助企业和关键客户,以及合作伙伴之间建立起一种安全的网上工作联系方式。因此基于P2P技术的协同工作目前受到了极大的重视。Lotous公司的创始人组织开发的Groove是目前最著名的P2P协同工作产品。Groove采用中间传递服务器(RelayServers)来实现P2P的多播,采用XML表示的路由协议,多个不同的Group之间不仅仅可以共享文件、聊天信息还可以共享各种应用程序。另外,Sun公司的JXTA规范和Microsoft的。NETMyService架构等都是协同工作的典型应用。实时通信所谓即时通讯,其实指的就是诸如腾讯QQ、ICQ等被称为在线聊天的软件。从某种意义上说,由于版权的限制,即时通讯应用将超过文件共享应用,成为P2P的第一大应用。与IRC、BBS、WEB聊天室比较,P2P的即时通讯软件不仅可以随时知晓对方在线与否,而且交流双方的通讯完全是点对点进行,不依赖服务器的性能和网络带宽。尽管目前的即时通讯技术一般都具有中心服务器,但中心服务器仅用来控制着用户的认证信息等基本信息,并且帮助完成节点之间的初始互连工作。SkyPe语音通信软件则完全采用的是P2P技术,当用户之间需要语音通信时,SkyPe在覆盖网中找出一条当前带宽最大的覆盖网通路,通过多跳转发的方式进行数据传送。由于SkyPe的出现和高速发展,越来越多的用户转向IP电话,已经对传统的电信业构成了一定的威胁。搜索引擎搜索引擎是目前人们在网络中搜索信息的主要工具,目前的搜索引擎如:Google、天网等都是集中式的搜索引擎。这种搜索模式往往由一个机群在互联网上盲目读取信息,然后按照某种算法根据关键字将信息保存在一个海量数据库内,当用户提交搜索请求的时候。实际上是在海量数据库内部进行搜索。这种机制虽然能尽快获得搜索结果,但不能保证搜索范围的深度和结果的时效性。即使是Google这个目前最出色的全中文搜索引擎只能搜索到20%-30%的网络资源。P2P网络模式中节点之间的动态而又对等的互连关系使得搜索可以在对等点之间直接地、实时地进行,既可以保证搜索的实时性,又可以达到传统目录式搜索引擎无可比拟的深度(理论上将包括网络上所有开放的信息资源)。以P2P技术发展的先锋Gnutella进行的搜索为例:一台PC上的Gnutella软件可将用户的搜索请求同时发给网络上另外10台PC,如果搜索请求未得到满足,这10台PC中的每一台都会把该搜索请求转发给另外10台PC,这样,搜索范围将在几秒钟内以几何级数增长,几分钟内就可搜遍几百万台PC上的信息资源。可以说,P2P为互联网的信息搜索提供了全新的解决之道。此外,P2P技术的应用还包括:电子商务平台中的在线金融服务和电子交易集市,基于P2P网络的游戏系统,分布式Web缓存,以及利用P2P技术的电子邮件系统等。1.2P2P研究的目的与意义随着互联网技术的发展,网络应用逐渐遍及日常生活的每一个角落,网络资源也越来越丰富,怎样才能共享网络资源,发挥互联网的作用P2P技术应运而生。P2P是由参与节点提供服务功能的分布式系统,并且网络中的参与节点既是资源的提供者也是资源的消费者。参与节点共享它们的部分本地资源(如硬盘空间、文件、CPU处理时间)形成公共资源,而参与节点之间可以直接联系而无需经过中间实体。当P2P技术应用发展到一个引人关注的程度,信任和安全问题就出现了。P2P网络是基于节点愿意共享资源这一基本假设的,但是节点的自私行为使得它们的能力表现出很大的异构性,节点总是希望能尽可能地利用网络中的资源,而对系统的贡献则很少,比如提供很少的存储资源、计算资源等,这样必然导致整个系统的可用资源存在很大的变数,研究表明,Gnutella网络中70%的节点是freerider节点,这些节点只消费其他节点贡献的资源,却不共享自己的资源。本文的目的就是在了解,研究现有的P2P安全模型的基础上,分析它们的利与弊,对现有的P2P模型进行改进,以解决现有P2P技术应用中大量节点信息拥塞,不可靠服务和欺诈行为等问题。1.3P2P网络国内外研究现状国外开展P2P技术研究的组织和机构主要包括大学、国际学术团体和IT公司。大学的研究工作侧重于P2P理论研究,高新技术公司侧重于P2P技术的应用开发和产品化,而国际学术团体则主要涉及P2P的标准化问题。财富杂志将P2P列为影响Internet未来的四项科技之一。工业上,Intel、HP、Sony等组织了对等网络工作组(Peer-to-Peerworkinggroup,P2PWG),从事P2P计算底层相应的标准化研究;SUN公司以Java技术为背景开展了JXTA项目来为大规模的分布式应用提供开发平台。此外,Microsoft公司成立了Pastry项目组,主要负责P2P计算技术的研究工作,目前开发了基于Pastry的多种应用,包括SCRIBE、PAST、SQUIRREL等。在新一代的WindowsVista操作系统中,也增加了最新的P2P研究成果来支持协同工作。在学术界,P2P技术同样受到科研工作者的高度重视。学术团体主要包括P2P工作组(P2PWG)、全球网格论坛(GlobalGridForum,GGF)。P2P工作组成立的主要目的是希望加速P2P计算基础设施的建立和相应的标准化工作。有许多关于P2P技术的知名在研项目如麻省理工学院的Chord、ICSI的CAN、伯克利的Tapestry以及麻省理工联合纽约大学、Rice大学等五所大学开展的IRIS(InfrastructureforResilientInternetSystem)项目等。而SIGCOMM、INFOCOM、SPAA、PODC、ICDCS、USENIX和HOTOS等网络通信、分布式系统领域的重要会议持续的关注P2P技术并增设了P2P专题讨论会。专门的P2P国际会议如InternationalWorkshoponPeer-to-PeerSystems和InternationalConferenceonPeer-to-PeerComputing等的规模和影响力也在不断扩大。国内的P2P研究相对较晚,Granary是清华大学自主开发的P2P存储服务系统。所谓P2P存储服务系统是指存储服务的提供者在Internet中部署一定数量的存储服务器,为用户提供数据存储服务,确保数据的可靠性、可用性、安全性和访问效率;存储服务的使用者按照所存储数据的容量和质量付费。它以“对象”格式存储数据并且支持属性级的数据查询。WonGoo是中科院计算所研制的一套P2P技术平台,该平台主要为信息安全、网格计算提供支撑技术和试验环境,同时WonGoo的基础部件将在开发完善之后以开放源代码的方式向社会公开。WonGoo主要包括两个方面的特色功能:具有强匿名性的P2P通讯(WonGoo-Link),基于内容查找的P2P资源共享(WonGoo-Search)。国内企业在P2P的应用领域研究一直与世界同步,开发了众多使用广泛的P2P产品。这些产品主要集中在文件共享与下载,网络流媒体电视等方面。如:一款用于互联网上大规模视频直播的共享软件—PPLive;中国最大的电影音乐动漫分享平台—POCO。1.4论文的组织结构论文各章节内容安排如下,第一章为绪论,简要介绍了P2P网络及其主要应用,本课题的研究目的与意义、国内外的研究现状。第二章,概括了当下P2P网络信任模型的的特性及其面临的安全问题。第三章,通过对典型P2P信任模型的介绍,信任值的计算等来对比信任模型的性能。第四章,给出了一种分层多粒度的P2P网络信任模型。最后是对研究工作进行的总结,并展望了下一步需要深入研究的工作。第二章P2P网络信任模型2.1P2P网络安全分析P2P作为一种分布式网络对等模型,以其卓越的性能崭露头角。P2P计算主要应用于对等协作、内容分布、知识管理、资源共享等领域,P2P网络是近年来兴起的技术,随着其规模的迅速增大,P2P网络提供服务的安全性和可靠性成为了重要的问题。在对等网络中,所有的实体是平等的、自主的,其环境有分布性、匿名性和动态性这三个特点,正是由于这些特点给P2P系统带来了许多安全问题。2.1.1P2P网络的安全缺陷P2P网络采用的分布式结构在提供扩展性和灵活性的同时,也使它面临着巨大的安全挑战。其安全缺陷将阻碍P2P网络的进一步发展。下面介绍P2P面临的一些主要安全缺陷:1.P2P网络中的节点既可以充当服务器又可以充当客户机,当一个局域网中有相当数量的节点在进行交互通信时,就会使带宽急速增加以致妨碍到正常的网络访问。2.P2P是分布式的动态网络,其中的节点可以频繁的加入和退出。而节点在加入退出时都会进行路由更新,造成超额的数据传输和信息流量,迅速消耗带宽,降低了系统的效率和性能,更有甚者导致相应网段因超载而阻断。3.在P2P环境下,方便的共享和快速的选路机制,为某些网络病毒提供了更好的入侵机会。4.P2P网络缺乏有较的信任管理机制,节点相互通信时不能保证所请求的资源就是所需的资源。例如,有的方案并不阻止一个节点共享一个其内容与其描述并不匹配的文件,用户必须自己解决因下载其他节点的文件带来的不安全因素。鉴于使用P2P模式带来的安全隐患,一个安全的P2P系统必须保证P2P用户自己的安全以及本地网络的安全。2.1.2P2P网络需求分析虽然不同的P2P应用的安全需求不尽相同,它们有各自的特殊需求或不同的侧重点,但是一些基本的安全需求是各应用所共同需要的,认为P2P应用的一般性的安全需求包括以下几个方面。1.信任关系在P2P网络中,节点之间不论是资源共享还是协同工作,都涉及到多个实体之间的交互,而在节点交互之前,需要考虑节点与节点之间的信任关系。信任关系对于选择要交互节点的选择尤为重要,选择信任度高的节点可以提高交互的安全性和提高交互的成功率。实体的信任关系有以下性质:(1)实体的相关性:信任关系总是存在于两个实体之间的。(2)主观性:不同的实体对同一个实体可能有不同的信任值。(3)非对称性:即A对B的信任值不一定等于B对A的信任值。(4)有条件的传递性:即传递性只是在一定条件下满足。例如(AliceTrustsBob)&(BobtrustsClaire)AlieetrustsClaire只有在Aliee信任Bob作为一个推荐者时成立。2.身份认证P2P作为一种重要的分布式技术已经在共享文件、对等计算,协同工作等多个领域得到了越来越多的应用。P2P网络越来越受到人们的重视,而安全问题是影响P2P网络发展方面。安全问题主要包括认证、访问控制、加密、安全通信和不可否认性。其中,身份认证授权是网络安全技术中最基本的一个方面,也是其他安全机制的基础。P2P网络离散、动态和自治的特点使得传统的认证方法不能很好的解决其认证问题。P2P网络极大地增加了身份验证和授权过程的复杂性,同时又具有网络所固有的弱点和问题。3.匿名性随着计算机网络的日益普及以及因特网的迅速发展,网络已经广泛应用到了个人,团体和政府部门之间的通信。网络安全和隐私通信日渐受到人们的关注和重视,许多因特网应用都需要匿名支持,匿名通信的研究成为当前的一个研究热点。P2P网络中主要采取重路由技术进行匿名通信,而采取重路由技术的匿名机制有Mix和洋葱路由。Mix机制为实现匿名通信技术提供了可行的解决方案,但攻击者仍可以在一定程度上通过流量分析来获取通信关系。为了进一步提高Mix机制对抗信息量分析攻击的能力,提出了分组填充的思想,并基于分组填充Mix策略给出了一种新型匿名通信机制。与传统Mix机制相比,新的基于分组填充的Mix机制,能在有效抵御信息量分析攻击的同时,进一步降低网络的额外带宽开销。4.多密钥加密在P2P网络中,需要通过公钥/多私钥、非对称加密机制来保护共享对象及其作者、发布节点和承载节点的匿名性。例如:拜占庭攻击就是一个典型恶意授权攻击问题。2.2P2P环境下的信任模型随着P2P在文件共享、分布式计算、电子商务等方面的广泛应用,其固有的管理困难,安全性差等问题也越来越突出,P2P网路中信任机制的研究随之而产生,出现了许多相关的信任模型。2.2.1信任的概念信任是人类社会的现象,在社会网络中,信任关系是人际关系的核心,这种互相依赖的信任关系组成了一个所谓的信任网络(weboftrust),而在计算机科学领域,信任需要用理性的形式去描述,在不同的领域,信任都有不同的概念和内涵。有关信任的概念不存在广义和统一定义。S.Marsh最早将信任形式化为计算的概念,并在其中借鉴了社会学等学科的知识。Kini和Choobineh从社会心理学、经济学的角度出发简单地将信任定义为:一个建立在对个体某个特别特征看法上的信仰(Belief)。这个定义强调了电子商务中人与人的信任,而不是交易中各个实体之间的信任。Trust-EC项目给出的定义则是:信任是业务关系的属性,如业务伙伴和所进行交易的可靠性。R.chen认为:信任是大多数人际关系的核心,信任的因素因人而异,每一个人都有它自己的意见,因此信任的本质是分布。D.Gambetta将信任定义为对实体未来行为的期望:信任是事先期望一个Agent执行特定动作的主观可能性程度。这个定义强调了信任是对一Agent之间之前多次交互的总结,从而产生对Agent未来行为的主观期望或主观可能性。这个定义隐含了实体可以有一定概率的错误,但其必须要维持在一个较低的水平,这样才能保证整个P2P网络安全信任模型研究系统在复杂的环境下可靠运行。ITU-T标准X.509中对信任定义为:如果一个实体假定另一个实体会准确地像它期望的那样表现,那么就说它信任那个实体。Marsh系统地阐述了信任的形式化得问题,最早将信任形式化为计算的概念,为信任模型在计算机领域的研究奠定了基石。Gambetta把信任定义为:主体对客体特定行为的可能性预期,取决于经验,并随着客体行为的不断变化而修正。由此可见:信任是主观的;信任是动态的,受一些不能监控的行为的影响;信任的级别依赖于行为,反之信任也影响行为。本文研究P2P网络环境下的信任问题,在P2P环境下,一般用信誉来表示节点的可信任程度,信誉值是通过某种特定的算法,根据节点的历史行为其评估的可信程度的数值量化表示,该信誉值可供其它节点查询以便了解该节点的可信程度。一个网络信任模型TM(TrustModel)可以形式化的定义如下:TM={Entry,Value,Function,Event,Protocol,Network}其中:Entry———实体集合,包括节点、用户、链路以及其他各种资源;Value———属性集合,即与信任计算相关的各个实体的属性集合,如公钥、信任度等属性;Function———映射或函数集合,即各实体-属性之间的映射关系;Event———事件集合,即网络中发生的各种事件,如节点下,上载资源、节点恶意行为等;Protocol———协议集合,即节点进行交互活动中为了维护信任管理体系所遵循的协议集合;Network———网络模型,即代表信任模型所依赖的网络模型。网络模型Network也可以简单的抽象为一个有向图G=〈U,L〉,其中U表示节点集合,L表示有向边的集合,不同的网络模型中节点之间的关系不同,因而有不同的边集合。2.2.2信任模型的分类网络模型Network又可以简单抽象为一个有向图G=〈V,E〉,其中V表示节点集合,E表示有向边的集合,不同的网络模型中节点之间的关系不同,因而有不同的边集合。P2P网络安全问题主要是缺乏可靠的信任机制对P2P网络中节点的行为进行约束和控制。因此,建立P2P网络的信任模型,使得对等节点能够在同等服务可选的条件下选择信任级别高的节点进行通讯,这样可在一定程度上有效解决P2P网络的安全问题。目前基于P2P环境的信任模型的研究可以归为以下几类:1)集中控制模型:在这类系统中,有少数通过CA颁发的证书加以保证的中心节点负责整个网络的监督,定期通告违规的节点。这类系统往往是中心依赖的,存在可扩展性、单点失效等问题。这类实际系统的实例有OnsaleExchange,eBay,eDonkey等。2)基于局部推荐:在这类系统中,节点通过询问有限的其他节点以获取某个节点的信任值,一般采取简单的局部广播的手段,其获取的节点信任值往往是局部的和片面的。如Cornelli对Gnutella的改进建议就是采用这种方法。3)数据签名:这种方法不追求节点的可信度,而是强调数据的可信度。以文件共享应用为例,在每次下载完成时,用户对数据的真实性进行判定,如果认可数据的真实性,则对该数据进行签名,获取签名越多的数据(文件),其真实性越高。然而,该方法仅针对数据共享应用(如文件共享),无法防止集体欺诈行为,即恶意的群体对某个不真实数据的集体签名。目前流行的文件共享应用Kazaa采用的就是该方法。4)全局可信度模型:为获取全局的节点信任值,该类模型通过相邻节点间相互满意度的迭代,从而获取节点全局的信任值。Stanford的eigenRep是目前已知的一种典型全局信任模型。eigenRep的核心思想是:当节点i需要了解任意节点k的全局信任值时,首先从k的交互节点(曾经与k发生过交互的节点j)获知节点k的信任值,然后根据这些交互节点自身的局部信任值(从i的角度来看)综合出k的全局信任值。2.2.3信任数据的存储信任数据反映了网络运行过程中各实体的历史信息,通过它可以预测实体,是信任模型中最基本的组成部分。在计算信任度的过程中,需要大量相关数据,但保存所有实体历史数据的方案显然是不可行的,将造成存储空间的不足。但如果数据量过少,也会影响实体信任度的评估准确性,特别是无法保证信任评估的动态性。数据的存储模式中的核心问题是数据存储的位置、数据的分布及相互关系。为了简化计算,目前常用系统都是把一个实体的信任数据集中在一点存放,而不是分散存放,因此,后两个问题可不考虑。数据存储的位置在不同的信任模型中不同,就节点与其档案节点的对应关系来看,可以分为多对一,一对一和多对多三种情形。多对一的模式即集中式信任数据存储模式,就是所有节点的信任数据都存储于单一节点。多对一模式的优点很明显,信任数据全部存放在同一个可信的中心信任服务器,存取方式较简单,更新也比较方便。但是它存在着所有集中式系统共有的缺陷,也就是负载不均衡,可伸缩性不强,另外由于所有节点都知道其档案节点的位置,因此容易遭受DoS攻击,还存在单点失效问题。因此采用集中式信任数据存储模式不是理想的方案,不能够体现P2P的优越性。一对一模型是指把指定节点的信任数据存放在另一个唯一对应的节点,该模式将信任数据分散在大量的其它节点中,使得单个节点用于维护信任数据的负载得以均衡,但其可靠性严重依赖于DHT等散列函数的可靠性,例如Chord和CAN一般是针对节点的IP地址进行Hash,这样IP地址固定的节点其对应的档案节点也就固定,因而难以防止协同作弊。由于P2P网络的动态特性,这样的信任数据模型维护开销也容忽视。多对多模式中每个节点的信任数据保存于多个节点,因而可以避免因节点失效造成信任数据丢失节点的信任数据就被冗余存储在多个档案节点中,从任意一个档案节点都可以取到相同的信任数据,不但可以保证信任系统的可靠性,同时也可以用来鉴别信任数据的真伪。但是这种方法存储和更新开销过大,保持多个备份的同步也比较困难,给系统带来不必要的负担。还有一种方案是预先路由表中存储各邻居节点的信任数据,在传递查询请求的过程中预先计算下一跳节点的信任度,选择可信的路由和目的节点,称为信任敏感的路由技术。这种方法的特点是在查询过程就可以进行信任数据的统计和计算,最终定位可信节点,而不需要获取全部信任数据后再一并计算,因而效率比较高,但节点的信任数据存储在邻居节点,同样存在安全性和同步困难问题,而在某些拓扑感知的P2P系统中,地理位置接近的节点往往ID也相近,因此无法防止协同作弊的出现。由于P2P网络中信任模型使用场合较多,在保证系统安全性、可靠性、公平性等特性的同时,用户更关心的是它的开销问题,需要将其自身维护开销降至最低。为了降低信任模型的开销,首先需要降低信任评估算法的复杂度,但信任算法过于简单,则会抵消信任机制的效果。另外由于信任计算是一种分布计算方式,信任数据的存储模式对计算信任度的开销也有重要影响,如果数据存储过于分散,数据量过大,在计算信任度时网络传输开销也较大。那么信任数据的存储模式应该具有哪些特征,才能保证信任模型的安全、高效、快捷呢?我们认为,理想的信任数据存储模式应当具有以下特性:(1)全局性。应当存储整个网络对实体的信任数据,而不应只考虑自身或者局部的信任数据,以防止片面地评价。这一点主要取决于信任模型采用的信任计算模型。(2)均衡性。即信任数据的存储不能过于集中,集中不符合P2P网络的设计初衷,而应当均匀地分布在P2P网络中,采取基于DHT算法的方式可以达到这种均衡性。(3)安全性。信任数据本身的安全性是保证信任机制安全性的关键因素,因而信任数据必须以安全的方式存放。这就要求任意节点不应知道本身的信任数据存放的确切位置,档案节点也不了解存放的数据的具体情况,以防作弊,恶意篡改其信任数据。这就需要强大的加密机制和DHT机制,最好是将逻辑地址和物理地址分离的方法。(4)可用性。P2P环境具有动态性,节点会动态地加入和退出,因而要保证信任数据的可用性,就要保证档案节点随时可用,要求对信任数据冗余存放,在部分档案节点失效后,信任机制仍然能够正常运行。(5)高效性。需要提高计算效率和传输效率,降低计算开销和传输开销。由于信任数据的分散存储,信任数据的读取和更新都需要借助网络传输,从而增加了带宽开销。因此要求存取信任数据所经过的网络跳数尽可能少,这样才能减少传送时间,降低传输开销。另外也可采取数据压缩方法进一步减少实际传递的数据量。其中,某些特征之间是相互制约的,比如可用性和高效性,如果单考虑可用性,片面地增加档案节点的数量,可能在获取信任数据时效率比较高,但在更新信任数据时则效率较低。因此,在设计信任模型时,需要全面考虑,根据实际系统的需求作好取舍。2.3本章小结通过对信任模型的阐述了解到在没有有效管理机制的P2P网络中,建立能够抑制所有攻击模式的信任模型是非常困难的,除了要能够抑制节点的攻击外,在建立信任模型的时候,要充分考虑信任模型是否具有规模可扩展性,在信任计算以及信任信息存储方面的可扩展性,以及信任信息传播过程中的带宽开销问题。此外,在节点动态进出网络频繁的情况下,信任模型的容错性或健壮性也是需要特别强调的。第三章典型的信任模型研究3.1基于博弈论的P2P网络信任模型信任,目前作为解决分布式网络安全性的重要手段,主要解决网络节点的可信性问题,也就是说一个节点对另一个节点所采取的策略是不是信任的问题。信任是社会生活的基本事实,是一种预期,是相信他人未来的可能行动的赌博。所谓赌博,也就是博弈。博弈论是20世纪80年代以来由一般的应用数学理论,一跃成为主流经济学的核心内容,成了几乎所有领域经济学家的基本分析工具和共同语言。经典博弈论是基于一种“完全理性”的假设,要求行为主体应具有完善的判断和预测能力,并且始终追求其自身利益的最大化。但完全理性的假设并不普遍,Alchian基于生物学进化论“自然选择”思想,允许人通过模仿、试错以适应不断变化的环境,提出了进化博弈理论。3.1.1博弈信任模型“博弈论”译自英文GameTheory,以前翻译为“对策论”。所谓博弈论,就是根据信息分析和能力判断,研究多决策主体之间的行为相互作用及其相互平衡,以使收益或效用最大化的一种理论。P2P网络在复杂多样、动态多变、层次交叠环境中,进行数据、信息、服务之间的相互交换、转移,形成网络系统的动态、连续、不确定的状态。然而由于长期的不同形式及过程的演化的发展,使整个系统趋向更高级的有序化发展,自组织形成一个动态、有机的整体,整个系统通过各节点的交互和协作解决问题。节点之间的交互与协作的基础就是信任。信任策略的选取也保证了网络节点之间的协作,从而也保证了网络的安全性与稳定性。节点信任策略的选取是通过与其他节点反复交互即博弈,不断地模仿与试错,动态调整自身策略,从而保证了信任策略的进化稳定,也保证了网络的安全性与稳定性。为清楚地讨论网络进化的可能趋向和稳定性,下面是理论模型,进一步深入讨论。节点1不信任信任不信任信任不信任信任表3-1显示了一次博弈中博弈双方的收益矩阵其中,为一次博弈中双方都选择信任策略时的收益;当一方策略为信任,而另一方的策略为不信任时,为信任方的收益,为不信任方的收益,为双方都选择不信任策略时的收益。博弈论的非零和博弈中具代表性的例子是囚徒困境,它反映个人最佳选择并非团体最佳选择。在经典的“囚徒困境”中,存在唯一的纳什均衡为博弈双方都选择不信任策略。但当博弈无限进行下去,博弈双方都会采用相互信任的策略进行博弈,信任策略成为了唯一的纳什均衡,这在经济学中的非合作重复博弈理论中被称为子博弈精练纳什均衡,是得到证明存在的。这样,将非合作博弈理论引入到P2P网络,分析解决节点间的信任进化机制,从理论上保证了策略均衡的存在性和网络进化的稳定性。现在考虑在网络全部节点参与的情况下,在节点间随机配对进行博弈。假设有比例为x的节点采取信任策略,而比例为1-x的节点采取不信任策略。因为网络带宽等资源的限制,博弈节点的学习速度比较慢,也就是说,当一节点改变策略时,其他节点模仿学习的速度是比较慢的。那么,如果采用信任策略博弈节点的期望收益为,采用不信任策略博弈节点的期望收益为,全部节点的平均期望收益为Q,那么有:(3-1)(3-2)(3-3)则采取信任策略的节点在t阶段策略的动态变化速度,可由下列动态微分方程表示:(3-4)将式(1)~(3)代入式(4)可得复制动态方程为:(3-5)在式(5)的基础上进一步讨论博弈的进化稳定策略。也就是说信任策略,如何才能成为网络进化的稳定策略。3.1.2信任进化机制因而,要使信任策略成为一个进化稳定的策略,就应该满足以下3个条件:1.2.3.根据上面的条件,下面对节点的策略选择,即信任策略的选择及其动力基础进行分析。信任策略的选择,动力学基础主要是由博弈收益矩阵的相应参数所决定,此,接下来对,,,四个参数的大小取值进行讨论,对信任计算进行详细的动力分析。为实现上述目的,可以采取以下措施:1)当增大,即建立相应的惩罚机制,加大惩罚力度,使选择不信任策略成为一种风险很大、收益很小的行为。2)当增大,即提高信任策略的收益,鼓励和促进博弈方选择信任策略,降低失信的机会收益,从而使信任成为一种自动约束机制。3)当远大于,这样趋向0,初始状态选择信任策略的概率远大于选择不信任策略的概率。虽说=0在最初状态也是一个稳定解,但随着博弈次数的增加,节点在博弈过程中会不断模仿、学习,博弈双方的比例因策略动态调整而不断发生变化,最终逐步退化为,此时,就成为唯一的一个进化稳定策略。3.2基于推荐的P2P网络信任模型信任是人们进行社会交往的基础,在日常生活中,人们总是选择那些他们认为值得信任的人作为合作伙伴,并且,在不断的深入交往中,人们之间的信任关系也在不断地更新和传递。信任的参数是因人而异的,因为每个人对信任的理解都不一样。这样就形成了一个社会信任网络。基于社会信任关系的分布式网络模型,在无法通过证书认证确定实体是否可信任的情况下,需要其他方式提供同样的功能。一种普遍被采用的方式是基于群体信息共享的反馈和评价推荐机制。这种机制引入社团的概念,在社团内为社团成员提供评价和信息反馈。实体的历史活动信息是建立信任的基础。只依靠直接交互信息是不够的,而且具有滞后性,因此引入社团的概念,在社团范围内进行信息共享和统计,可以大大增加评价推荐的准确性。3.2.1信任评价的主要参数(1)交易次数仅仅单纯依靠节点在所有交易中所获得的成功次数来计算信誉值,这样的系统是脆弱的。因为恶意节点可以通过增加自己的交易数,并且在大多数情况下表现良好,知识在某些可以获得巨大利润的时候才实施破坏行动,从而隐藏了自己的企图。这么做,对于这种系统来说是完全允许的,系统不可能察觉到它所表现的良好行为知识围了在某个时机实施自己的恶意目的。且这种系统由于只是从成功交易次数来评判节点信任度,从而打击了交易量很少的诚实节点的积极性。因此,总的交易次数是一个无法忽略的参数,它代表了信誉的时间跨度和空间跨度。(2)推荐反馈信息根据被信任客体的不同,存在为资源建立可信度和为交易节点建立可信度两大类。前者关注于P2P网络中可获取信息的可信度,与信息提供者的可信度并不建立直接联系。在这类信任模型中,节点对信息的可靠性进行判定,并给出正面或负面的反馈评价,并进一步计算其信任值。例如,在文件共享应用Kazaa中,只考虑正面的反馈,采取数据签名的方式来建立可信度,即如果用户认可信息的真实性,则进行签名,信息获得的签名越多,其真实性越高。这种为资源建立可信度的信任模型局限于信息共享的应用,不具有广泛的适用性。(3)节点的推荐可信度节点X发出查询请求,要求其他节点对某个节点给出他们的评价。X所受到的每个从其他节点发回的反馈值,仅仅是其他节点对某节点在某次交易中表现好坏的满意程度。这其中就会存在一些问题,一方面它存在着一个推荐节点可信度得问题。既查询节点可能嫉妒或者报复其他恶意目的而提出与真实情况相反的结论。于是,一个节点的推荐反馈的可信度就应该有个衡量标准,并且,他必须作为一个衡量尺度而加入到信誉值的计算公式当中去。可以让推荐反馈信誉度高的节点发出的反馈值比推荐信誉度低的节点的反馈值更加可信,相对拥有更大的计算权重。3.2.2信任值的计算该模型通过4个重要的因素的鉴定来评价节点的信任度的。在计算点的信任度时,信任度值是要结合这些信任参数的。计算节点x信任度的公式为:(3-6)参数代表的是交易的总的节点数;参数代表的是节点i对节点x交易的类型内容;参数代表的是节点i对节点x用户交易成功后对此次交易的满意评价值;参数代表的是过去的社团对x节点的评价的信任度。为了提高信任模型的准确度和灵活性,引入m,n修正因子,对模型参数进行修正。3.2.3信任值的存储查询节点从网络中收集信任数据来计算目标节点的信任度,并在交易后跟新信任数据:一面跟新自己的本地历史交易数据:一面向网络提交对交易对方的评价信任数据,兵将评价反馈信息存储到对方的档案中。由于反馈节点的推荐可信度是根据每个节点自己的评价与推荐节点的反馈的偏差的计算得到,因此,有可能节点X根据自己的评价标准和习惯认为节点Y的推荐是可信的,而节点M却认为节点Y的推荐不可信。每个节点有必要建立两个数据结构表。作为交易节点,有必要建立一个本地数据结构表,存储该接点与其他节点的交易数据。表3-2交易节点数据结构表ID(x)ID(x)PK(x)ID(s1)F(x-s2)G(x-s1)F(x-s1)K(x-s1)K(x-s2)Cr(s1)……………….G(x-s2)ID(s2)Cr(s2)……Cr(sn)……G(x-sn)F(x-sn)K(x-sn)ID(sn)如上表所示,ID(x)是节点x的标识:ID(s1)……ID(sn)是曾经与节点交易过的节点;G(sn)和F(x-sn)是节点X对曾经交易过的节点做出的成功与失败的次数的评价;K(x-sn)分别表示节点X与节点Sn的交易次数;Cr(sn)是节点X通过比较计算出节点Sn作为推荐节点的推荐可信度。PK(x)是节点X的公钥。作为档案节点,它必须还包含一个数据结构表,用来存储交易的评价反馈数据。表3-3档案节点的数据结构表ID(m)ID(m)ID(f1)ID(f2)……ID(fn)F(f1-m)G(f1-m)G(f2-m)……G(f3n-m)F(fn-m……F(f2-m)PK(m)节点X是网络中节点M的档案点,ID(m)是m的标识;ID(f1)…ID(fn)是节点M的推荐节点的标识;G(f1-m)…G(fn-m)和F(f1-m)…F(fn-m)表示发生过交易的节点所报告和M交易成功与失败的次数。PK(m)是档案点M的公钥。3.2.3基于推荐的综合信任模型的分布式求解协议首先给出协议的几个原语及其语义:Put(,,,f):节点i将对节点j的评价写入逻辑地址为Trust(HASH()MOD)的存储档案点,并触发该节点上的f过程,HASH为Hash函数,下同。Get(,):从逻辑地址为Trust(HASH()MOD)的存储档案点数据结构中读取j的全局可信度并写入本地变量中。用户通过该原语(获取)判断任意节点j当前的全局可信度。Eval_Trans():节点每次与其他节点进行交易,最终通过该原语评估交易结果,为交易对方,Eval_Trans()的值该次的交易评价值。如本文前面所述,任意节点i同时具有两个角色,即既是用户节点,同时也是某个用户的档案点。任意节点i作为一般用户节点的算法如下。ProcedureEval()//Eval()是每次用户节点i与节点j交易后必须执行的评估过程if(Ecal_Trans())then=+Ecal_Trans()Else=+Ecal_Trans()endifPut(,,,ReCalcTrust(,,));End任意节点u作为档案点的算法如下:ProcedureReCalcTrust(,,)将,存入存储档案点的数据结构中;for(any)Get();If(0且0)endifendforend从以上分布式求解协议可以看出,当节点进行完一次交易后,交易的交易评价值会直接影响彼此的全局信任度,从而间接影响作为推荐节点的可信度,最终影响其他节点的全局可信度(显然,对于单向交易,如文件共享应用,交易结果只影响服务提供者的可信度)。在EigenRep信任模型中,任意节点的任意一次交易都会引起迭代,迭代通过其交易伙伴在全网络范围扩散,直到所有节点的全局可信度在连续两次迭代的结果小于某个系统指定的极小常量,其消息时间复杂度为。消息开销造成该协议仅仅适用于小规模网络,在大型网络会节点数目大,使得迭代的速度很慢,严重影响信任结果的计算速度。与EigenRep信任模型不同的是,在该协议中,任意节点只需通过Get(,)即可获取节点的全局可信度,交易结束后,通过Put(,,,f)节点i将对节点j的新评价写入逻辑地址为Trust(HASH()MOD)的存储档案点,引发关于对j可信度的重新计算,在重新计算的过程中需要获取与j有过交易的其他节点的全局可信度(使用Get原语),因此,消息的时间复杂度为(实际上,节点j的交易伙伴往往远远小于网络的规模,甚至可以只把在最近一段时间t以内与j交易的节点作为j的交易伙伴,从而进一步减少消息开销)。可以看出,上述协议本质上是一种“交易驱动”的“部分迭代”,网络中发生的交易越多、越频繁,就迭代得越完全。事实上,在一个交易稀少的网络中,如EigenRep信任模型中协议的“全面迭代”并没有实际意义,因为节点间交易稀少意味着绝大多数节点的可信度变化不大。3.3效率分析在效率分析方面,主要考虑三个方面的因素:模型中信任度的精确衡量、时间开销和空间开销。模型中信任度的精确衡量信任是主体对客体特定行为的主观可能性预期。对这个期望可以用信任度来衡量,信任度取决于一个被信任实体完成任务的能力、诚实度、可靠性等。因为信任的本质使得信任很难用一个精确的值来表示,在以前的信任模型中,比如EigenRep信任模型中使用满意的或不满意的交易次数来计算信任值。但是实际情况是,仅仅使用“满意”和“不满意”来评价一次交易作者认为是不够精确的,该信任模型使用多种评价值以提高信任值的计算精度。在本文中是以评价值为例来说明问题的,在实际应用中,还可以根据具体的情况还可对评价值进一步的细化。当然,随着信任值的精确提高,信任模型的计算开销会随之增加,因此,应该在两者之间权衡好。空间开销近年来,随着P2P网络应用的发展,基于P2P网络的文件共享的系统很多,它们都有各自的存储策略。Gnutella采用基于广播式的存储策略,但是它不能保证文件的可靠质量;P-Grid采用一种d度树的存储方法,它易于实现但需要额外的存储空间;CAN,Chord和Pastry是另一类存储方法,其本质是一种发布式的哈希表,它的查找速度快,不要额外的存储空间。本文就是采用Chord原理来分散存放节点的全局可信度,这样不仅能满足快速查找、存储空间零开销的要求;同时,由于采用了单向HASH的方法,即任意节点的全局信任度存储档案点是随机,无法根据节点的某些特征预先决定,每个节点不可能知道自己的全局可信度存储档案点的逻辑地址。这为可信度的匿名放置的安全性带来一定的优势,而且能比较有效地防止了节点与其存储档案点协同作弊。时间开销在该信任模型中,任意两个节点(比如节点,假设节点是消费节点,节点是服务节点)发生交易后,节点只需通过Get(,)即可获取节点的全局可信度,交易结束后,通过Put(,,,f)节点i将对节点j的新评价写入逻辑地址为Trust(HASH()MOD)的存储档案点,引发关于对j可信度的重新计算,在重新计算的过程中需要获取与j有过交易的其他节点的全局可信度(使用Get原语),因此,消息的时间复杂度为(实际上,节点j的交易伙伴往往远远小于网络的规模,甚至可以只把在最近一段时间t以内与j交易的节点作为j的交易伙伴,从而进一步减少消息开销)。可以看出,上述协议本质上是一种“交易驱动”的“部分迭代”,网络中发生的交易越多、越频繁,就迭代得越完全。事实上,在一个交易稀少的网络中,如EigenRep信任模型中协议的“全面迭代”并没有实际意义,因为节点间交易稀少意味着绝大多数节点的可信度变化不大。在该模型中,采用的是Chord原理来分散存放节点的全局可信度,在这种存储策略中,经过相关的参考证明,查找算法的时间复杂度为。因此,模型的总时间开销是。3.4本章小结本章给出基于博弈论的信任模型和基于推荐信任模型机制,并对信任计算进行探讨,分析最近P2P网络信任模型设计的基本内容。而对于内容相关的文件资源等,则需要进一步研究节点间由于内容兴趣度不同而导致的收益函数的差异。并且现实的P2P网络环境中,节点的生命周期是多样化的,如何建立一套同时适应不同长短生命周期节点的统一激励机制,也将是进一步的研究重点。第四章分层多粒度的P2P信任模型研究4.1相关理论4.1.1公钥密码学自从1976年Differ和Hellman发表了著名的论文《密码学的新方向》,提出了公钥密码的以来,国际上已经提出了许多种公钥密码体制,但是比较流行的公钥密码体制主要有两类:基于大整数分解问题的公钥密码(如RSA)和基于离散对数问题的公钥密码(如DSA和ECC)。公钥体制是目前应用最广泛的一种加密体制。公开的加密密钥为公钥,任何人都可以用公钥加密消息:解密密钥需要保密,称之为私钥,只有拥有相应私钥的人才能解密消息。公钥密码体制使密钥管理问题变的相对简单。在这一体制中,加密密钥与解密密钥各不相同,其算法具有以下特点:(1)存在两个密钥,一个公钥,一个私钥,公钥对外开放,私钥安全保存;(2)要确定解密密钥,仅仅知道密钥算法和加密密钥这在算法上是不可行的;(3)两个相关的密钥任何一个加密,都可以用另一个解密。通过使用公钥加密算法,可以实现信息传输的机密性和不可否认性。目前,公钥体制广泛地用于CA认证、数字签名和密钥交换等领域。其中,最典型的两个基本应用就是数字签名与数字信封。4.1.2数字签名是防止网上交易时进行伪造和欺骗的一种有效手段,其本质就是利用签名者的私有信息产生签名。发送者在要公布或发送的电子文档上“签名”时,首先对文档进行哈希(Hash)运算得到文档的数据摘要,然后用自己的签名私钥对数据摘要进行加密形成签名,附在原文后;接收者收到签名文档验证签名时,首先使用发送者的公钥解密签名信息,得到解密后的数据摘要,然后,接收者只需要使用相同的Hash算法计算出该文档的数据摘要,并与解密得到的结果进行比较,即可确定该文档的真伪。利用数字签名能够解决数据文件的真实性和完整性。签名体现了以下5个方面的保证:1.签名是可信的。签名使文件的接收者相信签名者是慎重地在文件上签名的。2.签名是不可伪造的。签名证明是签字者而不是其他人在文件上签字。3.签名不可重用。签名是文件的一部分,不可能将签名移动到不通的文件上。4.签名后的文件时不可变的。在文件签名后,文件就不能改变。5.签名是不可抵赖的。签名和文件不可分离的,签名者事后不能声称他没有签过这个文件。4.1.3哈希哈希算法也叫信息标记法。可以提供数据完整性方面的判断依据。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的。哈希算法是用来产生一些数据片段的哈希值的算法。使用好的哈希算法,在输入数据中所做的更改就可以更改结果哈希值中的所有位;因此,哈希对检测数据对象中的修改很有用。此外,好的哈希值算法使得构造两个相互独立且具有相同哈希的输入不能通过计算方法实现。典型的哈希算法包括:MD2,MD4,MD5和SHA-1。哈希算法以一条信息为输入,输出一个固定长度的数字,成为“标记“。哈希算法具备三个特性:不可能以信息标记为依据推到出输入信息的内容。不可能人为控制某个消息与某个标记的对应关系(必须用HASH算法得到)要想找到具有同样的标记的信息在计算方面是行不通的。4.1.4信任与信誉信任是一个多学科的概念,描述了在特定的情境下,一个个体在可能带来不利后果的情况下,愿意相信另一个个体具有某种能力或能够完成某项任务的主观信念。与信任紧密联系的概念是信誉,信誉来自个体的社会网络中,是基于观察到的个体过去行为或过去行为的信息而对个体行为的期望。信誉和信任之间的差别可以用我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论