ARMv9机密计算架构Realm技术预览

简介: 这两天科技新闻区被ARMv9的新闻刷屏了。ARMv9号称十年以来最大重大变革,因此让我们看下ARMv9中机密计算相关的新特性Realm。 注:本文是对[Introducing the Confidential Compute Architecture](https://www.anandtech.com/show/16584/arm-announces-armv9-architecture/

这两天科技新闻区被ARMv9的新闻刷屏了。ARMv9号称十年以来最大重大变革,因此让我们看下ARMv9中机密计算相关的新特性Realm。

注:本文是对Introducing the Confidential Compute Architecture的部分翻译和个人注解。

背景

在过去的几年里,我们看到安全问题和硬件安全漏洞已经成为了新闻热点。许多处理器侧信道漏洞,如幽灵、熔毁以及与它们有关的侧通道攻击,都表明有必要重新思考如何在处理器架构层面解决安全问题。

Arm想要解决这个问题的方法是:通过引入Arm机密计算体系结构(Arm CCA),重新设计敏感应用程序的工作方式。


一句话亮点总结

Arm CCA基于Armv9 Realm Mangement Extension(RME,简称Realm),将敏感应用和OS隔离在Realm中;Realm比机密虚拟机更加通用,既支持机密虚拟机形态,也支持机密OS形态。


Hign Level设计

Arm CCA基于Armv9 Realm Mangement Extension,将敏感应用和OS隔离在Realm中:
Richard_11.png

从这张图可以总结出以下几个要点:

  • Non-Secure World、Secure World和Realm之间是相互隔离的。

    • 现有材料中没有详细解释这种隔离是如何实现的,大概率还是基于硬件的地址空间隔离技术。
    • 对Realm的隔离要看两个方面:运行在Realm中的敏感应用也可能是租户部署的恶意应用,因此对Realm的隔离也是必要的,即双向隔离。
  • Realm可以运行OS(简称Realm OS),也就是说Realm提供了高特权级的支持,可以运行EL1特权软件。

    • Realm OS的形态可以有多种:

      • 不一定非要是经过裁剪和安全加固过的Linux内核,也可以为Realm设计的TEE OS,或者由支持其他机密计算的OS技术实现演进过来额外支持Realm的LibOS(如Enarx、Occlum、Graphene等);但这种TEE OS不能是支持TrustZone的TEE OS,后面会讨论这个话题。
      • TEE OS目前的一种发展趋势是缩小TCB、减少Rich OS潜在的攻击面进而提升整体的安全性;但在是否需要提供良好的业务逻辑兼容性上存在分歧:

        • 一种方案是不考虑对业务的兼容性,以安全为先,可以适度牺牲性能和兼容性。
        • 另一种方案还是重视对存量业务的兼容性,以兼容性为先,可以适度牺牲性能和安全性。
        • PS:Unikernel又有机会了!
  • EL2运行Realm Manager,负责管理Realm的调度和资源分配;可以预见这部分会由Arm CCA firmware架构来支持(类似ATF,或直接在ATF中进行扩展来支持)。

    • 从目前的资料来看:Realm Manager是Arm新写的,其代码量大概是Hypervisor大小的十分之一。
    • Realm Manager和TDX中的SEAM Module很像:在处理器架构级为该功能模块提供了一个新的运行模式;同时该功能模块承担了Realm生命周期和资源管理的功能,系统中其他不可信的组件不能替代其功能和角色。
  • TrustZone对Realm也是不可信的;也就是说Realm不是像TrustZone那样只解决计算资源隔离的问题,而是解决更进一步的敏感数据隔离的问题。

安全威胁模型

这张图说明了Realm的安全威胁模型,可以看出它具备典型的机密计算技术的特点:

Mark_6.png

从这张图可以总结出以下几个要点:

  • 这里的hardware manufacture指的是外设的硬件设备提供商,而不是处理器本身的硬件提供商(比如Arm或SoC厂商)。
  • Realm Manager不属于Realm的一部分,但它是用户TCB的一部分。

用法

由于Realm具备运行完整OS的能力,所以看上去可类比TDX的trust domain以及SEV/CSV的机密虚拟机,但下面的用法中则揭示了Realm相比机密虚拟机形态更为通用的一面:

Mark_7_575px.png

Mark_8_575px.png

从这张图可以总结出以下几个要点:

  • 由于TrustZone中的TEE OS不是通用OS,而是结合TrustZone深度定制过的,因此无法将TEE OS直接加载到Realm中并运行,这也打破了原先认为Realm会基于TrustZone架构进行迭代的假设;但适配了OP-TEE的TA是可以运行在Realm中的,只要Realm OS能够支持OP-TEE的TA API。换句话说,这张图可能也暗示了Arm接下来会在Realm OS中提供对TA的支持,当然也可能这张图只是展示Realm的兼容性能力;此外,在Realm中运行Android应用也存在上述的可能性。
  • Realm Manager本质上充当了类似Hypervisor管理VM的角色,只不过Realm Manager管理的对象是Realm。

    • 当Realm运行VM的时候,可以认为把Hypervisor中涉及到Realm安全性的逻辑挪到了Realm Manager中,而把不涉及其安全性的部分保留在传统Hypervisor中。
  • Realm仅仅是专门为运行敏感应用而提供的硬件TEE,它的使用者可以将自己环境内的工作负载通过Realm Manager将敏感应用+OS一起加载到Realm中,甚至是将一个完整的虚拟机加载到Realm中,因此ealm不是机密虚拟机,而是泛用性更高的通用型机密计算运行环境底座。

综上所述,Realm技术不仅大幅度降低了敏感应用对信任的需求以及用户在适配Realm的成本,而且OS自身的安全性问题对Realm应用来说将变得非常透明(但Realm应用对外提供的服务以及Realm OS对外暴露的接口的安全性依旧需要重视)。此外,因为关键性应用能够安全地在任何支持CCA的系统中运行,而当今公司或企业往往需要使用具有各种安全合规的授权软件栈的专用设备才能实现这种安全性,因此这种技术也能降低用户在安全上所投入的成本。


Slide中没有直接体现出来的要点

  • Realm中的应用能够attest Realm Manager以确保它是可信的。
  • 内存加密。这个是机密计算的必备能力。
  • 目前的资料没有显示出Realm提供的这种通用运行能力是如何支持Realm与IO设备间的交互的。据说Confidential IO问题还没有在Realm 1.0中得到解决,也许会在下一代技术中解决。

后续

目前Arm仅仅提供了关于CCA如何运作的high level解释,有关该机制究竟如何运作的更多细节将在今年夏天晚些时候公布。

相关文章
|
17天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
25天前
|
运维 持续交付 API
从零构建微服务架构:一次深度技术探索之旅####
【10月更文挑战第28天】 本文记录了作者在从零开始构建微服务架构过程中的深刻技术感悟,通过实战案例详细剖析了微服务设计、开发、部署及运维中的关键要点与挑战。文章首先概述了微服务架构的核心理念及其对企业IT架构转型的重要性,随后深入探讨了服务拆分策略、API网关选型、服务间通信协议选择、容器化部署(Docker+Kubernetes)、以及持续集成/持续部署(CI/CD)流程的设计与优化。最后,分享了在高并发场景下的性能调优经验与故障排查心得,旨在为读者提供一套可借鉴的微服务架构实施路径。 ####
57 3
|
2月前
|
边缘计算 Cloud Native 安全
构建灵活高效的下一代应用架构 随着企业数字化转型的加速,云原生技术正逐渐成为构建现代化应用程序的关键支柱。
随着企业数字化转型加速,云原生技术逐渐成为构建现代化应用的关键。本文探讨了云原生的核心概念(如容器化、微服务、DevOps)、主要应用场景(如金融、电商、IoT)及未来发展趋势(如无服务器计算、边缘计算、多云架构),并分析了面临的挑战,如架构复杂性和安全问题。云原生技术为企业提供了更灵活、高效的应用架构,助力数字化转型。
70 4
|
15天前
|
存储 分布式计算 关系型数据库
架构/技术框架调研
本文介绍了微服务间事务处理、调用、大数据处理、分库分表、大文本存储及数据缓存的最优解决方案。重点讨论了Seata、Dubbo、Hadoop生态系统、MyCat、ShardingSphere、对象存储服务和Redis等技术,提供了详细的原理、应用场景和优缺点分析。
|
17天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
42 7
|
15天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
66 4
|
2月前
|
Kubernetes Cloud Native 持续交付
云端新纪元:云原生技术重塑IT架构####
【10月更文挑战第20天】 本文深入探讨了云原生技术的兴起背景、核心理念、关键技术组件以及它如何引领现代IT架构迈向更高效、灵活与可扩展的新阶段。通过剖析Kubernetes、微服务、Docker等核心技术,本文揭示了云原生架构如何优化资源利用、加速应用开发与部署流程,并促进企业数字化转型的深度实践。 ####
|
16天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
31 3
|
18天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
44 5
|
16天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####