带你读《云原生机密计算最佳实践白皮书》——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认证。


相关文章
|
3天前
|
Kubernetes Cloud Native 容器
完全免费的K8S学习平台:在线集群环境助力你的云原生之路!
完全免费的K8S学习平台:在线集群环境助力你的云原生之路!
53 1
|
3天前
|
监控 安全 Cloud Native
云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
「微服务安全零信任架构」主题技术沙龙将于4月13日在北京阿里中心举行,欢迎报名!~
云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
|
3天前
|
云安全 安全 Cloud Native
企业如何做好云原生安全
云原生安全不仅仅关注云计算普及带来的安全问题,它更强调以原生的思维来构建云上的安全建设、部署与应用,推动安全与云计算的深度融合。将安全能力内置于云平台中,实现云化部署、数据联通、产品联动,这有助于充分利用安全资源,降低安全解决方案的使用成本,实现真正意义上的普惠安全。
|
3天前
|
监控 Cloud Native 网络协议
|
3天前
|
运维 Kubernetes Cloud Native
构建高效云原生运维体系:Kubernetes最佳实践
【5月更文挑战第9天】 在动态和快速演变的云计算环境中,高效的运维是确保应用稳定性与性能的关键。本文将深入探讨在Kubernetes环境下,如何通过一系列最佳实践来构建一个高效且响应灵敏的云原生运维体系。文章不仅涵盖了容器化技术的选择与优化、自动化部署、持续集成/持续交付(CI/CD)流程的整合,还讨论了监控、日志管理以及灾难恢复策略的重要性。这些实践旨在帮助运维团队有效应对微服务架构下的复杂性,确保系统可靠性及业务的连续性。
|
3天前
|
Cloud Native 安全 云计算
什么是云原生架构,我们该如何做好云原生安全,引领云计算时代的应用程序革新
云原生架构,基于云计算设计理念,强调应用在云环境中设计、构建和运行,利用容器化、微服务、自动化管理和持续交付实现灵活、可扩展和高效。其优势包括高可扩展性、可伸缩性、高效性、灵活性、可靠性和成本效益。应用场景广泛,如电商、金融和物联网。构建关键要素包括容器化、微服务、自动化管理和持续交付。保障安全,需重视容器安全,采用如德迅蜂巢·云原生安全平台等解决方案。云原生正引领应用程序革新,成为现代应用构建首选。
|
3天前
|
存储 Cloud Native 文件存储
云原生之使用Docker部署Nas-Cab个人NAS平台
【5月更文挑战第2天】云原生之使用Docker部署Nas-Cab个人NAS平台
144 1
|
3天前
|
运维 Cloud Native 安全
【专栏】随着信息技术发展,运维正向自动化、智能化转型,云原生运维成为主流,大数据驱动运维决策,而安全运维日益重要
【4月更文挑战第29天】随着信息技术发展,运维正向自动化、智能化转型,云原生运维成为主流,大数据驱动运维决策,而安全运维日益重要。面对技术更新快、人才短缺和复杂性增加的挑战,企业需建立培训体系,加强人才培养,优化运维管理,以适应未来运维需求。随着这些趋势,运维领域将迎来更广阔的发展前景。
|
3天前
|
Cloud Native 安全 微服务
云原生开源沙龙北京站火热报名中丨微服务安全零信任架构
云原生开源沙龙北京站火热报名中丨微服务安全零信任架构。
|
3天前
|
存储 Cloud Native Serverless
云原生最佳实践系列 7:基于 OSS Object FC 实现非结构化文件实时处理
阿里云OSS对象存储方案利用函数计算FC,在不同终端请求时实时处理OSS中的原图,减少衍生图存储,降低成本。

热门文章

最新文章