目录
[一、RAS 错误记录中的机密信息](#一、RAS 错误记录中的机密信息)
[二、RAS 错误信号](#二、RAS 错误信号)
[三、内存保护引擎的 RAS](#三、内存保护引擎的 RAS)
ARM架构安全手册提供了使用 Arm RAS 架构在处理单元(PE)和系统组件中实现 RAS 的要求。本节为本规范中描述的系统组件提供了附加规则。
一、RAS 错误记录中的机密信息
ARM架构安全手册描述了机密信息的概念,并规定了可以记录在 RAS 错误记录寄存器中的内容要求。
只有 SSD 或 MSD 有能力控制是否记录可能包含机密信息的错误记录。
RME 安全生命周期状态中的系统适用 RME 保护机密信息的安全保证。如果 RME 系统不处于安全状态或启用了根外部调试,则:
- 任何错误记录都可以启用记录。
- 任何 RAS 调试功能都可以启用。
二、RAS 错误信号
以下规则描述了在使用 Arm RAS 架构的 RME 系统中,错误必须如何向处理单元(PE)或其他系统组件发出信号的约束。
有关向 PE 发出错误信号的规则,请参见ARM架构安全手册。
关键错误中断(Critical Error Interrupts,CI)必须连接到将以 RME 系统重置响应的可信子系统。
无法控制的错误会导致 RME 系统重置。
实现 RAS 的组件可以通过错误恢复重置进行重置,以确保 RAS 综合信息不会丢失。
只有 SSD 或 MSD 可以启用或禁用 CI 的生成。
三、内存保护引擎的 RAS
内存保护引擎系统要求介绍了 MPE 的概念及其相关要求。本节涵盖了与 MPE 相关的 RAS 要求。
如果 MPE 提供完整性支持,并检测到完整性错误,它可以执行以下响应之一:
- 返回poison信息给消费者并将错误记录为延迟错误。
- 用带内错误响应并将错误记录为未更正错误。
只有 SSD 或 MSD 必须能够控制检测、传播和报告 MPE 完整性错误的能力。
Arm 建议具有完整性支持的 MPE 实现 Arm RAS 系统架构。
除了提供加密和(如实施)完整性能力外,MPE 还能够传递poison信息:
- 如果 MPE 之上的请求者通过写入poison信息延迟错误,则 MPE 必须能够将此值作为poison信息传递给其下方的内存系统。
- 如果 MPE 之上的请求者使用了由于该访问或先前访问而被标记为poison的信息的内存位置,则 MPE 必须将此poison信息传递给消费者。
通过 MPE 传递poison信息不会削弱其安全属性。