用户登录

技术文章

外部链接将在新标签页打开。

Post-quantum Privacy Pass:VOLET 迁移中令牌体积、协议兼容与隐私目标的三角权衡

一句话回答

材料显示 Privacy Pass 仍依赖经典密码学,后量子替代的签名体积显著增大;MOLE 通过 anchor set 与 endorsement 隐藏发行者,VOLEitH 是候选零知识证明系统,但截断材料未给出完整性能与“VOLET”定义,迁移需在体积、兼容层与隐私保证间取舍。

标题里的“VOLET”在本次材料中没有出现;材料实际讨论的是 VOLE-in-the-Head(VOLEitH)。因此本文按 VOLEitH 展开,并把“VOLET”的定义、令牌体积与兼容方案列为待核实项。先给结论:Privacy Pass 的后量子迁移不是“换一个签名算法”就能完成。材料已经显示后量子签名体积会显著上升;MOLE 试图把发行者隐藏与凭证使用拆成两层;VOLEitH 是值得关注的候选证明系统,但本次抓取片段被截断,不能据此断言令牌更小或验证更快。以下把来源事实、工程推断和建议分开写。来源为 Cloudflare 2026 年 11 月 6 日的文章;抓取片段截断在 VOLEitH 是否 succinct 的讨论处。

为什么不是“换一个后量子签名”#

按材料,Privacy Pass 让客户端先取得若干令牌,之后赎回令牌换取站点访问;每个令牌不可链接到签发时的客户端,因此站点可以做限速和防滥用,而不必依赖 CAPTCHA 或账户指纹。该文称 Privacy Pass 具有“无条件隐私”:无论攻击者是否拥有量子能力,都不能把令牌赎回链接到签发。问题出在令牌的不可伪造性上:Privacy Pass 仍依赖 RSA、椭圆曲线等经典密码学,量子攻击者可以伪造令牌,绕过站点想实施的限速等机制。

体积是材料给出的硬约束。该文给出的对比是:ML-DSA-44 签名为 2,420 字节,ECDSA-P256 签名只有 64 字节。按这两个数字计算,前者约为后者的 37.8 倍,差值 2,356 字节。材料还明确说,短期内没有多少“直接替换”的希望;就像 TLS 迁移一样,只能接受更高成本并重构系统。

对象材料给出的数字或描述工程含义(推断)
ECDSA-P256 签名64 字节经典方案基线
ML-DSA-44 签名2,420 字节约为前者的 37.8 倍(按材料数字计算)
VOLEitH 证明或令牌材料截断,未给出完整大小不能据此判断可以“直接替换”;待核实
MOLE credential材料称可按 moderator 定制,未给体积存在设计空间,实际编码待核实

来源:Cloudflare 文章;表中“工程含义”是本文推断,不是来源结论。一个只比较签名部分的容量示例:假设某客户端在一小时内赎回 100 个令牌,且暂不考虑消息、证明、编码和协议头,那么 ML-DSA-44 比 ECDSA-P256 多 100 × (2,420 − 64) = 235,600 字节,约 230 KiB。这是基于材料数字的假设性算术示例,不是实测,也不代表完整 Privacy Pass 令牌的大小。

MOLE:把发行者隐藏与凭证使用拆开#

材料把 MOLE 展开为“Moderation Of unLinkable Endorsements”。要理解它,先看经典 Privacy Pass 的盲签名令牌:一种令牌由消息和盲签名组成;验证者验证时需要发行者公钥,因此必然知道发行者是谁。该文指出,这对某些用例是需要的,例如用客户签发的令牌证明客户端有权使用其 VPN 产品;但对许多用例来说,验证者只需要知道令牌来自某个受信任实体,不需要知道具体是谁。

MOLE 的目标是连发行者身份也隐藏,从而避免按发行者区别对待令牌,让更多类型的客户端参与。它引入 endorsement:由 anchor 签发,由 moderator 赎回。赎回前,客户端与 moderator 就 anchor set(moderator 信任的 anchor 公钥集合)达成一致;赎回时,客户端证明自己获得的 endorsement 来自该集合中的某个 anchor,但不泄露是哪一个。接受后,moderator 向客户端签发 MOLE credential,用于调节该客户端与站点的交互。

关键设计空间在于:endorsement 需要在赎回时隐藏 anchor 身份;而 credential 面向特定 moderator,因此不必 anchor-hiding,甚至不必公开可验证。材料据此说,从盲签名到匿名信用令牌、匿名限速凭证,都可以用来实例化 MOLE credential。工程上可以这样理解(推断):把后量子成本集中在 endorsement 的成员证明上,credential 层则按 moderator 的需要选择更轻的构造。但具体能省多少体积、验证开销如何,材料没有给出完整数据,待核实。

