为什么 whatsapp Inc. 即使在引入端到端加密之后仍然缓存用户数据?

信息安全 加密 whatsapp
2021-09-04 06:46:25

上周,Whatsapp 引入了端到端加密,以防止中间人拦截/攻击。该公司声称,文本、通话、视频、图像和文档等数据不会存储在其服务器中的任何位置,只有相关设备才能存储或解密数据。但是“快速图像/视频上传”仍然可以正常工作。快速图像/视频上传”背后的基本思想是将上传的图像/视频的副本缓存在服务器中,当另一个用户尝试上传相同的内容时,然后比较哈希值。如果哈希匹配,则使用服务器副本来避免数据使用。如果 Whatsapp Inc. 的声明(关于没有任何服务器缓存的端到端加密)是真的,那么“快速图像/视频上传”如何“ 还在工作?

更新

感谢@TreyBlalock 分享 whatsapp 安全白皮书:https ://www.whatsapp.com/security/WhatsApp-Security-Whitepaper.pdf

传输媒体和其他附件:

任何类型(视频、音频、图像或文件)的大型附件也是端到端加密的:

  1. 发送消息的 WhatsApp 用户(“发件人”)会生成一个临时的 32 字节 AES256 密钥和一个临时的 32 字节 HMACSHA256 密钥。
  2. 发送者使用 CBC 模式下的 AES256 密钥和随机 IV 加密附件,然后使用 HMAC-SHA256 附加密文的 MAC。
  3. 发件人将加密的附件上传到 Blob 存储区。
  4. 发件人向收件人发送一条普通的加密消息,其中包含加密密钥、HMAC 密钥、加密 blob 的 SHA256 哈希以及指向 blob 存储中 blob 的指针。
  5. 接收者解密消息,从 blob 存储中检索加密的 blob,验证其 SHA256 哈希,验证 MAC,并解密明文。

指针 3 在这里很有趣。所以基本上他们将附件缓存在他们的 blob 中,这意味着他们当然将加密数据存储在不是通信设备的设备中。

现在百万美元的问题是:“你的数据安全吗?它是当局还是黑客无法触及的?

1个回答

所有的猜测是什么应用程序在可能的情况下真正使用 e2e (或者如果他们喜欢用终止开关关闭它)放在一边:

如果白皮书描述的内容属实,那么您的数据在 blob 中就很好,因为它的加密相当好。

唯一不再起作用的是重复数据删除,例如

如果具有该哈希的文件已经存在,请不要上传它,向用户发出成功信号。

这会在服务器上产生更重的负载 - 并且可能会导致人们复制视频而不是发送链接的电话数据计划。

请注意,如果您要再次上传文件,您的设备可能会缓存该文件和相应的密钥,并将对同一 blob 对象的引用发送给多个其他用户,与以前共享相同的密钥。

这会以某种方式至少减少一个人向多个人发送相同文件时必须在服务器上传输的数据量。