从传统到智能化:汽车内部通信的安全挑战与SecOC解决方案

01/需求背景

Demand background

在传统的汽车电子结构中,车内的电控单元(ECU)数量和复杂性受到限制,通信带宽也受到限制。因此,人们普遍认为车内各个ECU之间的通信是可靠的。只要ECU节点接收到相应的消息,就会对其进行处理。然而,随着汽车行业和互联网的持续发展,汽车变得越来越智能化和互联化,这种默认的车内通信变得越来越不安全。如果在车辆的物理总线上添加一个新的节点,该节点发送虚假信号或篡改其他ECU发送的消息,例如加速、刹车和转弯信号,而与之相关的动力控制ECU却盲目接受这些消息,那么车辆可能会失去控制。因此,迫切需要开发一种安全高效的算法,用于验证消息的真实性,确认消息发送方的合法性以及数据是否遭到篡改。在这种背景下,安全板载通信(Secure Onboard Communication,简称SecOC)机制应运而生。

02/SecOC实现原理

SecOC principle of realization

1)什么是SecOC

SecOC是Security Onboard Communication 的简称,中文名称叫做安全车载通信,是AUTOSAR从Classic Platform4.2开始新增的一个基础模块,主要的作用就是为汽车嵌入式网络总线上的数据传输提供身份验证和防止重放攻击的功能。

2)SecOC实现原理

SecOC 机制要求在协议数据单元 (Protocol Data Unit, 简称 PDU) 的发送方和接收方的 ECU 都要实现 SecOC 模块。

在发送方,SecOC 模块通过向待发送的协议原始 PDU 添加认证信息来创建安全PDU,认证信息包括新鲜度值(Freshness Value,简称 FV) 和 信 息 认 证 码(Message Authentication Code,简称 MAC)。

FV 由新鲜度值管理模块 (FVM) 获得。FVM 分为 Master FVM( 由网关担任 ) 和 Slave FVM( 由其它实现 SecOC 机制的 ECU 担任 ),前者会向后者发送新鲜度值同步消息来保证PDU 收发端 FV 的一致性,后者则向前者发送 FV 同步请求消息。

将 PDU 的数据标识符、原始 PDU 以及完整新鲜度值拼接起来,传递给认证算法产生 MAC 值。

接收方收到安全 PDU 后会通过MAC认证模块对其新鲜性与完整性进行验证,如果验证成功,那么将原始的数据PDU上传到上层应用的软件模块,如果验证失败,则直接丢弃。

03/TOSUN SecOC测试解决方案

SecOC test solution

该解决方案是基于SecOC方案实现车内敏感信息的认证。

TOSUN SecOC系统是基于TOSUN同星自研核心软件TSMaster和CAN工具实现能够涵盖开发和生产过程中的测试需求。主要功能包含主节点同步报文解析,完整新鲜度值生成,计算MAC值,生成并发送安全报文、接收解析验证安全报文和故障注入功能。

测试面板总体如下图所示:

3.1 同步报文接收

新鲜值管理模块在整车身上一般由网关充当,负责发送同步报文,便于从节点更新新鲜值。同步报文的主要作用是保证安全PDU发送和接收端新鲜度值信息的一致性。

同步报文的行程计数器(Trip Counter)、重置计数器(Reset Counter)和MAC值(Authenticator)长度定义如下:

本解决方案采用AES128-CMAC标准算法和基于同步消息的复合counter新鲜度值管理方案,MAC值计算方式为CMAC-AES128(DataID/Payload/FV,CK)。

→ 图示是TOSUN SecOC解决方案中同步报文接收的演示

第一部分显示被测件(主节点)发送的同步报文和报文解析。Data ID由主节点(被测件/新鲜值管理模块)决定。

第二部分为算法计算的MAC值,与接收的MAC值前两位是一致的,则验证成功返回0;否则验证失败返回1,并且错误数量+1。

3.2 新鲜度值管理

→ 图示是TOSUN SecOC解决方案中新鲜度值管理的演示

完整的新鲜度值包括(64bit):行程计数器(Trip Counter),重置计数器(Reset Counter), 重置标志值(Reset Flag)和消息计数器(Message Counter)。

1) 行程计数器和重置计数器由同步报文决定

2) 消息计数器每发送一次安全报文自增1

3) 重置标志位为重置计数器最后2bit数据

从节点内完整的新鲜度值由以上四个数据生成。

3.3 安全报文发送

→ 图示是TOSUN SecOC解决方案中安全报文发送的演示

第一部分设置2字节的Data ID和4字节的控制信号(十进制、十六进制输入即可)。

第二部分显示加密后的MAC值,截取的新鲜值、截取的MAC值和发送的安全报文(安全报文由4个字节控制信号、1个字节截取新鲜度值和3个字节截取MAC值组成)。

本解决方案的新鲜度值和MAC值截取的标准是在CAN协议的通信方式下,FV截取低位1字节,MAC截取高位3字节。

3.4 安全报文接收

