P2P应用的安全问题

P2P应用的安全问题

 

0引言   P2P(Peer-To-Peer)技术是目前计算机网络技术研究领域的热点,作为一种新兴技术,P2P技术能充分利用网络带宽以及对等利用和共享资源,它使用户在网络上的沟通变得更加容易和便捷,从而成长为当前互联网发展的热点。但是由于其自身结构的一些特点,使得P2P系统存在许多安全问题。   1P2P应用带来的安全问题   P2P技术已经广泛应用于互联网之中,它最大的优势在于提供一种便捷的信息获取方式。但随着P2P用户的急剧增加,P2P应用已经成为当今互联网上的“杀手级应用”。   1.1知识产权问题   P2P网络是一个高度自由、自治、共享的网络,其网络结构中没有一个统一管理的机制来对网络中的各个用户进行认证和授权管理。P2P网络中分布的资源是分散的、无约束的,这在P2P共享的网络机制下自然就加速了盗版资源的分发,侵犯了版权,也增加了知识产权保护的难度。   1.2带宽消耗问题   P2P应用对现有互联网网络最大的威胁还是对带宽的巨大消耗。据统计,目前P2P应用已经占据了互联网带宽流量的60%到90%,占据了企业用户带宽的40%,这导致了运营商每年都在不断进行网络扩容,但由此所带来的收益却很少。   1.3内容鉴别问题   由于P2P网络所有资源都分散存储在各个节点中,无法对内容进行统一的管理、鉴别和过滤。用户搜索到的资源往往并不是自己所需的,哪怕是找到了,用户也需要耗费大量时间进行筛选,才能找到自己真正需要的内容来。如果网上都充斥着这些垃圾信息,则会降低网络的可用性。   1.4信任问题   由于P2P系统网络中没有严格的认证中心,节点之间无法鉴别认证,缺少必要的信任关系,恶意节点可以通过网络进行攻击,因此网络的信任机制也成为重要的安全问题,对目前网络构成巨大威胁。   1.5可管理问题   由于P2P网络没有中心服务器来管理节点,因此其节点的加入和退出都比较频繁,节点的出现具有不确定性,网络中往往会出现恶意节点,它就会对网络进行攻击。同时,个人与公司的隐私与信息可能会随着开放的共享目录而被泄露。   1.6黑客和病毒入侵问题   在P2P网络中,资源都来源于各个分散的节点中,要对这些共享资源的安全性进行验证是非常困难的,这就不可避免地给黑客和病毒入侵带来机会,给网络安全带来隐患。而每个节点防御黑客和病毒攻击的能力又不相同,只要有一个节点遭到攻击,就会很快扩散到邻近的节点,造成整个系统的拥塞甚至瘫痪。   2P2P网络存在的安全威胁   从系统本身来看,由于P2P网络结构的固有缺陷,使得P2P网络也面临很多的安全威胁。主要表现在ID分配、路由和应用等三个层面上,如图1所示[1]。   2.1ID分配   在P2P网络中,每个节点都被分配一个ID,它决定了资源的存储位置和控制权等。ID分配方面的攻击主要有Sybil和IDmapping两种。   2.2路由   路由攻击指的是“攻击者作为DHT查找系统的参与者,冒充正常节点把通过它的查找请求转发至不正确或不存在的节点,同时向其他节点发送不正确的路由信息来破坏其他节点的路由表,从而导致系统节点进行不正确的路由操作。”[1]常见的路由攻击有身份窃取攻击、月蚀(Eclipse)攻击、路由表毒害攻击、错误的路由转发和频繁加入退出(Churn)等。   2.3应用层   P2P网络应用层遭受攻击的起因是恶意节点在网络中作为资源的提供者对网络进行破坏。存取攻击、索引攻击、污染攻击、不一致攻击、拒绝服务攻击DoS、引诱攻击(Decoy)等即属于这种类型。   3P2P网络攻击之间的关系   P2P网络的各种攻击并不是孤立存在的,其关系如图2中箭头所示[1]。   4P2P中的安全技术   4.1认证   认证是通过标识系统或用户的身份而建立信任关系,从而鉴别保证对方的真实身份。认证的方法有多种,其中最重要的一种是基于证书的认证,即公钥基础设施(PKI)系统。所谓的证书也叫数字证书、身份证书,指的是一种用数字签名和具有身份信息公钥绑定的电子文档。这种证书的作用就是让公钥和个人信息相关联。在典型的PKI系统中,签名来自认证中心(CA),CA中心负责为用户分配公私钥对,对用户身份验证之后将私钥分配给用户,当节点A与节点B通信时将消息用自己的私钥加密,B根据消息发送者声称的身份向CA中心验证,CA将A的证书(身份和公钥)用CA的私钥加密发送给B,B用CA的公钥解密得到A的公钥和身份,用此公钥解密发送者的消息,如果能够解密出来则证实了发送者的身份A。P2P网络由一系列的对等节点构成,每个节点在加入网络时需要分配一个节点ID。这个ID代表节点的身份,同时也能反映节点自身的信息(如IP地址、端口号)。P2P网络通常利用ID分配对节点进行认证。P2P节点认证主要包括三个方面:(1)对加入节点分配一个ID;(2)验证节点ID的真实性;(3)限制每次加入节点能够获得ID的个数(即设置ID数上限,这主要是为防范Sybil攻击)。   4.2密钥管理   密钥管理是信息保密技术中的关键环节,同时它也是整个加密系统中最薄弱的环节,密钥的泄漏将直接导致明文内容的泄漏,因此在整个保密系统中占有重要地位。密钥管理包括“密钥生成、密钥储存和保护、密钥更新、密钥分发、密钥验证、密钥使用和密钥销毁等”。[3]所有的管理过程都是为了正确地解决密钥从生成到使用全过程的安全性和实用性,另外还涉及密钥的行政管理制度和管理人员的素质。在P2P网络中根据不同的场景采用不同的密钥管理方案。在一般的两点间通信时可以采用点对点密钥管理办法,其中使用较多的是非对称密钥管理方法;在P2P多播通信中采用组密钥管理办法。#p#分页标题#e#   4.3安全路由技术   构建P2P网络的目的是在底层underlay网络之上重新进行信息的存储与定位,解决底层underlay网络存在的扩展性差、网络瓶颈等问题。路由是构建任何网络都需要解决的基础问题。P2P网络的路由具有一些显著的特点,比如P2P路由是一种分布式路由,其路由消息传播过程和内容定位过程同步,而且这种P2P系统可发展为大规模网络,容错性好,并能提供有效的负载均衡。它由以下三个部分组成。   1)节点ID分配的安全   它指的是节点无法控制分配给自己的ID号。否则,攻击者就有机会控制某个给定数据的备份,或者阻断从目标节点发出或目标节点接收到的数据包。为了实现节点ID分配的安全,最典型的一种解决方案就是建立一个中心的、可信的认证实体。CA主要负责将为网络中的每个节点分配一个公钥和节点ID。CA应保证所分配的节点ID是随机选择的,以防止节点伪造节点ID。同时,CA还应为P2P网络提供一个公钥认证体系,即为网络中的节点之间相互通信建立一个加密与认证的渠道。许多P2P网络中,节点ID的分配都与节点的IP地址甚至是端口相关。这是因为,在网络中,节点的IP地址可以在一段时间内保持不变,在这段时间内,该信息与该节点是惟一对应的。在节点ID的分配中引入节点IP地址,可进一步帮助P2P网络来防范Sybil攻击。当然,在节点ID分配时,需要防范节点进行IP地址的伪造。   2)路由表保存的安全   路由表安全,应保证在一个正常节点的本地路由表中,恶意节点所占的比例不应大于在整个网络中的恶意节点所占的比例。否则,攻击者只需要控制为数不多的几个恶意节点,就有可能阻断该节点的正常消息传递。为了实现节点的本地路由表的安全,需要严格控制其路由表中所保存的节点信息。也就是说,当路由表中的某个节点离开网络或失效时,该节点就会被从路由表中删除掉,而同时路由表中应重新引入一个新的节点。这时,对新加入路由表的节点应该采取严格的控制措施。比如,节点在填充本地路由表时,要求只有节点ID与某个特定的节点ID最相近的节点能够加入本地路由表。   3)消息转发的安全   保证了节点在查询某个Key时,很有可能至少找到保存该Key的多个备份节点中的一个节点。   5结束语   相对于C/S结构的网络而言,P2P网络是一种对等的全新结构,它的应用会带来诸多的问题与挑战,安全便是其最大的问题。只有解决了安全问题,才能充分发挥其优点,为其赢得更大的发展空间。

精选范文