- 最诚实的设想是,灾难迟早会来,只是有可能不是突发性的,也因此会更危险。
过去几年一直是加密部署的绝佳时机。
十年来,加密的网络连接已从一种新颖性转变为运行现代网站的基本要求。
智能手机制造商为数十亿部手机配置了默认存储加密;现在数十亿用户已经部署了端到端加密消息和语音呼叫。
这一进展对于密码学家和隐私权倡导者来说显然是令人兴奋的,但并不是每个人都这样看待它。
英国和澳大利亚等国家已经通过了法律试图获取所有这些加密数据,美国也一样,至少有一项提案已提交给国会。
司法部去年也加入了这场对加密的战争,他们要求科技公司部署“负责任的加密” —— 翻译一下,就是带后门的。
在辩论中没有人真的愿意对此有所了解 —— “该怎么个负责任”。事实上美国副总检察长 Rod Rosenstein 在去年的一次演讲中直接请求密码学家去解决这个问题。
就是在这么一个大背景下,英国间谍头子 GCHQ 的 Ian Levy 和 Crispin Robinson 去年的一篇文章让那些当权者读起来就像一股清新的空气。
与他们的美国同事不同,GCHQ — 基本上是英国的NSA — 似乎渴望与技术社区接触并提出认真的想法。
他们提出了一个具体的建议:一种新的解决方案,旨在自如地监控加密的消息和语音呼叫。而不是通过后门。
也就是那场著名的恐慌 —— 幽灵用户。
简说 E2E
GCHQ 的提案涉及对通信系统和电话的执法拦截。为了对提案有一些直觉的认识,我们首先需要对这些系统如何工作做一个超简化的解释。
任何E2E通信系统的基本思想是每个参与者直接从一个设备加密文本消息(或音频/视频数据)到另一个设备。
这一加密层减少了对提供商基础设施的信任需求 —— 从电话线到服务器再到海底电缆 —— 这为抵制恶意服务提供商和骇客提供了额外的保障。
直观的结果是看起来像这样:
如果考虑群组聊天/通话设置,这个图会略有变化,但只是略有变化。
每个参与者仍然直接将数据加密传输给其他参与者,绕过提供商。整体就是如此。实际细节(比如算法)因系统而异。
上面简化图片的问题在于,E2E系统涉及的东西实际上要比加密更多。
加密消息传递中最具挑战性的问题之一是获得实际执行加密所需的密钥。这个问题通常被称为密钥分发,在计算机安全领域是一个古老的问题。它有很多出错的可能性方式。
在过去,我们曾经要求用户来管理和交换他们自己的密钥,然后选择他们想要加密传输的对方用户。这太可怕了,每个非技术人士都讨厌这种东西。
现代E2E系统已经变得流行,主要是因为它们隐藏了用户的任务。这是以一些额外的提供商运营基础设施为代价的。
在实践中,像 Apple iMessage、WhatsApp 和 Facebook Messenger 这样的系统看起来更像是这样的:
上图中的 Apple 代表 Apple 的“身份服务”,这是一个在 Apple 的各种数据中心运行的服务器集群。
这些服务器执行许多任务,但最值得注意的是:它们充当查找您正在与之交谈的人的加密密钥的目录。
如果该服务失误并给了你错误的密钥,世界上最好的加密算法也帮不上你。它将导致您信任错误的人。
这些身份服务不只是查找密钥。在至少一些像 WhatsApp 和 iMessage 这样的群组消息系统中,他们还控制着参与群组会话的成员的资格。
在设计不良的系统中,服务器可以随意添加和删除群组对话中的用户,即使没有参与者想要。就好像你在一个非常私密的房间里进行对话 —— 但门没锁,而大楼经理控制着谁可以进入并加入你的对话。
技术说明:虽然身份系统的这两个方面有不同的用途,但在实践中它们往往密切相关。
例如,在许多系统中,“群组”和“一对一参与者”的消息之间几乎没有区别。再比如。在支持连接到单个帐户的多个设备的系统中,如 Apple 的 iMessage,连接到您的用户帐户的每个设备都被视为对话的单独一方。
如果任何一个帐户登陆于多个设备[比如 iPhone 和 iPad],您就可以将每个 iMessage 对话视为群组对话。
大多数E2E系统都具有针对身份服务的不良行为的基本对策。
例如,客户端应用程序通常会在新用户加入群组聊天时或有人向您的 iMessage 帐户添加新设备时提醒您。
同样,WhatsApp 和 Signal 都公开了“安全号码”功能,允许参与者验证他们是否收到了正确的加密密钥,从而对不诚实的提供商进行检查。
但这些对策并不完美,也并非每项服务都能提供。这就是 GCHQ 提案的开裆裤想法之来源。
GCHQ 想要什么
那个文章没有详细介绍 GCHQ 的提议。这两位文章作者都花了很多时间在美国巡演,并就他们的想法进行了多次公开讲话。于是人们可以了解一些大概。
在其概述中,他们提出的想法看起来非常简单。目标就是利用身份管理系统中存在的弱点。
这将允许执法者/间谍 —— 在服务提供商的参与下 —— 将“幽灵用户”(或在某些情况下是“幽灵设备”)添加到现有的群聊或呼叫会话中。
在可以修改群组成员身份的系统中,这通常可以通过更改提供程序系统的服务器端组件来完成。
说它主要可以在服务器端完成,因为这里有个小问题。即使您成功修改基础结构以将未经授权的用户添加到了对话中,大多数现有的E2E系统也会在新参与者(或设备)加入对话时通知用户。
虽然GCHQ提案没有详细说明,但似乎任何可行的提案都要求提供商在目标设备上压制这些警告信息。
这意味着该提案还需要更改客户端应用程序以及服务器端基础结构。
像 Signal 这样的部分应用程序已经在某种程度上警惕了这些变化,因为群组聊天设置是由客户端以端到端的加密/认证方式处理的。
这可以防止服务器在没有至少一个群组参与者协作的情况下插入新用户。于是它更安全。
但是必须提醒,目前,WhatsApp 和 iMessage 似乎都容易受到 GCHQ 提议的方法的影响。
由于需要对服务器和客户端进行大量修改,GCHQ 提案实际上代表了对消息传递系统设计的一个非常重大的改变。
客户端更改可能需要部署到所有用户,因为您无法“瞄准”犯罪分子进行针对性的软件更新。
这就引出了最后一个问题:如何让供应商同意所有这些愚蠢的合作?
虽然合作在某些原则上是好的,但是通信提供商似乎不太可能自愿在其加密服务中插入强大的窃听功能,尤其是它仅仅代表了巨大危险的时候。
据推测,这意味着英国政府必须在合作方面加压。一个可能的途径是使用英国最愚蠢的“调查权力法案”(也被称为《窃听者宪章》)。
这要求提供商为1–10,000个用户提供实时解密,此外,提供商必须设计他们的系统以确保此类能力持续可用。
这就是问题所在。
提供商已经重视起这个漏洞
GCHQ 提案的真正问题在于它针对的是服务提供商已经熟知的消息/呼叫系统的弱点,也是供应商一直在努力弥补的弱点 —— 也许是因为他们看透了肯定会有像 GCHQ 这样的家伙去尝试利用它。
在过去的几年中,研究人员提出了多种设计,为用户提供关于他们从提供商的身份服务中获得哪些密钥的透明度。
这些设计都可以使提供商在世界上没有人注意到的情况下更改用户的密钥(或添加设备)变得非常困难。
如上所述,像 Signal 这样的高级通信应用将群聊聊天管理“沉入”到加密的通信流中,这样服务器就无法在没有现有参与者之一的数字认证批准的情况下添加任何新用户。
这种设计如果移植到像 WhatsApp 这样的更受欢迎的服务中,似乎就可以杀死 GCHQ 的提案了。
当然,这些解决方案突出了 GCHQ 提案的棘手性质。请注意,为了利用现有漏洞,GCHQ 将不得不要求提供商更改其系统。
而且,一旦你打开了迫使供应商改变他们的系统的大门,还有什么理由只做一次呢?什么能阻止英国政府进一步采取动,并利用法律的力量迫使供应商不要强化他们的系统来抵御这种类型的攻击?
这就能了解到 GCHQ 提案的真正问题了。有两种可能的结果。
首先,提供商迅速强化他们的系统 — 这很好;并在此过程中消除了使GCHQ 提案可行的漏洞。
政府对该提案表达的兴趣越大,第一个结果的可能性就越大。
在第二个结果中,英国政府可能与其他政府一起通过迫使提供商保持其系统易受攻击来解决这一问题。第二个结果是最值得担心的。
今天的系统确实包含易于被利用的现有缺陷。但这并不意味着应该将具体的缺陷全列出来。而一旦间谍开始依赖这些缺陷,就必须有效的了解它们了。
如果英国成功实现此方法,像 GCHQ 这样的间谍机构将作为 Apple 和 Facebook 通信系统的终极架构师。
这是个最恐怖的结果。尤其是,它有可能在未来几年内以更加温水煮的形式到来。这就是为什么技术人员应该提早想到解决方案。⚪️