safew 中文文档 下载 App

SafeW 密钥滚动与指纹核对——通话安全的两道防线

密钥滚动与指纹核对

SafeW 对通话安全的保护不是一层,而是两道防线:密钥滚动在传输过程中持续保护,指纹核对让你主动确认链路安全。两者配合,把通话被窃听的风险降到最低。

第一道防线:密钥滚动(双棘轮算法)

通话建立时双方协商出初始密钥,但这只是开始。整个通话过程中,双棘轮算法持续运行:

  1. 每段音频/视频分片使用不同的密钥 — 每个加密的音频或视频片段都用自己的密钥加密,用完即弃;
  2. 密钥在两个方向独立滚动 — 发送方和接收方各自独立更新密钥,互不依赖;
  3. 前向保密性 — 即使攻击者窃取了当前某一段的密钥,也无法解密之前任何一段的内容;
  4. 入侵恢复性 — 如果攻击者短暂劫持了密钥,双方继续通信后密钥会通过双棘轮自动重新对齐,恢复安全状态。

这意味着攻击者要么从头到尾完整劫持整个通话的所有密钥(几乎不可能),要么只能窃听某一小段而无法恢复全通话。

第二道防线:指纹核对(防中间人)

密钥滚动保护的是"传输过程中的被动窃听",但如果有攻击者主动冒充成对方来和你建立通话(中间人攻击),密钥滚动本身无法发现。这时候需要指纹核对。

什么是通话指纹 — 通话指纹是双方身份密钥的哈希值,格式通常是一串六位数字分多组显示,或一个二维码。它是双方在密钥协商过程中各自计算得出的结果,只有真正的双方设备才能算出相同的指纹。

如何核对:

  1. 通话接通后,让对方也打开 SafeW 界面显示安全指纹;
  2. 通过另一个已验证安全的渠道(比如见面时口头、已验证的 Signal 对话)比对数字;
  3. 完全一致 = 通话安全;有任何一组数字不同 = 可能被中间人劫持,立即挂断。

为什么自动验证不够

理论上,SafeW 客户端可以自动比对指纹——如果服务器有机制确认双方身份,就可以避免用户手动比对。但问题在于:服务器本身可能被劫持。

如果攻击者控制了 SafeW 服务器,他可以给双方各发一个伪造的指纹,让两边都以为对方的指纹是对的。手动比对虽然麻烦,但它把验证过程从"依赖服务器"变成了"依赖你和对方本人"——这是唯一真正可信的验证方式。

什么时候需要重新比对指纹

以下情况建议重新验证通话安全:

通话加密 vs 录音防范

需要明确:SafeW 的加密保护的是传输过程,但以下情况 SafeW 无能为力:

这些是所有加密通讯工具的共同局限,不只是 SafeW 的问题。