带你读《云原生机密计算最佳实践白皮书》——RATS-TLS: 跨机密计算平台的双向传输层安全协议

简介: 带你读《云原生机密计算最佳实践白皮书》——RATS-TLS: 跨机密计算平台的双向传输层安全协议

RATS-TLS: 跨机密计算平台的双向传输层安全协议


项目位置链接

https://github.com/inclavare-containers/rats-tls


技术自身介绍


背景

机密计算指使用基于硬件的可信执行环境(Trusted Execution Environment,TEE)对使用中的数据提供保护。 通过使用机密计算,我们现在能够针对“使用中”的数据提供保护。RATS-TLS是将对HW-TEE的远程证明和TLS通信协议绑定的一项创新性的项目, 有助于租户通过RATS-TLS验证正在运行的程序是在可信的环境中, 并和程序之间建立安全通道传输加密的数据。


问题&挑战

硬件可信执行环境中运行的应用都是可信的,包括TLS库,因此似乎不用对HW-TEE内的TLS库进行特别的考虑,但与HW-TEE通信的对端必须要验证工作负载是否运行在真实的HW-TEE中。常规的远程证明工程化实践只是对远程证明底层原语进行了封装,实际产出就是让通信双方能够安全可信地协商出共享secret,并将如何基于共享secret创建安全通信信道的工作留给了应用开发者。

远程证明和建立安全信道的逻辑必须要深度结合,否则易受中间人攻击的影响。即使不将RA与TLS这么复杂的协议结合,至少也要能实现仅通过RA协议来协商出作为安全信道基础的共享密钥这一基本功能。但是仅做到共享秘密信息的程度是无法完全实现安全信道的。虽然基于共享秘密的方式能够实现安全信道,但是基于RA协议实现的安全信道的通信效率太低。解决方法是将RA与能够提供安全信道的标准协议相结合,比如TLS协议。

Thomas Knauth 提出将Intel SGX远程证明和TLS结合的方案,但是该方案面临着以下挑战:

• 如何灵活地支持不同的TLS库?

• 如何适配不同的HW-TEE环境?

• 如何让两个不同类型的HW-TEE互相验证对方的Evidence?


解决方案

为了解决以上挑战,我们提出了Rats-TLS,一种支持异构硬件可执行环境的双向传输层安全性协议。如下图所示,Rats-TLS在TLS的基础上增加了将TLS证书中的公钥与HW-TEE attestation quote绑定的能力,基于HW-TEE硬件为信任根,即可证明了对方是在可信平台上,又可以高效的传输数据。

image.png

Rats-TLS的架构如下图所示,Rats TLS 提供了API给上层的应用和服务使用,API能够实现可信安全信道的建立和数据的传输。Rats TLS API的实现依赖于核心层与四类实例的实现。

1685096005986.png

为了提供更好的安全性,核心层与四类实例插件都运行在HW TEE环境中。由于Rats-TLS架构需要支持和灵活选择多种可能性(例如:TLS库,加密库,Enclave形态等),因此根据功能逻辑区分出不同的实例插件是必不可少的。下面简单介绍一下核心层和实例插件的作用。

• 核心层: 负责整体的控制作用,控制数据流的流向。

• TLS Wrapper实例: 负责完成真正的TLS session管理和网络传输。

• Attester 实例: 从本地平台运行环境中收集证明材料,通常要有Enclave配合生成quote数据。

• Verififier 实例: 负责验证收到的各种格式的quote数据,可能收到来自另一个不同的机密计算硬件平台发来的quote。也可能存在verififier与attester必须是相同平台的情况,比如verififier使用SGX ECDSA QVE的情况:强

制要求当前运行环境必须支持SGX ECDSA,否则无法启动QVE来验证SGX ECDSA quote。

• Crypto实例: 负责配合其他实例完成与密码学算法有关的操作。例如,它可以生成自签名证书并将quote装到证书扩展中。

Rats-TLS具有以下优势:

• 能够支持不同的HW-TEE类型。

• 能够支持不同的TLS库。

• 能够支持不同的密码学算法库。

• 能够支持不同类型HW-TEE间的双向TLS认证。


相关文章
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
442 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
7月前
|
安全 Cloud Native 容器
开发者视角:构建坚不可摧的云原生安全工具 - 安全内生于开发流
云原生时代,运维团队面临容器漏洞、微服务失陷与CI/CD污染三大威胁。通过容器基因解码、微服务免疫与管道净化构建三维防御体系,结合板栗看板、Snyk、Check Point、Aqua等工具,实现从漏洞预测到实时拦截的全链路防护。未来,安全将内生于云原生技术,构建主动免疫防线。
开发者视角:构建坚不可摧的云原生安全工具 - 安全内生于开发流
|
9月前
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
8月前
|
存储 安全 Cloud Native
云原生安全必修课:RDS透明加密(TDE)与数据脱敏联动实施方案
云原生环境下,数据泄露风险日益严峻,传统安全方案面临加密与脱敏割裂、保护不连续、权限控制粗放三大挑战。本方案融合TDE透明加密与动态数据脱敏技术,构建存储-传输-计算全链路防护体系,通过SQL级加密与角色化脱敏规则,实现细粒度数据保护。结合密钥管理、权限控制与多云适配,提升安全性与性能,广泛适用于金融、医疗等高安全要求场景。
287 3
|
9月前
|
人工智能 Cloud Native 虚拟化
VMware vSphere 7.0 Update 3v 下载 - 数据中心虚拟化和云原生平台
VMware vSphere 7.0 Update 3v 下载 - 数据中心虚拟化和云原生平台
2253 4
|
安全 Java API
Nacos 3.0 Alpha 发布,在安全、泛用、云原生更进一步
近期,我们欣喜地宣布 Nacos 3.0 的第一个版本 Nacos 3.0-ALPHA 已经发布。Nacos 3.0 的目标是在 2.0 的基础上,进一步优化安全性、易用性和标准化。同时,我们将引入更多功能,帮助用户在分布式协调、AI 大模型、云原生等多种场景中更好地使用 Nacos,以提升其广泛适应性。
575 125
|
12月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
10月前
|
人工智能 Cloud Native 虚拟化
VMware vSphere 7.0 Update 3u 发布 - 数据中心虚拟化和云原生平台
VMware vSphere 7.0 Update 3u 发布 - 数据中心虚拟化和云原生平台
332 0
VMware vSphere 7.0 Update 3u 发布 - 数据中心虚拟化和云原生平台
|
12月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
358 10
|
11月前
|
安全 Java API
Nacos 3.0 Alpha 发布,在安全、泛用、云原生更进一步
Nacos 3.0 Alpha 发布,在安全、泛用、云原生更进一步
317 0