消息应用中的加密
了解 Signal、WhatsApp 和 iMessage 如何使用端到端加密保护您的对话隐私
消息应用中的加密 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
什么是端到端加密
端到端加密(E2E)意味着消息在发送方设备上加密,并且只能在接收方设备上解密。中间没有任何服务器,甚至消息平台本身也无法读取您的消息。
这是对早期系统的根本转变;在早期系统中,服务提供商持有密钥,技术上可以读取所有消息。
Signal 协议
WhatsApp、Signal 和许多其他应用使用 Signal 协议,该协议最初由 Open Whisper Systems 开发。它结合了多种密码学技术,包括双棘轮算法和 X3DH(扩展三方 Diffie-Hellman)密钥协商。
该协议提供前向保密性,这意味着即使一个会话密钥遭到泄露,过去的消息仍然安全。
消息应用中的密钥交换
在双方能够安全通信之前,必须在不通过网络传输的情况下协商出一个共享秘密。Diffie-Hellman 密钥交换允许双方独立推导出相同的秘密,即使是在公共信道上进行。
在消息应用中,这一过程会在您每次开始新对话时自动且透明地完成。
E2E 对您隐私的意义
使用端到端加密时,您的消息会在离开手机前被转换为密文。服务器始终只能看到无法解读的加密数据块。
这意味着即使消息公司收到政府传票或遭到黑客攻击,您对话的实际内容仍然受到保护。
元数据隐私与内容隐私
即使使用 E2E 加密,元数据也未必受到保护。平台可能仍然知道您与谁交谈、何时交谈、交谈频率以及持续时间。
Signal 通过尽量减少元数据收集,在这方面比大多数应用做得更好。WhatsApp 虽然会加密内容,但会与其母公司 Meta 共享元数据。
Apple iMessage 与 E2E
当发送方和接收方都使用启用了 iMessage 的 Apple 设备时,Apple 的 iMessage 会使用端到端加密。消息显示为蓝色气泡。回退到 SMS 时,消息显示为绿色且未加密。
不过,Apple 持有 iCloud 备份 keys,因此存储在 iCloud 中的 iMessage 备份默认并未进行端到端加密,除非启用了 iCloud 高级数据保护。
Telegram 的混合模式
Telegram 使用混合模式。普通聊天在传输过程中以及存储在 Telegram 服务器上时都会加密,但 Telegram 持有密钥,理论上可以访问这些内容。
只有 Telegram 中的“秘密聊天”使用其 MTProto 协议实现真正的端到端加密。群聊和频道并未进行 E2E 加密。
服务器为何无法读取 E2E 消息
在 E2E 系统中,密钥在用户设备上生成并存储,从不存储在服务器上。服务器仅充当消息中继,将加密数据包从一台设备转发到另一台设备。
没有您设备上的私钥,即使拥有庞大的计算资源,在计算上也无法实际解密密文。
静态数据加密与传输中加密
传输中加密会保护数据在网络上传输时的安全,例如 TLS 会保护您与网页服务器之间的连接。静态数据加密会保护存储在磁盘上的数据,例如手机的加密存储。
真正的 E2E 加密同时涵盖这两种情况:消息在传输前加密,并且存储在服务器上时仍保持加密状态。
密钥遭到泄露时
如果攻击者获得了您设备和私钥的访问权限,就可以解密消息。因此,设备安全与加密算法本身同样重要。
Signal 协议的双棘轮会为每条消息生成新密钥,因此泄露一个密钥不会暴露过去或未来的消息,这种属性称为前向和未来保密性。
验证联系人:安全号码
大多数 E2E 消息应用都允许您通过带外比较“安全号码”或“安全代码”来验证自己是否在与正确的人交谈,例如当面比较或通过电话比较。
在 Signal 中,每个对话都有一个由双方公钥组成的唯一安全号码。如果两部手机上显示的号码一致,则您与联系人之间没有发生 MITM 攻击。
E2E 加密测验
测试您对端到端加密的理解。
关键要点:消息加密
端到端加密确保只有发送方和接收方能够阅读消息,这依赖 Signal 的双棘轮等协议。即使内容已加密,元数据仍可能可见。
设备安全是 E2E 保护的最后一道防线。Signal 等应用会尽量减少元数据,而 Telegram 等其他应用则要求您手动启用“秘密聊天”才能实现真正的 E2E。
常见问题解答
「消息应用中的加密」课时是免费的吗?
是的 — 「消息应用中的加密」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「消息应用中的加密」这节课中我会学到什么?
了解 Signal、WhatsApp 和 iMessage 如何使用端到端加密保护您的对话隐私 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「消息应用中的加密」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 消息应用中的加密
- 银行如何保护您的交易
- 没有密码学的互联网
- 您的数字生活与密码学