WhatsApp 如何启用端到端加密备份数据

1,441 阅读4分钟

翻译自Facebook Engineering engineering.fb.com/2021/09/10/…

多年来,为了保护人们的隐私信息,WhatsApp默认提供了端到端加密,只有发送者和接收者才能看到消息,传输中间其他人无法看到。现在,我们计划同样提供这种端到端加密来保护他们的 WhatsApp 备份。

人们已经可以通过现有的Google Drive 和 iCloud 等基于云的服务来备份他们的 WhatsApp 历史消息记录。WhatsApp无权访问这些备份,它们由单独的基于云的存储服务保护。 

但是现在,如果人们选择启用端到端加密 (E2EE) 备份一旦可用,WhatsApp 和备份服务提供商(云)都将无法访问他们的备份或备份加密密钥。 

E2EE 备份的工作原理

生成加密密钥和密码 

为了启用 E2EE 备份,我们开发了一个全新的加密密钥存储系统,适用于 iOS 和 Android。启用 E2EE 备份后,备份将使用唯一的、随机生成的加密密钥进行加密。人们可以选择手动或使用用户密码来保护密钥。当有人选择密码时,密钥存储在备份密钥保管库中,该密钥保管库基于称为硬件安全模块 (HSM) 的组件构建-可用于安全存储加密密钥的专用安全硬件。当帐户所有者需要访问他们的备份时,他们可以使用他们的加密密钥访问它,或者他们可以使用他们的个人密码从基于 HSM 的备份密钥库中检索他们的加密密钥并解密他们的备份。 

基于 HSM 的备份密钥保管库将负责强制执行密码验证尝试,并在尝试访问密钥失败的次数有限后使密钥永久无法访问。这些安全措施可防止暴力尝试检索密钥。WhatsApp 只会知道 HSM 中存在一个密钥。它不会知道密钥本身。

将密钥存储在备份密钥保管库中

WhatsApp 的前端服务 ChatD 处理客户端连接和客户端-服务器身份验证,并将实施一个协议,将密钥发送到 WhatsApp 的服务器和从 WhatsApp 的服务器发送的备份。客户端和基于 HSM 的 Backup Key Vault 将交换加密消息,ChatD 本身无法访问其内容。\

基于 HSM 的备份密钥保管库将位于 ChatD 之后,并为备份的加密密钥提供高度可用和安全的存储。备份本身将作为连续数据流生成,并使用生成的密钥使用对称加密进行加密。启用 E2EE 备份后,在加密后,可以将备份存储在设备之外(例如,存储到 iCloud 或 Google Drive)。 

WhatsApp 为超过 20 亿人提供服务,该产品的核心挑战之一是确保基于 HSM 的备份密钥库可靠运行。为帮助确保系统始终可用,基于 HSM 的 Backup Key Vault 服务将在地理上分布在多个数据中心,以在数据中心中断时保持其正常运行。

WhatsApp 端到端加密备份

备份可以使用 64 位加密密钥进行端到端加密。

WhatsApp 端到端加密备份

还可以使用密码保护备份,在这种情况下,加密密钥将保存到基于 HSM 的备份密钥库。

基于 HSM 的 Backup Key Vault 和加密解密过程

当帐户所有者使用个人密码来保护其端到端加密备份时,基于 HSM 的备份密钥保管库将对其进行存储和保护。

当有人想要检索他们的备份时:

  1. 他们输入自己的密码,该密码经过加密,然后由 Backup Key Vault 进行验证。
  2. 验证密码后,Backup Key Vault 会将加密密钥发送回 WhatsApp 客户端。
  3. 有了密钥,WhatsApp 客户端就可以解密备份。

或者,如果帐户所有者选择单独使用 64 位密钥,他们将必须自己手动输入密钥以解密和访问他们的备份。 

E2EE 备份将在未来几周内在 iOS 和 Android 上可用。查看端到端加密备份白皮书,了解有关技术细节的更多信息。