基于QEMU的ARMv9 RME安全模拟平台详解与关键组件
47 浏览量
更新于2024-06-24
收藏 543KB PDF 举报
本文主要介绍了基于QEMU的ARM CCA模拟平台的RME(Remote Memory Encryption)安全架构。该平台由硬件仿真平台、软件平台两大部分组成,旨在提供一个全面的ARM安全环境,以便进行高级别的安全测试,包括ARMv9架构下的内存加密、权限管理以及多世界安全模型。
1. **硬件仿真平台(QEMU-RME)**
- QEMU-RME是核心组件,其代码量超过1500+行,它扩展了QEMU的虚拟化功能,支持新的领域状态(Realm States)的添加,如处理GPC(Generic Protection Control)故障,并对TLB(Translation Lookaside Buffer)进行扩展,引入基于物理地址和领域世界的TLB指令。
- MMU(Memory Management Unit)模块也得到了修改,涉及页表的NS(Not Secure)和NSE(Secure)位格式,以及PTW(Page Table Walk)行为的调整,以适应RME的要求。
2. **软件平台**
- 除了硬件层面的改动,软件平台如Firmware Provisioning System (FVP) 和 QEMU-kvm 的集成也至关重要。FVP用于加载和管理基础软件堆栈,包括启动加载器(如EDK2 Bootloader)、KVM-RME,以及guest kernel和应用程序。
- ATF-RME(ARM Trusted Firmware for RME)负责初始化过程,确保BL2在EL3加载,并实现新的RMM加载流程。此外,它还处理世界转换,包括从领域世界到正常世界的切换,并通过SMCCC(Secure Monitor Call Control Center)来管理粒度委托请求。
- 平台迁移功能,即virtplatform layout and driver migration,使得QEMU平台可以在不影响实际应用的情况下迁移,保证系统的连续性和兼容性。
- GPT(GUID Partition Table)初始化也被纳入,包括配置初始L1/L2表和开启GPT功能。
3. **RMM(Remote Memory Manager)**
RMM是关键的安全组件,其代码量约20K行,负责执行远程内存加密和访问控制。作为bare-metal测试框架的一部分,它提供了安全基线,确保在底层硬件上进行的测试准确反映实际系统行为。
4. **多世界模型**
平台采用多世界架构,包括Secure Monitor、Normal World、Root World等不同特权级别(EL0至EL3)。例如,BL1和BL2位于EL1和EL2,而RMM位于最高特权级别EL3。Worldswitch机制允许在这些世界之间安全地进行通信。
总结,这篇文档详细阐述了基于QEMU的ARM CCA模拟平台如何通过RME安全架构增强内存安全性,包括硬件和软件层面的改进,以及在多世界模型中的应用,为研究人员和开发者提供了一个全面的测试和开发环境。
2024-11-10 上传
2024-11-10 上传
2023-02-02 上传
2022-08-17 上传
2023-04-12 上传
点击了解资源详情
代码改变世界ctw
- 粉丝: 5w+
- 资源: 43
最新资源
- T5:简单易用的配置文件读取库-开源
- trello-bookmarklets
- pause-methode
- school_back:回到学校的服务器
- monad-[removed]JavaScript中的Monad
- Simple Way to Usenet:Usenet Report Engine受到了已终止的newzbin的极大启发-开源
- C++14语言特性和标准库-第一部
- RCON-Bot:连接到SourceDS服务器并在指定通道中镜像控制台的discord Bot
- CAJ文件阅读器安装包
- login-lecture:登录讲座
- register-login-api:注册和登录功能的相关中间件使用
- 基于ASP.NET超市管理系统毕业设计成品源码讲解
- 你好,世界
- 基于python+django+NLP的评论可视化系统
- 货币换算增强版-crx插件
- ybubby:我的GitHub个人资料的配置文件