我一直在研究计算机安全,在某个时候我遇到了洋葱路由和人群的术语。据我了解,它们的用法非常相似(可互换)。
是否有任何特定情况下有人想更好地使用其中一种?
我一直在研究计算机安全,在某个时候我遇到了洋葱路由和人群的术语。据我了解,它们的用法非常相似(可互换)。
是否有任何特定情况下有人想更好地使用其中一种?
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 服务可能是一个劣势,但也许您更喜欢其电路的随机性。任何一个都适合目的,这取决于你的舒适程度,以及你最终喜欢什么。
每个协议的详细信息
1 清除定义为数据最初是如何从源发送的。如果此数据已加密,则从技术上讲它不是纯文本,但 Onion Routing 不会对通过电路传递的数据进行加密。
2通过匿名我的意思是不考虑那些可能的用户链接到一个特定的人群。
我认为 Tor 实现的洋葱路由是一种“人群”实现(我相信您指的是 Moxie 等与人群共享的谷歌? - 如果不是,请纠正我)。
人群通常会从终点保护您的身份,在谷歌共享示例中,谷歌,但当然,在大多数情况下,您会将这种信任转移给另一个第三方。
如前所述,Tor 是一种人群实现,退出节点是发生人群的地方。这有一个额外的增强,即出口节点通常也无法知道您的身份(除非您正在做/感染了损害隐私的事情)。