ARMv9刷屏——号称十年最大变革,Realm机密计算技术有什么亮点?

ARMv9刷屏——号称十年最大变革,Realm机密计算技术有什么亮点?作者/乾越编辑/芹菜出品/云巅论剑ARMv9的新闻刷屏了。ARMv9号称十年以来最重大变革,因此让我们看下ARMv9中机密计算相关的新特性Realm。(注:本文是对IntroducingtheConfidentialComputeArchitecture的部分翻译和个人注解,本文图均来自anandtech.com网站。)背景在过去的几年里,我们看到安全问题和硬件安全漏洞已经成为了新闻热点。许多处理器侧信道漏洞,如幽灵、熔毁以及与它们有关的侧通道攻击,都表明…

大家好,又见面了,我是你们的朋友全栈君。

作者 / 乾越

编辑 / 芹菜

出品 / 云巅论剑

 

ARMv9的新闻刷屏了。ARMv9号称十年以来最重大变革,因此让我们看下ARMv9中机密计算相关的新特性Realm。(注:本文是对Introducing the Confidential Compute Architecture的部分翻译和个人注解,本文图均来自anandtech.com网站。)

 

背景

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

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

 

一句话亮点总结

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

 

High Level设计

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

图片

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

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

  •  现有材料中没有详细解释这种隔离是如何实现的,大概率还是基于硬件的地址空间隔离技术。

  • 对Realm的隔离要看两个方面:运行在Realm中的敏感应用也可能是租户部署的恶意应用,因此对Realm的隔离也是必要的,即双向隔离。

2.  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潜在的攻击面进而提升整体的安全性;但在是否需要提供良好的业务逻辑兼容性上存在分歧:

  1) 一种方案是不考虑对业务的兼容性,以安全为先,可以适度牺牲性能和兼容性。

   2)另一种方案还是重视对存量业务的兼容性,以兼容性为先,可以适度牺牲性能和安全性。

PS:Unikernel又有机会了!

3.  EL2运行Realm Manager,负责管理Realm的调度和资源分配。可以预见这部分会由Arm CCA firmware架构来支持(类似ATF,或直接在ATF中进行扩展来支持)。

  • 从目前的资料来看:Realm Manager是Arm新写的,其代码量大概是Hypervisor大小的十分之一。

  • Realm Manager和TDX中的SEAM Module很像:在处理器架构级为该功能模块提供了一个新的运行模式;同时该功能模块承担了Realm生命周期和资源管理的功能,系统中其他不可信的组件不能替代其功能和角色。

4. TrustZone对Realm也是不可信的。也就是说Realm不是像TrustZone那样只解决计算资源隔离的问题,而是解决更进一步的敏感数据隔离的问题。

 

安全威胁模型

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

图片

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

1. 这里的hardware manufacturer 指的是外设的硬件设备提供商,而不是处理器本身的硬件提供商(比如Arm或SoC厂商)。

2. Realm Manager不属于Realm的一部分,但它是用户TCB的一部分。

 

用法

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

图片

 

图片

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

1. 由于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应用也存在上述的可能性。

2. Realm Manager本质上充当了类似Hypervisor管理VM的角色,只不过Realm Manager管理的对象是Realm。

  • 当Realm运行VM的时候,可以认为把Hypervisor中涉及到Realm安全性的逻辑挪到了Realm Manager中,而把不涉及其安全性的部分保留在传统Hypervisor中。

3. 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解释,有关该机制究竟如何运作的更多细节将在今年夏天晚些时候公布。(完)

 

附翻译原文:Introducing the Confidential Compute Architecture 

https://www.anandtech.com/show/16584/arm-announces-armv9-architecture/2 

图片

关于Inclavare Containers

Inclavare是Enclave一词的拉丁语词源,读音是 [ˈinklɑveə]。

Enclave 指的是一种受保护的执行环境,能为其中的敏感和机密数据提供基于密钥学算法的强安全隔离,阻止不可信的实体访问用户的数字资产。

Inclavare Containers是由阿里云与Intel联合共建共同研发的面向机密计算场景的开源容器运行时技术栈,同时支持异构节点的Enclave远程证明基础实施、Enclave池化以及多类型Enclave Runtime等特性,服务于机密Kubernetes集群和机密容器。

github:https://github.com/alibaba/inclavare-containers

主页:https://inclavare-containers.io/

欢迎关注(Watch)!点赞(Star)!收藏(Fork)!

有兴趣交流的童鞋,可以打开钉钉,扫码加入Inclavare Containers 技术讨论群 (钉钉群

图片

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150659.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月22日 下午7:46
下一篇 2022年6月22日 下午7:46


相关推荐

  • Mac下PyCharm快捷键大全

    Mac下PyCharm快捷键大全Mac 键盘符号和修饰键说明 nbsp Command nbsp Shift nbsp Option nbsp Control nbsp Return Enter nbsp Delete nbsp 向前删除键 Fn Delete nbsp 上箭头 nbsp 下箭头 nbsp 左箭头 nbsp 右箭头 nbsp PageUp Fn nbsp PageDown Fn Home nbsp Fn End nbsp Fn nbsp 右制

    2026年3月27日
    2
  • CString和string相互转换

    CString和string相互转换一 string 转 CStringstrin helloworld CStringcstr str c str 二 CString 转 stringCStrin L HelloC std stringSTDStr CW2A theCStr GetString 未完续

    2026年3月19日
    2
  • win10pro不够pro,win10专业工作站版本才是真的牛

    win10pro不够pro,win10专业工作站版本才是真的牛很多同学认为 win10 专业版是 win10 最高级版本 其实并不是 win10 专业版工作站版本 Windows10Pro 才是最高级版本 与其它版本相比 win10 专业工作站版本对硬件的兼容性和适配性更是强大到让你口瞪目呆 具体表现如下 Windows10Pro 加入了 ReFS 文件系统 永固内存 快速文件分享 扩展的硬件支持 具体功能表现如下 工

    2026年3月18日
    22
  • IDEA如何设置字体大小?

    IDEA如何设置字体大小?1 首先 启动 IDEA2 选择单击菜单栏 Flie Settings 设置弹出 Settings 对话框 3 改变 size 大小 gt 点击 apply gt 点击 OK 即可 我们会发现字体已经变大

    2026年3月20日
    2
  • 深度信念网络DBN的一个matlab实例「建议收藏」

    关于深度学习的一些个人浅见:   深度学习通常是训练深度(多层)神经网络,用于模式识别(如语音、图像识别);深度网络指是具有深层(多层)网络结构的神经网络。   深层网络由于神经元多,参数多,拟合表现能力强,有表现欲解决复杂问题的能力。   但是深度网络存在很多局部最优解,深度网络的训练容易停留在局部最优上,初始参数的选择对网络最终收敛在那个位置有很大的影响。

    2022年4月12日
    193
  • 通过jstack定位在线执行java系统故障_案例1

    通过jstack定位在线执行java系统故障_案例1

    2021年12月4日
    89

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号