带宽权威详解:签署 Tor 共识的九个席位
每隔一小时,Tor 网络都会悄然重写自己的地址簿。这一仪式的核心是共识(consensus),Tor Metrics 词汇表将其描述为由目录权威每小时汇编并投票产生的一份单一文档,让所有客户端对构成网络的各中继拥有相同的认知。它列出被认为在线的中继,赋予 Guard 或 Exit 等标志,并确定一个共识权重,决定每个中继承接多少流量。生产它的是一个规模小到能围坐一张桌子的委员会。
刻意保持小规模的委员会
当前的名单短到可以完整列举:moria1、tor26、dizum、gabelmoo、dannenberg、maatuska、longclaw、bastet 和 faravahar。Tor 的 consensus-health 服务在每一轮投票中跟踪的正是这九个名字,并记录哪些权威参与了投票。为 ACM 互联网测量会议分析过共识的研究者对这一安排的总结毫不含糊:九个目录权威,"每个由不同的受信任组织或个人运营"。这一构成刻意追求平淡。席位很少更替,而占据席位者被期望以年、而非以月为单位维护一台防护良好的服务器。 正式地说,每个权威是一个特殊的中继,维护着当前运行中继的名单,并与其他权威一起定期发布共识——Tor 社区词汇表正是这样表述的。这一设计刻意保守。按照目录协议规范,各权威将长期身份密钥离线保存,由其认证日常使用的签名密钥:拿到一把普通密钥并不等于拿到席位。规范还提醒了集体投票为何存在:在 Tor 更早的目录设计下,单个说谎的权威"能让客户端在一段时间内相信一副被任意扭曲的网络图景"。要求多个权威就同一份文件达成一致,正是对此的修正。究竟是谁在运营这些席位
这些都不是匿名基础设施。历史最悠久的权威之一 moria1 由 Tor Project 联合创始人 Roger Dingledine 运营。tor26 归 Peter Palfrader,dannenberg 归德国的 Chaos Computer Club e.V.,gabelmoo 归另一家德国非营利协会 F3 Netze e.V.;其余席位则由在项目中历史悠久 的个人运营者和小型组织持有。监测中继多样性的独立项目 OrNetStats 公布了带宽权威的运营者及其自报的联系方式,使网络的这一角落异常容易从外部审计。从扫描器到共识权重
共识不只是列出中继,还为它们赋予权重。Tor 的 metrics 文档将中继的共识权重定义为一个数值,其依据是该中继自报的带宽以及目录权威实际测得的带宽。测量工作由被称为带宽扫描器或带宽权威的专用系统承担:它们像普通客户端一样接入网络,逐一测量经每个中继的真实传输,并把结果发布到一个带宽文件中。按照带宽文件规范,各权威读取该文件,并利用其中的数值来缩放自己在投票中赋予的权重。当多个扫描器测量过同一个中继时,共识权重取测量值的中位数——如此一来,一台出故障或有偏向的扫描器无法独自决定某个中继在网络中的份额。有意为之的集中式信任
九人委员会听起来像单点故障,Tor Project 从未否认这一点。支持集中的理由是:一支规模小、身份公开的专业运营者队伍,比一支庞大而匿名的队伍更容易防御——也更难被悄然渗透。风险恰是其镜像:若攻击者攻陷多数权威,便能在几个小时的窗口内向客户端投喂被扭曲的网络图景,例如抬高自己所控中继的权重。正因如此,各权威的网络地址被硬编码进 Tor Browser,也正因如此,项目把它们的完整性当作公众可以自行核验的事情来对待。"目录权威的 IP 地址硬编码在 TBB 压缩包中,(谨慎的)Tor 用户会以分离签名对照签名密钥加以验证。" —— Tor Project 博客










