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

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

时间:2023-07-12 19:31:45浏览次数:42  
标签:原生 容器 Confidential 机密 0.5 CoCo KBS Containers

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



云原生机密计算

Confidential Containers发布0.5.0版本,龙蜥将基于八大特性构建开箱即用的机密容器解决方案_解决方案_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 容器。

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

通用远程证明(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

机密容器 github 链接地址:

https://github.com/confidential-containers

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

https://openanolis.cn/confidentialComputing

—— 完 ——



微信公众号 - OpenAnolis龙蜥(OpenAnolis)。

标签:原生,容器,Confidential,机密,0.5,CoCo,KBS,Containers
From: https://blog.51cto.com/u_15308345/6703266

相关文章

  • Tenable Nessus 10.5.3 (Unix, Linux, Windows) - #1 漏洞评估解决方案
    TenableNessus10.5.3(Unix,Linux,Windows)-#1漏洞评估解决方案发布Nessus试用版自动化安装程序,支持macOSVentura、RHEL9和Ubuntu22.04请访问原文链接:https://sysin.org/blog/nessus-10/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgNessus漏洞评......
  • 泛微10.58
    POST/weaver/weaver.file.FileDownloadForOutDocHTTP/1.1Host:xxxxxContent-Length:49Accept-Language:zh-CN,zh;q=0.8Accept:/User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:99.0)Gecko/20100101Firefox/99.0Accept-Charset:GBK,utf-8;q=0.7,*;q......
  • delphi 7 下安装 indy 10.5.8 教程
    本教程用 indy10.5.8替换delphi7自带的 indy版本,让大家深入了解delphi组件安装的方法。第一步:下载indy10.5.8组件,解压到合适的目录里。如 D:\Delphi7\Indy10.5.8\ 下载地址: indy10.5.8第二步:菜单Component--->InstallPackages... 找到此行,点击"R......
  • Lumion下载-Lumion下载 V10.5分享
    Lumion12简介Lumion12是一个实时的3D可视化工具,用来制作电影和静帧作品,涉及到的领域包括建筑、规划和设计。它也可以传递现场演示。Lumion的强大就在于它能够提供优秀的图像,并将快速和高效工作流程结合在了一起,为你节省时间、精力和金钱。人们能够直接在自己的电脑上创建虚拟现实......
  • TDengine 3.0.5.0 正式发布,系统稳定性进一步提升
    自3.0版本发布以来,在研发人员和社区用户的不断努力下,时序数据库(TimeSeriesDatabase)TDengine做了大量更新,产品稳定性和易用性也在不断提升。在我们为TDengine筹备六岁生日“Party”的同时,TDengine的研发小伙伴们也在加班加点地进行优化迭代的工作,想要在六岁生日的节点上为......
  • 用CSS画一条0.5px的线
    理论上最小的单位是1px一、最优方法:transforms属性缩放<!DOCTypehtml><html><head><metacharset="utf-8"><style>.hr{width:300px;background-color:#000;}.scale-half{......
  • How to Clear Logs of Running Docker Containers
    HowtoClearLogsofRunningDockerContainers https://www.howtogeek.com/devops/how-to-clear-logs-of-running-docker-containers/UnderstandingtheProblemDockercollectslogsfromthestandardoutputanderrorstreamsofcontainerforegroundprocesses.......
  • LightOJ - 1076 Get the Containers (二分)模板题
    TimeLimit: 2000MSMemoryLimit: 32768KB64bitIOFormat: %lld&%lluLightOJ-1076GettheContainersSubmit StatusDescriptionAconveyorbelthasanumberofvesselsofdifferentcapacitieseachfilledtobrimwithmilk.Themilkfromconveyorbeltis......
  • Get started with Docker 中文文档(2)——Part 2: Containers
    先决条件安装Docker1.13或更高版本。阅读第1部分的方向。让您的环境快速测试,以确保您全部设置:dockerrunhello-world介绍现在是开始构建Docker应用程序的时候了。我们将从这样一个应用程序的层次结构的底部开始,这是一个容器,我们在这个页面上介绍。在这个层次之上是一个服务,它......
  • SpringMVC3.2.x + Hibernate4.2.x + ecache + Spring Security 3.0.5
    这只是部分代码,一些代码可以参考:[url]http://panyongzheng.iteye.com/blog/1871418[/url]SpringSecurity3.1最新配置实例[url它自带的附件也上传。SpringSecurity3十五日研究[url]http://www.blogjava.net/SpartaYew/archive/2013/09/23/350630.html[/......