带你读《云原生机密计算最佳实践白皮书》——ARM CCA: Arm安全加密虚拟化技术

简介: 带你读《云原生机密计算最佳实践白皮书》——ARM CCA: Arm安全加密虚拟化技术

ARM CCA: Arm安全加密虚拟化技术


项目位置链接

Veracuz: https://github.com/veracruz-project/veracruz

VERAISON-VERifificAtIon of atteStatiON:https://github.com/veraison/veraison


技术自身介绍


问题&挑战

TrustZone是Arm为设备安全提供的一个安全架构,通过硬件隔离和权限分层的方式将系统内分为安全世界(Secure world)和正常世界(Normal / Non-Secure world)。

在安全环境中,通过底层硬件隔离,不同执行级别,安全鉴权方式等方式,从最根本的安全机制上提供基于信任根(Root of Trust)的可信执行环境TEE(Trusted Execution Environment),通过可信服务(Trusted Services)接口与和通用环境REE(Rich Execution Environment)进行安全通信,可以保护TEE中的安全内容不能被非安全环境的任何软件,包括操作系统底层软件等所访问,窃取,篡改和伪造等。因此一些安全的私密数据,比如一些安全密钥,密码,指纹以及人脸数据等都是可以放在安全世界的数据区中进行保护。当前,Trustzone机制已经非常成熟稳定,并得到大规模的应用,并以开源的方式给业界提供实现参考。可以访问https://www.trustedfifirmware.org/ 获取更多信息。

然而,TrustZone所提供的安全机制和TEE环境只能提供硬件级别的安全隔离。通常情况下,安全物理地址空间的内存在系统引导时静态分配,适用于数量有限的平台。对于大规模云服务器的机密计算,旨在允许任何第三方开发人员保护他们的虚拟机(VM)或应用程序,必须能够在运行时保护与VM或应用程序关联的任何内存

,而不受限制或分割。


解决方案

Arm CCA引入了一种新的机密计算世界:机密领域(Realm)。在Arm CCA中,硬件扩展被称为Realm Management Extension (RME),RME 会和被称之为机密领域管理监控器 (Realm Management Monitor, RMM),用来控制机密领域的专用固件,及在 Exception level 3 中的 Monitor 代码交互。

Realm是一种Arm CCA环境,能被Normal world主机动态分配。主机是指能管理应用程序或虚拟机的监控软件。Realm及其所在平台的初始化状态都可以得到验证。这一过程使Realm的所有者能在向它提供任何机密前就建立信任。因此,Realm不必继承来自控制它的Non-secure hypervisor的信任。主机可以分配和管理资源配置,管理调度Realm虚拟机。然而,主机不可以监控或修改Realm执行的指令。在主机控制下,Realm可以被创建并被销毁。通过主机请求,可以增加或移除页面,这与hypervisor管理任何其他非机密虚拟机的操作方式类似。

1685100705491.png

Arm CCA技术能够从根本上解决用户敏感应用数据的安全计算问题。它充分利用软硬件实现的信任根提供的数据和程序的物理隔离、保护、通信和认证体系,并在传统TrustZone的基础上,增加了被称为领域(Realm)的隔离区域,从最底层的安全机制和原理上解决用户程序和数据的隔离需求。


当前应用情况

Realm内运行的代码将管理机密数据或运行机密算法,这些代码需要确保正在运行真正的Arm CCA平台,而不是冒充者。这些代码还需要知道自己已经被正确地加载,没有遭到篡改。并且,这些代码还需要知道整个平台或Realm并不处于可能导致机密泄露的调试状态。建立这种信任的过程被称为“证明”。ARM正在与包括机密计算联盟成员在内的主要行业合作伙伴合作,定义这一证明机制的属性,确保在不同的产品和设备上使用常见的平台真实性和来源方法。Arm主导的开源软件Veracuz是一个框架,用于在一组相互不信任的个人之间定义和部署协作的、保护隐私的计算;VERAISON-VERifificAtIon of atteStatiON构建可用于证明验证服务的软件组件。

Armv9-A架构引入了Arm CCA的RME功能特性,采用对应架构的芯片也将拥有此项功能。此外,基于CCA的软件支持已经在虚拟硬件平台上进行开发、测试和验证,将在硬件设备问世的同时实现同步支持。更多信息,可以访问 https://arm.com/armcca 获取更多信息。

相关文章
|
7天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
5天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
7天前
|
运维 Cloud Native 安全
云原生技术在现代软件开发中的实践与挑战####
【10月更文挑战第21天】 本文将深入探讨云原生技术在现代软件开发中的应用,分析其带来的优势及面临的挑战。通过案例分析和数据支持,揭示云原生化转型的关键因素,并展望未来发展趋势。 ####
23 7
|
7天前
|
Cloud Native 持续交付 云计算
云原生技术入门与实践
【10月更文挑战第37天】本文旨在为初学者提供云原生技术的基础知识和实践指南。我们将从云原生的概念出发,探讨其在现代软件开发中的重要性,并介绍相关的核心技术。通过实际的代码示例,我们展示了如何在云平台上部署和管理应用,以及如何利用云原生架构提高系统的可伸缩性、弹性和可靠性。无论你是云原生领域的新手,还是希望深化理解的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
|
5天前
|
弹性计算 Kubernetes Cloud Native
云原生技术的实践与思考
云原生技术的实践与思考
18 2
|
6天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
20 3
|
5天前
|
边缘计算 Cloud Native 安全
云原生技术的未来发展趋势
云原生技术的未来发展趋势
17 1
|
6天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
7天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代软件开发中的应用与挑战
【10月更文挑战第37天】随着云计算技术的不断演进,云原生技术已经成为推动软件开发现代化的重要力量。本文将深入探讨云原生技术的核心概念、优势以及面临的挑战,并通过一个实际的代码示例,展示如何在云原生环境中部署一个简单的应用。我们将从云原生的基础架构出发,逐步引导读者理解其在现代软件开发中的关键作用。
20 1
|
8天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。

热门文章

最新文章