ARM-V9 RME(Realm Management Extension)系统架构之调试

安全之安全(security²)博客目录导读


本节中,"RMSD外部调试"一词用于描述任何系统或PE的外部调试功能,这些功能能够实现以下目的:

  • 监控或修改RMSD行为。
  • 对Realm PAS或Realm安全状态的外部访问。

本节中,"Root外部调试"一词用于描述任何系统或PE的外部调试功能,这些功能能够实现以下目的:

  • 监控或修改MSD行为。
  • 对Root PAS或Root安全状态的外部访问。

这包括侵入性和非侵入性硬件调试功能,这些功能提供对MSD或RMSD使用的组件的访问,包括调试访问端口、跟踪硬件或调试寄存器。

一个Secured Arm CCA系统是被配置为在Secured生命周期状态下运行Arm CCA的系统。

在Secured Arm CCA系统上,RMSD外部调试和Root外部调试默认是禁用的。

RMSD外部调试只能在RME系统复位后、RMSD固件加载之前授权,并且在随后的RME系统复位之前不能改变状态。

Root外部调试只能在RME系统复位后、MSD固件加载之前授权,并且在随后的RME系统复位之前不能改变状态。

只有在执行以下操作后,才能在Secured Arm CCA系统上启用RMSD外部调试和Root外部调试:

  • 认证一个签名请求,例如用于启用调试模式的调试证书。
  • 对于RMSD外部调试。

-- 保证RMSD外部调试状态对MSD可见。

  • 对于Root外部调试:

-- 保证RNVS机密参数以及任何其他SSD或MSD非易失性机密参数不可访问。

-- 保证TLB、缓存或PE寄存器中可能存在的任何来自之前启动的机密状态被失效或清除。

当启用Root外部调试时,RNVS机密参数要么不可访问,要么被清除,要么被填充调试值。

默认情况下,通过外部调试或测试接口(包括调试访问端口、JTAG端口和扫描接口)访问Secured Arm CCA系统是禁用的。调试访问可以在验证通过调试证书或通过外部调试接口注入的密码后启用。

RME扩展了A-profile架构定义的调试认证接口,包括RTPIDEN和RLPIDEN作为分别授权Root外部调试和RMSD外部调试的信号。

可信子系统允许在MSD开始执行之前将RTPIDEN或RLPIDEN设置为TRUE,并且在随后的RME系统复位之前,系统不得更改这些信号的值。

MSD允许在RMSD开始执行之前将RLPIDEN设置为TRUE,并且在随后的RME系统复位之前不得更改该信号的值。

相应地,证明报告将包括Root和RMSD外部调试的授权状态,这些状态直接反映这些信号的状态,即使由于其他原因外部调试被禁用,例如未断言非安全调试认证信号。

当为任何安全状态启用外部调试时,允许通过外部请求在系统层级(PE、PE集群、系统)内启用组件,但必须由可信电源控制执行。

相关推荐
阿钱真强道12 小时前
82 极物科技 | KNX调试 - 常见报文异常案例分析
调试·极物·极物智能·极物科技·knx协议·个体地址·报文过滤
饭来_18 小时前
Ubuntu 中出现 CondaToSNonInteractiveError 的解决方法
ubuntu·conda·debug
阿钱真强道1 天前
78 极物科技 | KNX报文追踪 - 功能总览与使用指南
调试·楼宇自动化·极物·极物智能·极物科技·knx协议·报文追踪
你的强来了9982 天前
WCHToolKit场景实战
网络·串口·调试·usb·ble·分析
skywalk816310 天前
给DeepSeek harness发布R107任务撰写工作:还有一些其它遗留问题,你也一并放到这一轮任务里!你写并行任务文档,我来分发!
人工智能·调试·deepseek
skywalk816313 天前
lightplugin项目已经复刻完成了很多插件,还有需要复刻的插件吗? 再复刻12个,另外解决复刻的插件的宽度和广度!
人工智能·调试
Naisu Xu14 天前
记一次STM32H503冷启动后进入HardFult_Handler的问题
stm32·单片机·嵌入式硬件·调试·内存问题
Z_Quintaz24 天前
关于导航栏颜色透明这件事
前端·debug
InsightCore1 个月前
别再往 Skill 里塞一切:我们如何重新思考 AI Debug Engineer
android·debug
zhuodedao1 个月前
Spring AI + MCP 文件工具未调用问题复盘:为什么初始化成功却没有写入文件?
java·debug·agent·springai·mcp