洋葱路由与人群

信息安全 匿名 洋葱路由
2021-09-03 08:18:57

我一直在研究计算机安全,在某个时候我遇到了洋葱路由人群的术语。据我了解,它们的用法非常相似(可互换)。

是否有任何特定情况下有人想更好地使用其中一种?

2个回答

Crowds 和 Onion Routing 都用于创建匿名网络,但以两种不同的方式实现。

洋葱路由

基本操作

像 Tor 这样的匿名网络依赖于通过多个节点,每个节点都添加了一层加密。当节点进入网络时,该电路是随机预先确定的。当数据通过每个节点时,一层会被剥离(像洋葱一样),直到退出节点。发送的数据在“清除1 ”中转发到其目的地。只要在到达目的地的电路中至少有三个节点,就没有一个节点立即知道数据的来源目的地。这就是实现匿名的方式,但请记住Tor 不保证安全性

密钥分配

Tor 使用自己的协议来协商每一跳的对称密钥。这是通过从电路中的每一跳请求会话密钥来完成的。然后节点以使用公钥密码术加密的会话密钥进行响应(我相信 Tor 使用 Diffie Hellman)。使用每个电路节点的密钥,现在可以加密数据。它首先使用最后一个节点的密钥进行加密,然后将加密向后分层,最后使用第一个节点的密钥进行最后一层加密。

人群

基本操作

使用 Crowds,用户将加入人群这是使用用户机器上的客户端Jondo(John Doe,明白了!)来完成的。要加入人群,您需要通过一个名为blender的服务器。以下是 Wiki 页面的摘录:

每个用户通过在 搅拌机上注册自己来加入其他用户群,搅拌机是负责会员管理的单一服务器当用户注册时,会通知人群中的所有其他成员。混合器还负责密钥分发,因为它将对称密钥分发到单独的 jondo 对,用于加密和解密,分别沿着虚拟路径路由的数据包。

因此,一旦您在人群中,您就可以提出请求,并且请求将随机(均匀概率)选择一个 jondo 来转发请求。此时,掷硬币(形象地说,可能等于P f > 0.5)用于转发到另一个随机节点或转发到目的地。从这个意义上说,请求与通过 jondos 的所有其他请求混合在一起。每个节点都记录前任,以创建从源到目的地的隧道。由于硬币翻转,每个节点都无法判断消息是否源自其前身。

密钥分配 根据白皮书(链接如下):

要使用搅拌机(以及人群),用户必须在搅拌机上建立一个帐户,即搅拌机存储的帐户名和密码。当用户启动 jondo 时,jondo 和搅拌机使用此共享密码来验证彼此的通信。作为该通信的结果(如果搅拌机接受 jondo 进入人群;参见第 8.2 节),搅拌机将新的 jondo(即其 IP 地址、端口号和帐户名)添加到其成员列表中,并且将此列表报告回 jondo。此外,搅拌器生成并报告共享密钥列表,每个共享密钥都可用于验证人群中的另一个成员。

它还指出,在未来的版本中(目前不确定什么是未来版本)它将使用 Diffie Hellman 进行密钥分发。

我们预计,在 Crowds 的未来版本中,jondos 将使用 Diffie-Hellman 密钥交换 [Diffie and Hellman 1976] 建立共享密钥,其中混合器仅用于分发人群成员的 Diffie-Hellman 公钥。这将消除目前对混合器生成密钥的依赖。

差异

这里的区别在于,对于 Crowds,每对节点都有一个不同的对称密钥,用于加密节点之间的数据。为将加密实际请求和响应的每条路径建立一个路径密钥。这是通过使用每对节点的对称密钥沿路径转发的。但是这里没有分层由于 Crowds 的随机性,您不会希望将数据加密 10 次。延迟可能会失控。

此外,Tor 不需要帐户来建立与网络的初始连接。现在,一旦 Crowds 开始使用 DH,此帐户可能不再需要,并且可以匿名2连接到人群。

另一个主要区别是如何选择电路。而 Tor 依赖于选择 3 个 Crowds 的电路,依赖于随机性来确定采用多少节点。可能是 2、3 或 15。取决于掷硬币的次数。


就用例而言,它们都是匿名技术。从这个意义上说,它们是可以互换的,但它们是匿名网络的非常不同的实现。我认为这更像是您选择使用哪一个的偏好。显然,必须创建一个帐户才能使用 Crowds 服务可能是一个劣势,但也许您更喜欢其电路的随机性。任何一个都适合目的,这取决于你的舒适程度,以及你最终喜欢什么。

每个协议的详细信息

人群白皮书 (PDF)
Tor 白皮书 (PDF)


1 清除定义为数据最初是如何从源发送的。如果此数据已加密,则从技术上讲它不是纯文本,但 Onion Routing 不会对通过电路传递的数据进行加密。

2通过匿名我的意思是不考虑那些可能的用户链接到一个特定的人群。

我认为 Tor 实现的洋葱路由是一种“人群”实现(我相信您指的是 Moxie 等与人群共享的谷歌? - 如果不是,请纠正我)。

人群通常会从终点保护您的身份,在谷歌共享示例中,谷歌,但当然,在大多数情况下,您会将这种信任转移给另一个第三方。

如前所述,Tor 是一种人群实现,退出节点是发生人群的地方。这有一个额外的增强,即出口节点通常也无法知道您的身份(除非您正在做/感染了损害隐私的事情)。