Confidential Containers发布0.5.0版本,龙蜥将基于八大特性构建开箱即用的机密容器解决方案
文/段勇帅
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
—— 完 ——
为给大家提供更好的内容和服务,龙蜥社区诚挚地邀请大家参与问卷调研,请扫描下方二维码或点此链接填写, 我们将筛选出优质反馈,送出龙蜥周边!

相关文章:
Confidential Containers发布0.5.0版本,龙蜥将基于八大特性构建开箱即用的机密容器解决方案
文/段勇帅 01 前言 机密容器(Confidential Containers,简称CoCo)是 Cloud Native Computing Foundation(CNCF)Sandbox 项目。目前机密容器项目的核心参与者包括阿里云、AMD、ARM、IBM、Intel、Microsoft、Red Hat、R…...
独立储能的现货电能量与调频辅助服务市场出清协调机制(Matlab代码实现)
💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …...
使用 Luckysheet 可实现 Web 的 Excel
一、写在前面 工作中会遇到excel的导入和导出,换个角度看,假如有个 web 版本的excel ,且能上传现有的,修改编辑后再下载也是个不错的方案。 Luckysheet 是实现 web版Excel的一个优秀的框架。 Luckysheet ,一款纯前端类…...
时间序列预测(一)基于Prophet的销售额预测
时间序列预测(一)基于Prophet的销售额预测 小O:小H,有没有什么方法能快速的预测下未来的销售额啊 小H:Facebook曾经开源了一款时间序列预测算法fbprophet,简单又快速~ 传统的时间序列算法很多&a…...
【电科复试第一名】23上交819考研经验分享
笔者来自通信考研小马哥23上交819全程班学员 819,上岸经验贴,知无不言 初试第十一,复试第一,总分第七(与第六同分) 考研经历:本科就读与湖南某末985,大学时间没好好学习,天天打王者,玩steam上…...
每日学术速递4.24
CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Collaborative Diffusion for Multi-Modal Face Generation and Editing(CVPR 2023) 标题:多模态人脸生成和编辑的协同扩散 作者:Ziqi Huang, Kelvin C.K. …...
怎么把mkv文件转成mp4格式,3招立马处理
怎么把mkv文件转成mp4格式的方法你知道吗?我想很多朋友会遇到这样的情况,下载视频后发现无法打开。原来我们下载的视频格式是mkv,也许这个格式大家不是很熟悉的。那么今天就来认识一下,mkv是Matroska的一种媒体文件,mk…...
SEO机制算是让我玩明白了
获取当前时间时间戳,返回遵循ISO 8601扩展格式的日期 new Date(Date.now()).toISOString() 使用moment库转换回来 this.moment(new Date(Date.now()).toISOString()).format("YYYY-MM-DD") js去掉富文本中html标签和图片 filterHtmlTag(val) {if(!val){…...
JDBC连接数据库详细教程指南
目录 一、JDBC介绍 二、JDBC环境的搭建 三、JDBC的开发步骤 1、加载JDBC驱动程序 2、建立数据库连接 3、创建Statement对象 4、执行SQL语句 5、处理结果集 6、关闭连接 7、示例程序 8、注意 一、JDBC介绍...
换个花样玩C++(2)柔性数组怎么玩
如果你涉足网络传输方向的开发,我想你对这段类似的代码应该不会很陌生,先看代码: int check_msg(svr_proto_t* pkg, uint32_t bodylen, fdsession_t* fdsess) {struct report_msg {uint32_t gameid;uint32_t userid;uint32_t recvid;uint32_t onlineid;uint32_t …...
【前端】一个好看的前端页面
序言 突发奇想,看到这个特效还不错,就加工了一下,如果也能帮到你,很开心 先上效果图 部分代码讲解 前端生成uuid function getUUID(len, radix) {var chars 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.s…...
flink on k8s提交任务
目录 相关文档前置准备构建镜像提交任务 相关文档 https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/deployment/resource-providers/native_kubernetes/ 前置准备 flink的lib目录下放入两个依赖 bcpkix-jdk15on-1.68.jar bcprov-jdk15on-1.69.jar 创建用户…...
如何判定自己适合自学编程还是报班?
首先在这里,不做偏向性推荐,主要还是看个人条件。 宝剑锋从磨砺出,学习本身是一件艰苦的事情。在决定之前,建议先按照下图问自己三个问题自我检测。 如果你还不能确定,自学和报班的优劣势分析,或许能帮你们…...
本地缓存解决方案Caffeine | Spring Cloud 38
一、Caffeine简介 Caffeine是一款高性能、最优缓存库。Caffeine是受Google guava启发的本地缓存(青出于蓝而胜于蓝),在Cafeine的改进设计中借鉴了 Guava 缓存和 ConcurrentLinkedHashMap,Guava缓存可以参考上篇:本地缓…...
Docker常用命令笔记
docker常用命令 1 基础命令 sudo docker version #查看docker的版本信息 sudo docker info #查看docker系统信息,包括镜像和容器的数量 2 镜像命令 1.sudo docker images #查看本地主机的所有主机镜像 #解释 **REPOSITORY **#镜像的仓库源TAG **** …...
Nachos系统的上下文切换
Fork调用创建进程 在实验1中通过gdb调试初步熟悉了Nahcos上下文切换的基本流程,但这个过程还不够清晰,通过源码阅读进一步了解这个过程。 在实验1中通过执行Threadtest,Fork创建子进程,并传入SimpleThread执行currentThread->…...
streamx平台部署
一. streamx介绍 StreamPark 总体组件栈架构如下, 由 streampark-core 和 streampark-console 两个大的部分组成 , streampark-console 是一个非常重要的模块, 定位是一个综合实时数据平台,流式数仓平台, 低代码 ( Low Code ), Flink & Spark 任务托…...
css中的background属性
文章目录 一:background-repeat二:background-position三:background缩写方式三:background-size四:background-origin五:background-clip 在日常前端开发中,经常需要进行背景或背景图的处理。但…...
代码评审平台Gerrit安装配置方法介绍
Gerrit是一款开源免费的基于 web 的代码审查工具,是基于 Git 的版本控制系统。在代码入库之前对开发人员的提交进行审阅,检视通过的代码才能提交入库。本文记录如何安装部署gerrit平台。 目录 Gerrit简介环境准备1. 安装Java2. 安装Git3. 安装nginx4. 安…...
一篇文章解决Mysql8
基于尚硅谷的Mysql8.0视频,修修改改。提取了一些精炼的内容。 首先需要在数据库内引入一张表。链接地址如下。 链接:https://pan.baidu.com/s/1DD83on3J1a2INI7vrqPe4A 提取码:68jy 会进行持续更新。。 1. Mysql目录结构 Mysql的目录结构…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
