谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

公有云的机密计算:隔离和远程证明说明

by Canonical on 14 March 2023

在本博客系列的第一部分,我们探讨了运行时的(不)安全挑战,它会使您的代码和数据易受到公有云基础架构的特权系统软件及其管理员的攻击。此外,我们还引入了可信执行环境和机密计算(CC,Confidentail Computing)的概念,作为应对本次挑战的范例。CC 采用务实的方法:它认为由云系统软件引导的执行环境并不可靠,建议在隔离的可信执行环境中(TEE,Trusted Execution Environment)运行安全敏感工作负载。TEE 的安全保证根植于平台的深层硬件层中;安全声明可以远程验证。

但是机密计算的工作原理是什么呢?为了更详细了解 TEE 和 CC,我们需要了解隔离和远程证明。

为了能够对 TEE 和机密计算展开思考,我们需要了解两个主要的原语:

  1. 孤立 – isolation
  2. 远程证明 – remote attestation

而这正是第二个博客部分所探讨的内容。接下来就让我们开始吧!

隔离

依靠硬件隔离来创建具备更好安全保证的 TEE 的想法屡见不鲜。多年来,人们已开发了各种方法来实现硬件 TEE。从较高级别来看,可将其分为物理隔离方法和逻辑隔离方法。

物理隔离

代码在物理隔离的处理器中运行,该处理器不与不可信的执行环境共享任何上下文。比较突出的示例有协处理器、智能卡和安全模块。此类解决方案由于完全隔离,因此针对主机平台侧信道攻击具有高度可靠的保护。然而,它们缺乏对系统内存的直接访问权限。此外,它们的计算资源也十分有限。

多重逻辑隔离

安全敏感的工作负载在同一个主机商用处理器中运行,并共享其同一个物理执行上下文。但是,其执行在逻辑上与主 CPU 相互隔离,如下所示:

1. 通过主内存加密进行的内存隔离:

与在运行时将工作负载的代码和数据以明文形式保存到系统内存不同,许多具有机密计算能力的 CPU,

都在其内存控制器中嵌入了新的 AES-128 硬件加密引擎,负责在每次内存读/写时加密/解密内存页。因此,从内存中或易受攻击的操作系统中抓取数据的恶意系统管理员只能访问到加密的密文。加密密钥在硬件级别得到进一步的保护和管理,任何云的特权系统软件及其管理员都无法访问。

2. 其他基于 CPU 的硬件访问控制机制:

虽然加密操作保护了机密工作负载内存页的机密性,但其他类型的攻击仍然可能发生。例如,恶意主机操作系统可能会将同一个内存页分配给两个不同的进程。此外,作为重放攻击,它还可能更改您的加密内存值,从而无法保证机密工作负载的完整性。为了解决这一问题,具有机密计算能力的 CPU 实现了新的指令和新的数据结构,可帮助审计通常由特权系统软件执行的安全敏感任务,例如内存管理和对平台设备的访问。例如,用于读取映射到机密工作负载的内存页的新指令还应该返回上一次写入该页的前一个值,以便减少数据损失和重复攻击。

远程证明

好了,现在您的工作负载安全地运行在其自身的隔离可信执行环境中了。那么,是否真正安全地运行?如何验证您的云供应商未以正常的非机密方式部署您的工作负载?如何了解它是否将您的工作负载配置为真正的硬件 TEE?如果这样,如何验证其系统软件已经按照您希望的方式将应用程序加载到 TEE?您只能相信云供应商所说吗?大可不必。相反,在将机密配置到硬件 TEE 中并信赖其结果之前,应充分利用硬件 TEE 的远程证明功能。

至少,远程证明为您提供一个加密证明,包括:

  1. 可证明加载到 TEE 的软件完整性的度量/散列
  2. 散列上的加密签名,证实了所用的云 TEE 硬件是真实的,且未撤销

远程证明实施细节取决于底层硬件 TEE 和公有云供应商,这将是本系列下一篇博客探讨的主题。

公有云中的机密计算

