3. 车载通信协议安全需求分析
车载通信协议的安全需求分析,不能停留在“CAN 不安全、以太网要加密”这种笼统判断上。真正可落地的做法,是把每条总线上的报文放到具体的通信场景中,逐一识别它面临的威胁类型,再把威胁翻译成可验证的安全需求。本节围绕 CAN/CAN FD、LIN、FlexRay 和车载以太网四类协议,梳理报文伪造、重放、篡改和拒绝服务(DoS)四类风险,并形成一份可追溯的安全需求清单。
一、四类协议的信任模型差异
安全需求分析的起点是理解各协议的信任模型。CAN 与 CAN FD 采用广播式多主仲裁,任何接入节点的报文都会被所有节点接收,且标准帧不含源地址认证字段,接收方只能依据 CAN ID 判断报文来源。这意味着一旦攻击者接入总线,就可以伪造任意 CAN ID 的报文。LIN 是单主多从的轮询结构,主节点调度全部通信,从节点仅在收到帧头后应答,攻击面相对集中,但 LIN 通常连接车门、雨刷、座椅等车身节点,物理接触门槛低。FlexRay 采用时间触发与事件触发混合的 TDMA 机制,静态段有严格的时隙分配,通信确定性高,但静态段报文同样缺乏密码学保护。车载以太网基于交换式网络,支持 VLAN、IPsec、TLS 等成熟安全机制,但引入 IP 层后也带来了 ARP 欺骗、DHCP 伪造、端口扫描等传统 IT 攻击面。
这四类协议的共同点是:原生协议设计均以功能可靠性和实时性为首要目标,未内置报文认证与加密能力。因此安全需求必须通过上层安全机制或网关策略来补充。
二、四类风险的协议映射
报文伪造是指攻击者构造并发送带有合法 CAN ID 或以太网源地址的报文,使接收节点误认为来自真实 ECU。在 CAN 上,伪造一条 ID 为 0x0C9 的车速报文,只需一个支持 CAN 发送的节点即可完成。在以太网上,伪造可通过 ARP 欺骗将网关 IP 映射到攻击者 MAC,从而截获并转发流量。
重放是指攻击者录制合法报文后延迟重发。CAN 报文没有时间戳和序列号,重放一条“车门解锁”报文在接收端看来与正常报文无异。FlexRay 静态段虽有周期号,但周期号在 0~63 之间循环,攻击者只需等待周期号回绕即可重放。以太网上的 SOME/IP 协议若未启用序列号校验,同样面临重放风险。
篡改是指攻击者修改报文数据域内容。CAN FD 数据域最长 64 字节,若未加校验,攻击者可修改其中任意字节。例如将制动请求报文中的减速度值从 0x20 改为 0x00,即可削弱制动效果。以太网上的篡改可通过中间人攻击实现,攻击者修改 IP 包载荷后重新计算校验和。
DoS 是指攻击者通过高优先级报文或泛洪使总线或网络不可用。CAN 上持续发送 ID 为 0x000 的最高优先级报文,可使其他节点无法获得仲裁胜利。以太网上向交换机端口泛洪广播帧,可导致 CAM 表溢出,正常单播帧被泛洪到所有端口。
三、安全需求清单的构建方法
将上述风险映射为安全需求时,需要遵循“威胁—资产—需求—验证”的追溯链。以 CAN 为例,资产是“车速报文 0x0C9”,威胁是“伪造”,安全需求可表述为“接收节点应能验证 0x0C9 报文的发送方身份”,验证方法为“注入伪造报文,观察接收节点是否拒绝”。
对于 CAN 与 CAN FD,推荐的安全需求包括:对安全关键报文启用 8 字节 CMAC 认证,新鲜值采用 4 位计数器与 4 位时间戳组合,接收窗口允许 2 个周期偏差;对非安全报文保留原生格式以控制总线负载。对于 LIN,由于带宽极低(最高 20 kbps),不宜引入密码学认证,建议采用主节点白名单调度与从节点应答超时监控。对于 FlexRay,静态段可依赖 TDMA 时隙的物理隔离,动态段需增加帧级认证。对于车载以太网,应在 VLAN 隔离基础上启用 IPsec ESP 传输模式,SOME/IP 启用序列号与客户端认证。
四、安全需求清单示例
下表给出一个可参考的安全需求清单片段,字段包括需求编号、适用协议、资产、威胁类型、安全需求描述、验证方法与优先级。实际项目中可根据 ECU 的通信矩阵逐条展开。
| 需求编号 | 协议 | 资产 | 威胁 | 安全需求描述 | 验证方法 | 优先级 |
|---|---|---|---|---|---|---|
| SEC-CAN-001 | CAN FD | 0x0C9 车速 | 伪造 | 接收节点验证 CMAC,失败则丢弃并记录 | 注入伪造帧,检查丢弃计数 | 高 |
| SEC-CAN-002 | CAN | 0x1A0 车门解锁 | 重放 | 报文携带 4 位滚动计数器,接收窗口 ±2 | 重放旧报文,检查是否拒绝 | 高 |
| SEC-LIN-001 | LIN | 雨刷状态帧 | 伪造 | 主节点校验从节点应答 ID 与调度表一致 | 模拟非法从节点应答 | 中 |
| SEC-FLEX-001 | FlexRay | 动态段转向帧 | 篡改 | 动态段帧启用 8 字节 CMAC | 修改载荷后检查校验失败 | 高 |
| SEC-ETH-001 | 以太网 | SOME/IP 诊断请求 | 重放 | 启用序列号与客户端证书双向认证 | 重放旧请求,检查拒绝 | 高 |
| SEC-ETH-002 | 以太网 | 交换机端口 | DoS | 启用广播风暴抑制,阈值 5% 带宽 | 泛洪测试,观察端口是否关闭 | 中 |
五、从需求到设计的衔接
安全需求清单完成后,下一步是将其分配到具体的 ECU 与网关。例如 SEC-CAN-001 需要车速接收节点具备 CMAC 计算能力,若该节点为低成本传感器,则需评估是否由网关代验。SEC-ETH-001 需要诊断仪支持证书管理,若诊断仪为外部设备,则需在网关侧增加代理认证。这一分配过程会直接影响 AURIX 芯片的 HSM 资源分配与软件架构,是后续章节展开的基础。
本节形成的安全需求清单,是后续 SecOC 配置、网关过滤规则设计、HSM 密钥管理的输入。需求编号应贯穿设计、实现与测试阶段,确保每条威胁都有对应的缓解措施和验证证据。