由于以下原因,这将变得非常使用: 这将使 Tor 能够更好地处理 VoIP 等新协议。 它可以解决应用程序 socks 端口化的整体需求。 出口中继也不需要为所有的出口连接分配大量的文件描述符。

我们正朝着这个方向努力,但存在一些困难的问题:

  1. IP 数据包泄露操作系统的特征。 我们仍然需要对 IP 层数据包进行规范化,以阻止类似 TCP 指纹分析攻击的事件。 鉴于 TCP 堆栈的多样性和复杂性,以及设备指纹分析攻击,最好的选择似乎是搭建我们自己的用户空间 TCP 堆栈。

  2. 应用层流仍然需要擦除。 我们仍然需要像 Torbutton 这样的用户端应用程序。 这样将不再是:在 IP 层捕获数据包并对其进行匿名化。

  3. 有些协议仍然泄露信息。 例如,必须重写 DNS 请求,以便将其传递到不可关联的 DNS 服务器,而不是用户 ISP 的 DNS 服务器;因此,我们必须了解所传输的协议。

  4. DTLS (TLS 数据报) 基本上没有人在使用了,而 IPsec 又很大。 一旦我们选择了传输机制,由于开始允许丢包、重发等,就需要设计新的端到端 Tor 协议,以避免标记攻击和其他可能的匿名性和完整性问题。

  5. 任意 IP 数据包的出口政策都意味着建立一个安全的入侵检测系统(IDS)。 节点运营者告诉我们,出口政策是他们愿意运行 Tor 的主要原因之一。 添加 IDS 控制出口政策会增加 Tor 的安全复杂性,而且很可能无论如何都不会成功,整个 IDS 和反 IDS 领域的论文都证明了这一点。 由于 Tor 只传输有效的 TCP 数据流(而不是任意的 IP 数据流,包括不正常的数据包和 IP 洪水),许多潜在的滥用问题都被解决了。 由于我们能够传输 IP 数据包,出口政策变得更加重要。 我们也需要在 Tor 目录中精简地描述出口政策,所以客户端才能够预测哪些节点能允许它们的数据包退出。 客户端在选择出口节点之前,也需要预测它们想要在一个会话中发送的所有数据包!

  6. Tor 内部的空间名称需要重新设计。 当传递地址给 Tor 客户端时,我们进行拦截,从而可以支持洋葱服务“.onion”地址。 在 IP 层这样做,需要在 Tor 和本地 DNS 解析器之间建立更复杂的接口。