分享

HarmonyOS, 微内核,及ARM TrustZone

 hewii 2022-09-15 发布于上海

鸿蒙发布前后,众说纷纭。朋友圈有人参加了HDC.2019, 并放出图片两张,信息量很大。熟悉移动设备系统架构的人士从第一张图可以推测出HarmonyOS的内核就是TrustZone OS (或称作TEE, Trusted Execution Environment),但也许还不能确定鸿蒙和安卓的关系…

那么第二张图则明确了鸿蒙和Android-Linux内核的关系--

在2013年之前,ARM TrustZone及TEE很少被业界关注,直到Apple先后推出Touch ID和Apple Pay。熟悉TrustZone及TEE的相关概念对解读前面两张图算是必要条件。

ARM TrustZone的概念和目标

与OS中常见的User Space和Kernel Space的分隔[Ref 3]相类似,ARM TrustZone从芯片设计层面开始为安全应用提供了一个可信、隔离的运行环境(即TEE), TEE和非可信运行环境(也称为普通或丰富运行环境)同时跑在ARM处理器上,简单说来如下图所示,蓝色线框中就是TrustZone及TEE--

2013年以前,有少量终端把DRM模块预置在TEE。从iPhone 5S, Apple开始支持指纹解锁(Touch ID),指纹模组的总线接口、指纹相关的数据和鉴权处理都由TrustZone-TEE管理(Apple处理器上运行的TEE称作Secure Enclave); 从iPhone 6,Apple开始支持银行卡服务,银行卡数据和相关处理也由TEE管理。从2014年,安卓手机大厂纷纷跟进指纹解锁,TEE也随之出现在(几乎)每一台支持指纹解锁(或Face ID)的移动设备中。

因为TEE和特定的芯片设计紧密相关(TrustZone需要控制特定的处理单元、总线、接口等),每款主流的移动处理器系列都会提供一个或多个适配的TEE选项,比如高通会提供QSEE, 三星/MTK会支持Trustonic, 而海思麒麟所适配的就是基于鸿蒙内核的iTrustee了。

这么多厂商的不同TEE实现,当然会给安全应用的开发者带来困扰。有鉴于此,在智能卡OS领域有丰富经验的标准组织,Global Platform,在2010年前后开始为TEE定义各种接口标准,下图就是引入部分GP标准后的系统框架--

在不同厂商的移动设备上,Rich OS可以是iOS,Android或HarmonyOS等, 其中Android和HarmonyOS都基于Linux Kernel。

宏内核、微内核与SEL4

我们都知道Linux Kernel是宏内核,如下图所示,宏内核是把基本内核功能(进程调度及通信、内存管理)和系统服务(文件系统、设备驱动、网络服务等)置于同一地址空间,微内核是把基本内核功能和系统服务置于不同的地址空间[Ref 5]。

相应的,由于内核及服务的访问开销更小,宏内核系统通常具有更高的性能;因为内核更小,以及对系统服务的限制授权,微内核通常更易移植、更安全[Ref 4]。

有网文谈到鸿蒙内核是SEL4相当的,SEL4是第三代微内核的一个实现,使用形式化方法对内核和规格的一致性做了完整的验证。2014年,东软发布其TrustZone OS方案TEEI, 就是微内核及SEL4相当的[Ref 6]。

一些推论

经过前文对TrustZone-TEE及微内核的介绍,再来看HDC.2019的两张图,可以得出几个推论:

  • 用户在绝大部分时间使用的是Linux内核及其上的应用框架(即Android或其替代产品)

  • 2019年,HarmonyOS1.0的应用框架是Android (方舟编译器是为安卓定制的)

  • 2020年,HarmonyOS 2.0可能有自研的应用框架(非Android)

  • 鸿蒙微内核用于安全应用,不会扩展并取代Linux Kernel,出于安全考虑,应该也不会开源

References

[1] ARM TrustZone overview

[2] ARM TrustZone Explained

[3] Introduction to Kernel space and User space

[4] Microkernel

[5] What is the Difference between Microkernel and Monolithic Kernel?

[6]东软等4家上市公司参与银联“TEEI智能终端安全解决方案”

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多