【机密计算顶会解读】09:vSGX——在AMD SEV处理器上虚拟化SGX Enclaves

导读:本文介绍vSGX可信执行环境架构,通过软件的方式在AMD SEV平台上实现SGX的功能和安全性,并且在提供对现有应用的二进制兼容的同时保留SEV的安全性。

原文链接:vSGX: Virtualizing SGX Enclaves on AMD SEV | IEEE Conference Publication | IEEE Xplore

vSGX: Virtualizing SGX Enclaves on AMD SEV(IEEE Symposium on Security and Privacy 2022)

一、背景介绍

在云服务中,可信执行环境的使用保证了程序数据的机密性和完整性不受恶意的系统软件和运营商的影响,Intel、AMD则分别推出了Intel SGX、AMD SEV可信执行环境系统。其中,Intel SGX属于enclave类型的TEE,目前已经构建了一个丰富的生态系统,并发展成较为成熟的可信执行环境架构。然而,Intel SGX扩展指令集只有在特定的Intel SGX硬件支持下才能执行,开发人员需要根据Intel软件规范使用Intel SGX SDK构建应用程序。这导致了“制造商捆绑”问题的产生,即:为某个特定种类的环境开发的程序只能绑定在这个制造商的硬件上运行。

与此同时,许多云计算平台正在尝试从硬件上解耦可信执行环境,通过将可信执行环境软件与底层可信执行环境硬件分离使得开发完成的应用程序能够“一次构建,任意部署”。例如,Google Asylo SDK希望通过提供统一的SDK来兼容不同的TEE;Amazon Nitro Enclave希望通过虚拟化的形式来提供一个隔离的运行环境。此外,还有尝试实现软件定义的TEE,例如Komodo。

二、应对机制

AMD SEV通过直接提供一个加密虚拟机的方式来提供安全保证,这种方式可以避免其他虚拟机/宿主机的攻击,但不太容易做到像SGX一样的精巧严格的防护。并且,AMD SEV在所有的EPYC处理器上都提供,这也意味着对于云平台而言,开启SEV并不需要特殊选择。

因此一个可行的应对办法是:通过软件的方式在AMD SEV平台上实现SGX的功能和安全性,并且在提供对现有应用的二进制兼容的同时保留SEV的安全性。由此,vSGX系统被针对性地设计出来。vSGX是一种新的可信执行环境架构,它基于AMD SEV的硬件虚拟化和隔离来安全地执行Intel SGX程序,并且通过使用指令模拟,跨虚拟机内存同步以及基于AMD SEV的内存加密和隔离机制,为Intel SGX应用程序提供兼容的同时保证了应用程序的机密性和完整性。

三、vSGX 系统设计

在vSGX中,我们利用SEV提供的硬件虚拟机隔离来保证SGX中的enclave的内存隔离需求。我们将enclave运行在一个单独的虚拟机中,称之为EVM(Enclave Virtual Machine)。这些EVM内拥有一个小型的操作系统内核,功能仅限于提供基本的内存管理和线程管理以及提供vSGX的服务,除此之外的功能均被裁剪。而对于原本的应用运行的虚拟机,我们称之为AVM(App Virtual Machine)。在其中我们允许用户自行安装操作系统和环境,只需要安装我们提供的vSGX内核模块即可。一旦安装之后,AVM就好像拥有SGX硬件一样可以直接调用SGX的指令。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值