如果我在使用 Tor 时访问 HTTPS 网站,我的 IP 是否会暴露?

信息安全 tls
2021-08-28 20:27:05

HTTPS 是端到端的加密连接。鉴于此,我正在访问的网站是否知道我的原始 IP?该网站只能通过 HTTPS(不是未加密的 HTTP)访问。

4个回答

不,不会的。

问题是,当您在 TOR 上使用 HTTPS 时:

  1. 您使用服务器的公钥来加密您的消息(因此除了服务器之外没有人能够阅读您的消息)。
  2. 然后你将 HTTPS 消息(记住,它是用服务器的公钥加密的)传递给 TOR 节点,
  3. 这个TOR节点到另一个,另一个和......
  4. 最后,最后一个 TOR 节点会将您的加密 HTTPS 消息发送到服务器(包括您的会话密钥);服务器使用此密钥对响应进行加密,您将是唯一能够解密来自服务器的响应的人。1

所以图形应该如下:

---> "Tor message"  
===> "HTTPs message"
[T]  "Tor Node"
[S]  "Server"
[U]  "User"

[U]-->[T1]-->[T2]-->[T3]-->...[TN]==>[S]  
[S]==>[TN]-->...[T3]-->[T2]-->[T1]-->[U]

然而你的交流仍然是秘密的。

如果您想更多地了解您的连接是如何保密的,您可以在此页面中了解密钥交换

不,该网站不知道您的真实 IP 地址。这就是使用 TOR 的重点。如果您在该网站上有一个帐户并登录,他们会知道是您,但他们不会知道您的真实 IP 地址。

当您使用 tor 时,您正在通过中继。这些中继对它们之间的所有通信进行加密,如下所示:

在此处输入图像描述

正如图灵教授所解释的那样,使用 HTTPS 流量会像这样

---> "Tor Connection"  
===> "HTTPs Connection"
[T]  "Tor Node"
[S]  "Server"
[U]  "User"

[U]-->[T1]-->[T2]-->[T3]-->...[TN]==>[S]  
[S]==>[TN]-->...[T3]-->[T2]-->[T1]-->[U]

更多关于 tor的信息在这里

除了其他人的回答之外,还有另一个更简单的原因。IP 发生在第 3 层(IP 层),而 SSL 发生在第 6 层(会话层)。因此,我们数据包的 SSL 加密部分被 IP 层封装,这意味着您的 IP 地址本身不会被 SSL 加密(当然,除非您的应用程序具有沿 IP 发送的内置函数)。

Tor 实际上会剥离 IP 标头并沿路由更改它们(因为每个节点只知道前一跳和下一跳)。

HTTPS 是端到端的加密连接

这是真的,但在 Tor 模型中,实际的 TCP 连接在这个意义上并不是“端到端”的。

我解释您的问题的方式是,您想象一个 [不安全的] HTTP 会话将由 Tor 通过重写数据包以隐藏您的 IP 来保护。如果属实,那么在混合中引入 SSL 将使 Tor 无法读取,更不用说重写您的数据包了。

然而这里的关键是这不是 Tor 的工作方式。在 Tor 模型中,连接的责任留给链中的最终 Tor 设备;SSL 会话仍然在您的计算机上开始,因此您仍然受到端到端的保护,但无论如何都不需要进行任何“重写”,因此将 SSL 应用于有效负载不会丢失任何内容。