概述
本页面描述了 I2P 单向 tunnel 的起源和设计。更多信息请参见:
评审
虽然我们没有发现任何关于单向 tunnel 优势的已发表研究,但它们似乎使得检测请求/响应模式变得更加困难,而这种模式在双向 tunnel 上是很容易被检测到的。一些应用程序和协议,特别是 HTTP,确实以这种方式传输数据。让流量沿着相同的路由到达目的地并返回可能会让仅拥有时序和流量数据的攻击者更容易推断出 tunnel 所走的路径。让响应通过不同的路径返回可以说会增加推断的难度。
在处理内部对手或大多数外部对手时,I2P的单向tunnel通过简单观察流量本身,暴露的流量数据比双向电路少一半 - 在Tor中HTTP请求和响应会走相同路径,而在I2P中构成请求的数据包会通过一个或多个出站tunnel发出,构成响应的数据包会通过一个或多个不同的入站tunnel返回。
使用两个独立的 tunnel 分别处理入站和出站通信的策略并非唯一可用的技术,而且确实会对匿名性产生影响。积极的方面是,通过使用独立的 tunnel,减少了暴露给 tunnel 参与者进行分析的流量数据 - 例如,来自网页浏览器的出站 tunnel 中的节点只能看到 HTTP GET 的流量,而入站 tunnel 中的节点只能看到通过 tunnel 传输的有效载荷。使用双向 tunnel 时,所有参与者都能获得这样的信息:比如一个方向发送了1KB,然后另一个方向发送了100KB。消极的方面是,使用单向 tunnel 意味着需要分析和考虑两组节点,并且必须格外小心应对前驱攻击速度增加的问题。tunnel 池化和构建过程(节点选择和排序策略)应该将前驱攻击的担忧降到最低。
匿名性
Hermann 和 Grothoff 的论文 声称 I2P 的单向 tunnel “似乎是一个糟糕的设计决定”。
这篇论文的主要观点是,在单向tunnel上进行去匿名化需要更长时间,这是一个优势,但攻击者在单向情况下可以更加确定。因此,论文声称这根本不是优势,而是劣势,至少对于长期运行的I2P站点来说是如此。
这个结论并未得到论文的完全支持。单向隧道明显能够缓解其他攻击,而且不清楚如何在论文中描述的攻击风险与双向隧道架构遭受的攻击之间进行权衡。
这个结论基于任意的确定性与时间权衡(折衷),可能不适用于所有情况。例如,某人可能制作一个可能IP列表,然后对每个IP发出传票。或者攻击者可能依次对每个IP进行DDoS攻击,并通过简单的交集攻击来观察I2P Site是否宕机或变慢。因此,接近可能就足够了,或者时间可能更重要。
这个结论基于对确定性与时间重要性的特定权重,而这种权重可能是错误的,并且绝对是有争议的,特别是在现实世界中存在传票、搜查令和其他可用于最终确认的方法的情况下。
对单向与双向 tunnel 权衡的全面分析显然超出了本文的范围,并且在其他地方也没有进行过。例如,这种攻击与已发表的关于洋葱路由网络的众多可能的时序攻击相比如何?显然作者们没有进行这样的分析,即使有可能有效地进行这样的分析。
Tor使用双向tunnel并经过了大量学术审查。I2P使用单向tunnel但审查很少。缺乏为单向tunnel辩护的研究论文是否意味着这是一个糟糕的设计选择,还是只是需要更多研究?时序攻击和分布式攻击在I2P和Tor中都难以防御。设计意图(见上述参考文献)是单向tunnel对时序攻击更有抵抗力。然而,该论文提出了一种稍有不同的时序攻击类型。这种攻击,尽管具有创新性,是否足以将I2P的tunnel架构(进而将I2P作为整体)标记为"糟糕的设计",并暗示明显不如Tor,还是它只是一种明显需要进一步调查和分析的设计替代方案?有几个其他原因可以认为I2P目前不如Tor和其他项目(网络规模小、缺乏资金、缺乏审查),但单向tunnel真的是一个原因吗?
总结来说,“糟糕的设计决定"显然是(因为论文并未将双向 tunnel 标记为"糟糕”)“单向 tunnel 明确不如双向 tunnel"的简写,然而这一结论并未得到论文的支持。