加密与安全通信

端到端加密 (E2EE)

约 4 分钟阅读

什么是端到端加密

端到端加密 (End-to-End Encryption,E2EE) 是一种在发送方和接收方设备之间加密数据的机制,使通信路径上的服务器和服务提供商等任何第三方都无法读取内容。

在普通的 TLS/SSL 加密中,客户端与服务器之间的通信受到保护,但数据在服务器上会被解密。这意味着服务提供商可以访问内容。而 E2EE 中,即使是服务提供商也无法读取消息,因为只有通信端点持有解密密钥。

E2EE 的工作原理 - 以 Signal 协议为例

目前最广泛采用的 E2EE 实现是 Signal 协议。WhatsApp、Google Messages、Facebook Messenger (可选) 等均采用该协议。

  1. 密钥对生成:每台设备生成长期身份密钥和每条消息使用的一次性临时密钥。
  2. 密钥交换:通过 X3DH (扩展三重 Diffie-Hellman) 协议建立共享密钥,双方均无需暴露私钥。
  3. 双棘轮:每条消息生成唯一的加密密钥。即使某个密钥被泄露,其他消息仍然安全 (前向保密)。
  4. 消息加密:每条消息使用棘轮派生的密钥通过 AES-256 加密。服务器仅转发密文,无法解密。

E2EE 的局限性与注意事项

E2EE 是强大的隐私保护技术,但并非万能。

  • 元数据不受保护:谁与谁通信、何时通信、通信频率等信息不会被加密。仅凭元数据就可以推断个人的行为模式和人际关系。
  • 端点被攻破:如果设备感染了恶意软件或被物理访问,攻击者可以在加密前或解密后读取消息。E2EE 保护的是传输路径,而非端点。
  • 备份陷阱:如果消息备份以未加密形式存储在云端,E2EE 实际上被绕过了。请确认您的服务是否也加密备份。
  • 密钥验证:要确认您正在与预期的人通信,应验证安全号码或密钥指纹。否则,密钥交换过程中理论上可能发生中间人攻击。

如何选择 E2EE 服务

选择声称支持 E2EE 的服务时,请确认以下几点。

  • 是否默认启用:Signal 和 WhatsApp 默认启用 E2EE。Telegram 仅在"秘密聊天"中启用,普通聊天不是 E2EE。
  • 源代码是否公开:开源实现允许第三方安全审计。Signal 的协议和客户端代码完全开源。
  • 是否经过独立审计:确认服务是否接受过第三方安全审计,审计结果是否公开。
  • 元数据政策如何:即使有 E2EE,服务可能仍会收集元数据。Signal 最大限度减少元数据收集,而 WhatsApp 会与母公司 Meta 共享部分元数据。

常见误解

E2EE 能保密通信的一切
E2EE 保护的是消息内容,但不保护谁与谁通信 (元数据)。要隐藏通信的存在本身,需要 Tor 等匿名化网络。
E2EE 是犯罪分子的技术
E2EE 是记者、人权活动家和企业机密通信等合法隐私保护不可或缺的技术。银行网上银行和医疗信息通信也应用了 E2EE 的理念。

E2EE 与普通 TLS 加密对比

TLS 加密 (普通)

加密客户端与服务器之间的通信。数据在服务器上被解密,服务提供商可以访问。

E2EE

在发送方和接收方设备之间加密。包括服务器在内的中间方无法解密数据。服务提供商无法读取消息内容。

分享

相关术语