Tor 路由解谜¶

把消息从左边的你送到右边的收件人,中间要自己挑 3 个中继组成路径。四个关卡各挡一次,每一关挡的都是 Tor 选路时真的要处理的一项限制。
怎么玩¶
画面上浮着的球是中继,颜色代表它所在的 ASN。依序点三个,就会照点选顺序组成 guard、middle、exit 三跳,再点一次可以取消。拖曳能旋转视角,滚轮或双指缩放。挑好之后按「发送消息」,消息会沿着你画出的路径走一遍。

下方三格会显示每一跳落在哪里与它的 ASN。三跳都填满才发得出去,路径不合规则的话会挡下来并说明原因。
四个关卡在教什么¶
关卡 1:三跳的基本¶
任意 3 台都算合法,先熟悉操作。Tor 的默认电路长度就是 3 跳,这个数字在匿名性与延迟之间取平衡:少一跳,入口与出口之间少一层隔离。多一跳,延迟增加而匿名性没有等比例提升。
关卡 2:避开监听¶
盘面上出现红色的中继,代表已知被监听。挑一条完全避开红色的路径。实际的 Tor 没有这种明确标记,目录服务器只会标记行为异常或已知有害的中继,一般用户看不到「这台正在被谁监看」。这一关把那个信息直接画出来,方便先建立「路径上每一站都看得到一部分」的直觉。
关卡 3:三跳要分散到不同 ASN¶

同色代表同一个 ASN。ASN 是自治系统(Autonomous System),可以粗略理解成一个组织或个人掌管的一段网络。三跳落在同一个 ASN 的话,对手只要盯住那一个 ASN,就同时看得到入口与出口的流量,中间绕了几站都没有意义。
文档写「三跳要分散在不同 ASN」,读过就过去了。自己选一次、被挡一次,下次就会记得原因。真实的 Tor 客户端默认会避开同一个 /16 网段与同一个 family 的中继,实际的判断比这一关严格。
关卡 4:封锁时走网桥¶

直连的入口被封锁了,画面上用红圈标出来,第一跳必须改用菱形的网桥节点。网桥是没有公开在目录里的入口,封锁方拿不到完整清单,所以挡不干净。盘面上两个网桥分别标了 Snowflake 与 obfs4,那是两种 pluggable transport,差别在于流量伪装成什么样子。
跟真实的 Tor 差在哪¶
这是一个解谜,不是模拟器。几个刻意简化的地方:
- 真实的选路由客户端自动完成,用户不会逐台挑。guard 还会固定使用数个月,减少反复更换入口带来的曝险
- 盘面上一关只有五到八台中继,实际的网络有近万台
- 中继的带宽与共识权重会影响被选中的概率,这里没有模拟
- 「被监听」在画面上是明确标记,实务上没有这种提示
三个语言版本共用同一份程序,语言由网址参数决定,作品内也可以直接切换。
延伸阅读¶
- 三跳路由与匿名原理:什么是 Tor
- 中继分散与 ASN:台湾 ASN 观测覆盖
- 封锁时的网桥:Tor Snowflake 网桥
- 其他两件作品:互动与呈现