洋葱路由原理——三层加密如何隐藏你的真实 IP
为什么叫"洋葱"
洋葱路由的名称来自它的工作方式:流量像洋葱一样被一层层加密,每经过一个中继节点就剥开一层。最后到达目标服务器时,外层加密已经被全部剥离,但目标服务器只看到最后一个中继节点(出口节点)的 IP,看不到你的真实 IP。
一次完整的 Tor 请求流程
你的电脑 → 入口中继 → 中间中继 → 出口中继 → 目标网站
① ② ③ ④ ⑤
具体发生了什么
第一步:电路构建
Tor Browser 启动后,会与 Tor 网络的目录服务器通信,拿到当前可用的中继列表。然后从中随机挑选三个中继,建立一条从本机出发到出口节点的加密电路。每个中继只能看到它的上一跳和下一跳,整条链路的全貌没有任何单一节点知道。
第二步:三层加密
当你发送一个请求(比如打开网页),数据会被层层包裹加密:
外层加密(给入口中继看)
中层加密(给中间中继看)
内层加密(给出口中继看)
目标:example.com 的 HTTP 请求
第三步:逐跳解密
请求到达入口中继时,它解开最外层加密,看到的是"把这个包转发到中间中继"。中间中继解开中层,看到"把这个包转发到出口中继"。出口中继解开最后一层,才能看到真正的目标网站地址,然后以自己的名义发出请求。
第四步:回程反向加密
网站响应先回到出口节点,出口节点在外面套一层加密发回中间节点……如此逐层包裹,最终回到你的电脑时被完整解密。
关键安全保证
没有人能同时知道两端
- 入口中继知道"谁在使用 Tor"(你的 IP),但不知道你访问了什么
- 出口中继知道"谁在访问什么"(目标网站和请求内容),但不知道请求来自哪里
- 任何单一节点被攻破,攻击者最多只能知道一端的信息
电路会轮换
Tor 默认每 10 分钟自动重新构建一条新的电路。即使攻击者能暂时监控某条路径,也很难长时间追踪同一用户。
威胁模型
能抵抗什么
- 你的 ISP 看到你连接 Tor,但看不到你访问了什么
- 网站看到出口中继 IP,看不到你的真实 IP
- 网络中游的攻击者无法解析加密内容
- 单个 Tor 中继节点被攻陷(因为每个只看到一跳)
不能抵抗什么
- 全球流量分析攻击者:如果能同时监控你的流量入口和某个出口节点的流量,通过时序分析可能关联
- 出口节点攻击:出口节点之后流量不加密(HTTP 明文),恶意出口节点可以嗅探内容
- 浏览器指纹:如果 Tor Browser 被成功指纹识别,即使 IP 隐藏了也可能关联身份
- 你的自身行为:在 Tor 里登录 Google、访问带个人信息的账号,等于主动暴露
怎么验证自己走在 Tor 上
Tor 项目维护了 check.torproject.org——从 Tor Browser 访问这个站点会显示"恭喜,你在 Tor 网络上"的提示,并列出当前出口节点的国家 IP。这是排查连接是否成功的快速方法。
电路可视化
Tor Browser 内置了查看当前电路的功能:在地址栏输入 about:tor 会显示当前经过的三个中继节点的名称、国家和带宽信息。这能帮助你直观理解数据是如何在中继间流动的。