原文:Peer-to-Peer Overlays for Real-Time Communication: Security Issues and Solutions
作者:Dhruv Chopra, Henning Schulzrinne, Enrico Marocco, and Emil Ivov
地址:http://dl.dbank.com/c00b7iz3jn
摘要
与传统的C/S模式相比,P2P网络有很强的健壮性,更容易配置,而且成本也较少。P2P的组网方式适用于资源定制和以往的集中应用VoIP,一般来说,实时通信也可以从P2P中获利。但在P2P网络中,数据的传递需要寻找目标主机的地址,这其中存在一些特定的安全问题。在本文中,我们会浏览一些比较普遍的安全问题,然后分析当P2P网络中运行实时通信程序时,所遇到的一些问题和他们的解决办法。
关键字:
点对点网络、安全性、实时通信、分布式哈希表、实时时钟、VoIP、会话初步协议
1引言
P2P网络在文件共享应用中已经变得非常流行,如著名的Napster、KaZaa、Bittorent。在P2P网络在文件共享和目录分布方面取得成功后,它也开始逐渐应用于VoIP和电视网络。然而大多数的P2P应用并不是纯P2P,它们都有一个集中式的组件,像Skype中的登录服务器或是Bittorent中的仲裁和寻路组件。增加纯P2P网络的安全性仍是当今一个热门的研究领域。P2P网络会因拓扑结构分为结构化和非结构化的。非结构化P2P网络构成简单,但寻路的效率不高。结构化的P2P网络采用分布式哈希表去实现寻址,分布式哈希表在查找资源方面是非常有效的。整篇论文我们讨论的焦点是基于分布式哈希表的结构化P2P网络。
当分析可能发生在P2P网络中的攻击行为时,首先了解攻击者的目的和他们可以利用的资源(如计算能力和不同IP子网的访问权)是非常重要的。
一旦确认攻击,访问控制就成为了保证系统安全的第一道防线。大多数解决安全问题的方法都会基于这样的假设:在网络中存在一定数量的恶意节点。因此严格控制恶意节点的数量显得非常重要。
在本文中讨论的一些其他的问题包括路由延迟、拒绝访问和数据完整性的攻击。本文中,在讨论了一些P2P主要面对的安全问题和所推荐的解决方法后,我们把焦点集中到一种特殊的应用---实时通信。P2P网络中的实时通信使用文件共享软件中的分布式哈希表,这样有利于各种服务的实现,如系统登录、用户资源定位、铺助内部地址转换和防火墙过滤。甚至,从技术的角度讲,P2P通信服务有些类似于文件共享。表1体现了二者的异同,相比之下,实时通信更加关注隐私、可用性、有更多的安全需求。我们讨论如何提高系统的安全性和相适应的解决方法。
论文的如下部分是这样组织的:我们在第二部分讨论P2P当今的发展状况。在第三部分,我们讨论了P2P网络所面对的主要攻击,我们试图详尽阐述攻击者的动机和他们所利用的资源,他们的危害和攻击的时机。在第四部分,我们讨论了访问控制问题。第五部分,我们讨论一个节点加入网络的位置问题。第六部分,我们描述了恶意节点的确定问题。第七部分,我们描述了P2P网络中的路由和数据完整性问题。第八部分,我们讨论了之前应用于P2P实时通信系统中的问题和方法。第九部分,我们总结了这篇论文并几个未来的研究方向。
2背景
当前流行在文件共享和实时通信中P2P网络的概念非常简单:对等点间通过合作共同维护一个用于定位用户和索引文件的分布式数据库,用索引数据来建立与目标主机的连接来传递文件或交换多媒体资料。这个分布式的索引一般是通过分布式哈希表(DHT)来实现的。这个哈希表由所有节点维护或是一个特定标准的子网。
DHT是一个分布式系统,它拥有哈希表的典型功能,例如有效地存储(key,value),系统通过哈希函数为系统中的文件生成一个key,图1反映了这些键是如何分布在环状和超立方体的分布式哈希表中的。
文件共享 | 实时通信 | |
分布式数据库 | 由一个分布式的表格来存储文件的位置,这个表格由成千个节点共同维护 | 用户的位置信息可以通过一个分布式的表格存储 |
可用性 | 同一个文件可以存储在多个节点上,若一个节点的数据文件损坏并不影响整个系统的性能;攻击者要破坏一个文件需要搜索网络 | 用户是唯一的,攻击者对单个用户的攻击更加容易 |
完整性 | 攻击者有时会发布一些不完整的文件,例如,为了阻止侵犯版权的行为保证出版商的利益,会发布一些损坏文件 | 为了实现不同的目的,攻击者会冒充不同的身份,如果攻击成功的话,攻击者将完全控制用户的通信 |
保密性 | 根据定义,所有文件对所有的用户都是可用的,加密的只是对于那些安全性的信息 | 通信意味着是私有的,对内容需要进行加密 |
表1 文件共享和实时通信的区别
图1 (a)表示基于环的P2P网络,(b)表示基于超立方体的P2P网络
DHT是被设计成能工作在高流失率的环境中的数据结构,它有天生的容错能力,相比集中式的程序它更不容易受服务拒绝的影响。但是无论在集中式网络或是在P2P网络中,一些最常见的安全性问题,主要包括数据的完整和保密性都会出现,而且解决这些问题的方法也是相类似的。最终,因为用户成为了服务的提供者,系统失去了控制,P2P网络经常会受到一些网络内部恶意结点的攻击,而这些情况在传统的网络中的是看不到的。在文章的剩余部分我们描述了影响P2P网络效率的一些最主要的方面,并讨论相关解决方法。
3常见攻击
3.1攻击者的动机
网络上发生的攻击会有很多种原因,例如利益取得、私人恩怨或是黑客组织的名气。在传统的C/S结构的网络中,这些攻击都有一些典型的拒绝访问的案例。P2P网络的显著特点之一就是他提供的服务对于错误具有很强的健壮性。但是如果攻击者能掌握足够的资源,攻击P2P网络内的主机仍是可能的。例如,一个包含蠕虫影响恶意节点的网络,在Internet中被一个攻击者所控制,攻击者可以就分布式哈希表中的同一个键值同时发出大量的请求。接收到请求的主机都会做出响应,产生大量的装载操作,从而产生冲突碰撞。在键值对多次的响应过程中,这种威胁会得到一定地缓解。
攻击者也有除了金钱以外的攻击动机。随着违反版权法的共享文件市场的增长,音乐公司被迫修改文件名来降低服务,并且试图在P2P网络的节点中抛放了很多受污染的数据,只是希望用户能感到失望并停止使用这些服务。同时,一些初学者为了好玩或是在团体中的名气发出一些攻击行为。因为他们的资源有限,所以他们的攻击不太可能获得成功。
3.2攻击者可利用的资源
资源约束在判断攻击类型中起着重要的作用。攻击者可以通过自己控制的僵尸网络,利用转播信道对其他节点分布地发送拒绝服务的攻击。在一些攻击中,一个节点扮演着多个不同的身份,在文章第五部分所描述的女巫攻击中,IP地址也是一个对于攻击者非常重要的资源。在基于Chord的网络中,节点的定位是通过哈希函数实现的,如安全哈希算法(SHA1)。由于增强了加入网络的限制,使用密文有时会被人们当作一种对抗女巫攻击的方法,可这种方法对于控制僵尸网络和无限计算能力的攻击者是无效的。Doucer证明了一个攻击者要攻击一个纯P2P网络所需要的最小资源。
3.3攻击的危害
攻击的受害者可以是一个单独的节点,一个特定的内容或整个的网络服务。如果一个恶意节点在P2P网络中,他可以阻止其他节点来访问它,也可以对某项内容或是整个网络发动攻击。例如,一个恶意节点在网络中随机分布,它可以丢弃有用数据或是上传垃圾文件,这样整个系统的质量就会恶化。
3.4攻击的时机
一个恶意节点可以在它刚进入网络时就发动攻击,也可以在守了一段规矩之后发动攻击。如果这个P2P系统被设计成根据节点的稳定时间来累积可信度的网络,那么恶意节点越迟发动攻击,它所造成的危害就越大。例如,Kademila协议中,路由表会优先选取在一定时间内表现良好的节点。针对那些一进入网络就发动攻击的恶意节点,这个协议是非常健壮的,同时它也会适应那些进入网络后表现良好的点(当它们被记录在路由表之后)。这一点类似于名誉管理系统,适应节点的正确行为显得非常重要。
4访问控制
访问控制取决于谁决定是否访问这个节点和访问许可是怎样被同意的。Kim讨论这个问题在不依赖于特定的环境或应用下。在一个对等点组中,他为访问定义了两个基本的元素:组许可和组内的权威节点,组许可是一个电子文档,它详细描述了进入一个网络的步骤,权威节点是网络中一个实体,体可以验证一个许可是否被允许。一个想加入网络的节点首先会获得一个组许可的副本,如果这个节点满足相应的要求则会向权威节点发送请求。权威节点接到请求,对申请节点进行认证,若通过则允许该节点加入网络,发放一个组内执照。
组许可和权威认证可以被一个集中式的服务器来提供,也可以被一个可信的第三方或是网络内部的节点所提供。前者更加实际,它可以使认证过程变得更加简单,但这种方法与纯P2P的思想相违背,并且使集中式的服务器成为了攻击的重点(如拒绝访问攻击重点为集中式的权威认证服务节点)。后者,认证节点可以是网络中固定数目的节点,也可是一些动态的节点,这些节点的数目根据网络中节点总数而确定。作者认为认可需求可以通过网络中的节点推举投票产生,组认证许可被一个特征明显的节点发出。这样做的原因是因为一个节点可以完成根据一定的认证规则完成推举。签名模式可以被用在这个模式当中,如数据签名。Saxena对不同的签名做了实验,结果显示对于规模适中带宽充足的情况下,使用朴素签名较好。对于大型的网络,带宽容易受到限制,建议使用阈值签名和多重签名模式。
另一种控制访问的方式是基于信任和推荐的,一个节点进入网络要由至少N个已经存在的节点推荐并保证。这些模式存在共同的难点,就是身份的识别和防止僵尸网络的攻击。一个已经被验证通过并且加入网络的节点,它有可能是脆弱的,而这种脆弱性又是很难被检测出来的。通过一些人工的方法可以检测出来,如发送图表或逻辑迷惑,但这些方法用计算机处理就显得非常困难了,如CAPTCHA。
5 网络中的定位
对于一些基于环状的网络,如Chord、Kedimila和Pastry,当一个节点可入网络时会得到一个数值形式的ID,这个ID可以标识出这个节点在这个网络中的位置。节点的定位可以确定这个存储了哪些数据,还有它可以为哪些节点服务。从健壮性的角度考虑,节点上的共享数据和内容应该在网络中被多次复制,以保留多个备份。但对于一个有足够资源的反对者,侵蚀多重身份的网络是一件有可能的事情。例如一种被称为女巫攻击的攻击方式。它使ID的分配变得非常重要。一种解决ID映射攻击的方法是采用一种临时机制,上一些过一段时间重新加入网络一次。这种方法也有自身的缺点,它加重了网络通信的负担,也在一定程度上降低了缓存的处理结果。Danezis提出了这样一种机制,通过减少从恶意节点接收数据的方法来降低女巫攻击的影响。他们的想法是随时间变化的路由,从而避免使用信任节点的瓶颈的。其他解决方案由Rowaipy提出的建议引入加密谜语以使节点加入的过程更难。如果攻击者控制了一个僵尸网络,那么攻击者的计算资源是有限的这样的假设是不能成立的。这种方法的另一个缺点是,非恶意节点也会执行的额外计算才能加入网络。
另一个可能的阻碍Sybil攻击的方法是节点采用截然相反的标识(在DHT的ID空间中),而不是像在Chord中采用连续的ID。节点选择截然相反的ID这个想法是基于这样的事实,恶意节点能够给予其他恶意节点一个合法的身份作为其继任者,这些继任者不必通过IP地址的请求,这些恶意节点一起可以控制网络环中的一部分。但如果认证决策和因为健壮性而存在的多余内容也加入指定位置的节点中(截然相反的ID),那么攻击就需要双倍的资源才能展开攻击。这是因为攻击者将需要在环状网络中两个独立的位置进行攻击。
Yu等人提出另一种办法限制女巫攻击,这种方法基于用户之间的社会关系。作者引用了这样的事实,网络中存在的大量的恶意节点是通过少数边与其他节点相联的。在SybilGuard协议定义一种方法,使发现的这种不连续性拓扑中使用了一种特殊的可核查的随机走路,因此没有一个节点有一个全球性的需要愿景图。
还值得一提的是,DHT网络使用不同的几何概念,(例如超立方体,而不是环),同一个节点位置常与标识符不相关。例如在内容寻址网络(CAN)中,一个内部节点的位置可以由它自身来选择,或经过少许修改原来的算法,被已经存在网络中的节点所分配。然而,即使在恶意节点加入网络之前不知道网络的位置,这个网络仍是容易受到女巫攻击的。
6对恶意节点的适应力
在有一些恶意节点的网络中保证健壮性是困难的。因此,重要的是确定这些节点的位置和跟踪他们的ID。这个问题有两个方面。一个是识别自身和第二个是在对等方之间传播这些信息。对于前者我们要根据对等定义不同的指标,对于后者我们需要一个名誉管理系统。
6.1恶意节点的确定
为了一个节点是否是恶意的,首先要观察恶意的行为。这可以通过积极的方法实现也可以通过一个被动的方式实现。
(1)积极验证
在采用积极验证方式时,为检察出恶意攻击行为,网络会对节点进行周期性的观察。恶意节点可以阻止用户去访问网络中的内容(例如,声称所访问的内容不存在),或是他返回的内容与我们所要查找的内容不匹配。通过这种方法,内容的出版商可以以后定期查找它并验证返回内容的完整性。出现任何的内容不一致现象都可以认为网络受到了攻击。与主动识别的相伴随的问题是开销的管理。如果检查是太多了,他们可能实际上阻碍网络的可扩展性,同时,如果他们检查得很少,这种检查很可能是无用的。
(2)被动验证
在被动策略中,对等点在网络中进行正常操作,如果他们碰巧发现了一些恶意的活动,那么他们可以将这些节点标记为恶意节点。例如在一个文件共享应用中,用户发现从一个节点下载内容与原始查询的内容不匹配,它可以识别相应节点为恶意节点。Poon等人提出了一种以转发查询为基础的策略。如果路由一个迭代的方式进行,如果发生了数据包的丢失,或转发到不正确的节点和转发延迟,则相应的对等点被确定为恶意节点。
6.2名誉管理系统
声誉管理系统是允许对待点对自己的经验分享其他节点的信息,从而有助于更好地判断网络中节点的情况。文献中提到声誉管理系统大多数都用于文件共享系统。在信誉管理系统中,一个低声誉的恶意节点不能简单地重新以不同的ID加入网络。为了解决这个问题,网络中不仅存储了节点的声誉,而且存储了基于信誉的文件的名称和内容,以避免这些不良文件传播。这是另一种保证节点信誉的方法。Kamver等人定义了关于信誉系统的五个指标:
a.自我维持性
b.匿名性
c.对新节点无利
d.最小开销
e.对恶意节点的健壮性
(1)无结构化的信誉管理
无结构化的信誉管理系统由Aydin等人提出。这些基本思想是,每个对等点维护根据自己的经验形成的其他节点的信息,并把这些信息与其它节点分享。在由艾登等建议的制度,在节点互动的过程中,每个节点维护的所有其他节点信任和不信任向量。当声誉信息系统要求一个对等点的信誉时,节点首先检查其本地数据库,如果没有充分的信息存在,它发送一个查询到他的邻居,一直查找到有该信息为止。但是,这种方法需要得到尽可能多的声誉的信息需要尽可能多的资源,否则恶意节点可以返回false值对网络造成危害。
(2)结构化的名誉系统
结构化的信誉管理系统中一个很重要的问题是他们只能从网络中其中的个别节点中获得信息,要想从所有的节点中获得信息,系统必然会产生大量的开销。有一些方法在试图解决这些结构化所产生的问题。例如有一些系统采用了信誉传递的算法思想。如果一个对等点信任对待点X,则它会把这种信任传递给与它相联的其他节点。这样就会建立一个迭代的信息传递过程。这种算法具有快速的收敛性。为了保证这种结构化的信息传播方式,网络采用了基于内容寻址的方式。这些信息存储和复制在每个对等点中,这样可以提高防止恶意节点攻击的健壮性。他们还建议偏袒那些高信任度的对等点,允许新的对等点慢慢发展声誉使其成为高信任度的对等点。最终,他们还建议采用一种激励机制,提高高信任度节点的个数。
7路由和数据完整性
维护路由和数据的完整性,换句话说,防止对通过恶意的查询或路由无响应,这是P2P网络中一个重要的安全问题。存储在节点上的数据取决使用他的应用程序。对于文件共享程序,这些数据将是文件本身,他们的位置,所有者信息。对于实时通信应用程序,这将包括用户的位置约束和他的路由信息。
7.1数据的完整性
对于文件共享应用程序,错误的内容的插入(例如,文件不匹配自己的文件名或描述)或引进对损坏的数据块(通常称为中毒和污染)是一个重大的问题。BitTorrent使用自动调节方式,利用SHA-1算法来确定每一块哈希文件并验证其完整性。如果对等检测到损坏的数据块,它可以另一个对等点下载相应的文件。使用这样的方法,即使数据的初始节点从网络中消失,其他节点依然可以下载初始节点留在网络中的数据文件。但是,如果恶意节点修改些只可在它与初始节点上才有的信息,当初始节点消失时,该对象分配将会失败。在分析BitTorrent的性能和完整性方面,Pouwelse等人做了很多工作。
7.2路由的完整性
为了提高路由的完整性,重要的是要减少对恶意节点转发查询数量。马蒂等人开发了一种系统,它使用的社会网络通过信任节点路由进行查询。他们的算法使用信任节点转发查询(如果有的话,它与ID空间身份认证密切相关)。否则,他们使用常规的Chord路由表转发查询。然而,结果却表现平平,它不能限制logN级的跳跃。Danezis等人建议一种新的路由方法,这种方法适用于存在大量女巫攻击节点。他们的方法允许一个节点查询一个节点集,不会太过于信任其中的一些节点。文章已经描述过Chord结构。然而不同于Chord,其他的DHT结构的网络协议在选择节点上要灵活的多。在给定的路由表中,一个节点有许多潜在的共同的编号和特定的候选节点。要利用社会网络信息来确保logN跳内即可找到目标节点,对等点应该使用其相邻节点的路由查寻,而不仅只在他们出现在DHT的算法选择选择的相应行时这样做。
8 P2P网络在实时通信中的应用
实时通信中使用的P2P思想是把传统的集中实体分布在整个网络,从而减少了部署的成本和提高不同服务的可靠性。互联网工作任务组(IETF)中的P2PSIT工作组为完成这项任务所做的工作是使用一个分布式哈希表来完成用户的注册,资源定位和内部地址的转换,而这些通常是由专门的服务器完成的。目前,为了完成这个目标工作组内部提出了三种不同的解决方案:P2PP和XPP-PCAN使用网络仅用于存储和检索用户的位置(或作为他们的代理来检索相关节点),重新装载和HIPHOP通过对等点之间的连接路由信令协议,而这时在ASP 节点隧道上,信令和媒体数据在端点之间传递,这些数据传递可能会直接到达,也可能通过其他节点作为中断点进行传递。即使以相同的技术为基础,用于实时通信的P2P网络不同也至少在两方面不同于文件共享中的P2P网络。
a资源定制
与文件共享系统不同,文件共享系统中的DHT储存大量的数据(即使分布式数据库只用于储存文件位置,每个用户通常索引成千上万的文件),实时通信网络只需要的在任何时候使用一个资源的可用子集(这个子集成员的个数很少超过1)。
b保密性
在文件共享应用程序,其中共享文件应该是向公众提供,窃听和盗用身份并不构成真正的交流的威胁,在实时通信,数据通常意味着发生私下,有必要有身份的机制断言和保证保密性。
在本部分中,我们浏览了前面几个部分讨论的访问控制问题,以及安全性问题,并讨论适用于实时的点对点实时通信的解决方案。
(1)进入许可
为了保持与现有网络系统的兼容性,点对点通信中的节点要以一个对等点或客户端的形式加入代理架构。如果一个节点作为客户参与通信,那么它会通过简单的网络连接到对等点或代理,而不是在服务器上的注册。在大多数情况下,用户将能够只作为客户端代理从网络中获利。但是,为了保持该解决方案可扩展性,在某些时候客户端需要成为一个对等点(加入DHT的)。
这需要解决以下问题:
a积极或消极的提升
大多数现有的P2P网络,一般会根据节点的表现确定该节点是否和何时他们可以成为网络中的对等点。一位知名的例外情况是Skype网络,可以说它是目前实时通讯中最流行的网络构架。在Skype应用实例中,直接完成了分布式规定服务的超级节点或只需使用这项服务的普通节点都应该可以运作。对于客户来说,积极的授权要求加入网络和消极等待的邀请没有太大的差别,其中后一种方法有一些优势,他适用于只有一个节点请求服务时(如实时通信):
b何时或是否有攻击者被邀请成为一个网络中的对等点是不可预知的
要让对等点在候选节点集中做执行长期的测量,来确保准确地选择最适当的提升,这样做是为了让他们做好加入的准备。相反的做法,即当客户端启动即加入网络,增加了额外的约束,因为它不知道是否以及何时节点会试图再加入。
防止恶意节点发动女巫攻击或是更加暴力的攻击,因为只有一小部分节点会通过安全测试加入网络。
(2)何时提升节点
为了回答这个问题,人们必须定义一些标准,从而允许确定对等点的负荷及合理的阈值。当负载超过这一限额,一个客户端应邀成为对等点,共享负载。负载确定的标准可以是:
a连接客户的数量
b分布式哈希表所维护的带宽,这些带宽用来发送来自对等点或是客户的请求或是响应的。
c分布式哈希表的路由数据和邻居数据,应用程序所使用的信息和客户信息所占用的节点的内存
(3)哪些节点会被提升
选择怎样的客户升级需要确定和维持新的标准。确切的指标设置,以及它们如何影响决策应该是认真的分析和试验的对象。
这些可能是基于以下几点:
a运行时间
对等可以很容易地记录它与客户持续连接的时间,并考虑和确定它是否升级。
b活跃等级
可以合理地产生这样的假设,客户端使用的服务(如打电话)越多,他们更愿意提升他们的地位。
c记录历史信息
对等点可以记录他们邀请的客户的历史信息以及他们为网络做出的贡献。
一些其他的指标也应该重视,如公共IP还是私有IP,计算能力,功率和带宽,尽管他们并不一定有直接影响系统的安全性。
(4)客户的动机
客户需要有接受升级的动机,以防止现有对等点的过度负担。一种处理这个问题的方法是通过他们累积的信用度来维持不同的激励管理。另一个选择是将奖励制度插入到协议中:
对等点与客户分享的只有他们的一小部分带宽(包括上行和下行)。当以客户接受服务时,他可能会有很大的网络延时,但对等点之间会获得更好的服务。
对等点可能限制他们允许客户端进行通话的数量或类型。
但有时引进激励措施可能会变成有点冒险。质量差异很可能会被最终用户所感知,他们不能明白两者之间的角色差异和他们在网络中所起到的作用。因此,这种行为可能会得到任意的解释,使服务看起来不可靠。
8.2安全性
(1)针对拒绝服务
除了像文章的第三部分所描述的请求轰炸的攻击方式外,如果一个节点的周围节点都被攻破,那么在分布式哈希表对任意节点的攻击就可以实现了。这些作为代理服务器的节点受害了,可以通过发送虚假的错误信息返回给对等点来尝试建立会话。达纳齐等人提供针对这种攻击的解决办法,这种方法是在查询过程序中使用不同的节点。
图2 新节点的加入
(2)中间人攻击
中间攻击人已经被西多夫在具体的P2PSIP案件中的作了很好的描述,这种攻击方式主要利用缺乏组成路由信息完整性来发动攻击。恶意节点可以返回其他恶意节点的IP地址,当质疑一个特定的ID。提出请求的节点然后与第二个恶意节点发生一次对话,再次等到一个“中毒”的答复。这可以继续,直到TTL届满或请求者主动放弃。一个实体简单的方法来验证路由查找的正确性的方法是使用迭代路由和检查每跳节点的ID,这是应接近理想跳跃的ID值。然而,他没有一个强大的检查,是可以被击败。
(3)对等点间的信任
引进内信任的概念的网络,可以减轻恶意节点造成的影响。可以通过多种不同的方式实现:
a使用由外部权力分配的证书。那个这种方法的缺点是它需要一个集中设备。
b使用对等点互相签名的证书。这个机制十分相似于PGP;每一个对等点的迹象被“朋友”签名的证书证明,并相信任何其他“朋友”节点所签名的节点。但是尽管它存大理论上的可能性,但实际上它很难获得足够长的信任链。
c给他的每个邻居传播置信节点的信息,如图2所示。这样的方法很好的使用了分布式查找表,类似于内容可寻址网络,如果能建立一种相互信任的关系。
(4)路由呼叫信号
执行实时通信应用的实施的方法之一(如我们前面几节所说的)将简单地在SIP协议信令中以分布式的服务取代集中服务。在某些情况下,这可能意味着重用现有的对信令消息路由协议机制。在SIP的实际应用中,这将意味着对等成为SIP的代理。然而,SIP设计假定这种代理服务器是被信任的,使他们能够按要求改变他们的目的地,添加或删除头节点,作为远程的一般操作信息内容和语义。
然而,在一个P2P环境中的信息可能是通过大量连续的对等点路由,其中一些可能受到影响,重要的是不要那样对待它们的信任代理。在ASP的提议下,限制对等点可以做什么的方法之一是通过保护一些已经终结信号,对其进行终端加密。
另一种办法是延长现有的信号协议和修改路由邮件方式,以保证安全的终端到终端的传输。Gurbani等人定义了一个与初始会话协议类似的机制。它允许节点建立一个安全通道连接,发送初始会话协议请求,然后所有的初始会话协议消息通过隧道,采取类似的机制,类似于从HTTP到HTTPS。
(5)定位绑定的完整性
重要的是要确保该用户的位置,通常是一个(URI,IP)对,将其返回给请求方。或者发出查询请求的实体能够通过这个数据对的完整性验证。纯点对点方式要核查完绑定信息的位置的完整性。这样做是为了选择一个非对称密钥为实体对和哈希公共密钥来生成其URI。实体。
标记它的位置,它的私钥和登记册现址,使用一个四元组(URI,IP,签名,公钥)。任何查找的URI和收到这样的四元组的节点可以使用公共密钥验证其完整性。这种做法的另一个可能的优点,可以识别恶意节点并保持其在黑名单中。然而,由此产生的URI是不容易被记住和实体关联。发现这些URI和实体联系在一起,因此他们会需要某种形式的目录服务fā xiàn
zhè xiēURI hé shí tǐ lián xì zài yī qǐ, yīn cǐ tā men huì
xū yào mǒu zhǒng xíng shì de mù lù fú wù
提供更好的翻译建议。作者建议使用现有的认证基础设施,这如认证的Web服务使用SSL,可以印制“在线电话簿“映射用户的URI。
(6)内容加密
使用P2P网络实时通讯意味着内容可能穿越众多到达目的地前中间对等点。一个典型的例子可以作为媒体的使用继电器作为对等眯一个在内部地址转移的VoIP的通话方式。
与公开共享的文件不同的是,通讯会议大多数情况下私有的。因此,很重要的是要确保没有离开媒体客户端申请没有被加密,安全地通过这样的SRTP的协议。但是,额外的处理的加密算法,所需的资源管理密钥材料(例如,检索公共密钥当相互作用未知对等点)可能构成昂贵的任务,尤其是对移动设备。
(7)其他事项
更具体确定有关点对点的实时通信的威胁,将需要明确定义的网络模式。下列问题的答案将是有益的。
a用户为谁而支付?
b当访问公共电话网络时,用户是否要支付?
c通话费是按次计算,还是固定的?
举例来说,如涉及到控制他人的用户代理或其身份攻击,是否发出警告于取决于这是否会为攻击者带来在经济上利益。鲍曼等人认为,以防止不必要的通信费用,网关的公共电话网络,只应可通过拨号认证服务器和授权。同时它似乎很难做一个纯粹的P2P方式计费,因为它将意味着保持与不受信任的对等点结算明细。
9总结和未来的工作
我们曾讨论过P2P网络中的安全性问题和一些先进的解决方案,并提及了这些方法的适应性和缺点。我们从避免攻击者攻击的角度看,我们要考虑他们的动机、限制和目标。现有的安全解决方案没有成熟到可以部署在纯P2P网络中。具体来说,安全身份证任务似乎是最具挑战性的问题。关于这个问题今后的工作,主要是需要分析新兴的实施和推荐的安全方式与他们的解决方案的执行。
在整个文章中,我们一直坚持在P2P网络的终端到终端方式中信号和内容都必须加密。关于这一专题的进一步深入,我们将研究可能的方式来实现加密所必需的分发/交换密钥。