共计 3074 个字符,预计需要花费 8 分钟才能阅读完成。
文 / 段勇帅
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
—— 完 ——
为给大家提供更好的内容和服务,龙蜥社区诚挚地邀请大家参加问卷调研,请扫描下方二维码或点此链接填写,咱们将筛选出优质反馈,送出龙蜥周边!