SHARE THE PERSPECTIVE
强大的密钥不等于正确的密钥;验证联系人的身份是聊天安全的一部分。

消息加密既要保护内容,也要明确对方的密钥究竟属于哪个账户。如果应用从服务器获取初始密钥,就必须重视该密钥的真实性验证:使用攻击者的密钥进行加密,并不能让你与原本想联系的人建立安全通信。

这并不意味着任何被攻破的服务器都会立即读到所有历史消息。结果取决于协议、此前已验证的密钥、身份变更提醒以及密钥透明度机制。

首次通信的信任问题是什么?

为了与离线联系人开始聊天,通信应用可以在服务器上保存对方的一组公钥。预密钥的签名有助于核实它与身份密钥的关联;但身份密钥本身也必须与原本想联系的人对应起来。

Signal 的 X3DH 规范解释了这种异步通信模式及其身份验证假设。不能把这份文档称为 LVR1 规范:采用相似的思路,并不意味着两个协议相同。

替换密钥如何产生风险?

举个简单的例子:攻击者没有提供“爱丽丝”账户的密钥,而是提供了一把由自己控制的密钥。如果设备未经充分核实就接受它,新消息就可能被加密给攻击者。这种攻击能否发生、能否被发现,取决于系统细节;“总是悄无声息、没有任何警告地发生”的说法并不准确。

强大的密钥不等于正确的密钥。AES 或某种后量子算法,本身并不能确认账户持有人的现实身份。

安全号码核对的是什么?

指纹或安全号码是聊天密钥信息的一种较简短的表示。通过你信任对方真实性的方式进行比较,有助于确认两台设备对通信密钥的认知一致。这项检查不能证明手机没有恶意软件,也不能证明对方永远不会转发消息。

Signal 官方指南也明确指出,安全号码本身并不能验证一个人的身份。号码变化可能源于更换设备或重新安装;意外变化需要调查,而不是立即得出遭到入侵的结论。

发送敏感消息前的实际核对步骤

  1. 在两台设备上打开聊天的安全信息页面。
  2. 与你认识的人当面联系,或通过独立且可信的渠道联系。
  3. 按照应用指南核对完整的聊天验证号码或二维码;只核对开头几位数字并不够。
  4. 如果发现不一致,停止发送敏感信息,并通过独立渠道询问原因。
  5. 密钥或设备变化后,再次检查验证状态。

在真实性存疑的同一聊天中发送号码截图,并不能提供独立验证。如果只凭声音相似来判断,语音通话也不足以防范身份冒充;请使用事先已经确认可信的号码或联系方式。

密钥透明度有什么不同?

密钥透明度(Key Transparency)可以揭示账户与密钥映射中的不一致,并减少对手动比较的依赖。Signal 在2026 年 8 月介绍自动密钥验证的文章中解释了这项功能及其可用性限制。这种机制本身同样不能证明控制账户的人就是你原本想联系的那个人。

因此,“手动比较是所有通信应用中唯一可用的方法”这一说法已经过时。应针对具体产品的版本和条件核实每项功能;不要把一个通信应用的能力套用到另一个应用上。

对于 Livara,可以依据什么?

Livara 文档建议通过另一条渠道比较指纹。在进行敏感聊天时,应把这一步与算法名称分开考虑。本文并未声称 Livara 具有类似 Signal 的密钥透明度系统,也未声称它拥有独立审计的结果。

常见问题

验证成功是否意味着不可能发生任何攻击?

不是。结果取决于设备是否安全、比较方式以及协议假设。恶意软件或复制内容的接收者,属于密钥替换问题之外的风险。

每次密钥变化都应该删除账户吗?

不应该。先通过可信渠道与联系人核实变更原因。在此期间不要发送敏感信息。

这项检查会让以前的消息重新变安全吗?

不会。今天的验证无法消除过去可能发生的信息泄露。开始敏感通信时,最好在发送前完成检查。

了解安全机制
CONTINUE THE THREADPrivate messaging ↗
YOU’VE REACHED THE ENDBack to the reading room ↗