0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arm如何让构建支持机密计算的平台变得更容易

jf_9aVl32Dp 来源:Arm软件开发者 2023-05-08 11:11 次阅读

随着云的兴起,计算变得高度分布式。工作负载可以在许多计算节点上运行,并且通常跨越多个数据中心。工作负载由代码和数据的组合组成,两者通常都是有价值和敏感的。数据中心通常由第三方管理,如云服务提供商(CSP),并且可能位于与工作负载所有者不同的法律管辖区。在云中托管日益敏感的工作负载的需求推动了机密计算(https://developer.arm.com/documentation/den0125/0200/What-is-Confidential-Computing-)。这是一种可以在第三方基础设施上部署工作负载的模型,并且高度确信任何第三方都不会损害其机密性和完整性。

虽然今天这个模型最常用于描述公共云中所需的属性,但人们对其他几个市场的兴趣越来越大。现代汽车设计旨在将来自不同供应商的多个工作负载整合到一个车载服务器上。信息技术的消费化已经导致个人电脑上的个人和公司数据的混合。这两个应用程序都具有与公共云类似的安全要求,并且可以重用相同的底层安全技术。

要构建一个支持机密计算的平台,必须解决几个挑战,但主要的挑战是如何在处理数据和代码时保护数据和代码。相比之下,通过使用强大的加密、数字签名和细致的密钥管理,保护静态数据和动态数据相对容易。

随着最近发布的第一批支持Realm Management Extension(RME)的开源补丁,现在是了解Arm上机密计算的最新发展和功能的好时机。 在这个博客中,我简要概述了可以用来构建 支持机密计算的平台。其中包括Arm在Armv9-a架构中添加的最新功能的摘要,以及Arm支持的参考软件架构的详细信息。

设计师考虑的威胁是什么?

任何提供机密计算的平台的设计者都必须分析需要防御的威胁和风险,以及那些可以接受的、因此被认为超出范围的威胁和危险。本分析中通常考虑的威胁示例包括:

。平台软件中可能被利用的漏洞。

。在供应链中插入已知漏洞(有时称为后门)。

。针对操作服务器的物理攻击。

。通过辅助渠道(如完成操作所需的时间)跨越安全边界的信息泄露。

。第三方管理员访问和滥用敏感数据。

。对数据主权和外国访问的担忧。

。从私人数据中心转移到第三方云的风险使其更难证明符合监管标准。

缓解措施

缓解这些和其他威胁通常需要从根本上改变人们熟悉的计算机安全模型,该模型依赖于特权级别的层次结构,每个级别都隐含信任更具特权的基础设施层。

3c61a768-ed4d-11ed-90ce-dac502259ad0.png

图 1: 传统特权机制的一个例子

通常具有最大权限并因此必须受到最终用户信任的组件的示例包括平台固件,以及相关的虚拟化管理程序。这种基础设施通常可以不受限制地访问工作负载,并且被信任不会滥用这一特权。如果特权代码被认为可能包含可利用的安全漏洞,这可能会引起关注。可以通过多种不同的方式来消除或减少对用户可能看不见的特权基础设施的信任,包括:

。重新配置平台以减少可访问工作负载的特权软件和硬件的数量。

。通过加密尽可能靠近处理点来保护与工作负载相关的所有内容。例如,加密工作负载的代码、状态和内存中的数据。

。在保留特权元素的情况下,确保这些元素是开放的、可供检查的,并使用安全引导和平台认证等技术锁定,以便在未经授权或检测的情况下无法更改。可以使用形式化方法来进一步保证这些元素是可信的。

在虚拟化环境中保护工作负载

Arm在Armv7-A体系结构中引入了对虚拟化的处理器支持,包括第二阶段的转换表。这些功能在共享平台的虚拟机之间提供了有效的硬件支持的地址空间隔离。可以使用A-ProfileArchitecture的这一功能和其他功能来构建一个支持机密计算的平台。 在使用虚拟化的情况下,系统管理程序通常有足够的权限访问用户工作负载,但可以进行控制,以确保系统管理程序不会滥用该权限。例如,可以通过使系统管理程序小型化、开放性和可验证性来降低系统管理程序出错的风险。可以使用正式的方法来正确地演示系统管理程序的功能,然后可以使用安全的信任根来防止对平台的未经授权的更改并支持证明。信任的根源通常是一个专用的安全微处理器,它通过在释放主系统CPU之前加载和验证系统固件来控制引导过程。

添加硬件支持的安全性的新维度

2021年,Arm宣布Realm Management Extension(RME)是Armv9-a架构的主要补充 Arm机密计算架构(Arm CCA)。Arm正在与几个合作伙伴合作,开发RME的第一个芯片实现。

RME是一种隔离体系结构,允许管理程序为称为Realms的工作负载创建和管理特殊的执行环境。Realm 是 一种受保护的环境,旨在为虚拟机等工作负载提供额外的安全性。当虚拟机在Realm中运行时,系统管理程序具有与传统虚拟机相同的创建、销毁、调度、添加或删除内存和设备等资源的能力。关键的区别在于,系统管理程序无法访问Realm的代码或内存。从这个意义上说,系统管理程序是被剥夺权限的,工作负载可以使用证明来验证这种剥夺权限在加载任何敏感代码或数据之前是否已经发生。我们预计RME将成为未来几代CPU的主流功能。RME提供了另一种工具,可以帮助安全架构师减少可访问工作负载的代码量,并可用于进一步强化支持虚拟化的平台。RME还标准化了对内存加密和认证的支持。

2022架构扩展

Arm每年都宣布对A-Profile架构进行年度更新 。2022年,我们宣布对RME进行增强,以支持更广泛的内存加密上下文(MEC)和设备分配(DA)用例。

。MEC为Realm物理地址空间引入了对多个内存加密上下文的支持。这可以用于为每个Realm实现具有唯一密钥的内存加密,这为Realm已经提供的安全性提供了额外的深度防御。

。DA增强了RME系统架构和SMMUv3,以实现设备到领域的安全分配。每个Realm都可以独立选择是否允许非处理器资源(如存储接口或加速器)访问其地址空间的一个区域。因此,使用DA,工作负载可以充分利用异构平台上可用的专业资源,如神经处理器,而不会影响安全性。

包含MEC的RME规范可在Arm结构参考手册的J.a版本(https://developer.arm.com/documentation/ddi0487/latest/)中找到,DA规范将很快发布。参考https://www.arm.com/armcca以获取更多信息。

参考软件体系结构

当Arm提供在硬件中实现的新体系结构功能时,我们也会考虑在一个完整的系统中使用这些功能需要什么。一些合作伙伴更喜欢采用Arm的硬件架构,创建自己的软件,以适应他们的特定市场和需求,而另一些合作伙伴则喜欢选择包括软件在内的更完整的解决方案。出于这个原因,我们创建了包含RME的Arm机密计算架构(Arm CCA)。

3c95046e-ed4d-11ed-90ce-dac502259ad0.png

图 2:Arm CCA建立在RME之上,以提供一个参考软件安全架构。

Arm CCA以RME为基础,提供了可选的参考固件和软件安全架构,可用于实现支持机密计算的基于虚拟机监控程序的平台。除了RME之外,通过选择Arm CCA,Arm的合作伙伴可以从支持流行开源项目的既定软件架构中受益,包括 值得信赖的Firmware-A(https://www.trustedfirmware.org/news/first-open-source-release-of-the-trusted-firmware-realm-management-monitor-tf-rmm/%22%20/h%20HYPERLINK%20%22https:/www.trustedfirmware.org/blog/TF-A-v2-8-release/)、Linux和KVM。Arm CCA是一个开放的体系结构,正在使用正式方法进行积极评估,帮助合作伙伴证明其安全技术遵循既定的最佳实践。标准软件体系结构的使用提高了可移植性,并且 减少了长期维护的负担,以及 还可以提高执行的透明度。您可以在developer.arm.com(https://developer.arm.com/documentation/den0127/0100/Overview)上阅读更多关于Arm CCA的信息 。

我很高兴Arm刚刚为Linux堆栈发布了第一个Arm CCA“征求意见”补丁,为Linux内核和KVM做出了贡献。经过审查,我希望这些捐赠能被上游项目所接受。这有助于广泛的服务提供商在基于Arm的系统上提供安全的机密计算,而无需开发自己的定制解决方案的成本和复杂性。您可以在此处(https://lore.kernel.org/all/20230127112248.136810-1-suzuki.poulose@arm.com/)找到Arm CCA Linux堆栈的征求意见。第一批用于来宾固件的EDK2修补程序已可用(https://edk2.groups.io/g/devel/message/103581)。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8658

    浏览量

    362084
  • 服务器
    +关注

    关注

    12

    文章

    8129

    浏览量

    82590
  • 数据中心
    +关注

    关注

    15

    文章

    4190

    浏览量

    70176

原文标题:Arm如何让构建支持机密计算的平台变得更容易

文章出处:【微信号:Arm软件开发者,微信公众号:Arm软件开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Arm Neoverse S3 系统 IP 为打造机密计算和多芯粒基础设施 SoC 夯实根基

    Arm 基础设施事业部高级产品经理 Mohit Taneja   Arm Neoverse S3 是 Arm 专门面向基础设施的第三代系统 IP,应用范围涵盖高性能计算 (HPC)、机
    发表于 03-26 16:33 132次阅读
    <b class='flag-5'>Arm</b> Neoverse S3 系统 IP 为打造<b class='flag-5'>机密</b><b class='flag-5'>计算</b>和多芯粒基础设施 SoC 夯实根基

    Arm邹挺:基于 Arm 平台,携手迈入构建计算未来的新篇章

    导体市场的分析与展望。   Arm 中国区业务全球副总裁 邹挺   重新上市,2023 年对Arm的里程碑意义   2023 年对于 Arm 而言是成绩斐然,并且具有里程碑意义的一年。我们于 2023 年 9 月再次上市,迈入
    的头像 发表于 01-02 14:27 2075次阅读
    <b class='flag-5'>Arm</b>邹挺:基于 <b class='flag-5'>Arm</b> <b class='flag-5'>平台</b>,携手迈入<b class='flag-5'>构建</b><b class='flag-5'>计算</b>未来的新篇章

    基于ARM的嵌入式电机控制处理器构建的模型设计平台

    电子发烧友网站提供《基于ARM的嵌入式电机控制处理器构建的模型设计平台.pdf》资料免费下载
    发表于 11-24 14:39 0次下载
    基于<b class='flag-5'>ARM</b>的嵌入式电机控制处理器<b class='flag-5'>构建</b>的模型设计<b class='flag-5'>平台</b>

    Arm员工与合作伙伴共同携手推动Arm 计算平台发展

    计算平台的发展,在此向各位致以衷心的感谢。 在史上应用最普及的 CPU 架构上,我们共同构建了全球最大的计算和软件生态系统。基于 Arm
    的头像 发表于 09-15 09:21 471次阅读

    开源机密计算平台:蓬莱-OpenHarmony

    OpenHarmony技术峰会——安全及机密计算分论坛 ​ 正 文 内 容 OpenHarmony赋能万物互联,存在覆盖从端到云的安全能力需求。蓬莱-OpenHarmony是一个开源机密计算
    发表于 09-07 16:08

    异构计算场景下构建可信执行环境

    浪潮下,安全策略应该如何发展?CPU所不擅长的领域,正在逐渐转移到专业的硬件上进行,导致计算逐渐远离了CPU,而机密计算环境还是在围绕CPU,万一CPU不见了,机密
    发表于 08-15 17:35

    ARM领域管理扩展(RME)系统架构介绍

    硬件功能和属性CCA架构。 Arm机密计算架构(Arm CCA)能够构建受保护的执行称为Realms的环境。领域允许特权较低的软件,如应用程
    发表于 08-09 07:52

    如何使用Arm Compiler 6构建Hello World

    在本教程中,您将学习如何使用Arm Compiler 6构建Hello World,并在Armv8固定虚拟平台(FVP)用Arm编译器6构建
    发表于 08-08 07:41

    ARM Keil Studio云用户指南

    上运行项目,并在不需要安装任何软件的情况下从支持的浏览器进行调试。 我们的目标是您更快、容易地评估参考设计,减少将嵌入式项目推向市场所需的时间,同时使
    发表于 08-08 06:59

    Arm Keil Studio Cloud用户指南

    支持上运行项目开发板和调试支持的浏览器,而不需要安装任何软件。 我们的目标是使您更快,容易地评估参考设计,减少时间你的嵌入式项目进入市
    发表于 08-02 08:34

    Arm机密计算架构用户指南

    在本指南中,我们将探讨保密计算在现代计算平台和解释机密计算的原理。然后我们描述Arm
    发表于 08-02 08:27

    Linux是如何实现和支持机密计算

    并合作。 对于互不信任的实体共享数据进行合作的场景(例如,基于法律原因数据必须留在特定司法管辖区内),机密计算可以提供数据隐私和合规的保护。例如,通过在CPU TEE中运行聚合分析运算,可以降低对聚合分析机器的信任。类似地,通过在机密
    的头像 发表于 06-26 09:57 1202次阅读
    Linux是如何实现和<b class='flag-5'>支持</b><b class='flag-5'>机密</b><b class='flag-5'>计算</b>的

    ARM系列—机密计算

    今天来看一个ARM中的新东西,机密计算架构(Confidential Compute Architecture,CCA)。CCA是ARM公司在2021年发布的,属于Armv9-A的关键
    发表于 05-24 15:25 957次阅读
    <b class='flag-5'>ARM</b>系列—<b class='flag-5'>机密</b><b class='flag-5'>计算</b>

    PX5的ARM TrustZone支持嵌入式系统变得更加安全!

    产品安全性。PX5 RTOS对ARM TrustZone的支持嵌入式开发者能够从物理层降低网络安全风险。 PX5的CEO William Lamie表示:“基于MCU的产品如今已是生活中不可缺少的一部分
    发表于 05-18 13:44

    什么是机密计算机密计算有何独到之处?

    机密计算是一种在计算机处理器的保护区内处理数据的方式。该保护区通常位于远程边缘或公有云服务器内,可保证无人能够查看或更改所处理的工作。
    的头像 发表于 05-06 16:38 1140次阅读
    什么是<b class='flag-5'>机密</b><b class='flag-5'>计算</b>?<b class='flag-5'>机密</b><b class='flag-5'>计算</b>有何独到之处?