1. 课程导入与工程全景

在智能网联汽车里,密钥不再只是“密码学概念”,而是 ECU 之间建立信任的“身份证”和“通行证”。英飞凌 AURIX 系列 MCU 在整车电子电气(EE)架构中常承担安全网关、域控制器、动力与底盘控制等角色,其内部集成的 HSM(Hardware Security Module,硬件安全模块)与密钥存储、加解密、签名验签、安全启动等能力,构成了车载密钥管理与安全服务落地的硬件根基。本课程围绕“密钥如何产生、如何被安全保存、如何被安全使用、如何被安全更新与吊销”这条主线展开,最终让读者能够在 AURIX 平台上完成可运行、可验证的安全服务工程。

一、什么是车载密钥管理与安全服务

车载密钥管理,指的是在整车生命周期内,对密钥的生成、注入、存储、使用、更新、吊销和销毁进行受控管理的过程。它关注的不是某一次加密运算,而是密钥“从生到死”的全过程可控。安全服务则是把这些密钥能力封装成 ECU 可调用的服务接口,例如安全启动校验、SecOC 报文认证、诊断安全访问、OTA 固件签名验证、TLS/DTLS 会话密钥协商等。

在 AURIX 上,这两者通过 HSM 与 Host CPU 的分工实现:Host CPU 运行应用逻辑,HSM 独立运行安全固件,持有密钥并执行敏感运算。Host 通过共享内存和中断与 HSM 通信,密钥本身通常不离开 HSM 的受保护存储区。理解这一分工,是后续所有实验的前提。

二、在整车 EE 架构中的位置

从整车视角看,密钥管理与安全服务横跨多个层级:云端/后台负责密钥策略与证书签发;车端网关负责域间安全通信;域控制器与 ECU 负责本地安全启动与报文认证;AURIX 则位于 ECU 内部,是密钥的最终“保险箱”和安全运算的执行者。下图给出这一全景关系。

AURIX 密钥管理与安全服务在整车 EE 架构中的位置 云端 / 后台 KMS 密钥策略 · 证书签发 · OTA 签名 车端中央网关 / 域控制器 SecOC · 诊断安全访问 · 域间认证 AURIX ECU Host CPU 应用逻辑 安全服务调用 共享内存 / 中断 HSM 密钥存储 加解密 / 签名验签 安全启动 安全启动 固件完整性校验 SecOC 报文认证 MAC 生成与校验 OTA 签名验证 固件签名与回滚 诊断安全访问 Seed-Key 认证

三、典型应用场景

在 AURIX 工程实践中,最常落地的安全服务有四类。第一是安全启动:上电后 HSM 校验 Host 固件的签名,只有校验通过才释放 CPU 运行,防止被篡改的固件执行。第二是 SecOC 报文认证:对 CAN/CAN FD 报文附加 MAC,接收方用共享密钥验证,防止伪造和重放。第三是 OTA 固件签名验证:新固件包携带签名,HSM 验签通过后才允许写入 Flash,并可结合版本号防回滚。第四是诊断安全访问:诊断仪通过 Seed-Key 挑战响应获得权限,密钥由 HSM 保护,避免被暴力破解。

这些场景的共同点是:密钥不出 HSM、运算在 HSM 内完成、Host 只拿到结果。工程上要特别关注密钥句柄(Key Handle)的管理,而不是直接操作密钥明文。

四、学习路径与实验环境搭建

本课程建议按“先跑通、再理解、后优化”的路径推进。实验环境以 AURIX TC3xx 开发板(如 TC375 Lite Kit)为基础,配合 AURIX Development Studio、HSM 固件包、UART/CAN 调试工具。搭建步骤如下:

  1. 安装 AURIX Development Studio,导入 TC375 的 HSM 示例工程,确认编译链可用。
  2. 连接开发板,通过 DAP miniWiggler 或板载调试器建立调试会话,确认能烧录并运行 Host 程序。
  3. 烧录 HSM 固件,确认 HSM 启动成功;可通过读取 HSM 状态寄存器或串口日志判断。
  4. 配置 Host 与 HSM 的共享内存区域和中断通道,运行一个最小的“Hello HSM”服务调用,验证通信链路。
  5. 依次完成安全启动、SecOC、OTA 验签、诊断安全访问四个实验,每个实验都保留可观察的输出。
建议在实验前先明确“密钥句柄”的编号规则,例如 0x01 用于安全启动公钥、0x02 用于 SecOC 对称密钥、0x03 用于 OTA 验签公钥。统一编号能显著降低后续调试成本。

五、关键参数与观察点

在实验过程中,以下参数和观察点值得重点关注:HSM 固件版本与 Host 固件版本的匹配关系;密钥句柄的有效性与权限位;共享内存的地址对齐和大小;中断响应时间;签名验证的返回值(成功/失败/密钥不存在)。这些量直接决定安全服务能否稳定运行。

观察项典型值/示例判断依据
HSM 固件版本与 Host 工程匹配版本不匹配时服务调用返回错误
密钥句柄0x01 / 0x02 / 0x03句柄无效则返回 KEY_NOT_FOUND
共享内存大小示例 4 KB过小会导致大报文验签失败
验签返回值0 成功,非 0 失败非 0 需检查密钥与签名数据
实验中的密钥、证书和签名数据仅用于教学演示,不可用于真实车辆或量产环境。真实项目必须使用符合功能安全与信息安全要求的密钥注入流程。