2. AURIX硬件安全与安全机制基础
AURIX TC3xx 之所以能同时承担功能安全与信息安全任务,根本原因在于其安全能力并非软件补丁,而是从多核架构、存储保护、总线互连到故障采集单元逐层内建。理解这些硬件机制,是后续做安全分析、配置 MPU、设计 SMU 报警路径和规划 HSM 交互的前提。本节按“计算—存储—通信—监控”四条线索展开,并说明每条线索如何同时服务 ISO 26262 与 ISO/SAE 21434。
多核架构与锁步核:冗余的两种粒度
TC3xx 典型配置包含多个 TriCore 内核(如 TC39x 最多 6 个),每个内核拥有独立的程序与数据本地存储、私有总线接口和中断资源。多核带来的是性能冗余与任务隔离:安全相关任务可绑定到专用核,非安全任务(如通信协议栈、诊断)运行在其他核上,通过核间中断和共享内存交互,避免相互干扰。这属于“空间与时间分区”层面的安全支撑。
锁步核(Lockstep Core)提供的是计算冗余。以 TC3xx 的 Lockstep Core 为例,一个主核(Master Core)与一个校验核(Checker Core)接收相同输入、执行相同指令流,但校验核在时序上延迟约 2 个时钟周期。比较逻辑持续比对两者的输出信号(地址、数据、控制),一旦不一致即产生比较错误。这种延迟比较避免了共因失效导致的同步错误被掩盖。锁步核主要覆盖 CPU 内部的瞬态故障与永久故障,是 ASIL-D 级别计算可信度的基础。
需要区分的是:锁步核解决“算得对不对”,多核分区解决“该不该互相影响”。两者叠加,才构成 AURIX 计算域的安全底座。
内存保护(MPU)与 ECC:存储域的读写与完整性
内存保护单元(MPU)在每个核上提供多组地址范围寄存器,可对数据段、代码段、外设空间分别设定读、写、执行权限。典型配置中,安全任务的数据区设为“仅本核可读写”,其他核访问触发保护异常(Protection Trap)。MPU 的价值在于阻止非法访问与越权篡改:对功能安全,它防止任务越界破坏安全数据;对信息安全,它限制被攻陷任务横向访问密钥或标定区。
ECC(Error Correcting Code)则针对存储单元的位翻转。AURIX 的 Flash、SRAM、总线均带 ECC 保护。以 SECDED(单纠错双检错)为例:64 位数据附加 8 位校验位,可纠正 1 位错误、检测 2 位错误。当 SRAM 发生单比特翻转时,硬件自动纠正并记录;发生双比特错误时,上报不可纠正错误(Uncorrectable Error),触发 SMU 报警。ECC 是应对辐射、老化等物理故障的核心手段,同时也能发现部分恶意注入的位翻转。
总线、SMU 与安全管理单元:故障的采集与响应
安全管理系统(Safety Management Unit,SMU)是 AURIX 故障处理的汇聚点。各安全机制(锁步比较错误、ECC 不可纠正错误、MPU 保护异常、时钟监控、电压监控、看门狗超时等)产生的报警信号(Alarm)统一送入 SMU。SMU 内部按报警组(Alarm Group)组织,每个报警可配置为内部处理(触发中断给 CPU)或外部处理(通过故障信号引脚 ERR 输出到外部安全芯片/电源管理芯片)。
安全管理单元(SMU 的配置与执行逻辑,常与安全管理模块合称)决定了“报警之后做什么”:是进入安全状态(如关断功率输出)、降级运行,还是仅记录并继续。这一层把分散的硬件故障信号转化为系统级安全响应,是功能安全“故障响应时间”指标能否达成的关键。
从信息安全视角看,SMU 同样有价值:若攻击者通过故障注入(电压毛刺、时钟毛刺、激光)试图绕过校验,由此引发的锁步不一致或 ECC 错误会被 SMU 捕获,形成对物理攻击的检测面。因此 SMU 是功能安全与信息安全的共用监控通道。
HSM:信息安全独立域
除上述功能安全机制外,AURIX 集成硬件安全模块(HSM)。HSM 是独立内核与独立存储,拥有自己的 Flash、RAM 和加密加速器(AES、SHA、ECC 等),与主核通过共享内存和中断通信。HSM 负责密钥存储、安全启动校验、加解密运算和随机数生成。其隔离性确保即使主核被攻陷,密钥也不会被直接读取。HSM 主要服务信息安全,但其安全启动结果也可作为功能安全“软件完整性”的证据。
机制协同关系
下面这张图把本节的核心机制按“计算—存储—通信—监控—响应”组织起来,并标注每条路径对功能安全(FuSa)与信息安全(InfoSec)的双重支撑关系。
关键配置要点与判断依据
在实际工程中,上述机制需要落到寄存器与初始化代码。以下给出一个可参考的配置检查清单,用于确认硬件安全机制是否真正生效:
| 机制 | 关键配置对象 | 生效判断依据 |
|---|---|---|
| 锁步核 | Lockstep 使能位、比较错误报警路由 | 注入测试错误后 SMU 对应报警位置位 |
| MPU | 地址范围寄存器、权限位、Trap 处理入口 | 越权访问触发 Protection Trap 并进入处理函数 |
| ECC | SRAM/Flash ECC 使能、错误状态寄存器 | 单比特错误被纠正且计数递增;双比特触发报警 |
| SMU | 报警组配置、内部/外部处理选择、ERR 引脚 | 报警触发后中断或 ERR 引脚电平变化可观测 |
| HSM | 安全启动使能、密钥槽、共享内存通道 | 启动校验失败时主核被阻止运行;密钥不可从主核直读 |
需要强调的是,硬件机制“存在”不等于“生效”。锁步核若未使能比较错误上报,MPU 若未配置 Trap 处理,ECC 若未打开错误中断,安全能力都会退化为纸面指标。因此,配置完成后的注入测试与报警路径验证,是功能安全与信息安全共同要求的闭环动作。