→ 图示是TOSUN SecOC解决方案中安全报文接收的演示

第一部分设置接收端2字节的Data ID(安全报文发送和接收模块的Data ID需一致,否则在安全报文接收端会验证失败),显示完整的安全报文。

第二部分显示接收端的MAC验证结果,验证成功返回0,亮绿灯;验证失败返回1,亮红灯,错误数量+1。

3.5 故障注入测试

→ 图示是TOSUN SecOC解决方案中故障注入测试的演示

在该面板中点击任意类型故障注入按钮可进行故障注入,可看到【接收端】的错误数量增加并亮红灯。以检测和评估系统的可靠性和稳定性,从而提高系统的质量。

其中“模拟过去新鲜值发送”是指将新鲜值篡改成上一次发送 的新鲜值,“模拟未来新鲜值发送”同理。

如果想查看详细的报文信息,可以在“报文信息”中查看正确发送或故障注入的安全报文,过滤标识符为 2CA 的报文即可。同步报文也可查看,标识符为 25C。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/92163.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科技云报道:AI+云计算共生共长,能否解锁下一个高增长空间?

科技云报道原创。 在过去近一年的时间里,AI大模型从最初的框架构建,逐步走到落地阶段。 然而,随着AI大模型深入到千行百业中,市场开始意识到通用大模型虽然功能强大,但似乎并不能完全满足不同企业的个性化需求。 大…

python后端,一个账户,多设备登录管理

一个账号,多台设备同时登陆的问题,设计以及实现 参考这篇文章: https://www.alibabacloud.com/help/zh/tair/use-cases/manage-multi-device-logon-from-a-single-user-by-using-tairhash1.0 设计思路 利用的是Redis,主设备的保…

Pytorch 的基本概念和使用场景介绍

文章目录 一、基本概念1. 张量(Tensor)2. 自动微分(Autograd)3. 计算图(Computation Graph)4. 动态计算图(Dynamic Computation Graph)5. 变量(Variable) 二、…

热烈祝贺蜀益表面处理成功入选航天系统采购平台

经过航天系统采购平台的严审,眉山市蜀益表面处理科技有限公司成功入选中国航天系统采购供应商库。航天系统采购平台是航天系统内企业采购专用平台,服务航天全球范围千亿采购需求,目前,已有华为、三一重工、格力电器、科大讯飞等企…

笔记本电脑连接不上wifi怎么办?3种方法轻松搞定!

在现代社会中,无线网络已经成为人们日常生活和工作中必不可少的一部分。然而,有时候我们可能会遇到笔记本电脑无法连接到Wi-Fi网络的问题。这种情况可能会让人感到困扰,影响正常的工作和娱乐体验。那笔记本电脑连接不上wifi怎么办呢&#xff…

C语言:字符函数和字符串函数(一篇拿捏字符串函数!)

目录 求字符串长度: 1. strlen(字符串长度) 长度不受限制函数: 2. strcpy(字符串拷贝) 3. strcat(字符串追加) 4. strcmp(字符串比较) 长度受限制函数: 5. strncpy(字符串拷贝) 6. strncat(字符串追加) 7. strncmp(字符串比较) 字…

WPF读取dicom序列:实现上一帧、下一帧、自动播放、暂停

一、整体设计概况 创建WPF程序使用.Net Framework4.8定义Image控件展示图像增加标签展示dcm文件信息规划按钮触发对应的事件:上一帧、下一帧、自动播放、暂停、缩放、播放速率二、页面展示 三、代码逻辑分析 Windows窗体加载Loaded事件:生成初始图像信息Windows窗体加载Mous…

JVM的故事——虚拟机类加载机制

虚拟机类加载机制 文章目录 虚拟机类加载机制一、概述二、类加载的时机三、类加载的过程四、类加载器 一、概述 本章将要讲解class文件如何进入虚拟机以及虚拟机如何处理这些class文件。Java虚拟机把class文件加载到内存,并对数据进行校验、转换解析和初始化&#…

集成跨境电商ERP(积加、易仓、马帮等)连接多个应用

场景描述: 基于跨境电商开放平台(积加、易仓、马帮等)能力,无代码集成跨境电商ERP与多个应用互通互连。通过Aboter可搭建业务自动化流程,实现多个应用之间的数据连接。 连接器: 积加ERP马帮ERP易仓ERP……

《Go 语言第一课》课程学习笔记(十四)

接口 认识接口类型 接口类型是由 type 和 interface 关键字定义的一组方法集合,其中,方法集合唯一确定了这个接口类型所表示的接口。type MyInterface interface {M1(int) errorM2(io.Writer, ...string) }我们在接口类型的方法集合中声明的方法&#…

香港服务器快还是台湾服务器快?

​  基于机房位置不同,香港服务器相对于台湾服务器在访问速度方面有一定的优势。香港服务器拥有CN2线路,因此访问速度较快。在网络服务商方面,中华电信等台湾服务商提供的带宽也具有很高的性价比。 香港服务器对大陆用户的影响 对于大陆用户…