2024年3月28日发(作者:)

MANUFACTURING AND PROCESS

| 制造与工艺

 时代汽车  

CAN总线信息认证码(MAC)研究

洪雷  万开明

上汽通用汽车有限公司 上海市 200120

CAN(Controller Area Network)总线技术的发展令人惊叹,基于CAN的车载总线实现ECU(Electronic

摘 要: 

Control Unit)分布式实时数据通讯,自由通信,总线仲裁。本文提出了在CAN协议基础上增加ECU

间(Key)密钥分配与信息认证,简称MAC(Message Authentication Code,信息认证码)。本文会由

浅入深阐述当前CAN总线协议基础上的MAC的工作原理与实现方式。

关键词:

CAN总线;信息认证;MAC(Message Authentication Code)

1 CAN总线简介

CAN(Controller Area Network)网

络由德国Bosch博世公司1991发明,旨在提

供一种多ECU(Electronic Control Unit)

高性能,稳定性高,成本低,扩展性强,并

兼顾总线仲裁的车载总线协议。

源,避免因MAC的认证影响车辆正常使

用与运行。

2.4 低成本

MAC认证的实施成本低,ECU硬件调整,

ECU软件调整费用可控;

2.5 密钥控制成本

密钥的生成,存储,写入,获取,重写,

都需要连接OEM后台服务器,增加或减少

ECU不改变已有MAC认证策略;

认证场占用部分CAN协议中的 Data

Field(数据场)的优点:

协议集成度高,模块的CAN协

议层经历漫长开发,调整,优化;避免模块

重新开发与调试的高昂费用;

协议中除Data Field部分,都定

义明确;对ECU软件与CAN协议进行最小

升级实现MAC功能;

c.为向下兼容提供可能。

指出的是成对密钥无法支持方向性确认。具

备确认MAC的真实性的同时也就具有生成

MAC的能力。

成对密钥依需设置多组,整车中网络报

文的发送方,接收方都有明确规定,一组成

对密钥只限于发送方与接受方,无关模块不

写入成对密钥。以确保只有已设置权限的获

取成对密钥的实体才能生成和认证MAC。

成对密钥存储在ECU的NVM(Non-

Volatile-Memory)中,成对密钥不能通过

诊断命令直接读取,需要通过模块指定API

调用。

2 MAC 信息认证码简介

MAC(信息认证码)通过车载CAN总

线中ECU间网络报文的认证,确认信息来

源。报文的发送方计算并生成认证码MAC

(Message Authentication Code)并包含在

报文Data Field中,MAC的数值需要证实

数据的完整性和真实性。接收方需要在接受

与处理信息之前确认MAC的合法性。设计

意图主要有以下几点:

2.1 CAN协议兼容性

MAC数据信息需要支持并符合已有

CAN总线协议,无需对已有CAN总线协议

进行修改。

2.2 ECU硬件兼容性

MAC的布置无需对ECU模块硬件进行

升级或更换,仅更新ECU的软件即可实现

MAC认证功能。

2.3 实时性

MAC认证不应消耗过多ECU运算资

4 防重放计数器(Anti-Replay

Counter)

与控制器的Security Access类似,

MAC也会遇到非法外置设备的重放入侵,

穷举测试直到找到正确的成对密钥,防重放

场应运而生。非法设备可以通过将监听到的

3 密钥简介

MAC的生成与安全访问(Security

Access)计算方式类似。发送方与接收方需要

共享密钥,称为Symmetric Encryption(成

对密钥)。发送方与接收方生成MAC,认证

MAC都需相同的密钥。在开始通讯前报文的

发送方接收方需共享密钥的写入。需要特别

总线报文重放的方式来实现认证与攻击。为

了解决重放攻击问题,加入了Anti-Replay

Counter意在解决总线报文重放攻击。

报文的接收方需要能够判断出报文是否

为重放攻击,报文本身必须包含信息确保此

报文仅被发送了一次,否则蓄意攻击方可以

在不理解总线内容的情况下进行监听,并在

AUTO TIME

119

Copyright©博看网 . All Rights Reserved.

MANUFACTURING AND PROCESS

| 制造与工艺

发送方发送方

报文报文

Key

成对密钥

报文

Hash

MAC

加密算法

MAC

Key

成对密钥

Counter

计数器

Counter

计数器

Hash

MAC

加密算法

MACMAC

=?

MAC

MAC=Messagee Authentication Code

报文校验

如果相等则校验成功,证明报文来自合法节点

(Node)

随后实现重放攻击,达成与监听时合法发送

方相同的效果。

在认证码防御的方案中, 常见的防御方

案有两种:

(1)随机数:发送方与接收方会将随机

数写入NVM(Non-Volatile-Memory)中,

报文中出现NVM中记录过的随机数则说明

是重放侵入。优点是逻辑简单,实现方便,

缺点是需要记录的随机数对NVM的占用较

高。

(2)流水号:在发送方与接收方之间增

加一个逐步递增或递减的标识符,标识符也

需要通过加密的方式融合到认证码场中。发

送方的标识符如果不连续则说明是重放侵入。

优点:相比于随机数,流水号方式对NVM

的占用较小。

MAC发送方与接受方的关系如上图:

参考文献:

[1] Vehicles-Controller area network

(CAN)[S].ISO 1898-2,2003.

[2] Vehicles-Unified diagnostic services

(UDS)[S].ISO 14229-1,2013.

5 结束语

汽车CAN总线技术是当代汽车行业发展

的主流趋势,伴随着车辆电器系统的迅速发

展,各大主机厂都在考虑在其已有CAN架构

电子架构中,实现了MAC总线信息认证功能,

实现确认信息来源增强车载CAN总线的安全

性的目的。本文介绍的成对密钥,防重放计

数器都是MAC功能实现的核心。

作者简介

洪雷: