我对客户端上 Tor 的数据包解密有点困惑。
我知道如果客户端使用 Tor 向 Web 服务器发送请求,该请求将被加密几次,然后发送到 Tor 中继。中继将使用其私钥解密一层,当请求到达出口节点时,最终将被完全解密。
但问题是,在返回路径上,对这个问题的回答说相同的加密方式(我也在添加显示下面概念的图像)也用于返回路径;因此,当数据包到达客户端时,它们将被加密。在不知道中继的私钥的情况下,客户端如何解密从服务器接收到的数据包?
显示 Tor 概念的图像
我对客户端上 Tor 的数据包解密有点困惑。
我知道如果客户端使用 Tor 向 Web 服务器发送请求,该请求将被加密几次,然后发送到 Tor 中继。中继将使用其私钥解密一层,当请求到达出口节点时,最终将被完全解密。
但问题是,在返回路径上,对这个问题的回答说相同的加密方式(我也在添加显示下面概念的图像)也用于返回路径;因此,当数据包到达客户端时,它们将被加密。在不知道中继的私钥的情况下,客户端如何解密从服务器接收到的数据包?
显示 Tor 概念的图像
无需知道中继的密钥即可解密它们发回的数据。TOR 的工作方式与 SSL/TLS 相同:当您通过 HTTPS(基于 SSL/TLS 的 HTTP)连接到 Web 服务器时,您无需知道服务器的密钥即可解密从服务器接收的数据,这是因为在 SSL 握手阶段,您的浏览器和服务器商定了一个对称加密密钥,该密钥随后将与对称密钥密码(例如,AES)一起使用。TOR 的工作原理相同,在某种程度上,它就像在另一个内部拥有三个 SSL 连接(尽管不完全是……)。