依赖 Tor 的用户期望其流量在网络中传输时不会泄露身份。这种信任取决于保护每个节点的 加密强度。Tor 开发者正在准备一项名为 Counter Galois Onion(CGO) 的重大升级,以取代网络中长期使用的中继加密方法。
旧版 tor1 中继加密方案已使用多年,逐渐显露出局限性。其中一个 长期已知的问题是标签攻击风险:控制某个中继的攻击者可对加密数据进行微小篡改,若该攻击者同时控制电路中后续的另一个中继,这些篡改痕迹可能再次出现,从而暴露用户与其活动之间的关联。Tor 开发者称此为“我们通过 CGO 解决的最重要攻击类型”。
tor1 还存在其他弱点:在整个电路生命周期中使用 固定对称密钥,削弱了前向保密性;每个中继单元格仅包含 4 字节验证器,限制了篡改检测能力。
CGO 引入了一种名为 刚性伪随机置换 的新结构,基于 UIV+ 组件构建。这重塑了每个单元格在中继间传输时的保护方式,旨在更可靠地检测篡改行为,并限制攻击者从泄露密钥中获取的信息。
几项关键改进包括:
- 16 字节验证器取代旧的 4 字节摘要
- 密钥随每个单元格的处理动态演变,一旦单元格通过中继,本地密钥状态即改变,降低了通过后续密钥泄露追溯早期流量的风险
- 标签链将每个单元格的完整性与下一个单元格关联,若单个单元格被篡改,后续单元格将无法被恢复
这些更新共同致力于 提高电路上主动攻击的成本,并强化用户依赖的隐私保护机制。
CGO 目前仍在 Tor 的 Rust 实现(Arti)和 C 代码库中积极开发。Arti 已包含该功能,但标记为实验性。开发者计划在测试完成后将其设为默认选项。
对洋葱服务的 CGO 支持也在进行中,预计将首先在 Arti 中实现,再推广到其他组件。由于中继和客户端需采用通用方法,部署将需要时间,并依赖网络中的广泛采用。
Tor 项目指出 CGO 是一种全新设计,欢迎公众审查。开发者写道:“质疑其是否存在潜在弱点是合理的”,同时也描述了为评估该结构所采取的步骤。
CGO 是近年来 Tor 核心加密机制最重大的变更之一。随着开发推进,用户和节点运营商应关注即将发布的版本,并为 CGO 全面可用后的过渡做好准备。








发表评论
您还未登录,请先登录。
登录