揭秘远程证明架构EAA:机密容器安全部署的最后一环 | 龙蜥技术

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 如果需要在云上 HW-TEE 环境里启动一个加密容器,如何在启动过程中获取容器的解密密钥?

文章链接来源:https://mp.weixin.qq.com/s/N8XcufG6saOuc8ucWEK4Ng

1.jpg

文 / 周亮, 云原生机密计算 SIG 核心成员。


在云原生场景下,基于HW-TEE(如Intel SGX, Intel TDX 和 AMD SEV)的机密容器技术(如 Inclavare Containers 机密容器和 Kata CC 机密容器)可以为用户在使用(计算)过程中的敏感数据提供了机密性和完整性的保护。


但是在云环境中,依旧存在如下的问题:

  • 怎么证明用户的机密容器确实运行在云上真实 HW-TEE 环境中?
  • 怎么证明运行在云上 HW-TEE 环境中的程序或者容器内容是符合预期的或者没有被篡改?
  • 更进一步,如果需要在云上 HW-TEE 环境里启动一个加密容器,如何在启动过程中获取容器的解密密钥?


Inclavare Containers 现已是龙蜥社区云原生机密计算 SIG 的项目之一Inclavare Containers 的组件 Enclave Attestation Architecture (EAA) 正是为解决这些复杂的问题而生的。其设计目标是在解决上述问题的基础上,提供一个支持不同类型机密容器和 HW-TEE 环境的通用远程证明架构。

EAA设计

RATS 参考架构

机密计算联盟定义了 RATS 参考架构,并建议所有远程证明服务都应该遵循 RATS 的参考架构,RATS 架构如下:

image.png

EAA 架构

因此 EAA 的架构设计遵循了 RATS 参考架构,EAA 架构如下:

image.png

其主要组件和功能:

  • Attestation Agent(Attester):运行在 HW-TEE 中的组件。作用是获取 HW-TEE 中运行程序的度量值信息,该度量值信息由 HW-TEE 进行签名。
  • Chip Manufacturer Specific Attestation Service(Endorser):运行在公有网络中,由芯片厂商提供的服务。作用是验证度量值信息的签名,以确定度量值信息确实是由真实 HW-TEE 生成的。
  • Verdict & Reproducible Build Infrastructure(Reference Value Provider):运行在用户可信环境中的服务。作用是生成 HW-TEE 中运行程序的度量值的参考值,以判定在 HW-TEE 环境中的运行程序是符合预期的或者程序是没有被篡改过的。
  • Verdictd(Relying Party + Relying Party Owner + Verifier Owner):运行在用户可信侧环境中的服务。职责是调用 Chip Manufacturer Specific Attestation Service 和 Verdict & Reproducible Build Infrastructure 检查度量值信息的签名和其内容,以完成整个远程证明流程。
  • KMS:运行在用户可信侧环境或者公有网络中的密钥管理服务。作用是进行密钥的管理。

EAA工作原理

1、当需要进行远程证明时,运行在云上 HW-TEE 环境中的 Attestation Agent 获取当前 HW-TEE 运行环境的度量值信息并发送给 Verdictd 服务进行相关验证。


2、当 Verdictd 收到度量值信息后会把它发送给 Chip Manufacturer Specific Attestation Service 来检查度量值信息的签名,以验证生成度量值信息的 HW-TEE 是一个真实的 HW-TEE。目的是防止黑客伪造一个 TEE 环境来骗取用户的信任。


3、如果度量值信息的签名验证成功,Verdictd 会检查度量值的具体信息。目的是确定云上HW-TEE环境中的运行程序是符合预期的或者程序是没有被篡改过的。


4、如果上述检查都成功,则远程证明流程已经成功完成,用户可以确定云上 HW-TEE 环境是一个真实的 HW-TEE,并且运行在 HW-TEE 环境中的程序满足:

  • 是用户自己部署的程序,并且该程序没有被黑客篡改。
  • 是第三方部署的程序,但这些程序是符合预期的,比如这些程序是经过代码审核并确定是没有漏洞的。


5、远程证明流程已经成功,所以 Attestation Agent 和 Verdictd 之间可以建立一个安全并可信的通道。Attestation Agent 可以发送请求给 Verdictd 以获取一些机密数据,比如加密容器镜像的解密密钥。

贡献

EAA 致力于通过和开源社区贡献和合作以实现落地实践能力,它作为首个支持 Intel TDX 远程证明的 Key Broker Service(KBS),是 confidential-containers 首个支持 TDX HW-TEE 的 E2E demo 的 KBS 服务,并成功地完成了 confidential-containers V0 阶段 E2E Demo 关键节点。

结束

EAA 填补了基于 HW-TEE 的机密容器在云原生场景下应用的最后一环,为机密容器在云环境中的安全部署和启动提供了必要的基础。

