近几年关于量子计算将如何冲击现有公共密钥体系的讨论持续升温。作为广泛使用的即时通讯加密规范,Signal Protocol 一直在寻求在不牺牲现有安全属性的前提下提升对未来量子攻击的抵抗力。Signal 在 2025 年推出的 Sparse Post Quantum Ratchet,简称 SPQR,为当下数十亿人的端对端消息安全加入了量子抗性的新维度,并通过与已有 Double Ratchet 混合形成所谓的 Triple Ratchet,力求在量子时代继续保证前向保密(Forward Secrecy)与事后妥协安全(Post-Compromise Security)。 要理解 SPQR 的意义,首先需要回顾 Signal 经典的 Double Ratchet 机制如何工作。Double Ratchet 结合对称密钥的哈希链和基于椭圆曲线的 Diffie-Hellman(ECDH)交换,用以在消息交流中定期更新会话秘钥,提供对已发送消息的前向保密和在遭遇设备被攻破后通过后续更新重新恢复安全的能力。哈希链本身对量子计算而言是相对安全的,但 ECDH 属于椭圆曲线密码学,对强量子攻击(例如可实现的 Shor 算法)并不安全。
若未来出现强大的量子计算平台,攻击者可能通过记录通信数据并在事后破解 ECDH,从而实现"先窃后解"的攻击。为应对这一点,Signal 团队在此前已推出 PQXDH,将基于后量子密钥封装机制(KEM)的共享秘密引入会话初始化阶段,以防止捕获并在量子计算成熟时解密此前的会话内容。 然而,确保长期会话在整个生命周期内具备量子抗性,需要的不只是会话初始的后量子密钥,而是持续的、频繁的后量子密钥协商。SPQR 正是为此目的设计的后量子"稀疏"棘轮协议。其核心思想是把后量子安全的 KEM(以 ML-KEM 作为实现示例)融入到消息流的每一条或若干条中,通过周期性产生并混合新的共享秘密来提供与 Double Ratchet 同样强的前向保密和事后妥协恢复性。与常见的双向 ECDH 不同,现代 KEM 的交互性更强,需要有序的、非对称的消息交换(封装密钥 EK 由发起方生成并发送,接收方以此生成密文 CT,发起方用私钥解封装以获得共享秘钥),这带来了带宽、延迟和离线通信场景下的挑战。
在实现层面,SPQR 通过一套精心设计的状态机协调双方在不同阶段应发送的 EK 或 CT。为了解决 KEM 数据包较大、容易被丢弃或触发流量型回退的问题,Signal 团队引入了分片与纠删码技术,将较大的 EK 和 CT 切分为更小的块并通过纠删码保证在任意若干块被接收的条件下即可重构完整数据,这样既降低了单条消息的突增体积,也提升了对中间人丢包攻击的鲁棒性。纠删码可以避免攻击者通过有选择性地丢弃若干块来静默中断密钥协商,从而降低了被动攻击成功的概率并使强力拒绝服务成为明显的异常。 另一个关键创新来自对 ML-KEM 内部结构的深度分析。标准的 KEM 封装通常会生成大段的封装数据和较小的共享秘密。Signal 团队发现,封装过程可以被拆分成一段依赖于封装密钥的"种子"与一段基于此种子扩展生成的大数据部分。
将这些片段按顺序并发传输,允许在双方同时发送与接收大量数据时最大化带宽利用率,同时避免提前生成过多尚未被对端确认的密钥材料。过早预生成大量密钥会在设备被瞬时攻破时带来额外风险:攻击者可利用本地存储的解封私钥与对端稍后发送的残余数据恢复未完成的多个 epoch 秘钥。为平衡效率与潜在风险,SPQR 采用一种"编织"式(Braid)协议设计,将 EK 切分为前导种子与后续大块,使得双方在大多数时间里都能并行发送与接收,只有极短的阶段处于单向空闲状态,从而提高密钥协商速率而不显著放大被攻破时的暴露面。 在加密强度上,Signal 并没有选择单独废弃现有的 ECDH 基础设施。相反,他们采用混合密钥策略,既保留现有的 Double Ratchet,又并行运行 SPQR,并把两者输出的密钥通过密钥派生函数(KDF)合并以产生最终的加密密钥。这样设计的好处在于混合安全属性:攻击者必须同时破解传统椭圆曲线体系与后量子 KEM 才能还原或区分最终秘钥。
此种"混合安全"在过渡期尤其重要,因为当量子技术尚未成熟时,现有算法仍然提供高效性和已知的安全保障;在未来量子威胁出现时,后量子成分可以为通信提供持久防护。 部署层面,Signal 的目标是在不对用户体验造成明显影响的前提下逐步推广 SPQR。由于没有所有客户端设备会同时支持新协议,Signal 设计了一种安全的回退机制:在会话初始化时,发起方会附带 SPQR 协商所需的元数据,但在对方尚未确认支持 SPQR 的前提下,不会把后量子密钥材料混入实际加密。接收方若不识别 SPQR 附带信息,则无需额外操作即可解密并响应,发起方据此判断对端是否支持 SPQR,并据此决定是否降级为不使用 SPQR 的常规会话。为了防范中间人强制降级,SPQR 的协商数据被包含在整体消息的消息认证码(MAC)保护块内,任何篡改都会导致整条消息的认证失败,使得无声降级变得明显且可检测。只有在首次握手的首轮交互完成之后,SPQR 状态才被永久锁定在该会话中,避免后续的意外退回。
安全性验证方面,Signal 团队把形式化验证作为设计与实现的核心环节之一。通过与学术界与业界研究者的合作,他们在 ProVerif 上对多种后量子棘轮方案进行了建模与验证,选定在保障安全性的同时兼顾效率的方案作为 SPQR 的核心。此外,工程实现采用 Rust 语言,并结合 hax 工具把关键模块转译为 F* 以便对函数前置条件、后置条件以及 panic free 等特性进行证明。把形式化证明纳入持续集成流程,确保每次代码变更都不能破坏关键信安全属性,从而避免了"一次性证明后冻结代码"的误区。 对普通 Signal 用户而言,SPQR 的发布几乎是无感的。消息发送和接收的流程不变,应用体验不受干扰。
对隐私意识强烈的用户和机构,Triple Ratchet 提供了对所谓"先窃后解"风险的更强保障。对于那些担忧未来量子破解能力的长期存档敏感数据的人群,拥有后量子保护的即时通讯意味着即便消息被窃取并存档,未来也更难被量子计算能力恢复为明文。 不过,SPQR 并非万能药。后量子 KEM 的安全依赖于当前对数学问题的理解和对抗新算法的持续评估。未来可能出现的新攻击向量、实施缺陷或 KEM 标准的重大变动都会对长期安全带来影响。此外,引入更复杂的协议必然增加实现与边缘场景的复杂性,要求更多的测试、更多的跨平台协调以及对低带宽或非常旧设备的兼容策略。
Signal 的渐进式、可降级部署和形式化验证策略是为应对这些现实挑战而设计的缓冲手段,但长期安全仍需社区、研究者和厂商持续关注。 展望未来,SPQR 与 Triple Ratchet 的推出代表了加密通信领域向后量子化迈出的重要一步。它既保留了当前被普遍信任的密码基石,又通过工程化的后量子解决方案为长生命周期会话提供必要的防护。对于企业、记者、活动家以及任何需要长期保密的用户群体,这样的工程改进具有深远的意义。随着更多客户端完成更新并在全球范围内部署,Signal 将逐步实现对于所有消息的量子抗性覆盖,使普通用户在量子威胁逐渐显现的时代仍能享有强有力的隐私保障。未来几年中,观察 SPQR 与其他后量子棘轮方案(例如 Katana 等新型 KEM 方案)的演进与标准化进程,将有助于判断整个即时通讯行业如何构建下一代的抗量子隐私防线。
总之,Sparse Post Quantum Ratchet 及其与 Double Ratchet 的混合方案,是在理论、工程与安全证明层面都经过深思熟虑的设计。它并非一次性解决所有问题的终极方案,而是一种务实的、面向未来的防护策略。对用户而言,最重要的是理解当下的加密系统正在主动演进以应对未来威胁,并且这类改进通常以尽量不影响体验为前提悄然部署。对于关心长期信息安全的人士,关注 Signal、学术界及标准化组织在后量子加密领域的进展,将有助于把握隐私防护的未来方向。 。