安全码和公钥指纹可帮助你检查与会话关联的密码学密钥。通过可信的独立渠道比较它们,可以发现仅凭联系人的显示名称无法察觉的不匹配。
在验证方法的假设成立时,匹配能提供关于密钥的有用证据。它不是对这个人的背景调查,也不能证明对方设备没有恶意软件,或保证对方会为你的消息保密。
为什么加密也需要认证
密钥交换可以让你与控制所呈现密钥的一方建立共享秘密。如果攻击者换成自己的密钥,而替换未被发现,加密连接就可能涉及错误的一方。
指纹是协议要求你验证的密钥材料的简洁表示。具体输入和格式因产品而异。有些应用显示数字,有些显示二维码或其他表示;不要假设所有格式都认证相同的字段。
谨慎的比较步骤
- 打开目标联系人的会话。 确认你没有在验证冒充账户或另一个聊天。
- 找到应用当前的验证界面。 使用其关于安全码或密钥指纹的官方说明。
- 使用独立可信的渠道。 条件允许时,当面比较很直接。远程比较时,应使用能认证对方身份、而不是简单重复可疑会话的渠道。
- 使用受支持的方法比较完整表示。 在支持时扫描显示的验证二维码,或比较所有必需的数字,而非只看一小段前缀。
- 如果应用提供此功能,在应用中记录验证。 了解这会改变警告行为,还是仅添加本地标签。
- 在相关身份变化时重新验证。 无法解释的变化应成为暂停发送敏感内容并确认情况的理由。
不要用通过同一个可能被截获的会话发送的截图替代独立检查。注意不要把验证二维码与设备关联二维码混淆:它们执行不同的操作。
安全码变化意味着什么
变化意味着相关密钥材料或验证输入不同了。重装应用、更换设备或重置身份可能引发正常变化,但具体行为取决于产品和恢复方式。
Signal 官方指南指出,新手机或重装是变化的常见原因,同时也说明这些事件并不总会改变安全码。频繁或意外的变化值得注意。
避免两个极端:变化不自动证明通信被截获,而熟悉的联系人名称也不是忽略变化的理由。通过可信渠道询问对方,重新比较,并在继续敏感交流之前解决不匹配。
匹配不能证明什么
| 它不能确定…… | 原因 |
|---|---|
| 未知账户的现实身份 | 你必须通过可信流程把已验证密钥与某个人联系起来 |
| 端点是干净的 | 恶意软件可以在合法解密后读取内容 |
| 接收者会保密 | 已验证的接收者仍可复制或转发消息 |
| 完整的群组成员安全 | 两两密钥验证本身不能验证每个成员和设备 |
| 元数据不可见 | 密钥检查不会抹去路由、时间或成员记录 |
| 协议的所有安全属性 | 指纹检查不是对协商、实现或密钥存储的全面审计 |
指纹通常是公开的验证值,而非恢复秘密。不过,仍应遵循应用的分享说明,绝不要向声称验证需要这些信息的人提供恢复短语或私钥。
如何理解 Livara 的验证主张
Livara 的安全页面建议通过另一渠道与对方比较公钥指纹。它还单独介绍了混合直接会话和群组发送者密钥。
该公开页面并未证实本文早期版本主张的每个细节,例如特定指纹格式包含的确切字段,或每次降级都会改变显示安全码的保证。这些主张需要相关的版本化规范和实现证据。
威胁模型也明确说明,设备被攻陷和接收者泄露仍不在保护范围内。应为了密钥验证所提供的有限益处而验证密钥,并保护保存它们的设备。
对于敏感会话,通过经认证的独立渠道进行完整比较,比锁形图标或未经审视的“已验证”标签更有意义。



