乐趣区

关于云原生:技术门槛高来看-Intel-机密计算技术在龙蜥社区的实践-龙蜥技术

编者按:龙蜥社区云原生秘密计算 SIG 定位于云原生秘密计算底层基础设施,专一于秘密计算底层技术。在阿里巴巴开源凋谢周中,龙蜥社区秘密计算 SIG Maintainer、Intel 产品安全专家张顺达分享了《Intel 秘密计算技术在龙蜥社区的实际》,帮忙开发者龙蜥社区秘密计算 SIG,以及 Intel 在 SIG 当中的工作和停顿。以下为本次分享内容:

一、龙蜥社区云原生秘密计算 SIG 背景介绍

秘密计算通过在基于硬件的可信执行环境(TEE)中执行计算的形式来爱护应用中的数据。这些平安的、隔离的环境可避免对应用中的应用程序和数据进行未经受权的拜访或篡改,从而晋升相干组织在治理敏感数据和受监管数据方面的安全级别。TEE 目前风行的技术有 Intel 的 SGX、TDX,AMD 的 SEV 及 ARM 的 TrustZone 等等。

以后,Intel 在龙蜥社区次要提供了 SGX 和 TDX 反对,以及在 SGX 和 TDX 上构建的运行时虚拟机以及容器等一些列秘密计算利用。

英特尔软件防护扩大(Intel Software Guard Extensions,SGX)是一组平安相干的指令,它被内置于一些古代 Intel 中央处理器(CPU)中。它们容许用户态将特定内存区域设置为公有区域,此区域也被称作飞地(Enclaves)。其内容受到爱护,不能被用户利用自身以外的任何过程存取,包含以更高权限级别运行的过程。

CPU 对受 SGX 爱护的内存进行加密解决。受爱护区域的代码和数据的加解密操作在 CPU 外部动静(on the fly)实现。因而,处理器能够爱护代码不被其余代码窥视或查看。SGX 应用的威逼模型如下:Enclaves 是可信的,但 Enclaves 之外的任何过程都不可信(包含操作系统自身和任何虚拟化管理程序),所有这些不可信的主体都被视为有存在歹意行为的危险。Enclaves 之外代码的任何代码读取受爱护区域,只能失去加密后的内容,因为 SGX 不能避免针对运行工夫等侧信道信息的测量和察看,所以在 SGX 外部运行的程序自身必须能抵制侧信道攻打。

SGX 被设计用于实现平安近程计算、平安网页浏览和数字版权治理(DRM)。其余利用也包含爱护专有算法和加密密钥。英特尔® Trust Domain Extension(TDX)正在推出新的架构元件,以帮忙部署称为信赖域(TD)的硬件隔离虚拟机(VM)是 SGX 的下一代产品。

龙蜥社区云原生秘密计算 SIG(Special Interest Group)主旨是构建一个云原生的秘密计算开源技术栈,升高秘密计算的应用门槛,简化在云上的部署和利用难度,拓展应用场景及翻新计划,次要定位于底层的基础设施,为宽广开发者提供根底的撑持。

SIG 目前次要的沉闷的我的项目有海光 CSV 秘密容器、Inclavare Containers 秘密容器、Intel SGX 和 TDX 基础架构的适配,以及阿里云 JavaEnclave、蚂蚁 Occlum,和其余社区 SIG 也有亲密的单干,比方 Cloud Kernel、海光 Arch、Intel Arch、虚拟化、云原生等。

二、Intel 秘密计算在龙蜥社区的实际以及布局

目前秘密计算畛域有一些广泛的、共性的问题,云原生秘密计算 SIG 都有相应的应答和解决办法:

  • 首先是用户的心智有余,广泛对这项技术认知感有余,甚至不晓得秘密计算,也短少需要。咱们就通过龙蜥大讲堂等直播演讲的模式来推广,并且也通过龙蜥实验室让内部用户可能体验秘密计算。
  • 其次是技术门槛绝对偏高。比方 SGX 和 TrustZone 的编程模型比较复杂,学习和应用门槛比拟高;但秘密虚拟机状态的 SEV 及 TDX 仍须要近一步推广。针对这个问题,咱们会在 Anolis 中引入秘密计算让用户应用,也会晋升秘密计算的可用性,反对多种硬件,提供多种部署状态和技术栈,尽量满足用户的不同需要。
  • 再次是利用产品不足普适性。例如目前的应用场景通常都是特定行业,特地是有壁垒的行业,如金融行业等。因而咱们要晋升通用性,提出更多具备通用性的解决方案。
  • 最初就是信赖根和信赖模型的的问题。国内用户对国外 CPU 的信赖根问题存在担心,另外租户也可能心愿将云厂商及第三方从本人的 TCB 中齐全移除。应答这个问题,云原生秘密 SIG 将会公布秘密计算技术白皮书,通过近程证实体系来做一些廓清,减少用户信念。

那 Intel 在针对以上问题作出的解决方案有以下 3 方面:

  • 升高技术门槛方面,会尽量提供便捷的编程接口,例如 SGX 反对 LibOS 的计划:对于 LibOS 计划:在 SGX 编程模型中,可信局部个别须要用户本人移植到 Enclave 当中,应用特定的编程接口来操作。Gramine 和 Occlum 应用 LibOS,将用户程序间接全副放到一个大 Enclave 当中,为用户提供零碎调用、IO 等反对。也将 SGX SDK/PSW(平台软件 /Intel 提供的根底服务),DCAP 的相干安装包和库,适配到 Anolis 当中,使得用户能够更不便地应用。
  • 在通用性反对下面,咱们对容器和虚拟机做最大限度的反对,保障通用性计划能够很好的在下面运行。
  • 在可信反对方面,Intel 也会提供根底的近程证实框架,帮忙廓清误会和减少用户的信念。

