论文分享|USENIX ATC 2022:TEE创新研究成果HyperEnclave

计算机系统领域国际顶级学术会议USENIX ATC 2022年度会议在美国卡尔斯巴德举行,蚂蚁隐私计算创新TEE技术研究成果《HyperEnclave: An Open and Cross-platform Trusted Execution Environment》被收录并做报告。USENIX ATC是中国计算机学会(CCF)推荐A类系统会议,至今已成功举办30多届,吸引了来自全球的顶级名校及科技公司参与,今年共收到393篇投稿,收录文章64篇,接收率仅16.28%。

一、摘要:

可信执行环境(Trusted Execution Environment,TEE)可用于实现数据处理过程中的敏感数据保护,是隐私计算主流技术路线之一。TEE 利用硬件隔离机制,将受保护的数据放在隔离的环境中处理(通常被称为 enclave),使数据免受 OS 管理员级别的攻击和物理攻击。但是,目前市场上主流的 TEE 技术(如 Intel SGX、AMD SEV)存在绑定硬件平台、源代码不开放、可信根被CPU 厂商主导、仅支持单一运行模式而灵活性不足等问题。以 Intel SGX 为例,该技术仅在特定型号的 Intel CPU 上可用,且enclave 只能运行在用户态,不能管理如页表、IDT 等特权资源,使得运行特定的任务会带来显著的性能下降。本工作提出的 HyperEnclave,具有最小硬件需求(硬件虚拟化和 TPM)、兼容 SGX 生态、灵活的 enclave 模式等特点。首先,HyperEnclave利用广泛支持的虚拟化技术构建安全边界,可支持当前主流硬件架构,如X86 架构,包含AMD/Hygon, Intel CPU等,也可以扩展到ARM 体系结构,从而避免了绑定特定硬件平台。另外,HyperEnclave基于TPM构建可信根,实现可信根与CPU厂商的解耦。最后,HyperEnclave 兼容已有SGX工具链和应用生态,并可以针对不同的应用场景提供灵活可配置的TEE运行模式。HyperEnclave 基于AMD CPU完成POC验证,成功支持在AMD 平台上安全可信的运行SGX应用,且在SQLite、Lighttpd、Redis等典型工作负载下均表现出良好的性能,例如SQLite仅引入5% 的开销。比实现同等安全级别下Intel SGX引入的开销更小。

二、方法:

架构设计

在HyperEnclave 中,RustMonitor 是一个轻量级 hypervisor,运行在最高特权级,仅用于管理 enclave 内存、保证内存隔离、控制enclave 状态切换。而复杂的资源管理会交给 guest 模式下的 Primary OS 处理。此外,enclave 也运行在 guest 模式,但会根据应用需求运行在 guest 用户态或是 guest 特权态。针对不同TEE应用特点,HyperEnclave提供了三种enclave运行模式GU-Enclave、P-Enclave、HU-Enclave,可灵活地适应计算密集型、I/O密集型、内存密集型和垃圾回收密集型的应用需求。对于开发者,HyperEnclave 兼容 Intel SGX SDK,现有 SGX 应用无需少量修改代码即可迁移到HyperEnclave。

图片

灵活的运行模式

针对TEE典型应用特点,HyperEnclave提供了三种Enclave运行模式,可更好地适应计算密集型、I/O密集型、内存密集型和异常处理密集型的应用需要。

图片

不同需求的应用场景

图片

HyperEnclave 三种运行模式

兼容SGX生态

在开发环节,HyperEnclave提供了SGX 硬件抽象,以兼容SGX工具链和应用开发生态,如: Rust SGX SDK, Occlum LibOS等,已有的SGX应用无需或少量修改代码即可迁移到HyperEnclave。

图片

HyperEnclave 模拟SGX ISA 指令

三、性能

隐私计算技术当前一大挑战是,安全性的提升往往带来性能的下降,二者较难兼顾。在TEE应用负载性能测试中,HyperEnclave 在计算密集型(NBench),内存密集型(SQLite),I/O密集型(lighttpd),混合型(Redis)等不同属性的工作负载下均表现出良好的性能。同时,针对不同的应用场景,各种灵活的运行模式也体现出更好的性能表现。

图片

TEE应用负载性能测试

四、应用

HyperEnclave是蚂蚁隐私计算一体机的核心技术,近日通过了北京国家金融科技认证中心认证。TEE功能(CA与TA交互、数据存储、加密解密算法等)、TEE安全(硬件安全、系统软件层安全等)47个项目全部通过检测,达到了金融级产品的功能和安全标准。目前隐语 TEE 底座采用了 Occlum + HyperEnclave 技术,以支持应用运行在不同的 TEE 硬件上(Intel SGX,AMD SEV),业务可以根据实际情况选择特定 TEE 硬件,以满足其合规性要求。HyperEnclave也在蚂蚁链智能合约,辅助网商银行与外部合作机构的数据融合等场景有成熟应用,助力业务数据安全流通。

Bookmark the permalink.

Comments are closed.