上篇系列文章从整体上描述了TEE和Hypervisor在新时代的定位和意义,本文重点聊聊两者的技术本质和新时代的特征需求

一.技术本质区别

TEE和Hypervisor本质上都是虚拟化技术,都需要底层芯片架构的支撑,大多数情况下两者的区别在于TEE是一种被动式虚拟化技术 ,Hypervisor通常是一种主动式虚拟化技术。通俗点讲, TEE大多数时间处于被动休眠模式不占用系统算力,只有当有可信或隐私计算需求时,TEE才会运行在前台,并且TEE在运算完成后会再将计算资源归还给REE(如Android)。相比之下, Hypervisor作为重要的资源管理基础时刻运行在前台,主动地为各个虚拟机提供虚拟计算资源,除了CPU计算资源外,Hypervisor还提供GPU虚拟化、设备虚拟化等更丰富的功能。特别是GPU虚拟化,未来在智能驾舱、元宇宙等应用场景中将起到至关重要的作用。下图展示了在ARM(主要是v8架构)和Intel两大芯片架构下TEE和Hypervisor映射关系:

【谦言技语】TEE + Hypervisor万物互融与元宇宙时代的发展基石(二)_虚拟化技术

很多人看到上面这个图会心生疑问, Intel 对应TEE的技术不是SGX吗,怎么是跑在Ring -3​​[1]​​的Minix呢?事实上,SGX和ARM Trustzone有非常大的差别,如果非要映射,ARM在v9架构中提出的机密计算CCA和SGX进行类比更为恰当,两者都允许用户层应用直接调进安全区执行关键代码,目标是解决应用层的安全问题。相比之下,运行在ARM Trustzone中的TEE和运行在Intel Ring-3 的Minix​​[2]​​因拥有着自底向上的信任基础、最高的执行权限以及承载高级别完整安全生态的能力,更符合TEE最核心的定义。值得一提的是,除了机密计算的能力,ARM在 v9架构还加入了Secure EL2,使得ARM架构下的TEE的承载能力更加强大​[3]​​,下图展示了ARM v9中CCA与Secure EL2的架构示意图:

【谦言技语】TEE + Hypervisor万物互融与元宇宙时代的发展基石(二)_TEE_02

看了上面的图和ARM的官方宣传,相信相当一部分小伙伴可能会更加迷惑,架构又变得更复杂了,哪些是TEE,哪些是Hypervisor?事实上,两者区分的确不是十分明显,很多时候是你中有我,我中有你的状况​[4]​​。大多数情况,我们可以从他们的主要目标上来区分:TEE基于芯片最底层信任根,拥有芯片最高的执行权限,主要目的是保护系统关键数据、关键执行逻辑、提供不可篡改的可信数据和唯一设备标识,同时兼顾Hypervisor所提供的计算资源共享能力;Hypervisor主要面向多个虚拟机提供计算资源共享能力,同时兼顾TEE所能提供的关键数据、关键执行逻辑保护能力。从两者的主要目标上,我们也可以更容易理解前文提及的TEE多采用被动式,Hypervisor多采用主动式的原因了。再回到ARM v9架构上,我们就更好理解Realm Manager和Secure Partition事实上都是运行在TEE环境中的Hypervisor,区别在于Realm的目的在于降低用户使用的门槛,为Linux、Windows、Android这样的大生态OS提供影子OS服务,为大生态用户层、驱动层直接提供安全调用接口,并且同时在虚拟机之间隔离及虚拟机和Hypervisor隔离上提供了硬件隔离基础。这类设计的确方便了用户使用,但与此同时也暴露出了与SGX同样的弱信任根的问题。

此外,Realm Manager的实现也变得至关重要,虽然ARM官方宣传Realm可以解决Hypervisor越权访问虚拟机的问题,但事实上Realm Manager的实现仍然需要建立在机制和策略分离的核心架构基础上,并且需要专业的第三方实验室审查。总之,在不同芯片架构下定义TEE这件事的确不是件容易的事情,我们与行业伙伴一起尝试在国内第一本TEE国家标准《信息安全技术可信执行环境基本安全规范 》中对TEE、可信虚拟化在各个芯片架构中的安全要求与参考架构做出了一些总结,该规范目前已经进入报批稿阶段,敬请期待。

二.新时代的特征需求

聊过了TEE和Hypervisor的技术本质,接下来我们再聊一聊新时代对TEE和Hypervisor的新需求。在万物互融和元宇宙时代,脑干系统的高安全、高效率、高隐私、高可信、高可靠变得十分重要,下面两个表格针对以上几个关键需求给出了新旧两个时代TEE和Hypervisor的差异性对比,供大家参考:

【谦言技语】TEE + Hypervisor万物互融与元宇宙时代的发展基石(二)_TEE_03TEE新旧时代对比

【谦言技语】TEE + Hypervisor万物互融与元宇宙时代的发展基石(二)_虚拟化技术_04Hypervisor新旧时代对比

从上面两个表格可以看到, 新一代TEE和Hypervisor的大部分关键特性是一致的,核心思想通过安全微内核的关键特性与形式化证明方法大幅度提升系统的安全性、可靠性,在金融和汽车等行业得到产业的一致认可​[5]​​。同时,TEE除了高安全性和高可靠性外,并发处理效率与AI、区块链等相关库与生态的支持是当前一个关键技术瓶颈,严重阻碍了相关产业的发展,新一代TEE必须有效解决这些问题。最后,面向快速迭代的万物互融时代,新一代形式化验证方法也非常关键,下表对新旧两代验证方法的关键特性进行了一个简单的对比,供大家参考:

【谦言技语】TEE + Hypervisor万物互融与元宇宙时代的发展基石(二)_虚拟化技术_05旧两代验证方法关键特性对比

如上表所示,国际首创的谦川科技快速形式化证明工具F-Proof​[6]​​无论在验证覆盖范围、验证难易度、验证人员要求上都具有明显的优势,对打造万物互融时代可信、可靠的脑干体系和安全基座具有非常重要的意义,部分细节可参见谦川科技联合东北大学、清华大学在安全领域顶级国际期刊上发布的论文​​[7]​​。

参考

  1. ​^​​Ring -3可能是不太专业的描述,Intel官方定义为Root模式,鉴于大家的公共认知及理解,本文沿用了Ring-n的描述。
  2. ​^​​Intel处理器隐藏的MINIX系统居然是全球第一系统​​http://m.elecfans.com/article/​
  3. ​^​​在这里默默怀念一下当年在剑桥和ARM 安全IP专家一起讨论Secure EL2与可信虚拟化技术发展问题时的情景,现在由于疫情阻隔这样的机会不太容易了。
  4. ​^​​在MIPS架构下,TEE是通过Hypervisor隔离出的一个特殊高安全级别虚拟机。
  5. ​^​​CC (Common Criteria) EAL 4及以上、ISO 26262 ASIL C及以上均要求采用形式化证明方法证明设计与逻辑的正确性
  6. ​^​​专利号:201910480992.5
  7. ​^​​Automatic kernel code synthesis and verification,Computers and Security (2020) 91.