P2P 匿名通信系统的节点发现
摘 要:匿名通信技术是保护公民在线隐私与安全的利器。匿名通信系统正向着 P2P架构
发展,而其节点发现问题正逐渐成为阻碍匿名通信系统进一步发展的瓶颈,但遗憾的是,
目前并没有很好的解决方案。针对这一问题,本文提出两种新的节点发现机制 CND和
ECND,分析其安全性,并进行了比较实验。较之现有的节点发现机制,两者均有提高,
其中 ECND的性能更佳。
关键词:匿名,匿名通信,P2P
1. 引言
Internet已经经历了十余年的高速发展,并将在未来很长一段时间内持续这一发展。随
着商业、办公及日常活动逐步转移到 Internet上进行,人们越来越多地开始关注 Internet的
安全问题——企业不希望自己的商业机密泄露给竞争对手,政府机构需要封锁涉及国家安
全的敏感消息,个人在维护言论自由的同时也希望自己的隐私不被侵犯。这些问题在
Internet出现之前便一直存在,但 Internet的开放特性带来了新的挑战。
围绕 Internet的安全这一大的议题,研究人员提出了大量的技术从多种角度增强
Internet的安全[1]。这些技术的目的是保护通信内容的安全,并且都很好地实现了它们的目
的。但 Internet安全并不局限于通信的内容,有时,通信关系(谁在和谁通信)同样需要保
护。实现通信内容的保密的技术往往对于通信关系的保密无能为力。通信关系的保密问题
即匿名通信(anonymous communication)问题,匿名通信被认为是一个困难的问题,因为
Internet自诞生之日起就被设计成是开放的,Internet的基础协议需要通信双方(或单方)
的身份标识来建立连接、传输数据,这些身份标识是不能隐藏或伪装的。
匿名通信的研究始于上世纪 80年代,David Chaum为解决电子邮件的流量分析问题提
出了将电子邮件通过多层加密转发(mix-net)的概念[2]。时至今日,匿名通信已取得了长
足的发展,但从本质上来说,mix-net依然是实现匿名通信的最为有效的技术。
为了将匿名通信技术投入实际应用,人们设计并实现了多种多样的匿名通信系统。随
着应用的不断深入,一个过去很少被考虑的问题逐步浮现,即为了使用系统,需要首先发
现系统中的部分或所有节点(即传统的 mix,本文统一使用“节点”这一术语)。当系统
的规模较小仅有少量节点时[3][4],这并不构成一个问题;但当系统的规模越来越大,节点数
目越来越多,特别是向着对等计算(Peer-to-Peer,P2P)的架构发展时,节点发现问题便
凸现了出来,甚至成了系统进一步发展的瓶颈。
本文研究 P2P匿名通信系统的节点发现问题。第二章开始首先定义匿名通信系统的节
点发现问题,然后介绍当前 P2P匿名通信系统所采用的节点发现机制,并指出它们存在的
问题;第三章介绍本文设计的两种节点发现机制 CND和 ECND,并对其安全性进行分析;
第四章是对 CND和 ECND的比较实验;第五章是本文的结论。
- 1 -
2. 节点发现
. 节点发现的定义
假设本文之后所讨论的匿名通信系统具有如下的性质:
● 系统由大量的(成千上万的)节点组成,节点间构建匿名的通信信道(channel),
数据通过匿名信道的转发以达到匿名的目的。系统的用户首先需要了解系统中全部
或部分节点的状态,然后选择一条包含若干节点的路径,最后构建由这些节点组成
的匿名通信信道。
● 系统中存在一定数量的内部的攻击者。内部的攻击者设置恶意节点,并想办法吸引
用户使用他们的恶意节点。
● 系统是 P2P的结构,即系统的用户同时是系统的节点。
图 1是系统示意图。虚线框出了系统的所有节点,实线框出的节点是用户 U发现的
节点,用户选择其中的三个节点(绿色背景)构建匿名通信信道,通过构建的信道访问目
标服务器 S 以达到匿名的目的。图中的黄色背景节点是恶意节点。
很明显,节点发现(node discovery,即用户了解节点状态的过程)、路径选择(path
selection,即用户选择信道所包含的节点的过程)和信道构建(channel construction)这三
个过程可以相互分离。三者之间并无绝对的依赖关系。
本文在此仅关注 P2P匿名通信系统的节点发现问题,将路径选择和信道构建问题留作
下一步的工作。需指出的是,路径选择问题近期已产生了一些成果[5][6],但尚在发展之中;
信道构建问题历经二十余年的发展和完善,已经有了公认的较为完满的答案,在此本文选
择 Tor[7]的虚电路(virtual circuit)作为信道构建的解决方案,大部分匿名通信系统使用类
似的信道构建方法。
- 2 -
图 1: 系统示意图
U
S
安全性和可扩展性是 P2P匿名通信系统的节点发现机制所要求两项重要性质。
● 安全性。这是节点发现机制必须具备的一项性质。安全性指的是当系统存在一定数
目的恶意节点时,用户在了解系统的节点状态时不会受到恶意节点的影响在其发现
的节点中不成比例地包括大量的恶意节点。当然,这种情况下在用户发现的节点中
完全消除恶意节点是不现实的,本文的要求是恶意节点在用户所发现节点中的比例
与恶意节点占整个系统节点的比例相当。
● 可扩展性。采用 P2P的模型时,可扩展性是一个必须面对的问题。实现可扩展性的
一个可行的方案是使用户了解系统部分节点的状态,并能在需要时了解更多节点的
状态。
. 现有的节点发现机制
以下我们分析现有的节点发现机制及其存在的问题。考虑到本文所假设的系统性质,
仅分析 P2P匿名通信系统 Tarzan和MorphMix的节点发现机制。
Tarzan的节点发现机制
Tarzan[8]的节点发现机制的目标是系统中的任何节点了解系统中其他所有节点的状态:
将 Tarzan系统看作是一个有向图,图的顶点是 Tarzan的节点,则节点发现的目标是使有向
图从弱连通图变成全连通图。为此,Tarzan使用一种称之为“Gossiping”的节点发现机制:
新加入的节点首先从某个节点获取其他节点的部分信息,然后再与这些节点交换信息,最
终了解系统中的所有节点。
为了避免恶意节点发布虚假的节点状态,Tarzan 将其发现的节点分为未确认的
(unvalidated)和已确认的(validated)两部分,初始所有节点都是未确认的,当与某节点
成功建立通信信道后,节点变为已确认的。这一附加的过程能够检测出无效的节点,但无
法检测系统中存在的恶意节点。
Tarzan了解系统所有节点的要求与其威胁模型相关,不妨假设它的节点发现机制是安
全的,但显然其缺乏可扩展性。与 Tarzan 类似的要求发现所有节点的系统还有 Tor[7]和
Crowds[9]。
MorphMix的节点发现机制
MorphMix[10]的节点发现机制的特点是用户只需了解系统的很小一部分的节点,在选择
路径时同时发现新的节点,这使得MorphMix 具有良好的可扩展性,MorphMix的作者宣称
该系统可以支持最多 1'000'000个节点[10]。
MorphMix的另一个特点是设计了一种算法 CDM 检测系统的恶意节点。CDM基于用
户对节点出现的频率的统计,将出现频率过高的节点认为是恶意节点。但在 2006年,该算
法被攻破[11],攻击者通过调整自己的出现频率可以很轻易的绕过这一过程。这其中的原因
主要是因为MorphMix的用户仅具有本地的数据而不了解系统全局的状态,因此在选择节
点时更容易受到恶意节点的影响。
- 3 -
3. 两种新的节点发现机制
通过对 Tarzan和MorphMix的介绍,不难发现,现在并没有可行的 P2P匿名通信系统
的节点发现机制兼顾安全性与可扩展性。因此,本文提出两种新的节点发现机制 CND和
ECND,以期改善现有状况。
. CND
CND(Circular Node Discovery)使用分布式散列表(Distributed Hash Table,DHT)维
护节点的状态,其基本特征是用户仅需要了解系统中很小一部分的节点状态,并在需要时
能从系统的所有节点中发现更多节点。CND 与 Chord[12]具有类似的结构,系统中的所有节
点属于一个环形的键空间(circular keyspace)。每个节点从其 IP地址计算它在键空间上的
位置,称作该节点的标识符(identifier,ID)。所有节点按标识符的大小在键空间上顺序
排列,每一个节点都有一个前驱(predecessor)节点和一个后继(successor)节点。一个节
点的前驱节点与自身之间未使用的键空间称作该节点拥有的键空间。要求系统中的每一个
节点知道其后继节点的状态,并且,为了提高节点发现的效率,还要求每一个节点都了解
其他部分节点的状态。以下具体说明 CND的过程。
使用安全的散列函数由节点的 IP地址计算节点的标识符。假设系统中的节点总数是
N,节点标识符的长度为m,则每个节点平均拥有的键空间 k=2m /N。每一个节点需要在本
地维护一张路由表(finger table),其中记录了顺时针(标识符递增)方向上拥有距离自
身为 2 0 k,2 1 k,2 2 k, . . .的键空间的节点,直至距离大于 2m /2。显然,路由表的长度为
logN。1
图 2 示范了 CND的递归算法。 是一个节点的后继节点; 是
一个节点的标识符,不同节点间的标识符是可比较的; t[]是一个节点的路由表,表
中的元素按其标识符的大小顺序排列。
当需要发现新的节点时,节点首先随机选择一个标识符 i(不一定存在与 i 对应的节
点),当 i 大于后继节点的标识符时,将请求发送至路由表中与 i 最为接近且标识符小于 i
1 本文中的 logN 表示以 2为底的 N 的对数。
- 4 -
// i is a random id on the circle
function cnd(node, i)
if < i
next_node = node
foreach element in []
if < i and >
next_node = element
return cnd(next_node, i)
else
return
end function
图 2: CND的递归算法
的节点;该节点重复这一步骤,直至请求到达某个节点并且该节点的后继节点标识符大于
等于 i;该节点将后继节点的信息返回至提出请求的节点,此后继节点即为需要发现的新的
节点。可以证明发现一个新节点的时间复杂度为 O(logN) [12]。这是不难理解的,因为每次
将请求发送至下一个节点,该节点与目标节点间的距离至少缩短一倍,故最多 logN 次之
后便能定位到目标节点。
图 3 示意了一次节点发现的过程。为了简化问题的说明,在这里假设系统中存在 8个
节点且各节点间的距离是固定的。
节点 0(蓝色)需要发现拥有标识符 i(红色)的节点。0的路由表中包括 1、2和
4,0的后继节点是 1,1 小于 i,又由于 1、2和 4 均小于 i,0于是将请求发送至 4;节点 4
的路由表中包括 5、6和 0,4的后继节点是 5,5 小于 i,于是 4 重复上面的步骤,将请求
发送至小于 i 且距离 i 最近的节点 6;6的后继节点是 7(绿色),7大于 i,于是我们便知
道节点 7是拥有标识符 i 的节点。6将这一结果返回 4,4将结果返回 0 完成节点发现的过
程。
为了使 CND 总是能正确地发现节点,需要保证每一个节点正确地维护着其后继节点的
信息。当节点 node i加入系统时,它可以通过某种特别的(ad hoc)方法获取自身后继节点
node i + 1的信息,同时,原先以 node i + 1为后继的节点 node i - 1将后继改为 node i;当 node i
离开系统时,node i - 1 重新将自身的后继节点更新为 node i + 1。
. ECND
由于 CND 存在一个较为严重的安全问题——会聚问题 2,本文提出改进的
CND(Enhanced CND,ECND)。ECND的基本思想是将 CND 环形结构转化为二叉树的结
构。可以把 CND的整个环平均分为若干子空间,每一个子空间包含互相知道状态的少量节
点,这些子空间是二叉树的叶子节点。每一个节点除了需要知道自己所在子空间上的所有
节点之外,对于二叉树的每一层,还需要了解属于不在自己所在子树的其他任一个子空间
2 会聚问题的描述见 中 CND的安全分析。
- 5 -
图 3: 包括 8个节点的系统应用 CND的过程
0
1
2
4
5
6
i
3
7
里的某个节点。ECND的示意图如下。
在图 4中,根据节点二进制标识符的最高三位将整个键空间平均分成 8个子空间,系
统中的每个节点根据自身的标识符归于某个子空间。把 8个子空间作为一棵虚拟的二叉树
的叶子节点,分别标号 000至 111。以某个属于 100子空间的节点 node 为例,在 100子空
间里,node 需要知道该子空间中的所有节点。除此之外,对于二叉树的每一层,node 还
需要了解该层中位于不在其所在子树的某个节点的状态。对于 10这一层,node 需要了解
101子树中的任一节点;对于 1这一层,node需要了解 11子树中的任一节点(图中选择的
是 110中的节点);对于树根 S,node 需要了解 0子树中的任一节点(图中选择的是 001
中的节点)。设将键空间分为 N个子空间,node需要额外了解的节点数是 logN。
当需要发现新的节点时,node随机选择一个标识符,其最高三位不为 100(否则拥有
该标识符的节点必定在 node所在的子空间内,而 ECND要求 node已经知道了其所在子空
间内的所有节点),然后判断该标识符与自身之间最大相似前缀,如果前两位相同,node
将查询请求发送至它所知道的 101子系统内的节点由后者代为查询;类似的,如果只有第
一位相同或者没有相同的前缀,node分别将查询请求发送至它所知道的 110或者 001子系
统内的节点。
ECND的算法如下。 是一个节点的标识符,不同节点间的标识符是可比较的;
t[]是一个节点的路由表, t[pref ix]表示节点所了解的前缀为 prefix 的某个
子空间内的其他节点。
- 6 -
图 4: ECND的示意图
000 001 010 011 100 101 110 111
00 01 10 11
0 1
S
... ... ... ... .node.. ... ... ...
图 5的算法每调用一次,便可以将新节点所在子树的高度降低一层,所以 DHT 相似,
ECND 可以在O(logN)时间内发现一个新的节点。
. 安全分析
与现有的 P2P匿名通信系统相比较,Tarzan由于要求所有节点构成一张完全图,没有
可扩展性,而 CND和 ECND由于借鉴了 DHT 思想而天然地具备了可扩展性(DHT的设计
目标之一就是可扩展性); MorphMix根据节点的本地状态判断发现的是否为恶意节点的
CDM已被证明是不安全的,而 CND和 ECND从整个键空间选择节点,通过对结果进行检
查以及添加冗余机制能从某种程度上避免 MorphMix的问题(见下面的分析)。
首先讨论 CND。
CND依赖于其他无法认证的节点发现新的节点,因此,潜在的一个问题是如果节点发
现请求发送至恶意节点,恶意节点可能将自身或其他恶意节点作为新发现的节点返回。设
系统中的节点数为 n,恶意节点比例为 c,则节点发现结果是恶意节点的概率为
1−1−c logn
当 c=5%,n=1024时,这一概率高达 40%!显然,完全信任其他节点返回的结果是不
行的,需要对结果进行检测。由于本文使用安全的散列函数由节点的 IP地址计算标识符,
所以恶意节点无法控制自身的标识符。当得到其他节点返回的查询结果时,可以对结果进
行三种检测,一是新节点的标识符一定是大于等于查询时随机选择的标识符的,如果这一
要求不满足,则返回的结果一定是错误的;二是可以从新节点的 IP地址计算其标识符,如
果与返回的标识符不同,则结果也一定是错误的;三是和 Tarzan 类似,节点可以尝试与新
节点连接,如果连接失败,说明新节点不存在,因此返回的结果也是错误的。
另一种可能的情况是系统中存在恶意节点能通过上面的三项检测,但它并不拥有查询
时指定的标识符(即其前驱节点更接近指定的标识符)。为了缓解这一问题,可以为 CND
添加冗余机制,即当请求其他节点发现拥有 i的节点时,除了将请求发送至路由表中距离 i
最近的节点之外,同时还将请求发送至路由表中的其他部分节点。由于在返回的节点中,
拥有 i的节点一定是大于等于 i 且距离 i最近的节点,因此可以比较返回的节点,从中选择
符合以上要求的一个节点认为是拥有 i 的节点。只要冗余查询的路径有一条其中的节点都
- 7 -
// space_len is the number of bits in a sub-space
function ecnd(node, i)
msp = the most similar prefix between and i
if >= space_len
// the node owns i is in current sub-space
return the node owns i
else
next_node = [msp]
return ecnd(next_node, i)
end function
图 5: ECND的递归算法
是是诚实的,CND就能返回正确的结果。设冗余查询的次数为 r,则结果是恶意节点的概
率可以降为
1−1−c log n
r
但在第四章的实验中,我们发现随着冗余查询次数的增加,CND的节点发现成功率并
没有想象中的大幅提高。经过分析,本文认为 CND 还存在一个问题,称之为冗余查询的会
聚问题。会聚问题指的是随着查询越来越接近目标节点,最终都会通过靠近目标 i 的一个
或几个节点,如果这其中有恶意节点,那无论冗余查询多少次,都难以提高节点发现的成
功率。考虑图 3的情形,无论通过哪个节点查询 i,最终都会聚在节点 6,依赖于 6 返回结
果。
接下来讨论 ECND。
首先,对 CND的安全分析的一些结论,如对节点发现结果的检查等,同样适用于
ECND,因此不再赘述。
ECND的主要目标是解决 CND所带来的会聚问题,本文认为 ECND做到了这一点。同
样为 ECND增加冗余机制:当需要发现新的节点时,除了将查询请求发送至路由表中的某
个节点外,还请求同一子空间内的部分其他节点代为发现新的节点。由于随机为每一个节
点分配一个不同高度子树下的其他子空间内的节点,同一子空间内的不同节点了解的节点
基本没有相同的可能,因此在冗余查询时,每次查询所用到的节点基本不会相同。ECND
同样会会聚,但仅会聚到同一子空间,而非 CND的同一节点。只要每次查询最后返回结果
的节点属于一个子系统中的不同节点,便能消除 CND的会聚问题。实验结果也表明了这一
点。
影响 ECND的安全性和效率的关键参数是 ECND的二叉树的高度。当整棵树仅包括一
个根节点时,系统中仅有一个子空间,每一个节点都了解其他节点的状态,此时 ECND 拥
有最高的安全性,节点发现的复杂度是 O(N);如果每一个节点都是二叉树的一片叶子,
ECND就是 CND,节点发现的复杂度降为O(logN)。
最后,无论对于 CND或者 ECND,一个显见的结果是:无论如何检查,如果恶意节点
拥有查询时指定的标识符,该恶意节点是无法被发现的,这也是 P2P的节点发现机制必然
存在的一个问题。
4. 实验结果
. 实验目的与方法
本文对 CND和 ECND进行了模拟实验,实验的主要目的是测试 CND和 ECND的成功
率,以及不同的参数(冗余、子空间大小等)对成功率的影响。成功的节点发现指的是节
点发现返回的结果不是恶意节点;不成功的节点发现包括两种可能,一是节点发现返回的
结果是恶意节点,二是在节点发现的过程中将请求发送至了恶意节点。显见,如果系统中
的恶意节点所占比例为 c,节点发现的最佳成功率是 1-c(因为恶意节点拥有 c的键空间)。
以下的实验省略了对节点发现返回结果进行检查的步骤,因此实际的 CND和 ECND 结果
应好于下面给出的结果。
- 8 -
实验是这样进行的,首先初始化系统,包括初始化每个节点的路由表,随机选择恶意
节点等,实验中恶意节点占所有节点的比例在 0%到 50%这一范围。然后实验模拟 1000 次
节点发现的过程。每次节点发现,随机在键空间内选择一个标识符,返回系统中第一个节
点的节点发现结果。相同的实验进行 10 次,计算节点发现成功率的均值。
简洁起见,以下把系统中的节点总数记为 n,恶意节点占系统所有节点的百分比记为
c,冗余查询次数记为 r,ECND子空间数记为 s。
. 实验结果与分析
CND vs. ECND
第一个实验比较了 CND和 ECND的节点发现成功率,结果如图 6,我们在图上同时
标记了理想的节点发现成功率(1-c)。可以看到,当没有冗余查询时,两者的成功率都不
尽如人意,但 ECND要好于 CND。造成这种情况的原因是查询请求被转发至恶意节点所致,
而 CND的转发次数多于 ECND,因此它的成功率更低。
冗余查询对CND的影响
第二个实验测试冗余查询对 CND节点发现成功率的影响,实验分别测试了 1 次、2 次、
5 次和 10 次冗余查询,结果如图 7。可以看出,随着冗余查询次数的增加,CND的成功率
并没有明显提高,造成这一结果的原因——会聚问题,已在 CND的安全分析中说明。由此
可以得出结论,与 DHT 具有相同结构的 CND 仅要求节点了解很少一部分其他节点并且具
有较高的节点发现效率,但受恶意节点的影响非常大,仅当恶意节点的比例很低时才适用。
- 9 -
图 6: CND 与 ECND节点发现成功率的比较(n=1000, r=0, s=32)
0 5 10 15 20 25 30 35 40 45 50
0
10
20
30
40
50
60
70
80
90
100
CND
ECND
IDEAL
恶意节点百分比
节
点
发
现
成
功
率
冗余查询对 ECND的影响
第三个实验测试了冗余查询对 ECND节点发现成功率的影响,与 CND 相同,实验也
分别测试了 1、2、5和 10 次冗余查询,结果如图 8。可以看出,有和没有冗余查询的差别
是非常大的,仅仅 1 次冗余查询,节点发现的成功率便能提高 10%以上。另外,随着冗余
查询次数的增加,节点发现的成功率也在稳步提高,10 次冗余查询的成功率已经比较接近
理想状态下的节点发现成功率。
- 10 -
图 8: 冗余查询对 ECND节点发现成功率的影响(n=1000, s=32)
0 5 10 15 20 25 30 35 40 45 50
0
10
20
30
40
50
60
70
80
90
100
r=0
r=1
r=2
r=5
r=10
恶意节点百分比
节
点
发
现
成
功
率
图 7: 冗余查询对 CND节点发现成功率的影响(n=1000)
0 5 10 15 20 25 30 35 40 45 50
0
10
20
30
40
50
60
70
80
90
100
r=0
r=1
r=2
r=5
r=10
恶意节点百分比
节
点
发
现
成
功
率
5. 结论
本文分析了现有 P2P匿名通信系统的节点发现机制存在的问题,并借鉴 DHT的思想提
出了 CND和 CND的改进 ECND这两种新的节点发现机制。理论分析与实验证实,CND和
ECND 较好地兼顾了安全性和可扩展性,其中,添加冗余查询机制的 ECND性能更佳,可
以作为现有 P2P匿名通信系统节点发现机制的改进方案。
参考文献
[1] C. Kaufman, R. Perlman and M. Speciner. Network Security: Private Communication in a Public World [M].
Prentice Hall PTR, 2002.
[2] D. Chaum. Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms [J]. Communications of
the ACM, February 1981, : pp. 84-88
[3] J. Boyan. The Anonymizer: Protecting User Privacy on the Web. Computer-Mediated Communication
Magazine, September 1997, .
[4] O. Berthold, H. Federrath and S. Köpsell. Web MIXes: A system for anonymous and unobservable Internet
access [A]. In Proceedings of Designing Privacy Enhancing Technologies: Workshop on Design Issues in
Anonymity and Unobservability [C]. 2000.
[5] J. Renner. Development and Evaluation of Path Selection Algorithms for Performance-Improved Onion
Routing [D]. RWTH Aachen University. 2007.
[6] R. Snader and N. Borisov. A Tune-up for Tor: Improving Security and Performance in the Tor Network [A].
In Proceedings of the Network and Distributed Security Symposium - NDSS '08 [C]. 2008.
[7] R. Dingledine, N. Mathewson and P. Syverson. Tor: The Second-Generation Onion Router [A]. In
Proceedings of the 13th USENIX Security Symposium [C]. 2004.
[8] M. J. Freedman and R. Morris. Tarzan: A Peer-to-Peer Anonymizing Network Layer [A]. In Proceedings of
the 9th ACM Conference on Computer and Communications Security (CCS 2002) [C]. 2002.
[9] M. K. Reiter and A. D. Rubin. Crowds: Anonymity for Web Transactions [J]. ACM Transactions on
Information and System Security, June 1998, : pp. 66-92
[10] M. Rennhard and B. Plattner. Introducing MorphMix: Peer-to-Peer based Anonymous Internet Usage with
Collusion Detection [J]. In Proceedings of the Workshop on Privacy in the Electronic Society (WPES 2002)
[C]. 2002.
[11] P. Tabriz and N. Borisov. Breaking the Collusion Detection Mechanism of MorphMix [A]. In Proceedings of
the Sixth Workshop on Privacy Enhancing Technologies (PET 2006) [C]. 2006.
[12] I. Stoica, R. Morris, D. Karger, M. F. Kaashoek et al. Chord: A Scalable Peer-to-peer Lookup Service for
Internet Applications [A]. In Proceedings of the 2001 SIGCOMM conference [C]. 2001.
Node Discovery in P2P Anonymous Communication Systems
Pei Hanru
Institute of Computer and Information Engineering, Hohai University, Nanjing (210098)
Abstract
Anonymous Communication is a useful tool for protecting online privacy and safety. Anonymous
communication system is moving forward to the P2P architecture, in the meantime, the problem of
node discovery has become the bottleneck for its further development. But we don't have a good
solution yet. In this paper, we propose two novel node discovery mechanisms, CND and ECND, with
analysis of their security and simulation results. In contrast with existing node discovery methods, both
of them improve a lot, and the performance of ECND is better.
Keywords: anonymity, anonymous communication, P2P
- 11 -
1. 引言
2. 节点发现
. 节点发现的定义
. 现有的节点发现机制
Tarzan的节点发现机制
MorphMix的节点发现机制
3. 两种新的节点发现机制
. CND
. ECND
. 安全分析
4. 实验结果
. 实验目的与方法
. 实验结果与分析
CND vs. ECND
冗余查询对CND的影响
冗余查询对ECND的影响
5. 结论
Text6:
Text7: