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功能实现的核心。
作者简介
洪雷:


发布评论