Confidential Containers:云原生机密计算基础设施

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 后续将基于RunD安全容器打造更完整的机密容器技术,包含支持更多的 HW-TEE 平台,以及构建更完备的机密容器支持能力。

640.png

文/龙蜥社区云原生 SIG

前言部分

机密容器是 Cloud Native Computing Foundation(CNCF)下的一个新的 Sandbox 项目。机密容器项目基于 CPU 可信执行环境(TEE)技术,并与云原生容器以及 Kubernetes 技术结合,构建出新的软件架构,其设计目的是为运行在不受用户控制的云计算基础设施上的敏感数据和应用提供安全可信的计算环境。机密容器项目的目标是标准化机密计算在容器技术层面的实现方式,屏蔽多种 CPU TEE 的底层实现细节,在使用体感上保持与使用普通容器进行开发和部署的一致性。阿里云还将机密解决方案推广到龙蜥社区, 并基于龙蜥社区构建开箱即用的机密容器解决方案。

CPU TEE(如 AMD SEV、Intel SGX 和 Intel TDX)能够提供处理器微架构级内存访问控制与隔离机制,在内存级提供加密和完整性保护,增加新的指令集与处理器运行模式,禁止不可信设备通过 DMA 访问加密内存,目的是防止在计算过程中泄露或篡改敏感数据和代码。CPU TEE 建立了一种新的威胁模型,用户敏感数据和应用的安全性无需由云服务提供商及其基础设施管理员来保证,而仅依赖于硬件级别的TEE 保护技术。


机密容器项目的目标是在容器级别标准化机密计算,并简化其在 Kubernetes 的使用。这是为了让 Kubernetes 用户能够使用熟悉的工作流和工具部署机密容器工作负载,而无需深入了解底层机密计算技术。机密容器将支持多种环境,包括公共云、本地和边缘计算。目前机密容器项目的核心参与者包括阿里云、AMD、ARM、IBM、Intel、Microsoft、Red Hat、Rivos 等在内的软件和硬件公司。阿里云作为该项目核心技术的主要贡献者,在机密容器社区不久前发布的 0.1.0 release 中,阿里云在该项目以及相关依赖项目的贡献比例约占 20%,位居社区第二,仅次于 Intel。该项目 9 个核心子项目中有 5 个由阿里云的 Maintainer 负责,项目的技术指导委员会 10 名成员中,阿里云占有 2 个席位。

技术架构

机密容器有两种典型架构:640 (3).png

  • Pod 级机密容器:该架构基于 Kata Containers 项目,最大区别是将基于普通虚拟化技术实现的轻量级 Sandbox Pod替换为基于机密计算技术实现的轻量级 TEE Pod,目的是将特定租户的整个 Pod 以及其中的容器运行在受 CPU TEE 保护的执行环境中。除此之外,TEE Pod 内部还额外集成了 image-rs 和 attestation-agent 等组件,它们负责实现容器镜像的拉取、授权、验签、解密、远程证明以及秘密注入等安全特性。Pod 级机密容器支持 AMD SEV 以及 Intel TDX 机密虚拟机。
  • 进程级机密容器:该架构基于阿里云、Intel 与蚂蚁合作的 CNCF 项目 Inclavare Containers。租户的容器运行在支持 Intel SGX Enclave 的CPU TEE中。该架构的特别之处在于 Pod 由容器工作负载运行在 LibOS(目前支持蚂蚁 Occlum,将来会支持Intel Gramine)之上,并由 enclave-agent 对容器的生命周期进行管理。除此之外的核心组件 image-rs 和 attestation-agent 组件均与 Pod 级机密容器架构相同。

机密容器的基本运行过程为:

  • 用户使用标准工具制作一个签名和/或加密的受保护的容器镜像,并上传到容器镜像仓库中。
  • 用户命令 Kubernetes 启动这个受保护的容器镜像。kubelet 会向 containerd 发起创建 Pod 的 CRI 请求,containerd 则把请求转发给 kata-runtime/shim-rune,最终调用 QEMU/Dragonball/rune 创建实际的 Pod。在机密容器中,Pod 被映射为CPU TEE。
  • CPU TEE 执行初始化,最终启动 kata-agent/enclave-agent 监听后续请求。
  • kubelet 向 containerd 发起 Image Pulling 的 CRI 请求,containerd 则把请求转发给 kata-runtime/shim-rune,最终 kata-agent/enclave-agent 收到请求并通过 image-rs 子模块提供的容器镜像管理功能,在 TEE 内安全地执行拉取、验签、解密、unpack 以及挂载容器镜像的操作。
  • 如果 TEE 内没有预先在 boot image 中内置验签或解密容器镜像的相关策略文件或密钥,则 image-rs 子模块会请求 attestation-agent 组件通过远程证明协议与远端可信的远程证明服务进行基于CPU TEE 硬件的身份认证与授权,通过attestation-agent 与远程证明服务建立的安全可信信道返回 image-rs 子模块需要的敏感数据。
  • 远程证明服务验证 CPU TEE 硬件认证证据的完整性和真实性。起到比较验证作用的可信参考值由机密计算软件供应链安全基础设施来下发。如果 CPU TEE 通过了身份认证,远程证明服务将授权密钥管理服务(KMS)返回 attestation-agent 请求的敏感数据,比如容器镜像的解密密钥和加密引导过程中用到的磁盘解密密钥。

