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

简介: 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),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

相关文章
|
8月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
1373 39
|
11月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
857 30
|
存储 安全 数据中心
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具。本文探讨了 Docker 如何通过 Namespace 和 Cgroups 实现 CPU、内存、网络和存储资源的隔离,提高系统安全性和资源利用率,以及面临的挑战和应对策略。
251 1
|
人工智能 Anolis 开发者
|
弹性计算 运维 Kubernetes
容器化管理云上应用解决方案评测
容器化管理云上应用解决方案评测
160 10
|
网络协议 Linux 网络安全
遇到Docker容器网络隔断?揭秘六种超级实用解决方案,轻松让Docker容器畅游互联网!
【8月更文挑战第18天】Docker容器内网络不通是开发者常遇问题,可能因网络配置错、Docker服务异常或防火墙阻碍等原因引起。本文提供六种解决策略:确认Docker服务运行状态、重启Docker服务、检查与自定义Docker网络设置、验证宿主机网络连接、临时禁用宿主机IPv6及检查防火墙规则。通过这些步骤,多数网络问题可得以解决,确保容器正常联网。
4581 1
|
存储 Kubernetes 负载均衡
容器化管理云上应用解决方案评测
整体而言,该方案为用户提供了清晰、详细且有用的部署指导。通过进一步增强初学者的引导和文档内容,可以更加提升用户的满意度和实施效率。
|
运维 Kubernetes 开发者
容器化管理云上应用解决方案评测
容器化管理云上应用解决方案评测
158 2
|
存储 运维 Kubernetes
容器化管理云上应用解决方案评测
在企业上云进程中,容器化应用托管已成为主流。阿里云容器服务Kubernetes版(ACK)凭借一键部署、自动扩展及高效管理容器化应用的能力脱颖而出。本体验分享了使用ACK快速部署应用的过程,从选择实例规格到查看服务运行状态,再到清理资源。技术细节覆盖容器化基础与Kubernetes核心组件,但高级配置如网络策略方面略显不足。文档资源丰富但部分高级功能指引不够详尽。代码示例实用,有助于快速启动部署。容器化托管的优势在于提升资源利用率、加速部署与迭代,是企业云转型的重要工具。总体而言,ACK提供了强大且便捷的容器服务体验,未来有望进一步完善以提供更佳服务。
226 0
|
人工智能 运维 安全
阿里云容器服务ACK:高效管理云上应用的容器化解决方案
阿里云容器服务ACK(Alibaba Cloud Container Service for Kubernetes)为开发者提供了一套全面的容器化管理解决方案,旨在简化云上应用的部署、运维和管理。本文将深入探讨ACK的功能、优势及应用场景,为开发者展现容器化技术在云环境下的强大能力。
1177 0