EN
返回档案库

案例库 · 软件与 IT · 技术决策 · 2013–2016

Signal的双棘轮机制每次消息更换密钥,被盗密钥也无法解密历史消息

Signal将DH棘轮与哈希棘轮结合,确保每条消息使用新密钥;WhatsApp、Messenger和Wire采用该机制,服务用户超十亿。

Signal基金会(原Open Whisper Systems)

解法

加密聊天若重复使用单一密钥,攻击者后来窃取该密钥便能解密多年记录的流量。OTR协议虽轮换密钥,但其三步棘轮机制导致发送方在对方离线时需持有密钥材料数日。

Signal的双棘轮机制将两步DH棘轮(每次交换时重新推导根密钥)与哈希迭代子棘轮结合,同时提供前向保密和未来保密。

2016年对该协议的正式安全分析未发现重大设计缺陷;彼时Signal协议已被用于WhatsApp、Wire和Facebook Messenger,服务用户超过十亿。

生效的原因

  • 密钥轮换缩小了单次泄露造成的破坏窗口。
  • 前向保密保护旧消息;未来保密则能修复会话。
  • 异步友好的设计适配手机和不可靠的消息传输。
  • 公开的正式分析增强了其他短信应用采用该协议的信心。
取得的成效每条消息轮换密钥聪明

可借鉴之处

对于长期存在的秘密,应尽早且频繁轮换:如果每条消息都使用新密钥,单次泄露的影响范围将缩至几乎为零。

后续进展

双棘轮机制成为十亿用户级端到端加密消息服务的基石,用于分析棘轮协议的正式方法直接源于这一工作。

资料来源

发现哪里写错了?告诉我们。

相关案例