假设alice将她的公共PGP密钥发布在她的网站上,bob用该公钥加密一个小部件,然后通过Tor将其发送给alice。如果爱丽丝的密钥被广泛公开,并且攻击者要保存一张密钥=>标识的地图,那么如果攻击者操作您的入口节点,是否可以通过识别加密的密钥将发送方的IP与爱丽丝的身份关联起来(即使她正在使用Kali Linux匿名她的IP --如果有人关心的话,我认为这并不能完全隐藏您的身份)?在这里,我假设Tor服务器可以通过简单地跟踪常见的发送方I或其他聪明的方法来识别不太可能是Tor服务器的发送方。Tor协议在某种程度上保护了这一点吗?是否探索了将公共PGP密钥的身份与其加密的数据分离的方法?
发布于 2014-07-19 00:45:28
所以你的问题基本上是:
攻击者如果操作您的入口节点,难道不能通过识别加密的密钥将发送方的IP与接受者的标识关联起来吗?
否,因为入口节点不知道此键。简而言之,Tor客户端在将流量发送到入口节点之前对其进行加密,而入口节点无法读取它。要理解为什么,您需要了解一下Tor的工作原理:
您的Tor客户端选择三个节点:入口、中间和出口节点。每个Tor节点都有自己的公钥和标识符。假设入口节点有标识符0xC4,中间节点有0x13,出口节点有0x37。假设我们想要将Message传输到alice.example.net。
您的Tor客户端将首先使用退出节点的公钥加密Message和目标alice.example.net,假设这成为eu3AeShuC。
您的Tor客户端现在第二次加密这个加密的数据包eu3AeShuC (使用中间节点的公钥),添加新的目的地: 0x37。这个包现在是ho7cieRaqhe。
最后,您的Tor客户端使用入口节点的公钥第三次与另一个目的地(0x13)一起加密这些数据。这就变成了egoo4eiReeth2Ief。客户端将这个最后的数据包发送到入口节点。
入口节点接收egoo4eiReeth2Ief,用其私钥解密它,并获取ho7cieRaqhe和目标0x13。它将消息转发到0x13。
中间节点0x13接收它并使用其私钥解密数据包。它获取eu3AeShuC并找到另一个目的地: 0x37。它被转发到0x37。
最后,退出节点接收它,用它的私钥解密它,看到Message和目标alice.example.net,然后发送到那里。顺便说一句,这就是为什么在访问公共网站(.onion不同)或发送电子邮件时使用https的原因:退出节点看到的是互联网上的内容。
这当然是一个简化的模型,但它确实告诉我们每个节点知道什么:入口节点知道您的IP地址,因此它可以将您的IP地址关联到数据包之间,甚至访问。但它不知道你要送什么,也不知道你要派给谁。
中间节点从来没有任何线索。可怜的孩子。
如果未加密(例如使用https),以及发送给谁,退出节点将看到您要发送的内容,但不知道它来自何处。当然,如果您每次使用相同的PGP签名标识,退出节点将能够看到该标识,但是签名的意义不是证明它是您吗,即使这里的“您”是一个假名(而不是匿名的)?
以Tor和PGP为例:中本聪使用Tor和PGP。他通过PGP来证明自己的身份,但通过使用Tor隐藏了他的物理位置(从而隐藏了现实世界的身份)。我不相信地球上的任何人知道谁是中本聪,如果他(或她,或他们)不想让他们知道。如果你使用得当,Tor很擅长匿名,似乎中本聪就是这么做的。
https://security.stackexchange.com/questions/63463
复制相似问题