机密计算是一种全行业性的工作,需要多方利益相关者的合作。在硬件方面,硅供应商已投入大量资源,来完善其 TEE 产品。举几个例子,我们的 X86 架构上有 Intel SGX、Intel TDX 和 AMD SEV;ARM 生态系统方面有 TrustZone 和即将推出的 ARM CCA;RISC-V 架构上有 Keystone。

公有云供应商(简称 PCP)一直是硬件可信执行环境的主要采用者之一。为了使用户更轻松运行机密工作负载,PCP 一直都致力于实现「迁移和提升」方法,通过该方法,整个虚拟机可在 TEE 中稳定地运行。

这意味着,开发者无需重构或重写他们的机密应用程序;而且这也意味着,客户操作系统需要优化,以支持用户应用程序充分利用平台的底层硬件 TEE 功能,并在虚拟机启动和休息时进一步保护虚拟机。

Google 云集团产品经理 Nelly Porter 表示:“Google 云控制台上提供了经优化的 Ubuntu LTS 图像,这些图像利用 Google 云的机密计算保护使用中的数据安全”“与 Canonical 一起,让基于 Ubuntu 的机密虚拟机部署变得简单易用。”

今天,我们的云机密计算组合包括 Google 云上的机密虚拟机。而这仅仅是开始!

Canonical 致力于实现机密计算的愿景,这仅仅标志着 Ubuntu 在各种公有云和计算类的机密计算能力的开始。我们期待着分享更多关于我们不断扩大的产品组合的新闻,并了解您利用机密计算的新方法。

更多资源

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Canonical 发布 Ubuntu 24.04 LTS Noble Numbat

Canonical 的第 10 个长期支持版本树立了在性能工程、企业安全和开发人员体验方面的新标准。 伦敦,2024 年 4 月 25 日 Canonical 今日正式发布 Ubuntu 24.04 LTS,代号“Noble Numbat”(尊贵的袋食蚁兽),用户可前往 https://ubuntu.com/download 下载并安装。 Ubuntu 24.04 LTS 建立在前三个中期版本的进步以及世界各地开源开发人员的贡献之上,只为确保一个安全、优化和具有前瞻性的平台。 Canonical 首席执行官 Mark Shuttleworth 称:“Ubuntu 24.04 LTS 在性能工程和机密计算方面迈出了大胆的一步,实现了一个企业级创新平台,支持期限至少为 12 […]

Edge Computing Examples

您应当知道的 5 个边缘计算示例 在日新月异的科技世界中,创新是保持领先地位的关键。在企业追求效率、速度和实时数据处理能力的趋势下,人们越来越关注边缘计算。  边缘计算代表了数据处理和分析方式的范式转变。与将数据处理集中在远程数据中心的传统云计算不同,边缘计算是将数据处理带到了更接近数据源的地方。这样不仅减少了延迟,而且为各行各业开辟了一个充满可能性的世界。 我很高兴通过本篇博客跟大家一起来探讨这项尖端技术的示例及各种应用和用例,文中将特别着重于探讨 Canonical 的 MicroCloud 如何无缝地适应这一转变格局。 各行各业边缘计算示例 智慧城市和城市规划 边缘计算在智慧城市的发展中起着至关重要的作用。通过在整个城市环境中部署传感器、摄像头等边缘设备,数据可以就 […]

Canonical 从 Ubuntu 14.04 LTS 开始将安全支持期限延长至 12 年

Canonical 全面推出 Ubuntu Pro 附加组件 Legacy Support,并将 Ubuntu LTS 版本的安全支持延至 12 年。该附加组件将适用于 Ubuntu 14.04 LTS 及之后的版本。 长期支持的 Ubuntu 版本可享受针对主要 Ubuntu 资源库的五年标准安全维护。Ubuntu Pro 将针对主要资源库和总体资源库的这一安全维护承诺期限延至 10 年,为企业和最终用户等提供了一个巨大的安全开源软件库。订阅还可享受电话和工单等支持服务。Ubuntu Pro 付费客户可以购买新推出的 Legacy Support 附加组件,享受额外两年的安全维护和支持服务。 Canonical 支持工程全球副总裁 Maximilian Morgan 称 […]