Confidential Containers发布0.5.0版本,龙蜥将基于八大特性构建开箱即用的机密容器解决方案

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: kata-cc、enclave-cc、安全镜像等多项核心项目已成功适配 Anolis OS。

文/段勇帅

01 前言

机密容器(Confidential Containers,简称CoCo)是 Cloud Native Computing Foundation(CNCF)Sandbox 项目。目前机密容器项目的核心参与者包括阿里云、AMD、ARM、IBM、Intel、Microsoft、Red Hat、Rivos 等软件和硬件公司。本次发布的CoCo-0.5.0 release 是机密容器社区成立以来最大规模的版本更新,共包含八大新特性。其中,阿里云作为项目核心技术的主要贡献者,主动发起/深度参与了该版本中的四项关键特性。云原生和安全可信是龙蜥社区的八大技术方向之二,作为理事长单位,阿里云将该机密容器解决方案推广到龙蜥社区,并基于龙蜥社区构建开箱即用的机密容器解决方案

02 云原生机密计算

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

那么,机密容器项目致力于以下目标:

  • 允许云原生应用程序所有者定义应用程序的安全要求。
  • 透明部署无需修改的容器。
  • 支持多种 TEE 和硬件平台。
  • 将云服务提供商(CSP)与用户应用程序隔离的信任模型。
  • 在 Kubernetes 集群管理功能中实践最小特权原则,以保障 TEE 内 APP 和数据的隐私性与安全性。

可以在《Confidential Containers:云原生机密计算基础设施》查看更多云原生机密计算的相关介绍。

03 机密容器社区 0.5.0 版本

本次机密容器社区发布的 0.5.0 release 包含以下八项新特性:

  • 发布基于 Intel SGX 硬件的进程级机密容器完整解决方案 Enclave-CC。
  • 发布 KBS Resource URI 方案。标识创建和使用机密环境时的所有机密资源。
  • 不同的 KBC 共享镜像加密格式,实现加密镜像互通。
  • 支持通用密钥代理系统(KBS)。该系统包括 KBS 本身,它依赖于 Attestation Service(AS)进行证据验证。AS 参考值由 Reference Value Provider Service(RVPS)提供。
  • 向 CoCo operator 添加了远程管理程序支持。这有助于在本地或在云服务提供商基础设施上将容器创建为“peer pods”。
  • 支持使用 K8S Annotations 进行 AMD SEV 机密容器的配置。
  • CI/CD 支持 AMD SEV-ES 硬件平台。
  • 一些开发中的 SEV-SNP 组件可以在无需 attestation 的情况下手动启用,以测试 SNP 容器。

通用远程证明(Remote Attestation)是机密容器项目的一项核心工作。在 CoCo-0.5.0 release 中,远程证明主要包含两个组件群,即位于云端的 Attestation Agent 和位于租户侧的 CoCo-AS。其中,Attestation Agent 执行 Attester 的功能,按照请求向租户侧提供各种服务 API。CoCo-AS 则是部署在可信端的集群服务,由执行 Verifier 功能的Attestation Service和执行 Relying Party 功能的 Key Broker Service 组成,可以帮助用户验证远程 TEE 工作负载是否运行在真实、可信、预期的软硬件环境中。并且在验证通过后,其负责进行安全响应,如注入机密数据(如解密密钥)、发行令牌证明 TEE 的可信度等。


上述各组件在本次发布的版本中都有较大更新,具体功能如下:

Attestation Agent(AA)。AA 是运行在云端TEE环境中的一个组件,负责在 TEE 启动时获取可信计算基(TCB)的证明信息,包括可信硬件的信息和所有软件组件的度量值。以上证明信息均由 CPU 内部的可信硬件密钥签名,无法窃取和篡改。并且AA通过其内部组件Key Broker Client(KBC)与对应的 KBS 建立连接,从而获得可信服务或 KBS 的资源。AA 目前提供基于远程证明的多项功能,如容器镜像解密、机密资源注入等,并且机密资源均由 KBS Resource URI 唯一索引。

Key Broker Service(KBS)。KBS 是 CoCo-AS 的前端 Web 服务器,它提供HTTPS RESTful API 接收来自 AA 的请求,包括获取机密资源和获取认证令牌等。在实现上,KBS 与 AS 交互,并将 AA 提供的证明信息转发给 AS 进行验证。验证通过后,KBS 再将请求转发给相应的内部模块处理。KBS 目前集成了一个用于维护机密资源的代理模块和一个用于发布证明令牌的功能模块。

Attestation Service(AS)。AS 由租户运行,用于验证来自 AA、由硬件密钥签名的证明信息。AS 提供三项功能:允许租户配置个性化的鉴权认证策略、验证不同类型硬件的证明信息以支撑复杂的策略配置、提供个性化组件参考值。其中最后一项功能由 RVPS 实现。

