2. AURIX HSM硬件架构与安全子系统
AURIX TC3xx 系列把安全功能从主核中“剥离”出来,交给一个独立的硬件安全模块(Hardware Security Module,HSM)。理解 HSM 的硬件架构,是设计 HIL 安全验证方案的前提——因为 HIL 台架要访问的每一个安全对象,都对应着 HSM 内部一个具体的硬件单元或总线接口。本节围绕 HSM 核、TRNG、AES/SHA 加速器、安全存储和总线隔离机制五个部分展开,并说明它们对 HIL 验证的具体影响。
一、HSM 核:独立于 TriCore 的安全执行环境
HSM 内部集成了一个独立的 32 位处理器核(基于 ARM Cortex-M3 的衍生设计),它拥有自己的取指、译码、执行流水线,与主 TriCore 核在物理上分离。这种“双核异构”结构意味着:主核运行应用与 AUTOSAR 协议栈,HSM 核运行安全固件(HSM Firmware),两者通过共享内存和中断进行通信,而不是通过函数调用。
对 HIL 验证而言,这一结构带来两个直接影响。第一,HSM 固件必须单独刷写。在台架上,HSM 固件通常通过 UDE、Lauterbach 或英飞凌 MemTool 经 DAP/JTAG 接口烧录,与主核程序是两次独立的下载过程;如果只刷主核程序,HSM 相关功能会全部失效。第二,HSM 核的调试端口默认在量产状态下被锁定,HIL 阶段若需要单步跟踪 HSM 固件,必须使用处于“开发模式”的芯片样品,或在 HSM 固件中预留调试使能接口。
二、TRNG:真随机数发生器与熵源
HSM 内部集成真随机数发生器(True Random Number Generator,TRNG),它利用半导体器件的物理噪声(如环形振荡器抖动)产生熵,再经数字后处理输出随机比特流。TRNG 的输出是密钥生成、挑战-响应认证、会话随机数(Nonce)的根源。与之配套的还有伪随机数发生器(PRNG),用于高速产生大量随机数。
在 HIL 验证中,TRNG 的测试点非常特殊:它无法用“输入-输出”对照的方式验证,因为输出本身不可预测。工程上通常采用统计检验方法,例如采集 1 Mbit 随机数样本,检查其比特分布、游程长度和自相关性是否符合预期。一个可参考的示例判据是:在 1 Mbit 样本中,0 与 1 的比例应落在 49.5%~50.5% 之间,且连续相同比特的最大游程不超过 32。若 HIL 台架发现 TRNG 输出呈现周期性或比例严重失衡,应优先排查 HSM 固件中熵源配置是否被误关闭。
三、AES/SHA 加速器:对称加密与哈希引擎
HSM 内置硬件加密加速器,主要包括 AES 引擎和 SHA 引擎。AES 引擎支持 128/192/256 位密钥,支持 ECB、CBC、CTR、GCM 等模式,常用于安全通信的报文加密与认证;SHA 引擎支持 SHA-1、SHA-256 等算法,用于固件完整性校验、消息摘要和数字签名预处理。这些加速器以硬件流水线方式工作,吞吐量远高于软件实现,同时密钥材料在加速器内部寄存器中流转,不暴露给主核。
HIL 验证时,AES/SHA 加速器的验证重点是“算法正确性”和“密钥隔离性”。算法正确性可以用已知答案测试(Known Answer Test,KAT):向 AES 引擎输入标准测试向量,例如密钥 000102030405060708090A0B0C0D0E0F、明文 00112233445566778899AABBCCDDEEFF,期望密文为 69C4E0D86A7B0430D8CDB78070B4C55A(AES-128 ECB)。密钥隔离性则通过主核侧读取密钥存储区来验证:正常情况下主核读到的应是全 0 或触发总线错误,而不是真实密钥。
四、安全存储:密钥与证书的物理载体
HSM 的安全存储分为几个层次:HSM 内部 SRAM 用于运行时密钥缓存;HSM 专用 Flash 扇区(如 UCB、HSM 代码区)用于持久化存储密钥、证书和配置;此外还有一次性可编程(OTP)区域用于存储不可更改的根密钥或生命周期状态。这些区域对主核默认不可见,只有 HSM 核通过专用总线才能访问。
在 HIL 台架上,安全存储的验证往往与生命周期状态绑定。例如,当芯片处于“已锁定”状态时,尝试通过 DAP 读取 HSM Flash 应返回错误;当处于“开发”状态时,允许读取但会记录访问事件。一个实用的检查方法是:在 HIL 测试用例中先读取芯片生命周期状态寄存器,再根据状态决定后续测试分支,避免在锁定芯片上执行无效的读取操作。
五、总线隔离机制:主核与 HSM 的边界
HSM 与主核之间的总线隔离由总线桥和访问权限控制单元实现。主核不能直接访问 HSM 内部 SRAM 和加速器寄存器,只能通过共享内存(Shared Memory)与 HSM 交换数据;共享内存的读写权限由 HSM 固件配置,主核侧通常只能看到一段受限的窗口。中断是另一条通信路径:主核通过服务请求中断通知 HSM,HSM 处理完成后通过中断回传结果。
这一隔离机制对 HIL 验证的影响体现在故障注入上。如果 HIL 台架试图通过主核直接篡改 HSM 密钥,会立即触发总线访问错误,这本身就是一项重要的安全验证用例。反过来,如果发现主核能够越权读取 HSM 内部区域,则说明总线隔离配置存在缺陷,必须作为高优先级问题记录。
六、对 HIL 验证方案的整体影响
把上述五个部分放在一起看,HSM 对 HIL 验证的影响可以归纳为三条主线。第一条是“刷写与启动”:HSM 固件与主核程序分离,HIL 台架必须支持两次独立下载,并能在启动后确认 HSM 已进入正常工作状态(通常通过读取 HSM 状态寄存器或观察 HSM 心跳中断)。第二条是“功能与算法”:TRNG、AES、SHA 的验证需要专门的测试向量和统计判据,不能只靠“功能能跑通”来判断。第三条是“隔离与故障注入”:总线隔离机制既是安全目标,也是 HIL 故障注入的靶点,越权访问是否被正确阻断,应作为独立测试用例覆盖。