2021-4-9 | 互联网
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多播通信中采用组密钥管理办法。