上周,Whatsapp 引入了端到端加密,以防止中间人拦截/攻击。该公司声称,文本、通话、视频、图像和文档等数据不会存储在其服务器中的任何位置,只有相关设备才能存储或解密数据。但是“快速图像/视频上传”仍然可以正常工作。“快速图像/视频上传”背后的基本思想是将上传的图像/视频的副本缓存在服务器中,当另一个用户尝试上传相同的内容时,然后比较哈希值。如果哈希匹配,则使用服务器副本来避免数据使用。如果 Whatsapp Inc. 的声明(关于没有任何服务器缓存的端到端加密)是真的,那么“快速图像/视频上传”如何“ 还在工作?
更新
感谢@TreyBlalock 分享 whatsapp 安全白皮书:https ://www.whatsapp.com/security/WhatsApp-Security-Whitepaper.pdf
传输媒体和其他附件:
任何类型(视频、音频、图像或文件)的大型附件也是端到端加密的:
- 发送消息的 WhatsApp 用户(“发件人”)会生成一个临时的 32 字节 AES256 密钥和一个临时的 32 字节 HMACSHA256 密钥。
- 发送者使用 CBC 模式下的 AES256 密钥和随机 IV 加密附件,然后使用 HMAC-SHA256 附加密文的 MAC。
- 发件人将加密的附件上传到 Blob 存储区。
- 发件人向收件人发送一条普通的加密消息,其中包含加密密钥、HMAC 密钥、加密 blob 的 SHA256 哈希以及指向 blob 存储中 blob 的指针。
- 接收者解密消息,从 blob 存储中检索加密的 blob,验证其 SHA256 哈希,验证 MAC,并解密明文。
指针 3 在这里很有趣。所以基本上他们将附件缓存在他们的 blob 中,这意味着他们当然将加密数据存储在不是通信设备的设备中。
现在百万美元的问题是:“你的数据安全吗?它是当局还是黑客无法触及的? ”