1、2007 年 12 月 Journal on Communications December 2007第 28 卷第 12 期 通 信 学 报 Vol.28 No.12MIX 匿名通信技术研究陆天波,程晓明,张冰(国家计算机网络应急技术处理协调中心,北京 100029)摘 要:针 对 互 联 网 上 的 隐 私 和 匿 名 问 题 进 行 了 研 究 。 隐 私 不 仅 意 味 着 信 息 的 机 密 性 , 而 且 意 味 着 信 息 发 布者 身 份 的 机 密 性 。 首 先 阐 明 了 MIX 技 术 原 理 , 然 后 详 细 讨 论 了 MIX 技 术 的 发 展 状 况 , 最
2、后 描 述 了 P2P 匿名 通 信 协 议 WonGoo。 它 吸 取 了 MIX 抗 攻 击 性 强 和 Crowds 效 率 高 的 优 点 , 通 过 分 层 加 密 和 随 机 转 发 取 得 了强 匿 名 和 高 效 率 。关键词:MIX;匿名通信;WonGoo中图分类号:TP393 文献标识码:A 文章编号:1000-436X(2007)12-0108-08Research on MIX-based anonymous communicationsLU Tian-bo, CHENG Xiao-ming, ZHANG Bing(National Computer Network E
3、mergency Response Technical Team/Coordination Center of China, Beijing 100029, China) Abstract: Privacy and anonymity on the Internet are gaining increasing attention from both the scientific and the large Internet user community in recent years. Privacy does not only mean the confidentiality of inf
4、ormation, but also mean not revealing who is communicating with whom, and how often. After describing the technology of MIX, a survey of anonymity technologies based on it was given. Finally WonGoo, a scalable and practical decentralized peer-to-peer protocol was presented that provides strong anony
5、mity and high efficiency with layered encryption and random forwarding.Key words: MIX; anonymous communication; WonGoo1 引言匿 名 通 信 的 研 究 可 以 追 溯 到 1981 年 , 在 那一 年 , Chaum 发 表 了 开 创 性 的 论 文 1。 从 此 , 很多 研 究 工 作 致 力 于 构 建 、 分 析 和 攻 击 匿 名 通 信 系统 。 1996 年 6 月 在 英 国 剑 桥 召 开 的 第 一 届 信 息 隐藏 年 会 IH, 以 及 2000
6、年 7 月 在 美 国 加 州 召 开 的以 隐 私 保 护 为 主 题 的 第 一 届 学 术 会 议 PET (privacy enhancing technologie)都 进 一 步 促 进 了 匿名 通 信 技 术 的 发 展 。 美 国 Free Haven 工 程 组 的Dingledine 等 人 在 维 护 的 网 页 ( http:/www. 上 给 出 了 历 年 来 发 表 的 有关 匿 名 的 主 要 论 文 。根据匿名系统对延迟敏感与否,通常把它分成两类:延迟不敏感(high-latency)匿名系统和延迟敏感(low-latency)匿名系统。前者主要是满足那些
7、对延迟没有特殊要求的应用,例如匿名电子邮件系统 Chaum MIX1、Mixmaster 2和Mixminion3等。这类系统通常是为每个消息选择一条路径(可以相同,也可以不同) ,习惯上也称之为基于消息的(message-based)匿名通信系统。由于有足够的延迟时间对通信流进行处理,因此目前这类系统在理论上已逐渐趋于完善,但在实践中还存在一些问题。后者主要是满足那些对延收稿日期:2007-09-09;修回日期:2007-11-23基金项目:国家重点基础研究发展计划(“973”计划)基金资助项目(2007CB311100)Foundation Item: The National Basic
8、 Research Program of China (973 Program) (2007CB311100)第 12 期 陆天波等:MIX 匿名通信技术研究 109迟有特殊要求的应用,如 web 浏览和网上聊天等。这类系统,例如 Onion Routing4,5、Tor 6、Tarzan7、MorphMix 8和 I2P(http:/ )等,通常是首先在发送者和接收者之间建立匿名通道(即匿名路径) ,然后再把数据放入数据传输的基本单元 信元(cell) 中沿着通道传递,习惯上也称之为基于通道的(circuit-based) 匿名系统。由于受到延迟的限制,这类系统无论在理论上还是在实践上都还有
9、很多问题有待于解决。当然,在延迟敏感匿名系统上可以支持延迟不敏感应用,反之则不然。在已经提出的匿名通信协议中,有的实现了系统(如 Onion routing、Tor、Mixmaster 、Mixminion 和 I2P 等) ,有的实现了原型系统(如 Tarzan 和 MorphMix) ,有的并没有实现系统或原型系统(如 PipeNet9) ,为了叙述的方便,在后面的叙述中,不再区分“协议”和“系统”这 2 个词。2 MIX 机制MIX 的概念是由 Chaum 于 1981 年在他的开创性的论文 1中提出的,该文发表在同年的 ACM Communication 杂志上。这之后,研究人员设计了
10、很多匿名协议和系统,其中大部分都是基于 MIX的思想。MIX 已经被扩展成一种通用的通信匿名性保护技术。Chaum MIX 的基本思想是通过使用中间节点来变换和混杂来自多个用户的消息,使窃听者无法确定输入消息和输出消息的对应关系,从而无法跟踪某条消息的传输路径,发现“谁跟谁通信”的事实。一个 MIX 节点(或者简称为 MIX)是指对消息进行存储转发的一台计算机,如图 1 所示。它接收来自不同源的定长消息,并对消息进行加密变换,然后转发。目的是隐藏输入消息和输出消息之间的对应关系。单个 MIX 使得攻击者难以根据消息编码 、 大 小 以 及 排 序 等 追 踪 某 个 具 体 的 消息 。 如
11、果 消 息 通 过 网 络 中 由 多 个 节 点 构 成 的MIX 路 径 进 行 传 输 ( 如 图 2 所 示 ) , 则 只 要 其 中一 个 MIX 是 可 信 的 , 就 可 以 提 供 足 够 的 匿 名 保 护 ,使 得 攻 击 者 想 要 确 定 谁 和 谁 在 通 信 变 得 更 加 困 难 。正 如 图 2 中 所 示 , 习 惯 上 把 要 发 送 的 原 始 消 息msg 称 为 消 息 体 或 者 有 效 载 荷 , 而 把 消 息 体 之 外的 部 分 称 为 消 息 头 。 下 面 对 Chaum MIX 的 原 理作 一 简 单 的 说 明 。图 1 单个 M
12、IX 收集来自不同用户的消息并对它们进行操作图 2 发送者 Alice(A)沿着路径ACDEB 发送消息 msg 给接收者 Bob(B)用户在发送消息之前必须确定一条 MIX 路径,并获得该路径上所有 MIX 节点的 RSA 公钥,随后构造如下消息:M0 = K0 (R0, M);M1 = K1(R1, M0, A0);M2 = K2(R2, M1, A1);Mn = Kn(Rn, Mn-1, An-1);其中 Kn 到 K1 是从用户到最终接收者的路径上所有 MIX 节点的公钥,A i 和 Ri 分别是地址和随机填充数;下标 0 对应了最终接收者。消息 Mn 被发送给路径上的第一个 MIX
13、节点,它用自己的私钥解密后将消息 Mn-1 发送给 An-1 指定的下一个 MIX 节点;该过程被每个收到消息的MIX 节点执行,直到接收者 A0 获得消息 M。称MIX 的这种加密(解密)方法为分层加密(解密) 。可以看出,在未掌握 Ki 的情况下,是无法发现 Mi和 Mi-1 的对应关系的。同时,为了隐藏输入输出消息的时序对应关系,节点还维护了一个消息缓冲池,并仅在缓冲池满时将消息乱序输出。为了提高攻击者攻击的难度,Chaum 还建议使用掩饰流。Pfitzmann 等人于 1989 年根据 RSA 密钥的特征展示了对 Chaum MIX 的攻击 10。之后的 MIX系统不再单纯使用 RSA
14、 密码,而是将 RSA 密钥和对称密钥结合使用。RSA 密钥用来加密对称密钥,而对称密钥用来加密消息体。110 通 信 学 报 第 28 卷除了发送者可以匿名地向接收者发送消息之外,Chaum 还提出了一个方案以使得接收者可以匿名地应答。发送者首先选择一条回路,然后采用前面的方法构造一个称之为匿名应答地址(anonymous return address)的消息,该消息的消息体部分是空的。然后把该消息放入其他消息的消息体中传给接收者。这样接收者解密该消息后就知道返回路径的第一个节点。返回路径上的每一个节点对该消息解密后就知道下一个节点。这样,接收者就可以匿名地向发送者应答消息了。Babel 邮
15、件系统 11进一步讨论了匿名应答地址;而Cypherpunk12和 Mixminion3邮件系统则实现了它。遗憾的是 Mixmaster 邮件系统 2不支持匿名应答地址。MIX 研究中的另外一个重要内容就是重加密MIX 的研究。早在 1993 年 Park 等人就在文献13中指出原始 MIX 中所采用的分层加密方法存在消息的长度会随着路径的增 长 而 变 大 的 缺 点 , 并 提 出一 种 重 加 密 MIX 的 思 想 。 之 后 很 多 学 者 对 此 展 开 了研 究 , 2004 年 Golle 等 人 采 用 了 一 种 十 分 巧 妙 的 方法 对 重 加 密 MIX 进 行 了
16、 扩 充 , 使 得 在 重 加 密 的 过程中不需要知道消息加密时所使用的公钥。这种方案 称 为 通 用 重 加 密 ( URE, universal re-encryption) 14。通 用 重 加 密 MIX 方 案 省 却 了 重 加 密 过 程 中 秘 钥 分发 与 管 理 的 复 杂 操 作 , 因 此 在 匿 名 通 信 1517中得到了应用。3 延迟不敏感 MIX 系统电子邮件系统是匿名技术的主要应用之一。MIX 匿名技术发展的最典型例子是从 1996 年开始的匿名邮件技术的研究。历经 10 余年的发展,MIX 匿名邮件系统已经由最初的 1996 年的 I 型系统发展为如今的
17、 III 型系统。新的匿名邮件系统在保留原有系统优点的基础上不断提出新的特性并不断增强安全性。Cypherpunk 邮件转发器 12也称为类型 邮件转发器,它比类型 0 邮件转发器(anon.penet.fi)更加安全。首先,类型邮件转发器不再支持假名,不存在秘密身份表,尽量不记录转发的邮件,这减少了“事后追踪”的风险。其次,它采用邮件链以取得更强的安全性。邮件链是指邮件经过好几个匿名转发器,以使得第二个邮件转发器只能看到第一个转发器的地址,而看不到发送者的地址。其优点是要追踪到消息的发送者,攻击者必须控制邮件链上的所有转发器。类型邮件转发器实质上已经采用了 Chaum MIX 的一些思想,目
18、前仍然在为用户提供匿名保护。Mixmaster 邮件转发器也称为类型邮件转发器。它扩展了类型邮件转发器 2,增强了抗攻击性。Mixmaster 只支持发送者匿名,用 Babel 的术语来说,就是只有转发路径。在版本 2 中,通过哈希值来保护 RSA 加密的消息头的完整性。在版本 3 中,随机噪声是利用转发器和发送者之间的共享秘密生成的。因为发送者可以预知随机噪声,因此在消息头中包含一个用于保护消息头和消息体的完整性的哈希值是可能的。然而,由于发送者并不知道接收者的应答内容,因此无法构造类似于上面的具有完整性保护的应答地址消息。Mixmaster 缺乏对匿名邮件的应答,即当用户收到一封匿名邮件时
19、,他不知道该向谁应答。Mixminion 邮件转发器 3也称为类型 邮件转发器。它采用了一种称为 SURB(single-use reply block)的匿名应答地址,使得应答具有和发送相当的安全性。MIX 节点无法分辨出转发消息(forward message)和应答消息(reply message) ,因此这两类消息具有相同的匿名集合。它通过目录服务器向用户提供其他节点的公钥和性能统计。另外,它采用 TLS 进行链路加密并提供假名服务。Babel11是 20 世纪 90 年代中期设计的匿名邮件系统,通过转发路径(forward path)和返回路径(return path)分别取得发送者
20、匿名和接收者匿名。转发路径和返回路径都是通过发送者采用分层加密的方法构建的。尽管转发路径的匿名性与Chaum MIX 的相当,但是返回路径的匿名性却稍弱一些。Babel 还提出一种称为绕路转发(inter-mix detours)的 MIX 系统。其意思是 2 个 MIX 节点之间的消息被再次进行分层加密,绕道经过一条随机的路径。即使是消息的发送者也无法分辨出被再次进行分层加密的消息。Babel 这样做的目的是想延长匿名路径,以进一步提高匿名性,然而其开销是很大的。4 延 迟 敏 感 MIX 系 统4.1 ISDN mixes、Real Time mixes 和 Web Mixes1991 年
21、,Pfitzmann 等人设计了一个系统以匿第 12 期 陆天波等:MIX 匿名通信技术研究 111名化 ISDN 电话会话 18。从工程的角度来说,该设计是很实用的,因为它满足了 ISDN 网络的要求。后来该设计被进一步扩展,形成了一个支持延迟敏感匿名通信的框架,称为 Real Time mixes19。最后,在 ISDN 和 Real Time mixes 中的许多设计思想被用到了匿名的 Web 访问上,形成了今天的Web Mixes20。Web Mixes 中的客户端匿名代理就是我们熟知的 JAP(http: /anon.inf.tu-dresden.de) ,因此习惯上也把 Web M
22、ixes 称为 JAP。所有这 3个设计都是由德累斯顿匿名社团(dresden anonymity community)完成的。三篇文章中都假定攻击者能力很强。攻击者不但能够观察网络中的所有通信,而且可以延迟、注入和删除消息,甚至可以控制除开某个 mix 节点之外的所有 mix 节点。尽管其他的设计,如Babel 和 Mixmaster 等都采用自由路由(free route)的网络拓扑结构,ISDN mixes、Real Time mixes 和 Web Mixes 却都采用了 mix 级联(mix cascade)的拓扑结构。这样做的好处是不需要在消息中捆绑路由信息,而且可以阻止一些交叉攻
23、击 21。ISDN mixes 和 Real Time mixes 把 MIX 的思想扩展到了大容量数据流环境中,该扩展尽量保持了 Chaum MIX 的安全性。然而,尽管在电信网络中 ISDN mixes 和 Real Time mixes 的思想是很实用的,它们并没有被广泛的应用到现代 IP 网络中。Web Mixes 包括 Java 语言实现的客户端工具 JAP和 C 语言实现的一个 MIX 网络。Web Mixes 假定了非常强的攻击模型,使用了 MIX 级联以抵抗复杂的通信流分析,但是目前 Web Mixes 系统的抗攻击能力并不如作者所声称的那样好。4.2 Top-and-go m
24、ixes 和 FreedomBabel、 Mixmaster 和 Mixminion 都采用缓冲池的办法对消息进行批量转发(batching) 。Stop-and-go mixes (sg-mix)提出了一种新的基于延迟的转发策略,它的目的是尽量减少(n 1)攻击的可能性22。 sg-mix 中的每一个数据包都包含一个延迟时间和一个时间窗口。延迟时间是由发送者根据指数分布选择的,时间窗口可以根据所有的延迟时间计算出来。每收到一个消息,MIX 节点就检查该消息是否在规定的时间窗口内收到,如果是,则根据给定的延迟时间进行延迟,然后把该消息转发给下一个 MIX 节点或接收者;如果不是,则抛弃掉该消息
25、。sg-MIX 采用 M/M/排队模型对其匿名性进行了详细的分析。Daz 和 Sassaman 等人 23通过观察实际通信流指出该分析是不正确的。此外,实际中很难达到 sg-mix 所要求的时钟同步。Freedom 系统 24,25是由零知识系统(zero-knowledge system)公司开发的用于隐私保护(主要是 Web 浏览)的工具。它由 Freedom 网络,Freedom 客户端和 Freedom 服务器端组成。Freedom 网络是架构于 Internet 之上的一个重叠网络,它采用分层加密和假名机制,对用户的 IP 地址、邮件地址及其他的身份信息进行隐藏,以抵抗监听者和别的侵
26、犯用户隐私的企图。同一个用户可以拥有多个假名,Freedom 能保证多个假名之间的不可关联性。Freedom 网络中的节点称为AIP(anonymity internet proxie) ,路 径 的 长 度 ( 节点 数 ) 是 由 用 户 在 Freedom 客 户 端 中 设 定 的 安 全 级别 决 定 的 。 Freedom 网 络 的 拓 扑 不 是 固 定 的 , 当 节点 收 到 客 户 端 发 来 的 建 立 路 径 请 求 时 , 节 点 可 与 其他 任 何 节 点 通 信 。 系 统 告 诉 客 户 端 Freedom 网 络 的拓 扑 结 构 , 以 简 化 路 径
27、选 择 过 程 。 该 拓 扑 是 仅 仅 根据 AIP 之 间 的 性 能 得 出 的 。Freedom 客户端的主要功能是对用户的数据流进行劫持并过滤和还原数据流。主要是过滤、加密、创建路径和假名管理。客户端劫持用户产生的数据包(包括 IP、TCP 和 UDP 包) ,并清除其中的一些信息,如 IP 地址、TCP 和 IP 校验和等,然后加密数据包,以假名发送。对于流向用户的数据流,执行相反的操作。客户端支持下列协议:HTTP、SMTP、POP、SSL 、IRC、NNTP 和Telnet 等。Freedom 服务器端节点可由零知识系统或第三方控制(即第三方可申请加入该网络) ,节点把自己的
28、签名密钥和加密密钥提交给零知识系统,以便于分发给其他节点。零知识系统并不知道节点的私钥,从而确保只有节点本身才能对流经它的数据包进行解密。服务器端还提供基础服务以保证 Freedom 网络的运行,包括公钥、假名的创建和更新、网络信息报告和邮件服务等。在版本 1.0 中,一条 MIX 路径总是使用 3 个AIPs,系统中的所有数据包长度一样,并且使用了掩饰流以抵抗通信流分析。在版本 2.0 中,MIX路径节点被减少到 2 个,数据包长度可变,并且112 通 信 学 报 第 28 卷不再使用掩饰流,原因是为了抵抗通信流分析而消耗过多的带宽不值得。另外,AIP 并没有采用复杂的转发机制,而是采用 F
29、IFO 的方式转发数据包,因此,Freedom 很难抵抗复杂的通信流分析。4.3 Onion routing 和 TorOnion routing 4, 5是美国海军研究实验室(NRL, naval research laboratory)主持开发的基于通道的 MIX 网络。它不像基于消息的 MIX 网络那样,对每个数据包都进行单独的路由,而是第一个数据包建立一条通道,随后的数据包都沿着这条路径进行传递,最后一个数据包关闭该通道。Onion Routing 系统使用了定长的数据包和掩饰流以抵抗复杂的通信流分析。Onion Routing 的一个研究结果是如果不使用掩饰流,那么 MIX 网络将很
30、难抵抗复杂的通信流分析。第一代 Onion Routing 系统于 2000 年 1 月关闭,但它提供了一些很有意义的实验结果;随后,开始了第二代Onion Routing 系统的研究,但是该系统已不再向公众开放。Tor6是由 Free Haven 工程组设计开发的新一代 Onion routing 系统,它支持匿名的 Web 浏览、即时通信、IRC、SSH 等。与 Onion Routing 相比,Tor 增加了安全的秘密转发、拥塞控制、目录服务器、完整性校验以及可变的边缘策略等。Tor 没有采用掩饰流,原因是它认为掩饰流是不经济的,而且也没有足够的理由说明掩饰流能够提高匿名性。4.4 Pi
31、peNet基于 Chaum 的 MIX 网络,Dai 提出了一种称为 PipeNet9的隐私保护理论架构。与匿名邮件转发器类似,PipeNet 由分布在 Internet 上的数据包转发节点构成。用户发出的数据包经过多次加密后沿着一条匿名链路到达目标节点。PipeNet 只是一种理想化的架构,从来没有实现过,也没有详细的说明。它自身的以下缺点使得该网络很不实用:1)PipeNet 中所有链路上的数据流是恒定的。这通常是通过添加大量的掩饰流来实现的。2)包的丢失或延迟对网络的影响是很严重的。PipeNet认为任何的包延迟都是一种潜在的攻击,所以它把包延迟传递到整个网络,以阻止攻击者利用包延迟进行
32、攻击。但同时这也意味着任何通信都将被阻断,整个网络将暂时处于“休眠”状态。5 P2P MIX 系统Chaum 曾指出 1,如果每个用户都是一个MIX 节点,则网络的安全性将得到提高。近年来,P2P 技术的发展促使人们研究 P2P MIX 网络。P2P系统要求每个匿名用户同时也是服务器,为其他用户提供匿名服务。这意味着经过一个节点的消息可能是源于该节点,也可能是源于其他节点,很难决定是这两种情况中的哪一种。P2P 系统的另一个特点是攻击者没有明确的攻击目标,在一个大规模的环境中,任何一次通信都可能包含许多潜在的用户。另外,P2P 系统具有较好的可扩展性和柔性,可以在节点之间进行负载均衡,不存在单
33、失效点等优点。目前为止,已有的 P2P MIX 系统都是延迟敏感的。但是 P2P 系统也面临着许多挑战。首先是加入控制(admission control) ,系统很难知道加入的节点是否是恶意节点,是否被攻击者控制等。这样,一个能力强的攻击者,例如 FBI,可以向系统中插入大量被其控制的节点,以进行通信流分析。而对加入系统的节点进行身份认证又与匿名性这一目标相违背。其次是 P2P 系统的动态性很强,许多节点在网络中的时间不长,频繁地加入和离开系统。这一现象已经在文件共享的 P2P 系统中得到了体现。当一个节点加入系统时,它需要为系统中其他节点形成路径,这可能会带来一些安全问题;当一个节点离开时
34、,该节点所在路径的那些用户必须等待新路径的形成。节点加入和离开系统的另一个问题是节点必须知道网络中的一些其他节点。而 P2P 系统不断变化的匿名集合又给这一问题增添了困难。最后,P2P 系统中各个节点的性能有差异,尤其是在一个开放的环境中。这导致了一些问题,例如,一个性能差的节点会降低其所在路径的效率,即使路径上其他节点的性能很好。性能差异还可能有利于攻击者进行时间分析,因为攻击者可以从一条路径上的不同的延迟获得一些相关的信息。前面所讨论的 Onion Routing, Freedom 等都是有中心的 P2P 匿名网络。5.1 Tarzan 和 MorphMixTarzan7是由 MIT 提出
35、的一个 IP 层匿名协议,独立于应用层。它使用了掩饰流以抵抗通信流分析。一个节点与其他的一部分节点之间发送和接收均匀的掩饰流。Tarzan 采用了 UDP 机制来封装第 12 期 陆天波等:MIX 匿名通信技术研究 113数据包,它的路径长度是变化的。考虑到节点的性能差异,Tarzan 使用了分级的掩饰流机制,对性能差的节点,使用低级的掩饰流,这样就不会对整个系统的性能造成大的影响。Tarzan 还使用了分级的路由选择办法来解决加入控制问题。MorphMix8是由瑞士联邦学院提出的一个应用层协议,节点间使用了 TCP 机制。它没有采用掩饰流,原因是它认为在一个大的动态环境中,攻击者进行通信流分
36、析的难度很大。并且它还认为使用掩饰流不会提高系统的抗攻击性。MorphMix 中路径上的节点是由其上一跳节点选择的,而不是完全由 发 送 者 选 择 的 。 因 此 中 间 节 点 可能 会 选 择 恶 意 节 点 以 欺 骗 发 送 者 。 MorphMix 设 计 了一 种 冲 突 检 测 办 法 ( collusion detection mechanism)来 解 决 该 问 题 , 但 没 有 从 理 论 上 说 明 该 检 测 办 法 的可 行 性 。 Tabriz 和 Borisov 展 示 了 对 该 冲 突 检 测 办 法的 攻 击 26。5.2 I2P 和 FreenetI
37、2P 是位于 IP 层的一个匿名网络,除了支持UDP 之外,还为其上的可靠的流传输(如 TCP)提供了库函数。I2P 是一项工程而不是一个研究项目,其目的是为需要匿名的人提供保护。为了匿名地传递消息,在 I2P 网络中,每个用户都有两个通道输入通道(inbound tunnel)和输出通道(outbound tunnel)。当用户 Alice 想要发送消息给另一个用户Bob 时, Alice 把消息沿着某条输出通道发出,目的地是 Bob 的某条输入通道。消息再沿着 Bob 的输入通道传递到 Bob。用户自己根据匿名性、延迟、吞吐率等决定自己通道的长度。为了便于查询用户的输入通道,I2P 采用分
38、布式散列表(DHT, distributed hash table)构建了一个完全分布式的网络数据库。Freenet27起源于英国爱丁堡大学教授 Ian Clarke 主持的一个自适应点对点网络的项目,其主要目标为:1)确保信息的匿名发布和匿名使用;2)信息存储者的可否认性;3)防止第三方的DoS 攻击;4)高效的信息动态存储和路由;5)分布式。Freenet 由分散的多个节点组成,不存在中央服务器的概念。信息的存储是加密的,即使是节点的维护者也无法仅依据本地信息了解自己的节点上有什么信息。Freenet 中的文件是通过关键字(key)进行标识的。用户也是通过关键字对文件进行搜索和存储。5.3
39、 WonGooWonGoo 是由我们设计的一个 P2P 匿名重叠网络 17, 2830, 由 多 个 WonGoo 节 点 组 成 。 它 的 基本 功 能 是 对 数 据 进 行 转 发 以 便 为 用 户 提 供 匿 名 保护 。 WonGoo 吸 取 了 MIX 和 Crowds31, 32的 优点 , 保 留 了 MIX 抗 攻 击 性 强 和 Crowds 效 率 高的 优 势 , 增 加 了 协 议 的 正 确 性 保 证 。 它 通 过 分 层加 密 和 随 机 转 发 取 得 强 匿 名 和 高 效 率 , 提 供 与 应用 独 立 的 、 实 时 双 向 匿 名 通 信 服
40、务 , 是 匿 名 和 效率 的 折 中 。WonGoo 从本质上讲是一个基于通道的采用随机转发的 MIX 重叠网络,所有节点都是对等的。每一个加入 WonGoo 系统的节点自身都可以借助其他节点建立一条通道以进行匿名通信;但同时也可以成为别的节点所建立通道的一部分,为他们转发数据。一个节点 X 用它的公用 IP 地址进行标识。假定 WonGoo 中所有节点都有公用 IP 地址。每个节点在两个端口 PORTapp 和 PORTwongoo 进行监听。前者负责监听来自应用层的 TCP 数据流,后者负责监听来自其他 WonGoo 节点的 TCP 连接。节点可以随时加入或离开网络,因此不是必须一直参
41、加 WonGoo 协议。假定在任意时刻任意一个节点都知道其他一些节点的信息,例如 IP 地址、公钥以及 WonGoo 正在倾听的端口号等。图 3 描绘了 WonGoo 的基本思想。假设Alice( A)想要匿名的发送一个消息 m 给Bob(B) ,Alice 首先选择节点 C、D 和 E,然后利用它们 3 个的公钥逐层加密消息 m 并依据概率发送给 C。C 收到该消息以后,利用自己的私钥解密就知道下一个节点 D。C 进行抛币以决定是把该消息发送给 D 还是发送给一个随机选择的节点F,结果 C 把该消息发给了 F 并告诉 F 下一跳是D。每个节点收到该消息后都进行抛币以决定是直接把该消息发送给下
42、一个节点还是发送给一个随机选择的节点。由 Alice 事先选择的节点 C、D 和E 会对收到的消息进行分层解密,而随机选择的节点 F、G 和 H 不对收到的消息进行分层解密,只是转发。114 通 信 学 报 第 28 卷图 3 WonGoo 的思想 ( 表示转发给下一个节点的概率, 表示fp1fp转发给一个随机选择的节点的概率)图 4 进一步描绘了 Alice 是如何访问 Web 服务器的。节点 A(Alice) 、C、D、 J、 B(Bob)构成了 WonGoo 对等网络。假定节点 A 想要访问 Web 服务器,则它通过分层加密和随机转发建立一条通道 ACFGDEHB,然后沿着该通道就可以访
43、问服务器。当然,如果已经有建立好的通道,A 也可以不用再建立通道,而是沿着已有的通道访问服务器。通道上的第一个节点 A 是发送者,或者称为通道的建立者。最后一个节点 B 是接收者,或者称为末端节点。中间的节点 C、F、G、D、E 和 H 称为中间节点。发送者和接收者被统称为终端节点。就像其他 MIX 网络一样,被匿名访问的服务器并不是 WonGoo 的组成部分,通道在末端节点 B 结束,而不是在服务器。一条通道上的节点数称为通道的长度,图 4 中通道的长度是 8。如果通道的长度大于 3,则有多个中间节点。图 4 WonGoo 网络(相邻节点之间的连接都进行了链路加密)6 结束语匿名是 Inte
44、rnet 上保护用户隐私的一种重要而有效的手段,它通过一定的方法将通信流中的通信关系加以隐藏,使攻击者无法获知双方的通信关系或通信的一方。对于 Internet 上的一些应用而言,匿名已经成了基本的需求。此外,匿名通信在军事机构、执法机关以及情报和反情报机关等安全性要求很高的环境中有着很重要的用途。现今 MIX 技术已成为主流的匿名通信技术,并有了一些实用的系统,下一步工作的一个方向是分析MIX 技术的安全性。WonGoo 是 Internet 上兼顾匿名和效率的可扩展的实用 P2P 匿名通信协议。它吸取了 MIX 抗攻击性强和 Crowds 效率高的优点,增加了协议的正确性保证,通过分层加密
45、和随机转发取得了强匿名和高效率。参考文献:1 CHAUM D. Untraceable electronic mail, return addresses and digital pseudonymsJ. Communications of the ACM, 1981, 24(2):84-88.2 MLLER U, COTTRELL L, PALFRADER P, SASSAMAN L. Mixmaster protocol - version 2. DraftEB/OL. http:/ www. 2003.3 DANEZIS G, DINGLEDINE R, MATHEWSON N. Mi
46、xminion: design of a type III anonymous remailer protocolA. Proceedings of the 2003 IEEE Symposium on Security and PrivacyC. Oakland, California, USA, 2003.2-15.4 GOLDSCHLAG D, REED M, SYVERSON P. Hiding routing informationA. Proceedings of Information HidingC. U K, 1996. 137-150.5 GOLDSCHLAG D, REE
47、D M, SYVERSON P. Onion routing for anonymous and private Internet connectionsJ. Communications of the ACM, 1999, 42(2): 39-41.6 DINGLEDINE R, MATHEWSON N, SYVERSON P. Tor: the second-generation onion routerA. Proceedings of the 13th USENIX Security SymposiumC. San Diego, CA, USA, 2004. 303-320.7 FRE
48、EDMAN M J, MORRIS R. Tarzan: a peer-to-peer anonymizing network layerA. Proceedings of the 9th ACM Conference on Computer and Communications SecurityC. Washingtion, DC, USA, 2002. 193-206.8 RENNHARD M, PLATTNER B. Introducing MorphMix: peer-to-peer based anonymous Internet usage with collusion detec
49、tionA. Proceedings of the Workshop on Privacy in the Electronic SocietyC. Washington, DC, USA, 2002. 91-102.9 DAI W. PipeNet 1.1EB/OL. http:/ pipenet.txt, 1996.10 PFITZMANN A, PFITZMANN B. How to break the direct RSA- implementation of MIXesA. Proceedings of Eurocrypt89C. Houthalen, Belgium, 1989. 373-381.11 GLC C, TSUDI