简介: 让我们看下ARMv9机密计算相关的新特性Realm。

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集群和机密容器。

原文链接
本文为阿里云原创内容,未经允许不得转载。

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

  1. 屏幕旋转后_网易哒哒H5又又叒刷屏了,TCL·XESS 旋转智屏竟然是一大亮点

    一出手就是爆款的网易哒哒H5又来了.与很多平淡无奇的呈现方式不同,网易哒哒的H5非常注重网友的参与感,以便吸引他们参与到互动中来,引起共鸣. 今年的五一小长假,网易哒哒再次脑洞大开,发起了五一宅家姿势 ...

  2. 2020:下一个十年,存储发展的趋势是什么?(全集)

    前   言 今天是五四青年节,祝朋友们永葆青春的心态,积极乐观.开放真实.审慎务实. " 青春不是年华,而是心境.   无论年届花甲,抑或二八芳龄,心中皆有生命之欢乐,奇迹之诱惑,孩童般天真 ...

  3. 十年坚持,OPPO Find X3意味着什么?

    文/ 智能相对论(ID:aixdlun) 作者/佘凯文 一部手机从概念到设计再到生产上市,这个过程你了解吗?十年专注一个系列,其背后的故事你又了解吗? 最近,OPPO发布了一则名为Find十年理想的记 ...

  4. 号称迄今为止最快,.NET6带来了什么?

    北京时间11月8号午夜,.NET6正式发布.该版本经历了一万多次Git提交,号称迄今为止最快的.NET,究竟有哪些亮点呢? 1 LTS版本,发布前经过了长期的线上生产压力测试: 2 性能提升,包括文件 ...

  5. 纪念杰克韦尔奇:职业经理人怎么做变革

    第一步骤 数一数二文化(参见第八章:远见) 要么不做,要做就做到最好. 韦尔奇大力宣扬着.但所有人都无动于衷,也不明白他究竟想说什么.具体应该怎么做. 韦尔奇没办法,用实际行动来事实说明了啥叫数一数二 ...

  6. 赶超Java,号称迄今最快框架,.NET6带来了什么?

    2021年11月8号午夜,.NET6 + C#10 + VS2022正式发布,.NET进入新时代! .NET6号称迄今为止最快的.NET,究竟有哪些亮点呢? 该版本经历了一万多次Git提交,其改进升级 ...

  7. 9月热文精选,为你的假期加点料

    9月热文精选配你过长假,看看你有没有错过一些精彩的内容! 技术 硬货 | 一文了解深度学习在NLP中的最佳实践经验和技巧 重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN 笔记 ...

  8. 整数有约|当智能虚拟人遇上元宇宙

    去年,扎克伯格宣布将Facebook更名为Meta,"元宇宙"一词迅速出圈.元宇宙是一个与现实世界平行的虚拟空间,每一个人都可以在其中拥有自己的数字化分身,因此,虚拟人将成为元宇宙 ...

  9. 商用车界首次总裁直播演讲,奥铃轻卡总裁李杰金句频出

    轻卡界"光头总裁"又一次刷屏了.12月25日,奥铃轻卡总裁李杰首次以直播演讲的方式发布2021年度工作报告,这也是商用车行业内首次总裁个人直播演讲,包括新华社现场云.网易科技.奥铃 ...

最新文章

  1. 电力管理信息系统数据库表总结
  2. 对属性可以赋值的位置
  3. EDA技术使用教程实验
  4. abap oo 语法
  5. jQuery 效果函数
  6. coreldraw x4如何出血_CorelDRAW软件出血位详解
  7. 基于MATLAB的柱状图画法及特殊柱状图画法总结
  8. 各大网络安全厂商及安全产品
  9. android修改状态栏图标大小,安卓手机状态栏图标位置修改教程
  10. java与c互通aes加密解密
  11. 【无标题】16 求素数 盛通教育(C++)
  12. 【quasi-maximum likelihood decoder】一种有效的PSK信号准最大似然译码器matlab性能仿真
  13. PTA A1100 Mars Numbers 解题思路
  14. 鸟哥linux+韩顺平linux视频教程学习小结
  15. 文本处理算法_基于 Python 的 11 种经典数据降维算法
  16. Kubernetes-HA高可用架构
  17. Teamface可定制化的CRM管理软件,颠覆传统的管理软件
  18. 编程规范 (百度、华为)
  19. 统计分析之集中、离中、偏态和峰态的一些度量方法
  20. 拯救2K屏手机!修改屏幕分辨率省电教程

热门文章

  1. JAVA入门级教学之(内存地址的引用示例)
  2. 深入理解计算机系统第四版_深入理解计算机系统之存储器层次结构
  3. python数据库操作sqlite_使用Python对SQLite数据库操作
  4. mysql中将int转为_mysql – 将int转换为varchar
  5. 的微波感知_上海交大彭志科教授团队研发:微波微动监测与智能感知技术
  6. isight参数优化理论与实例详解_案例1(ISIGHT集成ADAMS CAR方法实现)
  7. 新松机器人发行价_知识创造财富,“机器人第一股”背后的院士是怎样炼成的?...
  8. php删除一张表数据的时候 把另一张表的数据也删除,剔除第一张表的数据时,修改第二张表的相关字段的数值...
  9. leetcode 109 --- 有序链表变成二叉搜索树
  10. java代码ftp重命名未生效_java使用apache commons连接ftp修改ftp文件名失败原因