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

简介:如果需要在云上 HW-TEE 环境里启动一个加密容器,如何在启动过程中获取容器的解密密钥?

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 成为机密容器领域内真正的通用远程证明架构。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

posted @   阿里云云栖号  阅读(821)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-12-30 阿里云数据库李飞飞:云计算推动数据库向云原生快速演进
2020-12-30 不懂代码,他怎么开发了20多个政务应用?
2020-12-30 2021十大科技趋势来了!阿里巴巴达摩院全新发布
2020-12-30 2020年勒索病毒事件盘点及未来发展趋势
2020-12-30 一文详解 Nacos 高可用特性
2020-12-30 “让专业的人做专业的事”,畅捷通与阿里云的云原生故事 | 云原生 Talk
2019-12-30 日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践
点击右上角即可分享
微信分享提示