百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

同星提供SecOC信息安全解决方案(上海同星)

zhezhongyun 2025-06-10 04:07 23 浏览

需求背景

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

SecOC实现原理

>什么是SecOC

SecOC是Security Onboard Communication 的简称,中文名称叫做安全车载通信,是AUTOSAR从Classic Platform4.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上传到上层应用的软件模块,如果验证失败,则直接丢弃。

TOSUN SecOC测试解决方案

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

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

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

>同步报文接收

新鲜值管理模块在整车身上一般由网关充当,负责发送同步报文,便于从节点更新新鲜值。同步报文的主要作用是保证安全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。

>新鲜度值管理

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

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

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

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

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

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

>安全报文发送

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

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

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

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

>安全报文接收

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


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

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

>故障注入测试

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

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

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

相关推荐

Chinese vice premier calls for multilateralism at Davos

DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangdeliveredaspeechatthe...

用C++ Qt手把手打造炫酷汽车仪表盘

一、项目背景与核心价值在车载HMI(人机交互界面)开发领域,虚拟仪表盘是智能座舱的核心组件。本项目基于C++Qt框架实现一个具备专业级效果的时速表模块,涵盖以下技术要点:Qt图形绘制核心机制(QPa...

系列专栏(八):JS的第七种基本类型Symbols

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,MozillaWeb开发者博客推出了《ES6InDepth》系列文章。CSDN...

MFC界面开发工具BCG v31.1 - 增强功能区、工具箱功能

点击“了解更多”获取工具亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBarProfessionalforMFC和BCGSuiteforMFCv31.2正式发布!新版本支...

雅居乐上调出售吉隆坡项目保留金,预计亏损扩大至6.64亿元

1月2日,雅居乐集团(03383.HK)发布有关出售一家附属公司股权披露交易的补充公告。此前雅居乐集团曾公告,2023年11月8日(交易时段后),集团子公司AgileRealEstateDeve...

Full text: Address by Vice Premier Ding Xuexiang's at World Economic Forum Annual Meeting 2025

DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangonTuesdaydeliveredasp...

手机性能好不好 GPU玄学曲线告诉你

前言各位在看测试者对手机进行评测时或许会见过“安卓玄学曲线”,所谓中的安卓玄学曲线真名为“ProfileGPURendering”。大多数情况下,在系统“开发者选项中被称为“GPU显示配置文件”或...

小迈科技 X Hologres:高可用的百亿级广告实时数仓建设

通过本文,我们将会介绍小迈科技如何通过Hologres搭建高可用的实时数仓。一、业务介绍小迈科技成立于2015年1月,是一家致力以数字化领先为优势,实现业务高质量自增长的移动互联网科技公司。始...

vue3新特征和所有的属性,方法汇总及其对应源码分析

vue3新特征汇总与源码分析(备注:vue3使用typescript编写)何为应用?constapp=Vue.createApp({})app就是一个应用。应用的配置和应用的API就是app应用...

China's stability redefines global trade in a volatile era

ContainersareunloadedatQingdaoPort,eastChina'sShandongProvince,December10,2024.[Photo/X...

QML 实现图片帧渐隐渐显轮播

前言所谓图片帧渐隐渐显轮播就是,一组图片列表,当前图片逐渐改变透明度隐藏,同时下一张图片逐渐改变透明度显示,依次循环,达到渐隐渐显的效果,该效果常用于图片展示,相比左右自动切换的轮播方式来说,这种方式...

前端惊魂夜:我竟在CSS里写出了JavaScript?

凌晨两点,写字楼里只剩下我工位上的一盏孤灯。咖啡杯见底,屏幕的光映在疲惫的眼镜片上。为了实现一个极其复杂的动态渐变效果,我翻遍了MDN文档,试遍了所有已知的CSS技巧,却始终差那么一口气。“要是CSS...

10 个派上用场的 Flutter 小部件

尝试学习一门新语言可能会令人恐惧和厌烦。很多时候,我们希望我们知道早先存在的某些功能。在今天的文章中,我将告诉你我希望早点知道的最方便的颤振小部件。SpacerSpacer创建一个可调整的空白空...

让我的 Flutter 代码整洁 10 倍的 5 种

如果你曾在Flutter中使用过SingleTickerProviderStateMixin来制作动画,猜猜怎么着?你已经使用过Mixin了——恭喜你,你已经处于一段你甚至不知道的关...

daisyUI - 主题漂亮、代码纯净!免费开源的 Tailwind CSS 组件库

漂亮有特色的CSS组件库,组件代码非常简洁,也支持深度定制主题、定制组件,可以搭配Vue/React等框架使用。关于daisyUIdaisyUI是一款极为流行的CSSUI组件库,...