产品解决方案

作为机密容器项目的核心成员,阿里云除了积极参与社区的开源工作,也一直致力于机密容器产品化和推广工作。阿里云将机密容器解决方案推广至龙蜥社区,基于 Anolis,使用 RunD 沙箱容器,整合云原生套件和机密容器相关组件,构建开源的、开箱即用的 Pod 级机密容器解决方案。640 (4).png

Anolis OS

Anolis OS 是龙蜥社区打造的 Linux 开源发行版。基于 Anolis OS,阿里云联合AMD、Intel 等合作伙伴,已经完成 kernel、KVM 等组件对于 CPU TEE 的支持与适配, 后续我们将支持更多的 HW-TEE 平台。

RunD 沙箱容器

RunD 沙箱容器是由龙蜥社区开源的安全容器,包含 Rust Kata runtime 和Dragonball VMM,已经于 2022 年 10 月 10 日正式作为 Kata Container 3.0.0 release 版本的重要特性发布。此前 RunD 已在工业界多个云产品上落地,也在今年登选 ATC 顶会论文Kata 3.0.0 版本的发布标志着 RunD 成功定义了安全容器下一代的发展方向并已成为上游安全容器社区的最新事实标准。后续我们将基于 RunD 安全容器打造更完整的机密容器技术,包含支持更多的 HW-TEE 平台,以及构建更完备的机密容器支持能力。


相关链接:

云原生 SIG 链接地址:

https://openanolis.cn/sig/cloud-native

云原生机密计算SIG链接地址:

https://openanolis.cn/sig/coco

机密容器 github 链接地址:

https://github.com/confidential-containers


—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

640 (5).png

关于龙蜥社区

龙蜥社区(OpenAnolis)是由企业单位、事业单位、社会团体、个人等在共建、共治、共享的基础上组成的非营利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开放、平等、协作、创新的 Linux 上游发行版社区及创新平台。


龙蜥社区成立的短期目标是开发龙蜥操作系统(Anolis OS)作为 CentOS 停服后的应对方案,构建一个兼容国际 Linux 主流厂商的社区发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。


目前,Anolis OS 8.6已发布,更多龙蜥自研特性,支持 X86_64 、RISC-V、Arm64、LoongArch 架构,完善适配 Intel、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密和机密计算支持。


欢迎下载:https://openanolis.cn/download

加入我们,一起打造面向未来的开源操作系统!https://openanolis.cn

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
120 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
12月前
|
运维 Cloud Native 云计算
云原生技术:探索未来计算的无限可能
【10月更文挑战第8天】 云原生技术,作为云计算领域的一次革新性突破,正引领着企业数字化转型的新浪潮。它不仅重塑了应用的构建、部署和运行方式,还通过极致的弹性、敏捷性和可扩展性,解锁了未来计算的无限潜力。本文将深入浅出地解析云原生技术的核心理念、关键技术组件及其在不同行业中的实际应用案例,展现其如何赋能业务创新,加速企业的云化之旅。
154 7
|
8月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
8月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
236 10
|
10月前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
12月前
|
Kubernetes Cloud Native 开发者
探秘云原生计算:Kubernetes与Docker的协同进化
在这个快节奏的数字时代,云原生技术以其灵活性和可扩展性成为了开发者们的新宠。本文将带你深入了解Kubernetes和Docker如何共同塑造现代云计算的架构,以及它们如何帮助企业构建更加敏捷和高效的IT基础设施。
|
Kubernetes Cloud Native 关系型数据库
云原生数据基础设施之kubeblocks
云原生数据基础设施之kubeblocks
|
Cloud Native 安全 中间件
核心系统转型问题之云原生架构下的基础资源设施应重点考虑什么方面
核心系统转型问题之云原生架构下的基础资源设施应重点考虑什么方面
100 1
|
6月前
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。
|
10月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
220 13

热门文章

最新文章