谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭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 在各种公有云和计算类的机密计算能力的开始。我们期待着分享更多关于我们不断扩大的产品组合的新闻,并了解您利用机密计算的新方法。

更多资源

订阅博客文章

订阅您感兴趣的主题

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

查看更多内容

使用 MAAS 部署 VMware 虚拟机管理程序

多数现代数据中心本身均为异构架构。VMware 环境常与容器平台、数据库及其他裸机业务负载共存,多年运行于同一套硬件之上。服务器一次性采购,但会随业务需求变化调整承载业务。 然而,ESXi(VMware 虚拟机管理程序)的配置通常由独立流程负责。主机通过 VMware 工具、自定义脚本或专为将部署 ESXi 到机器中开发的自动化程序完成安装。这些工作流单独运行虽行之有效,却未必能与物理基础设施的其他部分实现统一的追踪与管理。 由此导致了脱节:即便归属同一硬件资源池,ESXi 主机的管理方式仍与数据中心其他设备脱离。随着环境规模扩大、架构日趋多元化,这种割裂式管理会形成业务瓶颈。 将 ESXi 纳入统一裸机平台进行统筹管理将是更具扩展性的方案。这使得 ESXi 的配置流程, […]

什么是 Ubuntu Pro?与标准版有不同吗?功能及内容详解

Ubuntu Pro 是 Canonical 推出的全方位订阅服务,提供开源安全防护、技术支持与合规保障。从长达 15 年的安全维护、全天候技术支持,到面向 IT 管理员的自动化加固工具,深入了解 Ubuntu Pro 订阅包含的全部服务。 Ubuntu Pro 具备哪些功能? Ubuntu Pro 是一套安全合规订阅服务,可为操作系统、应用程序及 IT 运维各层级及时提供补丁与安全维护。它助力企业及其工程师保障软件与系统安全,并通过加固工具、自动化流程及一系列其他功能,为企业满足安全标准合规铺平道路。 了解关于 Ubuntu Pro 的更多信息 › Ubuntu Pro 与标准版 Ubuntu 有何不同? 很多人存在误区,误以为 Ubuntu Pro 是独立版本或全新操 […]

代码热风险 – 软件供应链视角下,容器交付前要先“冷却”

已遭遇的安全漏洞,与即将到来的威胁 2025 年 9 月,npm 软件仓库中包括 chalk 和 debug 在内的数十个热门 JavaScript 软件包遭入侵。这些软件包应用极为广泛,几乎无处不在:前端应用、后端微服务以及 CI 工具中均有使用。开发人员并无任何失误操作,他们只是执行了一贯使用的命令:npm install chalk。但恶意软件却悄无声息地侵入了。 这并非操作系统中的漏洞。也不是某台笔记本电脑上的病毒。这是一次供应链攻击:攻击者在开发者构建软件所使用的组件中植入了恶意代码。手段并不复杂,仅仅是一名开发者遭到钓鱼攻击、一次恶意发布,数百万下游用户便因看似是合法更新而将恶意代码引入系统。 而这确实是一次合法的更新。发布者并非有意植入恶意软件,也对此毫不知 […]