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

2020-07-14 17:36洪雷万开明
时代汽车 2020年11期
关键词:报文监听密钥

洪雷 万开明

摘 要: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)高性能,稳定性高,成本低,扩展性强,并兼顾总线仲裁的车载总线协议。

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运算资源,避免因MAC的认证影响车辆正常使用与运行。

2.4 低成本

MAC认证的实施成本低,ECU硬件调整,ECU软件调整费用可控;

2.5 密钥控制成本

密钥的生成,存储,写入,获取,重写,都需要连接OEM后台服务器,增加或减少ECU不改变已有MAC认证策略;

认证场占用部分CAN协议中的 Data Field(数据场)的优点:

a.CAN协议集成度高,模块的CAN协议层经历漫长开发,调整,优化;避免模块重新开发与调试的高昂费用;

b.CAN协议中除Data Field部分,都定义明确;对ECU软件与CAN协议进行最小升级实现MAC功能;

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

3 密钥简介

MAC的生成与安全访问(Security Access)计算方式类似。发送方与接收方需要共享密钥,称为Symmetric Encryption(成对密钥)。发送方与接收方生成MAC,认证MAC都需相同的密钥。在开始通讯前报文的发送方接收方需共享密钥的写入。需要特别指出的是成对密钥无法支持方向性确认。具备确认MAC的真实性的同时也就具有生成MAC的能力。

成对密钥依需设置多组,整车中网络报文的发送方,接收方都有明确规定,一组成对密钥只限于发送方与接受方,无关模块不写入成对密钥。以确保只有已设置权限的获取成对密钥的实体才能生成和认证MAC。

成对密钥存储在ECU的NVM(Non-Volatile-Memory)中,成对密钥不能通过诊断命令直接读取,需要通过模块指定API调用。

4 防重放计数器(Anti-Replay Counter)

与控制器的Security Access类似,MAC也会遇到非法外置设备的重放入侵,穷举测试直到找到正确的成对密钥,防重放场应运而生。非法设备可以通过将监听到的总线报文重放的方式来实现认证与攻击。为了解决重放攻击问题,加入了Anti-Replay Counter意在解決总线报文重放攻击。

报文的接收方需要能够判断出报文是否为重放攻击,报文本身必须包含信息确保此报文仅被发送了一次,否则蓄意攻击方可以在不理解总线内容的情况下进行监听,并在随后实现重放攻击,达成与监听时合法发送方相同的效果。

在认证码防御的方案中, 常见的防御方案有两种:

(1)随机数:发送方与接收方会将随机数写入NVM(Non-Volatile-Memory)中,报文中出现NVM中记录过的随机数则说明是重放侵入。优点是逻辑简单,实现方便,缺点是需要记录的随机数对NVM的占用较高。

(2)流水号:在发送方与接收方之间增加一个逐步递增或递减的标识符,标识符也需要通过加密的方式融合到认证码场中。发送方的标识符如果不连续则说明是重放侵入。优点:相比于随机数,流水号方式对NVM的占用较小。

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

5 结束语

汽车CAN总线技术是当代汽车行业发展的主流趋势,伴随着车辆电器系统的迅速发展,各大主机厂都在考虑在其已有CAN架构电子架构中,实现了MAC总线信息认证功能,实现确认信息来源增强车载CAN总线的安全性的目的。本文介绍的成对密钥,防重放计数器都是MAC功能实现的核心。

参考文献:

[1]Bosch.Road Vehicles-Controller area network(CAN)[S].ISO 1898-2,2003.

[2]ISO.Road Vehicles-Unified diagnostic services(UDS)[S].ISO 14229-1,2013.

猜你喜欢
报文监听密钥
海法新港一期自动化集装箱码头电子数据交换报文系统设计与实现
幻中邂逅之金色密钥
幻中邂逅之金色密钥
基于报文类型的限速值动态调整
BitLocker密钥恢复二三事
用户设备进行组播路径追踪的方法及系统
监听“有”道 ——杰夫(美国)
论秘密监听的立法问题
一种新的动态批密钥更新算法