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 是应对辐射、老化等物理故障的核心手段,同时也能发现部分恶意注入的位翻转。

MPU 管“谁能访问”,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)的双重支撑关系。

AURIX 硬件安全机制协同关系 计算域 主核 Master 校验核 Checker 锁步比较(延迟≈2周期) 多核分区 · 核间中断 存储域 MPU 权限 ECC SECDED 读/写/执行权限 · 越界 Trap 单比特纠正 · 双比特上报 通信与安全域 总线 ECC HSM 独立域 传输完整性 · 密钥隔离 安全启动 · 加解密加速 SMU 安全管理单元 报警组 Alarm Group · 内部中断 / 外部 ERR 引脚 锁步错误 · ECC 错误 · MPU Trap · 时钟/电压监控 系统级安全响应 安全状态 / 降级运行 / 记录上报 功能安全支撑(ISO 26262) 冗余计算 · 故障检测 · 故障响应时间 信息安全支撑(ISO/SAE 21434) 访问控制 · 密钥隔离 · 物理攻击检测

关键配置要点与判断依据

在实际工程中,上述机制需要落到寄存器与初始化代码。以下给出一个可参考的配置检查清单,用于确认硬件安全机制是否真正生效:

机制 关键配置对象 生效判断依据
锁步核 Lockstep 使能位、比较错误报警路由 注入测试错误后 SMU 对应报警位置位
MPU 地址范围寄存器、权限位、Trap 处理入口 越权访问触发 Protection Trap 并进入处理函数
ECC SRAM/Flash ECC 使能、错误状态寄存器 单比特错误被纠正且计数递增;双比特触发报警
SMU 报警组配置、内部/外部处理选择、ERR 引脚 报警触发后中断或 ERR 引脚电平变化可观测
HSM 安全启动使能、密钥槽、共享内存通道 启动校验失败时主核被阻止运行;密钥不可从主核直读

需要强调的是,硬件机制“存在”不等于“生效”。锁步核若未使能比较错误上报,MPU 若未配置 Trap 处理,ECC 若未打开错误中断,安全能力都会退化为纸面指标。因此,配置完成后的注入测试与报警路径验证,是功能安全与信息安全共同要求的闭环动作。