目前 EAA 作为 Inclavare Containers(CNCF 项目)的子模块,支持的 HW-TEE 环境包括 Intel SGX 和 Intel TDX,支持的机密容器包括 Inclavare Containers 和 Kata CC。未来,EAA 将持续演进,以支持新的不同的机密容器方案,并支持新的 HW-TEE 环境,让 EAA 成为机密容器领域内真正的通用远程证明架构。


网址链接:

Inclavare Containers:

https://github.com/alibaba/inclavare-containers

confidential-containers:

https://github.com/confidential-containers

龙蜥社区 SIG 地址:

https://openanolis.cn/sig/coco

Demo 视频:

https://www.youtube.com/watch?v=9Lgo9_JtUsc

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】拉你入群;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

开发者社区.png

关于龙蜥社区

龙蜥社区(OpenAnolis)是由企事业单位、高等院校、科研单位、非营利性组织、个人等按照自愿、平等、开源、协作的基础上组成的非盈利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开源、中立、开放的Linux上游发行版社区及创新平台。

短期目标是开发龙蜥操作系统(Anolis OS)作为 CentOS 替代版,重新构建一个兼容国际 Linux 主流厂商发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。

龙蜥OS 8.4已发布,支持 x86_64 、ARM64、LoongArch 架构,完善适配 Intel、飞腾、海光、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。

欢迎下载:

https://openanolis.cn/download

加入我们,一起打造面向未来的开源操作系统!

https://openanolis.cn

相关文章
|
16天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
17天前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
52 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
3天前
|
运维 Cloud Native 持续交付
云原生之旅:从容器化到微服务架构的探索
【9月更文挑战第16天】在数字化转型的浪潮中,云原生技术成为推动企业创新和效率提升的关键力量。本文将带你深入了解云原生的核心理念,从容器化技术的入门应用到微服务架构的设计实践,揭示如何利用这些先进技术构建更灵活、更可靠的系统。我们将通过具体案例,探讨云原生技术如何帮助企业实现快速迭代与持续交付,以及在这一过程中可能遇到的挑战和解决方案。
|
11天前
|
运维 Cloud Native 云计算
云原生之旅:从容器化到微服务架构的演进之路
在数字化浪潮中,云原生技术如同星辰大海中的灯塔,为航船指引方向。本文将带你穿梭于云计算的世界,探索从容器化技术到微服务架构的变革旅程。我们将一窥云原生如何助力企业灵活应对快速变化的市场需求,以及在这一过程中,开发者和运维人员是如何成为时代变革的弄潮儿。让我们一同启航,驶向云原生的广阔天地。
|
6天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
16 3
|
8天前
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务架构的融合之道
在数字化转型的浪潮中,云原生技术以其高效、灵活的特性成为企业IT架构升级的重要选择。本文将探讨云原生的核心概念——容器化和微服务架构,并阐述它们如何相互融合,共同推动现代应用的开发与部署。通过深入浅出的解释,我们将揭示云原生如何助力企业快速适应市场变化,实现业务的持续创新和价值最大化。
|
9天前
|
运维 Cloud Native 云计算
云原生之旅:从容器化到微服务架构
【9月更文挑战第9天】在数字化转型的浪潮中,云原生技术成为推动企业IT革新的关键力量。本文将通过浅显易懂的语言和生动的比喻,带领读者探索云原生的核心概念、关键技术及实践路径,揭示如何在云计算时代构建灵活、高效、可靠的应用系统。你将了解到,正如甘地所言“你必须成为你希望在世界上看到的改变”,在云原生的世界里,每一位开发者和技术决策者都扮演着塑造未来的角色。
|
14天前
|
Kubernetes Cloud Native Docker
云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第4天】在数字化时代的浪潮下,企业追求敏捷、高效、可扩展的IT架构成为共识。云原生技术作为现代软件部署的黄金标准,其核心理念在于推动应用的快速迭代与无缝迁移。本文将深入探讨云原生技术的精髓——容器化与微服务架构如何相互促进,共同构建起适应云计算环境的应用生态系统。我们将通过实际案例,揭示如何在云平台上利用这些技术实现服务的解耦、弹性伸缩及自动化管理,进而提升企业的竞争力。
|
14天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
43 2
|
5天前
|
云安全 安全 Serverless
Serverless 安全新杀器:云安全中心护航容器安全
Serverless 安全防护能力除了支持目前既定的等保合规(漏洞扫描、入侵检测、基线检测等)、安全隔离的能力外还支持 WAF 防火墙、支持通信加密、操作审计、权限管控等能力,也正是有了这些能力的加持,SAE 才能很好的服务了金融、政企、医疗等行业的客户;Serverless(SAE)未来还计划规划更多安全能力为企业保驾护航,包括:代码安全扫描、加密、堡垒机、最小权限、身份与访问管理、以及更多的攻击防护等能力的建设。