描述
ACRN 是由 Linux 基金会于 2018 年 3 月发布的开源轻量级 hypervisor 参考软件,专为嵌入式与物联网场景设计,由英特尔主导初始开发。其架构包含 hypervisor 和设备模型,支持实时性、关键安全性与多操作系统共存。
2025 年 7 月 18 日,在第五届(2025)RISC-V 中国峰会的软件与生态系统分论坛上,英特尔的李海程(HaiCheng Li)分享了他们在基于 RISC-V 平台构建可信执行环境(TEE)方面的工作成果,特别是围绕 RV-ACRN Hypervisor 的技术架构与实现。
RV-ACRN Hypervisor 是英特尔针对 RISC-V 平台开发的轻量级开源虚拟化管理程序,专为物联网(IoT)、车载系统和工业自动化等嵌入式场景设计,旨在提供安全隔离、实时性支持和硬件资源高效利用的解决方案。
李海程首先介绍了本项目的核心目标:在 RISC-V 平台上构建基于 ACRN Hypervisor 的 TEE 架构,推动其在商业应用中的落地。目前,英特尔团队已经完成了整体架构的设计与原型验证工作。相关代码正在逐步开源,主要托管在 TEDV 分支中。TEDV 是面向可信执行环境(Trusted Execution Environment, TEE)开发的一个分支。
整体架构引入了伙伴 VM 的概念,即每个 REE 应用配备一个对应的伙伴 TEE VM,该 VM 支持多个 REE,凭借虚拟化技术适配多种 VM 机型,适用于车载或强 AIOT 等需要多个 VM 的场景。
架构分为上下两部分:
·上部适配可信计算的标准接口,直接对接接口省去了大量工作。
·下部是 aiken standard 基础框架。考虑到 RISC-V 生态存在碎片化和分级现象(部分芯片支持虚拟化,部分不支持),团队在中间增加了硬件抽象层,该层可分为两半。若平台支持虚拟化,通过 LMU 进行硬件资源乐观管理;若为传统平台,则进行资源管控。
此外,团队还完成了超过一万项 TEE 相关测试,涵盖 OP-TEE 等开源 TEE 实现,并通过一个 DEMO 展示了当前的实现状态。该 DEMO 展示了两个 REEVM(普通执行环境虚拟机),并支持切换至 6.2S 版本的操作系统,同时集成了 OP-TEE 相关代码。
由于 RISC-V 生态存在碎片化现象,不同芯片对虚拟化的支持程度不同。为此,RV-ACRN 架构中引入了一个硬件抽象层(Hardware Abstraction Layer, HAL),其功能包括:
· 虚拟化支持平台:使用 LMU(Logical Machine Unit)进行硬件资源乐观管理;
· 非虚拟化平台(Legacy 平台):通过 PMP(Physical Memory Protection)等机制实现资源管控。
HAL 的设计使得系统具备良好的平台兼容性,无论芯片是否支持虚拟化,都可以实现 TEE 环境的部署。
同时,构建可信计算环境,安全模型和安全设计至关重要:
· 内存隔离:分为 VM 内部或 TEE 内部进程间隔离(由 VM 的 MMU 实现)、VM 之间的隔离(通过映射实现 REE 和 TEE 之间的隔离)。对于不支持 trap 的平台,可通过 PMP 对应的 driver 进行内存隔离(静态利用率较低);支持 trap 的平台,内存资源使用更灵活。
· DMA 访问隔离:借助 IOMMU,对 VM 驱动下发起的 dma transaction 设置不同域实现隔离。
· 系统验证:整个系统通过 boot Loader 进行验证,相关机制会进行签名验证,确保自身不被篡改,之后再启动 OP-TEE,保障系统安全。
李海程表示,RV-ACRN 的代码已经部分开源,可通过 RV-ACRN 项目主页、TEDV 分支代码库和相关适配文档与 Peter 等资源访问。
打开APP阅读更多精彩内容