加密与安全通信
端到端加密 (E2EE)
约 4 分钟阅读
最后更新: 2026-02-18
什么是端到端加密
端到端加密 (End-to-End Encryption,E2EE) 是一种在发送方和接收方设备之间加密数据的机制,使通信路径上的服务器和服务提供商等任何第三方都无法读取内容。
在普通的 TLS/SSL 加密中,客户端与服务器之间的通信受到保护,但数据在服务器上会被解密。这意味着服务提供商可以访问内容。而 E2EE 中,即使是服务提供商也无法读取消息,因为只有通信端点持有解密密钥。
E2EE 的工作原理 - 以 Signal 协议为例
目前最广泛采用的 E2EE 实现是 Signal 协议。WhatsApp、Google Messages、Facebook Messenger (可选) 等均采用该协议。
- 密钥对生成:每台设备生成长期身份密钥和每条消息使用的一次性临时密钥。
- 密钥交换:通过 X3DH (扩展三重 Diffie-Hellman) 协议建立共享密钥,双方均无需暴露私钥。
- 双棘轮:每条消息生成唯一的加密密钥。即使某个密钥被泄露,其他消息仍然安全 (前向保密)。
- 消息加密:每条消息使用棘轮派生的密钥通过 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
在发送方和接收方设备之间加密。包括服务器在内的中间方无法解密数据。服务提供商无法读取消息内容。
分享