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

简介: 论文分享|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也在蚂蚁链智能合约,辅助网商银行与外部合作机构的数据融合等场景有成熟应用,助力业务数据安全流通。

相关文章
|
安全 IDE 开发工具
SGX入门:如何开发第一个最简单的 SGX 应用 HelloWorld
本文将向大家展示如何基于 Intel SGX SDK 开发一个最简单 SGX 应用:HelloWorld,这个程序在可信区生产 "Hello world"并传递给不可信代码(缓冲区)打印输出到终端。 虽然 Intel SGX SDK 安装目录中默认提供了数个 Sample,但每个 Sample 对于初学者来说非常复杂和难以理解。 关于 SGX 开发运行环境的搭建可参考:[《SGX入门:
|
安全 Linux API
【数据安全】可信执行环境:Open Enclave SDK
构建基于可信执行环境的应用程序,通过开源SDK帮助保护使用中的数据,该SDK跨飞地技术以及从云到边缘的所有平台提供一致的API界面。
|
Kubernetes 安全 数据安全/隐私保护
在K8S上部署可扩展的基于Occlum的安全推理实例
机密计算是指通过在基于硬件的可信执行环境(TEE)中执行计算来保护数据应用中的隐私安全,是目前最火热的隐私保护技术之一。在云上运行TEE应用也得到了云厂商的广泛支持,包括阿里云,微软Azure云,都提供了基于SGX技术的机密安全实例服务。用户可以在这些云上申请带SGX支持的安全实例,然后部署自己的机密安全服务,既可以避免隐私数据泄露,也无需操心繁琐的基础架构层的配置。无论哪种云,最流行的分布式部署
在K8S上部署可扩展的基于Occlum的安全推理实例
|
安全 Linux 数据安全/隐私保护
Intel TME和MKTME技术解析
# 市场需求 人们对透明全内存加密这个功能的需求主要来自对机密和敏感数据的保护。普通RAM里面储存的数据,在掉电之后,一般都以为是彻底消失了。但其实在一些复杂的离线攻击下,这些数据仍然是能被恢复出来并导致泄密;而持久性存储器(即外存,包括磁盘、SSD、eMMC等)的数据更加容易泄露。这些设备可能有硬件锁机制的保护,但是用户其实希望的是更细粒度的保护,比如per进程/容器/VM级的。 Int
6117 0
Intel TME和MKTME技术解析
|
存储 安全 算法
【回顾】蚂蚁链自研TEE技术全项通过国家金融科技认证中心认证
2022年3月,蚂蚁集团自研TEE技术(HyperEnclave)通过了北京国家金融科技认证中心认证
【回顾】蚂蚁链自研TEE技术全项通过国家金融科技认证中心认证
|
机器学习/深度学习 分布式计算 Cloud Native
带你读《云原生机密计算最佳实践白皮书》——Occlum: 基于Intel SGX的轻量级LibOS
带你读《云原生机密计算最佳实践白皮书》——Occlum: 基于Intel SGX的轻量级LibOS
1197 0
|
安全 IDE NoSQL
RISC-V处理器的第一个可信执行环境:MultiZone Security
RISC-V处理器的第一个可信执行环境:MultiZone Security
649 0
|
人工智能 安全 Linux
《可信计算技术最佳实践白皮书》发布,龙蜥助力可信计算技术应用推广(可下载)
从标准化、社区、技术、案例等维度全方位介绍可信计算技术生态和最新动态。
|
机器学习/深度学习 存储 安全
带你读《云原生机密计算最佳实践白皮书》——AMD SEV: AMD安全加密虚拟化技术
带你读《云原生机密计算最佳实践白皮书》——AMD SEV: AMD安全加密虚拟化技术
1686 0
|
存储 机器学习/深度学习 安全
机密计算: 一种基于硬件的、服务于应用和数据的可信执行计算形态
注:本文是对[机密计算联盟](https://confidentialcomputing.io/)发布的白皮书[Confidential Computing: Hardware-Based Trusted Execution for Applications and Data v1.2](https://confidentialcomputing.io/wp-content/uploads/sit
5465 0
机密计算: 一种基于硬件的、服务于应用和数据的可信执行计算形态