在过去的几年中,很难找到一个仅使用 “http://…” 的网站。这是因为业界终于意识到网络安全是“一件重要的事情”,而且服务器和客户端都更容易设置和使用 HTTPS 连接。类似的转变可能正在云计算、边缘计算、物联网、区块链、人工智能、机器学习以及更广泛的计算领域中发生。长期以来,我们都知道应该对静态数据(存储中)和传输中数据(网络上)进行加密,但对使用中数据(处理时)进行加密一直很困难且成本高昂。保密计算——使用硬件功能(如可信执行环境 (TEE))为使用中的数据和算法提供此类保护——可以保护托管系统或脆弱环境中的数据。
我已经多次撰写关于 TEE 的文章,当然还有我与 Nathaniel McCallum 共同创立的 Enarx 项目(有关示例,请参阅 Enarx for everyone (a quest) 和 Enarx goes multi-platform)。Enarx 使用 TEE,并提供一个独立于平台和语言的部署平台,使您可以安全地将敏感应用程序或组件(如微服务)部署到您不信任的主机上。Enarx 当然是完全开源的(对于感兴趣的人,我们使用的是 Apache 2.0 许可证)。能够在您不信任的主机上运行工作负载是保密计算的承诺,它将敏感数据的常规做法从静态和传输中扩展到使用中。
- 存储: 您对静态数据进行加密,因为您不完全信任底层存储基础设施。
- 网络: 您对传输中数据进行加密,因为您不完全信任底层网络基础设施。
- 计算: 您对使用中数据进行加密,因为您不完全信任底层计算基础设施。
关于信任,我有很多话要说,而且上述声明中的“完全”一词很重要(这是我在重新阅读我写的内容时添加的)。在每种情况下,您都必须在某种程度上信任底层基础设施,例如,无论是交付数据包还是存储数据块。在计算基础设施的情况下,您将不得不信任 CPU 和相关的固件,因为如果不信任它们,您就无法真正进行计算(有一些技术,例如同态加密,开始在这里提供一些机会,但它们是有限的,而且技术还不成熟)。
有时会出现一些问题,即鉴于 CPU 存在一些已发现的安全问题,以及它们是否能够完全防御对其所在主机的物理攻击,您是否应该完全信任 CPU。
这两个问题的答案都是“否”,但这是我们目前大规模可用且价格合理以使其普遍部署的最佳技术。为了解决第二个问题,没有人假装这种技术(或任何其他技术)是完全安全的:我们需要做的是考虑我们的 威胁模型,并决定 TEE(在本例中)是否为我们的特定需求提供了足够的安全性。关于第一个问题,Enarx 采用的模型是在部署时允许决定是否信任特定的一组 CPU。因此,例如,如果发现供应商 Q 的 R 代芯片包含漏洞,则可以很容易地说“拒绝将我的工作负载部署到 Q 的 R 型 CPU,但继续部署到 Q 的 S 型、T 型和 U 型芯片以及来自供应商 P、M 和 N 的任何 CPU。”
我认为目前有三个方面的变化正在导致人们对保密计算产生兴趣并开始采用它
- 硬件可用性: 仅在过去的 6 到 12 个月中,支持 TEE 的硬件才开始广泛可用,目前市场上的主要示例是 Intel 的 SGX 和 AMD 的 SEV。我们可以预期在不久的将来会看到其他支持 TEE 的硬件出现。
- 行业准备就绪: 正如云使用越来越被接受为应用程序部署模型一样,监管机构和立法者正在提高对组织保护其管理数据的要求。组织开始强烈要求在不受信任的主机上(或者更准确地说,在他们无法完全信任处理敏感数据的主机上)运行敏感应用程序(或处理敏感数据的应用程序)的方法。这应该不足为奇:如果芯片供应商没有看到这种技术的潜在市场,他们就不会投入这么多资金。Linux 基金会 保密计算联盟 (CCC) 的成立是另一个例子,说明该行业有兴趣寻找使用保密计算的通用模型,并鼓励开源项目采用这些技术。1
- 开源: 像区块链一样,保密计算是那些绝对应该使用开源的技术之一。如果您要运行敏感应用程序,您需要信任为您运行应用程序的东西。这不仅包括 CPU 和固件,还包括支持在 TEE 中执行工作负载的框架。说“我不信任主机及其软件堆栈,所以我将使用 TEE”是很好,但是如果您无法了解 TEE 软件环境,那么您只是将一种软件不透明性换成另一种。开源对 TEE 的支持使您或社区——实际上是您和社区——能够以专有软件无法实现的方式检查和审计您正在运行的内容。这就是为什么 CCC 位于 Linux 基金会(致力于开放开发模型)内部,并鼓励与 TEE 相关的软件项目加入并开源(如果他们尚未开源)。
我认为,在过去的 15 到 20 年中,硬件可用性、行业准备就绪和开源这三者的结合已成为技术变革的驱动力。区块链、人工智能、云计算、Web 规模计算、大数据和互联网商务都是这三者同时出现并导致我们行业发生巨大变化的例子。
默认安全是我们几十年来一直听到的承诺,但它尚未到来。老实说,我不确定它是否会到来。但是,随着新技术的出现,特定用例的安全普及变得更加实用,并且在行业内更受期待。看来保密计算已准备好成为下一个重大变革——亲爱的读者,您可以加入这场革命(毕竟它是开源的)。
本文最初发表于 Alice, Eve, and Bob,并经作者许可转载。
3 条评论