论文部分内容阅读
对等网络(Peer-to-Peer Network,即P2P网络)诞生已有十余年,其至今已成为互联网流量的最大消耗形式之一。P2P网络的发展中出现了多种形态,而其中结构化覆盖网络即分布式哈希表(Distributed Hash Tables,简称DHT)因其彻底的去中心化的特点和较高的性能而获得了用户的青睐和学术界最多的关注和研究。然而,也正是因其去中心化的特点,DHT在运行中有很多的安全问题。其中最严重的问题之一是Eclipse攻击:攻击者通过让恶意节点占有特定的节点编号(Identifier,简称ID)并加入正常节点的路由表使得特定资源的发布和搜索过程收敛到恶意节点上,并返回错误的搜索结果以阻止该资源的传播。目前还没有一个方法能够在分布式网络中对有丰富资源的攻击者在不影响网络性能的前提下进行有效的防御。有研究者考虑过用计算谜题(Computational Puzzle)应用于DHT网络中ID产生过程,但无法解决其核心挑战:将攻击者的攻击代价提高到不可接受,但同时不影响正常用户的网络性能。 本文通过将攻击者的攻击代价与DHT网络规模联系起来,解决了这一问题----让ID不可预期,必须在解决计算谜题之后获得,导致敌手要获得分布在需要区域的恶意节点就必须计算出数十倍于整个网络规模的有效ID。论文提出了两个新的ID生成算法:基于哈希函数特定像的ID生成算法和基于模平方根的ID生成算法。前者需要用户通过大量的猜测找出谜题的解,解答谜题的计算量不确定,但可以立即验证;后者主体部分计算量确定且可并行度很低,但验证计算量和网络传输成本略有增加。就我们所知,本文算法是第一个同时满足无中心化认证服务器、ID不可预期、不可重放三个条件的Eclipse攻击防御方法,也是已知对用户和网络负担最小的方法。算法优点可以概括为如下三个方面:⑴去中心化:并没有引入中心化的服务器,保持了DHT分布式自组织的核心性质;⑵高安全性:其一,联系攻击代价与网络规模,以BT-DHT为例,初步仿真表明,敌手需要4000个CPU不停地运转产生45倍网络规模的节点才能以75%的成功率攻击其目标ID;其二,周期性地更新ID使得预先计算变得不可能;其三,使用用户的网络参数产生计算谜题使得一个ID只能被其相应IP的用户使用,别的用户无法通过窃听和重放伪装成该用户;⑶高性能:正常用户只需要每周花几秒钟的时间生成一个合法ID,而合法ID可以即时验证;相比于之前的方法需要对网络协议大规模地修改并引入大量的额外传输成本,本文算法只需要对客户端程序做简单的修改就可以在现有系统中实现,且几乎不引入网络抖动和传输成本。