1. 课程导入与AURIX网络安全开发全景

在智能网联汽车时代,车辆不再是四个轮子加一个发动机的机械体,而是一个由上百个电子控制单元(ECU)、多种车载网络和外部通信接口构成的移动计算平台。当车门、动力、制动、自动驾驶等功能都依赖软件与通信时,网络安全就从"附加项"变成了"准入项"。ISO/SAE 21434《道路车辆——网络安全工程》正是为整车与零部件供应链提供统一网络安全语言和方法论的国际标准。本课程聚焦英飞凌AURIX TC3xx/TC4xx系列微控制器,讲解如何在该硬件平台上落地ISO 21434所要求的网络安全开发工程。

ISO 21434在汽车网络安全中的定位

ISO 21434并不规定具体的技术实现,而是规定"过程":从概念阶段的网络安全目标定义,到产品开发阶段的威胁分析与风险评估(TARA)、安全需求分解、安全机制实现,再到生产、运维和报废阶段的持续监控与事件响应。它与功能安全标准ISO 26262形成互补——26262关注"系统失效导致的风险",21434关注"恶意攻击导致的风险"。两者共享"安全生命周期"的思想,但21434更强调攻击者视角、资产识别、攻击路径分析和漏洞管理。

对ECU开发者而言,21434的核心输出物包括:网络安全计划(Cybersecurity Plan)、TARA报告、网络安全需求规范、安全验证与确认报告、以及持续监控与事件响应流程。这些输出物必须可追溯:每一条安全需求都能追溯到某个威胁场景,每一个安全机制都能追溯到某条安全需求。这种"威胁—需求—机制—验证"的追溯链,是后续章节中AURIX安全模块配置与测试用例设计的依据。

AURIX TC3xx/TC4xx硬件安全特性概览

AURIX TC3xx与TC4xx是英飞凌面向汽车安全与动力域的主流多核MCU。它们并非"通用MCU加软件加密库",而是在硅片层面集成了完整的安全子系统。理解这些硬件模块的职责边界,是后续做安全需求分解和配置的前提。

  • HSM(Hardware Security Module):独立的安全核,拥有自己的CPU、RAM、ROM和加密加速器,与主核通过共享内存和中断通信。HSM负责密钥管理、安全启动校验、加解密运算和随机数生成,主核无法直接读取HSM内部密钥。
  • CSRM(Cybersecurity Real-time Module,TC4xx):在TC3xx HSM基础上增强的实时安全模块,支持更灵活的密码算法调度和更高的吞吐,适合域控制器中多路CAN/Ethernet的实时安全处理。
  • 安全启动(Secure Boot):上电后由HSM校验主核固件的签名,校验失败可阻止启动或进入受限模式,防止恶意固件运行。
  • 加密加速器:支持AES-128/256、SHA-2、ECC、RSA等算法,硬件加速使安全通信的实时性满足车载总线周期要求。
  • 访问保护与存储保护:通过MPU、SMPU和HSM防火墙,限制主核、DMA和外设对安全资源的访问。
  • 安全调试与生命周期管理:通过UCB(User Configuration Block)配置调试口锁定、密钥烧写和产品生命周期状态,防止量产件被非法调试或密钥泄露。

下图给出AURIX安全子系统的信号与数据流关系:主核通过共享内存向HSM发起安全服务请求,HSM完成密钥操作后返回结果;安全启动在复位阶段独立运行;外部通信经加密加速器完成报文保护。

AURIX TC3xx/TC4xx 安全子系统数据流与职责边界 主核域(Application Cores) 应用软件 / AUTOSAR / 通信栈 安全服务客户端(CSRM/HSM驱动) MPU / SMPU 访问保护 HSM / CSRM 安全域 安全核 + 独立 RAM/ROM 密钥管理 / 安全启动校验 AES / SHA / ECC 加速器 共享内存 请求 / 响应 / 中断 请求 服务 结果 返回 复位阶段:安全启动 HSM 校验主核固件签名 失败 → 阻止启动 / 受限模式 外部通信安全 CAN / Ethernet 报文加解密 SecOC / TLS 由加速器支撑 UCB 生命周期与调试锁定 密钥烧写 / 调试口关闭 / 量产状态

网络安全开发流程与角色职责

在整车厂与Tier1的协作中,网络安全开发通常按V模型展开。左侧是概念与设计:整车厂发布网络安全目标与接口要求,Tier1完成ECU级TARA,识别资产(如密钥、诊断服务、固件)、威胁场景(如重放、篡改、未授权诊断)和攻击路径,并导出安全需求。右侧是集成与验证:在AURIX硬件上配置HSM、实现安全通信、执行安全启动,并通过渗透测试和模糊测试验证机制有效性。

角色上,OEM网络安全工程师负责整车级TARA和供应商安全要求;Tier1系统工程师负责ECU安全需求分解与架构设计;嵌入式软件工程师负责HSM驱动、密钥管理和安全通信实现;测试工程师负责安全验证与漏洞复现。本课程主要面向后三类角色,重点落在"如何在AURIX上把安全需求变成可运行、可验证的代码与配置"。

课程实战项目说明

课程以一个"域控制器安全通信与安全启动"项目贯穿始终。项目对象为基于AURIX TC3xx的域控制器,包含两路CAN FD和一路车载以太网。项目任务包括:对诊断服务做访问控制、对关键CAN报文启用SecOC、实现HSM密钥存储与安全启动校验、完成一次针对调试口的攻击复现与防护验证。

示例参数设定如下(均为教学假设,非实测数据):AES-128-CMAC用于SecOC,新鲜度值窗口为16;HSM密钥槽使用Slot 3存储对称密钥,Slot 5存储ECC公钥;安全启动校验范围为PFlash 0x80000000起始的512KB应用固件;调试口在量产阶段通过UCB锁定。项目验收以"安全需求—实现—测试用例"追溯表完整、关键攻击路径被阻断、安全启动失败可观测为判断依据。

学习建议:先建立"威胁—需求—机制—验证"的追溯思维,再进入AURIX具体模块。后续每一章都会回到这条追溯链,避免把安全开发做成零散的加密函数调用。
注意:本课程中的密钥槽、地址、窗口值等均为教学示例,实际项目必须依据芯片手册、OEM安全规范和密钥管理系统确定,不可直接照搬。