Reference Value Provider Service(RVPS)。RVPS 位于租户端,处理软件供应链产生的软件元数据,验证其合法性并提取其中记录的参考值/哈希值用于远程证明。它采用插件方式支持多种供应链元数据格式。目前已经支持 in-toto link & layout v0.9。此外,RVPS 采用模块化的存储方式,将经过验证的参考值存储在后端存储引擎中,供 AS 查询。

04 后续开发规划与产品化推广

基于 CoCo-0.5.0 release,机密计算社区也总结出需要持续开发的功能,并根据优先度详细规划了开发路线图。例如,KBS token 的生成与验证功能,KBS 从 KMS 获取密钥,机密计算社区的参考值发布规则等,都在未来版本的功能规划中。


在将机密容器解决方案推广至龙蜥社区时,龙蜥社区也将沿着 runC(普通容器)->runD(安全容器)->runE(机密容器)的演进路径推进,并整合云原生套件和机密容器相关组件,构建开源的、开箱即用机密容器解决方案。截止 CoCo-0.5.0 release 发布,kata-cc、enclave-cc、安全镜像等多项核心项目已成功适配 Anolis OS,《云原生机密计算最佳实践白皮书》也在积累打磨后发布。在未来,机密计算社区也将围绕机密计算核心项目,构建云原生机密计算开源技术栈,降低机密计算的使用门槛,推动云原生场景下的机密计算技术的发展。


相关链接:

CoCo-0.5.0 release文档: https://github.com/confidential-containers/documentation/blob/main/releases/v0.5.0.md

龙蜥社区云原生 SIG 主页:

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

龙蜥社区云原生机密计算 SIG 主页:https://openanolis.cn/sig/coco

机密容器 github 链接地址: https://github.com/confidential-containers

云原生机密计算最佳实践白皮书

https://openanolis.cn/confidentialComputing

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

相关文章
|
17天前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
150295 32
|
15天前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
阿里云与企业共筑容器供应链安全
171332 12
|
4月前
|
负载均衡 网络协议 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基本概念和类型,包括桥接网络、宿主网络、覆盖网络和 Macvlan 网络等,并提供了创建、管理和配置自定义网络的实用命令。通过掌握这些知识,开发者可以构建更健壮和灵活的容器化应用,提高应用的可扩展性和安全性。
|
11天前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
本期节目围绕软件供应链安全、容器安全的主要挑战以及阿里云如何帮助用户等维度展开了深入的讨论。
|
5月前
|
测试技术 API Docker
使用ruri快速构建跨架构chroot容器
【8月更文挑战第22天】本指南介绍如何使用 ruri 工具快速构建跨架构 chroot 容器。首先需安装 ruri,并确保系统满足安装要求。接着确定目标架构(如从 x86 到 ARM),并准备好相应的工具链和依赖库。利用 ruri 的命令行工具启动容器构建流程,指定源与目标架构及基础镜像。构建完成后可进一步配置和定制容器,安装所需软件包与调整系统设置。随后通过运行测试用例验证容器功能,解决发现的问题。最后将测试合格的容器部署至生产环境,利用容器管理工具进行管理和运行。在整个过程中要注意架构间的差异与兼容性问题,并确保系统环境稳定,定期更新 ruri 和相关组件。
108 5
|
1月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
2月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
3月前
|
Kubernetes 监控 数据中心
容器化与微服务:构建高效开发环境的双剑合璧
【10月更文挑战第20天】本文探讨了容器化技术(如Docker和Kubernetes)与微服务架构的结合,如何共同构建高效、灵活的开发环境。容器化解决了环境一致性、快速部署和资源隔离的问题,而微服务架构则提升了系统的可维护性和可扩展性。通过容器编排工具、CI/CD流程和服务网格,两者的结合进一步优化了开发和运维效率。文章还分享了实施这两项技术的最佳实践和职业心得。
|
3月前
|
Kubernetes Cloud Native 云计算
云原生之旅:构建你的第一个容器化应用
【8月更文挑战第75天】在数字化浪潮中,云原生技术成为推动企业创新和效率提升的关键动力。本篇文章将引导你开启云原生之旅,通过一个简易的步骤指南,帮助你构建并部署第一个容器化应用。我们将一起探索Docker容器的魅力,以及如何利用Kubernetes进行集群管理,实现服务的自动化部署、扩展和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供实践操作的启示和深入思考的契机。
|
3月前
|
监控 Kubernetes 测试技术
掌握Docker网络模式:构建高效容器通信
【10月更文挑战第3天】本文深入探讨了Docker的网络模式,包括它们的工作原理、使用场景以及如何配置和优化容器间的通信。希望能够帮助开发者在项目中有效地应用Docker网络模式,构建高效的容器化应用。