端到端加密 (End-to-End Encryption) 的实际局限性
关于端到端加密的互联网讨论充斥着误解、错误信息,以及一些人完全没有抓住重点。当然,人们在互联网上犯错并不是什么新鲜事。
XKCD: Duty Calls “你想让我做什么?离开吗?那样他们就会一直错下去!”
昨天,《The Atlantic》上的一篇文章 声称,Trump 政府不小心将他们的编辑 Jeffrey Goldberg 添加到一个讨论也门军事行动的 Signal 群聊中。
这件事很快就被证实是真的。
国家安全委员会发言人 Brian Hughes 在两小时后回应,证实了 Signal 群聊的真实性。“这似乎是一条真实的留言链,我们正在审查是如何将一个无关的号码添加到链中的,” Hughes 写道。 ——《Trump 政府不小心用短信告诉我了他们的战争计划》——The Atlantic
在 Trump 政府的这次光荣的失败之后,我观察到了许多信息不足的热点话题。其中一些很有趣,但另一些则很危险:他们试图推广声称是 Signal 替代品的技术,好像整个故事 不知何故 是 Signal 安全态势的失败。
艺术:CMYKat
毫不客气地说:切换到 Threema 或 PGP 不会有任何作用。 只有当您认为“无法解密消息”有所帮助时,切换到 Matrix 才会有效。
要理解为什么,您需要清楚地了解端到端加密是什么,它做什么,它防止什么,以及它不能防止什么。
走向清晰的理解
假设您决定构建一个专门的、仅限邀请的应用程序,使您能够与您的朋友聊天。为了方便讨论,让我们假设您的朋友使用多个设备(计算机、智能手机、平板电脑,有人使用手表等)。 尽管如此,他们并不总是在线。
实现这样一个应用程序的最简单方法需要一个如下所示的架构:
- 您有一个应用程序(或一个网站),您的朋友可以使用它来与他们的朋友聊天。
- 如果是网站,它位于浏览器窗口中。
- 如果是应用程序,它安装在他们的设备上。
- 您有一些在用户之间传递消息的渠道。
- 这通常是应用程序或网站连接的服务器,但您也可以设置某种点对点基础设施。
任何额外的要求只会增加复杂性。例如,跨设备保持一致的消息历史记录,而不在服务器端存储消息历史记录实际上是可行的,但需要一些仔细的规划。
什么是端到端加密?
如果您要采用这个聊天应用程序的抽象描述并添加 端到端加密 (end-to-end encryption),那么您最终会 使用该应用程序加密消息,以便只有您的朋友才能使用他们自己的设备上的应用程序解密它们。
因此,“两端 (ends)” 是在每个设备上运行的软件(也称为“端点 (endpoints)”)。
这与 传输加密 (transport encryption)(它保护您的应用程序和通道之间的消息,以及通道和您的朋友的应用程序之间的消息,但 不能保护通道本身)和 静态加密 (at-rest encryption)(它在您不使用设备时保护设备上的消息)形成对比。
端到端加密如何提高安全性?
端到端加密 (E2EE) 旨在确保只有添加到对话中的参与者才能阅读其内容。
传递加密消息的通道不应该能够读取它们。
可以观察您的网络流量进出聊天应用程序的其他支持互联网的设备不应该能够读取它们。
E2EE 不能提供什么?
首先,仅仅因为您正在进行私下对话并不意味着您正在进行 值得信赖的 对话。 与诈骗者的加密聊天不会让您免受诈骗。
正如我们在昨天的新闻报道中看到的那样,E2EE 也不能阻止您不小心将报纸的编辑添加到群聊中。
关于安全许可和 SCIF
我在这里必须小心措辞,因为我一生中从未持有过安全许可(而且我从未渴望持有过)。
即使明天开发出一款智能手机应用程序,成功地拥有比 Signal 更好的密码学安全性,它仍然不适合用于军事行动的机密通信。 事实上,我预计没有任何智能手机应用程序会被批准用于此目的。
广义上讲,当政客们将 Signal 描述为“不安全”通道时,他们根本不是在谈论它的密码学安全性。 相反,他们是在评论 Signal 尚未获得美国政府对此类用途的批准。
此外,Signal 的“阅后即焚”功能从根本上与政府保存文件(即使是高度机密的文件)的要求不符。
当政府和军方官员想要讨论行动时,他们通常需要进入 SCIF(敏感信息隔离设施),以确保:
- 他们没有被窃听。(为此,SCIF 中不允许使用手机。)
- 他们只能访问他们需要访问的信息(因此,是隔离的)。
- 他们只与其他具有相关安全许可的已知人员讨论信息。
SCIF 几乎肯定比我列出的要多,但正如我之前所说,我没有第一手经验。(如果您正在寻找这些信息,请咨询社交媒体上宣传以前军事经验的_许多_安全行业人士之一。)
重点是:SCIF 是完成这项工作的正确工具。 像 Signal 这样的智能手机应用程序不是。
SCIF 和 Signal 具有 截然不同的威胁模型!
Signal(或任何其他 E2EE 技术)不适合军事行动并非失败。
艺术:AJ
快速回顾
端到端加密提供网络中端点之间消息的机密性和完整性。
如果实施正确,E2EE 会阻止服务器软件读取消息内容或篡改消息。
E2EE 不保护消息传递后。
E2EE 不会神奇地使您的对话值得信赖。 您可以与《The Atlantic》的编辑进行完全加密的私下对话。
E2EE 不足以用于军事用途,尤其是在实施为智能手机应用程序时。
我们为什么还要加密?
抛开糟糕的观点不谈,在讨论加密技术时经常出现的一个令人困惑的领域是使用它的动机。
这可能听起来很傻,但这里实际上至少有三种不同的答案。
- 隐私。 这可能是最明显的一个,尤其是对于阅读我的博客的人。
- 访问控制。 对于某些业务类型,加密是一种达到目的的手段。 它确保只有拥有权限的人才能读取数据,并且比文件系统权限更难绕过。
- 合规性。 这是这样一种人的观点,他们会将密钥和密文存储在同一个数据库中,只是为了声称它在静态时被加密,以符合他们对(例如,HIPAA)合规性要求的理解——即使这最终是安全剧场。
根据经验,很难说服第二和第三阵营的人,他们协议实现中的密码学弱点很重要。
执法部门在端到端加密方面摇摆不定。 Signal 等应用程序曾经被 FBI 称为“变暗”问题,现在却被吹捧为盐台风过后美国人的一项重要安全措施。(关于这一点,我认为我们的电信系统根本不强大。)
我认为可以合理地得出结论,当他们推广加密技术的使用时,美国政府_总体上_将加密视为一种访问控制形式,而不是隐私。 毕竟,加密作为隐私会妨碍他们。
此外,对“合法拦截”能力(又名后门)的反复需求与“加密作为访问控制机制”的世界观相符,同时它破坏了隐私。
但是去他妈的他们,去他妈的他们想要的东西。 加密首先应该是一种隐私技术。 永远对后门说“不”。
随着政客们继续谴责 Trump 政府使用 Signal 进行军事行动,请记住,这是关于不使用经批准的军事通信工具,而不是对 Signal 使用的密码学(我最近审查过)的疑虑。
结束语
任何坚持认为这个故事的真正问题是 Signal 的密码学安全性在某种程度上不足(与该人首选的通信软件相比)的人要么是骗子,要么是他妈的白痴。
艺术:CMYKat
许多推销这些其他应用程序的人实际上是在争论较低的密码学安全性(正如我在之前关于该主题的工作中所证明的那样)。
预测和推测
我在这篇博文中尽可能减少了实际的政治内容,主要是因为社交媒体上已经充斥着意见,没有人应该关心我的想法。
因此,如果您不在意,请随意停止阅读。 此部分之前的所有内容都侧重于事实,而不是观点。
预测:参与此 Signal 群聊的任何人都不会因其行为而受到有意义的追究。 不惜一切代价保持政党忠诚是当前政权的主要支柱。
如果有人真的面临后果,那将是因发布新闻报道的《The Atlantic》。 并且 Signal 可能会失去他们从美国政府获得的任何资金,以报复让白宫难堪的行为。
推测:如果您是另一个民族国家,在您入侵了其中一名参与者的智能手机后,将新闻媒体添加到军事群聊似乎是一种很好的破坏策略。 因此,如果得知 Jeffrey Goldberg 最终出现在群聊中是因为这个原因(而不是由于不称职的政府官员的纯粹人为错误),我不会感到完全惊讶。