下图是龙蜥社区打造一体化解决方案示意图。从图中能够看到龙蜥社区承接芯片厂商、撑持 OSV、整机厂、ISV 和终端用户。

在云原生秘密计算 SIG 沉闷我的项目中,Intel 提供了 SGX Stack,并反对 Inclave container,另外还有 JavaEnclave、Occlum 也是基于 SGX 技术。所以 Intel 在龙蜥社区相干工作能够分为 4 大类:

  • 首先是秘密计算和可信环境的一个根底的撑持,次要包含 SGX SDK、SGX PSW/DCAP 安装包的适配和 Anolis 的集成。
  • 其次是基于 LibOS 的运行时反对,目前应用该项技术的有 Intel 的 Gramine 和蚂蚁的 Occlum。
  • 而后还有虚拟化和容器,SGX 虚拟化 SGX、SGX 和 TDX 秘密容器。
  • 最初是对同态加密的反对,包含软件和硬件(例如 QAT 硬件加速)等等。

依据上图大家能够看到:

  • 在技术栈下面,Intel 提供可信计算的一部分硬件平台反对(SGX,TDX)。
  • 在和运行时层面给出根底反对 SGX 和 TDX DCAP 的开发包,并且也提供基于近程证实的 TLS 通信。在 SGX 根底上的 libOS 解决方案 Gramine,也对应用 SGX 的蚂蚁的 Occlum 和阿里云的 JavaEncave 进行技术支持。
  • Attestation 体系方面也提供近程证实框架。
  • 在容器方面袋鼠 CC Inclavare Container Enclave CC 等都用到了 SGX 和 TDX 技术。
  • 运行时库有 Intel 的同态加密 stack。

目前 Intel 在龙蜥社区中的各个我的项目都在稳步推动,像海光 CSV 秘密容器是已交付,Intel SGX 软件包、SGX LibOS 解决方案,SGX 虚拟化以及 TDX 近程证实也会在下文中作为次要的例子来开展讲一下。

在秘密计算产品和技术图中,Intel 产品在各个产品当中次要提供根底秘密计算能力的撑持,Intel SGX 和 TDX DCAP 可能向上撑持运行时、虚拟机、容器等具体的应用,最终让用户不便地将本人的 workload 运行到一个可信的秘密计算环境当中。

Intel 为 Anolis OS 提供了适配和优化过的 SGX SDK/PSW/DCAP 以及 TDX DCAP 软件安装包和运行时库。将它们集成到龙蜥操作系统(Anolis OS)之后,能够让用户更加不便高效地应用,为下层的秘密计算利用如秘密虚拟机和秘密容器等提供服务。

对于 Gramine 的 Stack,Gramine 应用 Intel SGX 技术,集成到龙蜥操作系统(Anolis OS)之后,用户能够更加不便地部署具体的利用,例如机器学习等 Workload,无需批改或者从新编译。

Gramine 作为根底撑持模块,为 Enclave 秘密容器提供 SGX 运行环境。

Occlum 也是相似的思路。Enclave 秘密容器及其他 SGX 秘密容器 /Workload 也能够抉择 Occlum 作为运行 SGX 的环境。

SGX 虚拟化,在 VM 或者 VM Pod 当中 SGX SDK/PSW/DCAP 都起到了一个根底撑持的作用,服务于具体的 Runtime。

TDX 次要提供了近程证实反对,用户在 TDX 当中跑 Workload 绝对比拟容易,因为整个 OS/VM 都是加密的,也不必再移植任何代码。然而近程证实是一个十分重要的点 — 用户怎么信赖他的 VM 运行在一个有 TDX 能力的硬件平台上?咱们提供了一套软件和服务,使得 TDX VM 能够高效和平安地实现近程证实。

对于同态加密,Intel 也有相干的软件和库,另外提供了硬件反对。图中 ICX 是最新的一代服务器芯片,SPR 是下一代服务器芯片,QAT 则是加解密减速硬件。

咱们将目前的一些交付流程(如 SGX 和 TDX DCAP 的软件包适配流程)分为几个阶段:首先是在 Intel 方面实现所有的测试,而后是在 Intel 仓库中公布,下一个阶段就是开源 Build spec,这样客户能够有一个规范的 Build spec 来本人进行 build,最初是集成到 Anolis 的仓库中。目前咱们以及顺利地实现了测试,并将陆续公布在 Intel 和 Anolis 的软件仓库里。

三、总结

通过龙蜥社区秘密计算 SIG,推广秘密计算技术,进步可用性和通用性,减少用户应用秘密计算的信息,Intel 在这个过程中也将秘密计算如 SGX 和 TDX 技术落地,服务于龙蜥社区的用户。Intel 目前提供了以 SGX SDK/PSW/DCAP, TDX DCAP 软件包为代表的 TEE 基础架构撑持,和基于 LibOS 的运行时反对 Gramine。并以这些为根底反对了其余 LibOS 运行时如蚂蚁的 Occlum,以及更高层次的秘密计算利用,例如 SGX 虚拟化及 SGX/TDX 秘密容器。另外 Intel 也提供了同态加密软硬件技术 Inte HE Stack,和加解密硬件加速技术 QAT,反对更多样的秘密计算应用场景。

—— 完 ——

退出移动版