VOLEitH 的位置:候选证明系统,不是现成替换件#

材料把 VOLEitH 的源头追到 Baum 等人在 Crypto 2023 的零知识证明系统。零知识证明允许证明者证明自己知道某个隐藏 witness,使公开 statement 成立,同时不泄露 witness。材料给的例子是:证明知道 AES 密钥 K,使得 Y=AES(K,X),其中 X、Y 公开;这种证明可转成数字签名,安全性归约到 AES,这就是 FAEST 数字签名,也是 NIST 签名竞赛的候选。这里要注意,材料只称 FAEST 是竞赛候选,竞赛结果不在本次材料范围内。

VOLE 的全称是 Vector Oblivious Linear Evaluation,是一种交互技术,给两方相关随机值;这些相关值像认证标签,让验证者检查对隐藏 witness 的计算是否执行正确。VOLEitH 的“in the head”是指证明者在本地准备原本应由两方共同生成的值,然后承诺,再用 Fiat-Shamir 变换选择验证者要检查的部分,从而把交互式 VOLE 过程变成非交互零知识证明。材料称 VOLEitH 相对容易理解、也相对容易安全实现;但同时明确说它不是 succinct 的。抓取片段到这里截断,完整证明大小、验证开销以及它在 MOLE endorsement 中的实际令牌体积都没有提供,不能据此下性能结论。

对协议兼容而言,这意味着不能假设旧 Privacy Pass 验证路径可以直接复用。若 endorsement 采用 VOLEitH 类证明,验证端需要新的证明系统、参数和域分离;旧令牌与 MOLE 凭证很可能要分开验证。这是工程推断,不是材料给出的规范。材料还以 ML-DSA 为例提醒:为签名场景调好的参数,不必然适合其他用例;后量子匿名凭证的核心挑战之一,是把参数选择与协议设计解耦。

迁移时先定三件事#

  1. 按完整令牌做容量预算。材料只给签名大小;完整令牌还包含消息、证明、编码与协议头。建议在限速窗口、代理链路和移动端分别估算,不要只用单个签名数字做容量结论。
  2. 把版本与算法标识放进协议层。建议让旧 Privacy Pass 令牌与 MOLE 凭证走分开的验证路径,并在令牌格式中保留版本、算法 ID 和 anchor set 版本,便于双栈运行与回滚。材料未给出具体格式,这是工程建议。
  3. 把 anchor set 当可轮换配置管理。材料要求客户端与 moderator 在赎回前就 anchor set 达成一致;工程上要处理集合版本、缓存失效与轮换窗口。具体轮换协议待核实。

隐私属性也要做回归测试。该文称 Privacy Pass 具有无条件不可链接性,MOLE 的目标是隐藏发行者并平等对待不同客户端;迁移测试应覆盖跨 anchor、跨 moderator 的链接性,而不只是签名验证是否通过。这是建议。另一个建议是:对 VOLEitH 先做原型和独立审计,不要把“相对简单”等同于“低开销”。

待核实项与结论#

  • “VOLET”在本次材料中未出现;它是否指 VOLEitH,还是另一个迁移方案,待核实。
  • VOLEitH 的完整证明大小、验证开销,以及在 MOLE endorsement 中的实际令牌体积,材料截断,待核实。
  • MOLE credential 的具体编码、是否公开可验证、跨 moderator 的互操作规则,材料未给出完整规范,待核实。
  • 后量子迁移的时间表与 Q-day 假设,材料未给出具体日期,待核实。

把三点放在一起看:体积压力是材料已经给出的硬约束;协议兼容是由角色变化带来的工程约束;隐私目标则是不能回退的设计约束。合理的迁移顺序不是先找一个“更小的后量子签名”,而是先把 endorsement 与 credential 分层、把 anchor set 和算法版本纳入协议,再用容量模型筛选构造。VOLEitH 是否是最终答案,取决于完整论文与实现数据;在拿到这些材料前,应把“待核实”留在设计里,而不是用假设填满。

参考来源

  1. The post-quantum future of web privacy

以上为本文写作时的参考资料,引用观点以原文为准。

作者:沐小悠

本文约 9 分钟读完 · 关键词:Privacy Pass、后量子密码学、MOLE、VOLEitH、盲签名

更多文章 GET 示例接口

「」标签下的其他文章