无论是使用内部数据中心的企业,还是迁移至云的企业,数据安全都是其最关心的问题。机密计算(Confidential Computing,简称CC),作为一项突破性技术,因其可以让用户对“使用中”数据进行加密,备受业界关注。
什么是机密计算?
机密计算,是一项突破性技术,可以对正在处理的数据,即对“使用中”数据进行加密。其诞生的背景是:过去,很多企业在安全方面的大多数努力,都集中在通过加密保护“静止的”或“传输中”的数据。但一个相对容易被忽视的领域是,“使用中”数据(Data-in-use)的加密。随着企业业务上云,如何保护“使用中”的数据,成为企业面临的最大挑战之一。在这种背景下,旨在保护“使用中”数据机密性和完整性的“机密计算”应运而生。
机密计算的原理是使用基于硬件的技术将数据、特定功能或整个应用程序与操作系统、虚拟机管理程序、虚拟机管理器以及其他特权进程隔离开来。在后台,机密计算环境将数据加密保存在内存、CPU外部的其他位置,称为“可信执行环境(Trusted Execution Environment,简称TEE)”。
可信执行环境(TEE),是让机密计算发挥作用的关键所在,它是指可以提供一种与不可信环境隔离的安全计算环境,将阻止任何更改应用程序代码或篡改数据的尝试。这在多用户系统,例如虚拟化和公共云系统(其数据交叉污染是真正的风险)中尤其重要,这种隔离和可信验证机制使得机密计算成为可能。
TEE一般是直接基于硬件实现的,比如Intel SGX以及ARM TrustZone等;基于虚拟化技术也可以构造TEE,比如微软的VSM,Intel的Trusty for iKGT & ACRN等。事实上,这个概念的早期版本可以追溯到十多年前在许多PC中可用的TPM模块。与现代版本TEE不同的是,它们内置于芯片的核心中,而不是作为可能会因互连而受到损害的外部附件。
2019年,机密计算首次被Gartner列入《2019年云安全技术成熟度曲线报告》;2020年,机密计算仍是Gartner云安全成熟度曲线上的33种技术之一。
科技巨头入局
作为一项前瞻性技术,目前许多科技巨头纷纷入局,大力探索和开发机密计算。
微软Azure
2017年,微软新增加了一项名为Azure机密计算的安全功能,以确保数据在处理时能得到更多的控制。
Azure机密计算会阻止由更改或篡改代码触发的操作,从而以良好的方式关闭整个TEE。该技术可防止针对应用程序、操作系统或系统管理程序漏洞的恶意软件或攻击者获得对正在使用数据的访问。还可以阻止具有直接访问系统权限或拥有管理特权的恶意内部人员。
在实现方式上,微软的机密计算有两种模式:第一个是在Windows Server 2016和Windows 10 Hyper-V虚拟化软件组件中找到基于软件的虚拟安全模式,第二个是内置在Azure云服务器处理器中的英特尔软件保护扩展(SGX)技术。
目前,微软正在与其他软件和硬件合作伙伴合作,以启用其他类型的TEE。
阿里云
阿里云是亚太区首个推出基于SGX机密计算的云服务商,并在全球范围内首个将SGX技术商业化,让云上用户都可以以最简单便捷的方式享受高等级数据保护能力。
基于Intel SGX机密计算技术,阿里云为云上客户提供了系统运行时的可信能力,云上开发者可以利用SGX技术提供的可信执行环境,将内存中的关键代码和数据保护起来,即便具有更高特权的系统组件(包括BIOS、虚拟化底层、操作系统内核)也无法获得关键代码和数据,让客户可以摆脱对云平台的依赖,通过拥有云上的可信执行环境,防止数据被窃取或被篡改。
阿里云在机密计算领域所做的工作不止如此:
谷歌云
在Google Cloud Next 2020大会上,谷歌云(Google Cloud)推出了一款“可保密虚拟机”(Confidential VMs)。这种新型的虚拟机可以利用谷歌的加密计算,实现对静止状态和内存数据的保密。
在后端,机密虚拟机使用了基于AMD二代霄龙处理器(EPYC)的安全加密虚拟化技术,实现了使用中数据的加密。密钥由CPU可信执行环境生成且无法导出,即便是谷歌自身也无法得知密钥。
此外,谷歌还表示他们已经推出虚拟机的加固服务项目Shielded VMs,能在root软件和其他漏洞攻击下保护系统。
布局未来
随着企业将业务数据迁离本地或迁至多租户云计算环境,现在他们迫切需要能够保护客户数据完整性以及保护使用中数据的专有算法。因此,云供应商正在启动新的机密计算实例供客户使用。这消除了组织运行自己机密计算系统的必要性,从而形成了一个双赢的局面:客户获得了保护其数据资产所需的东西;云提供商引入了客户不一定拥有的必要硬件资产。
这种新的可用性正推动越来越多的处理器包含内置的机密计算概念。而且由于云提供商通常在可用性早期阶段就获得了新的高端处理能力,这使得用户社区的访问速度要比用户自己获取的访问速度快得多。此外,鉴于在云中运行的硬件和工具包的可用性,它使应用程序提供商能够快速将机密计算设计到他们的产品中,并进一步拥有一个更成熟的市场来收回开发投资。
Gartner预计,需要大约5年至10年,机密计算才会普遍使用。建议企业在未来6-12个月内探索使用机密计算技术,向主要应用解决方案提供商说明,希望其遵守机密计算战略,并在约定时间内提供技术实施。毕竟,想要赢得市场占有率,获得竞争优势,就必须先人一步。