目前有媒体报道称,中国政府正在阻止通过 WhatsApp 发送的某些类型的消息(“图片、语音消息和视频”)。
鉴于 WhatsApp 流量具有端到端加密,中国政府可能会使用什么机制来做到这一点?
目前有媒体报道称,中国政府正在阻止通过 WhatsApp 发送的某些类型的消息(“图片、语音消息和视频”)。
鉴于 WhatsApp 流量具有端到端加密,中国政府可能会使用什么机制来做到这一点?
鉴于 Whatsapp 流量具有端到端加密,...
端到端加密既不意味着匿名,也不意味着窃听者无法识别底层协议,并且根本不透露任何元信息。
事实上,隐藏协议以将它们从防火墙中隐藏起来是出了名的困难,而找出足以阻止流量的内容则相当容易。在 WhatsApp 的情况下,使用 E2EE 也无关紧要,因为无论如何 WhatsApp 在客户端和 WhatsApp 服务器之间添加了额外的加密层(以前通过 TLS,现在是Noise Pipes)。因此,用户通过Signal 协议额外获得 E2EE 的事实对流量分析的影响有限。
有一些明显的方法可以阻止 WhatsApp 流量,而不必担心加密:
阻止服务器。WhatsApp 发布其消息服务器的 IP 池。(这些 IP 曾经在此处列出,此后已移至Facebook 移动合作伙伴门户。)但即使没有现成的 IP 列表,只需使用应用程序和观察交通。(这是一种完全常见的技术——类似地,Tor 网络在过去几年中受到中国封锁大部分公共中继的影响。)
阻止协议。政府可以使用启发式方法来识别和阻止传输协议。基于流量模式的阻止过去曾在 BitTorrent、Tor 和其他公司中起作用,但可能会带来显着的开销。(我无法评论这种方法是否实用。)
特别是阻止媒体文件的一种方法是识别大型上传。WhatsApp 发送图像的方式与发送普通文本的方式不同,这也可能会派上用场。相反,客户端分别加密和上传附件,然后只发送一条包含上传密钥的消息。
由于新闻报道称根本无法发送任何文件,因此政府只是暂时阻止了附件上传服务器(这将使普通邮件不受影响)是合理的。
WhatsApp 安全白皮书中详细介绍了发送附件的过程:
传输媒体和其他附件
任何类型(视频、音频、图像或文件)的大型附件也是端到端加密的:
- 发送消息的 WhatsApp 用户(“发送者”)会生成一个临时的 32 字节 AES256 密钥和一个临时的 32 字节 HMAC-SHA256 密钥。
- 发送者使用 CBC 模式下的 AES256 密钥和随机 IV 加密附件,然后使用 HMAC-SHA256 附加密文的 MAC。
- 发件人将加密的附件上传到 Blob 存储区。
- 发件人向收件人发送一条普通的加密消息,其中包含加密密钥、HMAC 密钥、加密 blob 的 SHA256 哈希以及指向 blob 存储中 blob 的指针。
- 接收者解密消息,从 blob 存储中检索加密的 blob,验证其 SHA256 哈希,验证 MAC,并解密明文。
首先,WhatsApp 消息始终通过 WhatsApp 服务器,因此中国政府很容易识别 WhatsApp 交易所。接下来我不知道不同类型的消息是否使用不同的服务器,但是文本消息会比图像或视频短得多,并且很可能在一个数据包中发送。因此,在总大小超过某个阈值的情况下,中止与 WhatsApp 服务器之间的任何交换就足够了。
但是链接的文章声称中断不是连续的,因此中国审查员可能仍在试验他们的封锁规则。