2. AURIX硬件架构基础

要理解AURIX上的安全软件与可信启动,必须先看清它“长什么样”。AURIX(以TC3xx系列为代表)并不是一颗普通的单核MCU,而是一套围绕TriCore内核构建的多核、多总线、带硬件安全模块的片上系统。可信启动的每一条信任链、每一次权限切换、每一段被校验的固件,最终都要落到具体的硬件组件上。本节从四个硬件维度建立整体认知:TriCore多核架构、内存保护系统、外设总线,以及HSM与启动相关硬件。

一、TriCore多核架构:算力与安全的分工

TriCore是AURIX的计算核心,它把RISC处理器、微控制器和DSP三种能力融合在一个内核中,因此既能做实时控制,也能做信号处理。TC3xx通常集成多个TriCore内核,例如TC39x包含6个内核,按功能划分为CPU0、CPU1、CPU2等主计算核,以及CPUx等锁步核(Lockstep Core)。锁步核与主核执行相同指令流,由硬件比较器逐周期比对结果,一旦出现偏差即触发安全报警,这是满足ISO 26262 ASIL-D的关键机制。

多核之间并非各自为政,而是通过SRI(Shared Resource Interconnect)交叉开关互联,共享内存、外设与中断资源。每个内核拥有独立的程序与数据局部存储(如DSPR、PSPR),同时可访问全局共享内存LMU。中断由IR(Interrupt Router)统一分发,支持优先级与目标核绑定。理解这一点对安全软件至关重要:核间通信、共享资源访问、锁步核的报警处理,都是可信启动与运行时监控的落点。

二、内存保护系统:把“能访问”变成“被允许访问”

内存保护系统(MPU)是AURIX安全架构的“门禁”。它不阻止代码运行,而是限制代码能碰哪些地址。TC3xx的MPU按内核划分,每个内核有独立的保护寄存器组,可配置多个地址范围(Data/Code Range),并为每个范围设定读、写、执行权限。当访问越界或权限不符时,硬件触发保护异常(Protection Trap),交由安全软件处理。

与MPU配合的是内存完整性机制。AURIX支持ECC(纠错码)保护SRAM与Flash,单比特错误可纠正、双比特错误可检测;部分区域还支持内存加密与访问监控。在可信启动场景中,MPU的典型用法是:BootROM阶段只允许访问受信任的启动区域,应用阶段再按核、按任务重新配置权限,实现最小权限原则。

关键点:MPU配置必须在特权模式下完成,且配置寄存器本身受保护,防止应用代码篡改保护策略。可信启动的“信任边界”很大程度上就是由MPU划出来的。

三、外设总线:数据流动的通道与隔离

AURIX的外设通过多条总线连接,常见包括SPB(System Peripheral Bus)、SRI以及面向特定外设的专用总线。SPB负责连接低速外设,如GPT、ADC、CAN、SPI等;SRI承担高带宽数据交换,连接内核、内存与DMA。总线之间通过桥接器(Bridge)衔接,桥接器本身也可能成为安全监控点。

对外设的访问同样受保护。AURIX提供外设保护机制(如Peripheral Access Protection),可限制哪些主设备(Master)能访问哪些外设寄存器。这在多核系统中尤为重要:如果某个核被攻破,它不应能随意改写看门狗、时钟或HSM相关寄存器。可信启动过程中,BootROM会先建立外设访问基线,再逐步放开必要权限。

四、HSM硬件安全模块与启动相关硬件组件

HSM(Hardware Security Module)是AURIX内部一个独立的安全子系统,通常包含独立的处理器核、专用RAM/ROM、加密加速器(AES、SHA、ECC、TRNG等)以及独立的密钥存储。它与主核在物理和逻辑上隔离,主核无法直接读取HSM内部密钥,只能通过邮箱(Mailbox)机制发起服务请求。HSM是可信启动的“信任根”执行者:它负责验证启动镜像的签名、管理密钥、执行安全启动策略。

与启动直接相关的硬件组件还包括:BootROM(固化在芯片内、不可修改的启动代码)、启动模式选择引脚/寄存器、Flash启动配置区(如UCB、Boot Configuration)、以及看门狗与复位管理单元。上电后,CPU先从BootROM执行,BootROM根据启动配置决定从哪个Flash区域加载固件,并可在此阶段调用HSM完成镜像校验。只有校验通过,控制权才交给用户固件。

硬件组件安全职责可信启动中的角色
TriCore主核/锁步核执行指令、锁步比对运行启动代码与安全监控
MPU地址范围与读写执行权限划分启动阶段权限边界
ECC/内存保护检测与纠正存储错误保证启动镜像完整性
SPB/SRI总线连接外设与内存承载启动数据流
HSM密钥管理与加解密验证镜像签名,信任根
BootROM固化启动流程启动信任链起点
UCB/启动配置启动模式与地址配置决定加载来源与校验策略

五、典型场景:一次上电启动的硬件协作

假设系统上电,复位释放后,CPU从BootROM取指。BootROM读取UCB中的启动配置,确定启动模式(如内部Flash启动)。随后,BootROM初始化基本时钟与内存,并可通过邮箱请求HSM对指定Flash区域的固件头进行签名验证。HSM使用内部存储的公钥或对称密钥完成校验,返回结果。若校验通过,BootROM配置MPU基线,将控制权交给用户启动代码;若失败,则进入安全状态或触发复位。

上电复位
  → BootROM执行
  → 读取UCB启动配置
  → 初始化时钟/内存
  → 请求HSM校验固件签名
  → 校验通过?
      是 → 配置MPU → 跳转用户固件
      否 → 进入安全状态/复位

六、常见误区与复盘

  • 误区一:把HSM当成普通外设。HSM有独立核与独立存储,主核不能直接访问其内部密钥,必须通过邮箱协议交互,配置和调试方式与普通外设完全不同。
  • 误区二:认为MPU配置一次就够。不同启动阶段、不同核、不同任务需要不同权限,MPU应随信任级别动态调整,而不是上电配一次了事。
  • 误区三:忽略锁步核的报警处理。锁步核报警若未被正确响应,可能被误判为普通中断,导致安全机制形同虚设。
  • 误区四:只看软件不看总线。外设访问保护若未启用,被攻破的核仍可能通过总线改写关键寄存器,绕过软件层防护。
复盘建议:在可信启动设计中,先画出“硬件信任边界图”——标出BootROM、HSM、MPU、UCB、Flash各自的位置与访问关系,再决定软件在哪一层做校验、在哪一层做权限切换。硬件边界清晰,软件信任链才不会悬空。

综上,TriCore多核提供算力与锁步安全,MPU与ECC提供内存访问与完整性保护,SPB/SRI总线承载数据流动并支持外设隔离,HSM与BootROM、UCB共同构成启动信任根。这四类硬件组件相互配合,才使AURIX具备从复位向量开始构建可信启动链的物理基础。