3. 车载安全软件概述

车载安全软件并不是“把功能软件加上校验”这么简单,它要同时回应两类约束:一类来自功能安全,要求系统在随机硬件失效和系统性失效面前保持可控;另一类来自网络安全,要求系统在外部攻击、非法刷写、消息伪造面前保持可信。RH850 作为车载 MCU 的主流平台,其安全软件设计必须把这两条线合并到同一套启动、运行和诊断链路中。

一、汽车电子安全需求:从“功能正确”到“可信可控”

传统 ECU 软件关注的是功能正确性,例如发动机喷油、制动助力、电池管理是否按标定执行。而安全软件关注的是:当硬件出错、软件跑飞、通信被篡改或刷写被劫持时,系统能否进入安全状态,并留下可追溯的证据。典型需求包括:

  • 启动可信:上电后先验证 Bootloader、应用固件、标定数据的完整性与来源合法性,再决定是否跳转执行。
  • 运行监控:通过看门狗、时钟监控、内存保护、程序流监控发现异常并触发复位或降级。
  • 通信安全:CAN/CAN FD、以太网、LIN 等报文需具备完整性、新鲜度和来源认证,防止重放与伪造。
  • 诊断与刷写安全:UDS 诊断服务、OTA 升级必须经过安全访问、签名校验和回滚保护。
  • 数据存储安全:关键标定、故障码、密钥材料需防篡改、防读取、防回滚。
安全软件的核心目标不是“永不失效”,而是“失效可检测、可控制、可恢复、可追溯”。

二、ISO 26262 与网络安全标准:两条标准线如何交汇

ISO 26262 是道路车辆功能安全标准,关注 E/E 系统在生命周期内的安全生命周期管理,核心概念包括 ASIL 等级、安全目标、功能安全概念、技术安全需求、安全机制与安全验证。它回答的是“系统失效后如何避免伤害”。

网络安全标准则以 ISO/SAE 21434 为代表,关注威胁分析与风险评估(TARA)、攻击路径、安全目标、安全控制与持续监控。它回答的是“系统如何抵抗恶意攻击”。

两者在车载安全软件中并非平行线,而是相互支撑:功能安全机制可能被网络攻击绕过,网络安全机制失效也可能导致功能安全目标无法达成。例如,攻击者篡改制动控制报文,既破坏网络安全属性,也可能直接违反功能安全目标。因此,安全软件需要把功能安全机制与网络安全机制统一到同一套架构中。

维度 ISO 26262(功能安全) ISO/SAE 21434(网络安全)
核心问题 随机/系统性失效导致危害 恶意攻击导致资产损失
分析方法 HARA、FMEA、FTA TARA、攻击树、漏洞分析
关键输出 安全目标、ASIL、安全机制 安全目标、安全控制、监控策略
软件落点 看门狗、内存保护、程序流监控 安全启动、签名校验、安全通信
生命周期 概念、开发、生产、运行、报废 概念、开发、生产、运行、报废

三、安全软件分层架构:从硬件信任根到应用可信

在 RH850 平台上,安全软件通常按“信任根—启动链—运行监控—应用服务”分层组织。每一层只信任下一层,并向上提供可验证的服务。

应用层:ADAS、动力、车身、网关应用
安全服务层:安全通信、安全诊断、密钥管理、安全存储
运行监控层:看门狗、时钟监控、内存保护、程序流监控
启动验证层:Bootloader、签名校验、镜像度量、回滚保护
硬件信任根:HSM/SHE、OTP、安全启动 ROM、唯一 ID

其中,硬件信任根是整个链条的起点。RH850 通常集成 HSM 或 SHE 模块,提供密钥存储、加解密、签名验证和随机数生成能力。启动验证层利用这些能力对 Bootloader 和应用镜像做签名校验,只有验证通过才允许跳转。运行监控层在系统运行期间持续检查程序流、时钟、内存边界和看门狗喂狗序列。安全服务层则把密钥管理、安全通信、安全诊断等能力封装成可复用服务,供应用层调用。

分层的关键不是“层数多”,而是“信任传递清晰”:每一层都必须能独立验证下一层的完整性,不能出现信任跳跃。

四、可信启动在整车中的位置

可信启动不是孤立功能,而是整车电子电气架构中的“第一道门”。在整车网络中,网关、域控制器、区域控制器和末端 ECU 都可能成为攻击入口。可信启动确保每个 ECU 在上电后先验证自身固件,再参与整车通信和功能执行。

从整车视角看,可信启动通常与以下环节联动:

  • OTA 升级:新固件下载后先验签,再写入备用分区,重启后由 Bootloader 验证并切换。
  • 诊断刷写:UDS 安全访问解锁后,刷写数据仍需签名校验,防止非法写入。
  • 整车网络准入:未通过可信启动的 ECU 不应发送关键控制报文,网关可拒绝其加入关键通信矩阵。
  • 安全日志:启动失败、验签失败、回滚尝试等事件需记录并上报,用于整车安全监控。

下面用一张图展示 RH850 安全软件分层与可信启动在整车中的位置关系。

RH850 安全软件分层与可信启动位置 信任根 → 启动验证 → 运行监控 → 安全服务 → 应用可信 应用层 ADAS / 动力 / 车身 / 网关应用 安全服务层 安全通信 / 安全诊断 / 密钥管理 / 安全存储 运行监控层 看门狗 / 时钟监控 / 内存保护 / 程序流监控 启动验证层 Bootloader / 签名校验 / 镜像度量 / 回滚保护 硬件信任根 HSM / SHE / OTP / 安全启动 ROM / 唯一 ID 信任逐层向上传递,每层验证下一层完整性 可信启动在整车中的位置 云端 / OTA 服务器 固件签名与发布 整车网关 通信准入与安全日志 域控制器 / 区域控制器 安全启动与运行监控 末端 ECU(RH850) Bootloader + HSM 验签 安全事件记录 启动失败 / 验签失败 / 回滚 启动验证层对应 ECU 可信启动 可信启动是整车安全的第一道门:先验证自身,再参与通信;未通过验证的 ECU 不应进入关键控制链路。

五、常见误区与工程复盘

在实际项目中,安全软件最容易出现以下误区:

  1. 把可信启动等同于“加一个 CRC”:CRC 只能发现随机错误,无法抵抗恶意篡改。可信启动必须使用非对称签名或基于 HSM 的 MAC 验证。
  2. 只做启动验证,不做运行监控:攻击者可能在运行期注入代码或篡改内存。启动可信只是起点,运行期仍需程序流监控和内存保护。
  3. 密钥管理缺失:密钥硬编码在代码中、调试口未关闭、OTP 未烧写,都会让信任根形同虚设。
  4. 忽略回滚保护:攻击者可能把固件降级到存在漏洞的旧版本。版本计数器与安全存储必须配合使用。
  5. 安全日志不闭环:启动失败、验签失败等事件如果只记录不上报,整车安全监控就无法形成闭环。
安全软件不是一次性功能,而是贯穿概念、开发、生产、运行和报废的生命周期活动。RH850 平台提供了 HSM、内存保护、看门狗等硬件基础,但真正的安全强度取决于架构设计、密钥管理和验证流程是否闭环。

综上,车载安全软件需要同时满足功能安全与网络安全要求,并以分层架构把硬件信任根、启动验证、运行监控、安全服务和应用可信串联起来。可信启动位于整车安全链路的最前端,它决定了 ECU 是否有资格参与整车通信与功能执行,是后续所有安全机制能够生效的前提。