CN112602303A - 一种数据传输方法以及装置 - Google Patents
一种数据传输方法以及装置 Download PDFInfo
- Publication number
- CN112602303A CN112602303A CN202080004586.2A CN202080004586A CN112602303A CN 112602303 A CN112602303 A CN 112602303A CN 202080004586 A CN202080004586 A CN 202080004586A CN 112602303 A CN112602303 A CN 112602303A
- Authority
- CN
- China
- Prior art keywords
- data
- protection
- ecu
- sent
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供了一种数据传输方法以及装置,应用在智能汽车、网联汽车上,用于为待传输的数据选择合适的保护策略,均衡ECU的计算资源。该方法包括:第一ECU获取待发送数据;第一ECU从多种保护策略中确定与待发送数据对应的保护策略,多种保护策略包括针对待发送数据的多种不同的封装方式,多种保护策略中包括对待发送数据进行处理的计算量不同的至少两种保护策略;第一ECU根据待发送数据对应的保护策略对待发送数据进行封装,得到封装报文;第一ECU向第二ECU发送封装报文,第一ECU和第二ECU是车辆内的任意两个ECU。
Description
技术领域
本申请涉及汽车领域,尤其涉及一种数据传输方法以及装置。
背景技术
随着车载娱乐、导航、辅助驾驶等汽车电子系统的迅速发展,车载网络的通信数据明显增加。例如,在车辆内引进了具有高吞吐量的IEEE 802.3以太网技术,以太网逐步成为了车载网络的骨干网。
作为骨干网,以太网承载许多通信业务,比如视频点播,软件升级,监控数据上传,交互控制,诊断等大量数据。而在车内通信的环境下,车辆内的数据传输的安全性至关重要。在现有的方案中,针对车辆内传输的数据,进行了各种安全保护,如完整性保护、防重放攻击保护或者机密性保护等。然而,车内以太网的通信量大,针对数据进行保护的计算量也就越大,需要较高的硬件性能支撑该计算量。因此,如何在硬件性能支撑的前提下,对传输的数据进行有效保护,成为亟待解决的问题。
发明内容
本申请实施例提供了一种数据传输方法以及装置,用于为待传输的数据选择合适的保护策略,均衡ECU的计算资源。
有鉴于此,本申请第一方面提供一种数据传输方法,该方法包括:第一电子控制单元(electrical control unit,ECU)获取待发送数据,本申请所提及的第一ECU和第二ECU是同一车辆内的多个ECU中的任意两个ECU;第一ECU从多种保护策略中确定与待发送数据对应的保护策略,多种保护策略包括针对待发送数据的多种不同的封装方式,多种保护策略中包括针对待发送数据的计算量不同的至少两种保护策略,即在分别使用该至少两种保护策略对数据进行保护时,所需的计算量是不相同的;第一ECU根据待发送数据对应的保护策略对待发送数据进行封装,得到封装报文;第一ECU向第二ECU发送封装报文。
在本申请实施方式中,第一ECU可以从多种保护策略中选择与待发送数据匹配的保护策略,可以根据保护策略的重要程度来选择合适的保护策略。该多种保护策略中可以包括计算量不同的保护策略,本申请中所提及的计算量是指使用保护策略对待发送数据进行保护时所需的计算量,当待发送数据的重要程度越高时,所选择的保护策略对应的计算量通常也就越高,当待发送数据的重要程度越低时,所选择的保护策略对应的计算量通常也就越低。针对不同的数据,可以选择与之匹配的保护策略,从而均衡车辆内针对ECU之间传输的数据的计算量,使重要程度高的数据可以更高程度的被保护,并减少针对重要程度低的数据进行保护的计算量,从而使车辆内的ECU的计算资源可以得到更有效的利用,在车辆内硬件的性能支撑的基础上实现对传输的数据的有效保护。
本申请提供的方法可以应用于车辆,该车辆中包括多个电子控制单元(electrical control unit,ECU),第一ECU和第二ECU为多个ECU中的任意两个ECU,且通常多个ECU之间通过以太网连接。
在一种可能的实施方式中,第一ECU从多种保护策略中确定与待发送数据对应的保护策略,可以包括:第一ECU根据待发送数据中包括的标识,从多种保护策略中确定与待发送数据对应的保护策略,待发送数据中包括的标识包括产生待发送数据的ECU的标识或者待发送数据的数据类型的标识。
在本申请实施方式中,可以根据产生数据的ECU或者待发送数据的数据类型来选择合适的保护策略,从而针对不同类型或者不同ECU产生的数据可以选择与之匹配的保护策略,从而平衡车辆内针对ECU之间传输的数据的计算量,使重要程度高的数据可以更高程度的被保护,并减少针对重要程度低的数据进行保护的计算量,从而使车辆内的ECU的计算资源可以得到更有效的利用。
在一种可能的实施方式中,若待发送数据中包括的标识包括产生待发送数据的ECU的标识,第一ECU根据待发送数据中包括的标识,从多种保护策略中确定与待发送数据对应的保护策略,可以包括:第一ECU根据标识以及映射关系确定待发送数据的安全等级,映射关系包括了车辆内的ECU的标识和安全等级之间的关系,车辆内的每个ECU对应的安全等级是根据车辆内的ECU类型确定;第一ECU根据安全等级从多种保护策略中确定与待发送数据对应的保护策略。
本申请实施方式中,可以通过安全等级来表示待发送数据的重要程度,不同类型的ECU具有匹配的安全等级,从而后续可以根据安全等级来选择匹配的保护策略,尤其在车辆内的ECU越来越多的情况下,通过为ECU的类型来为每个ECU分配安全等级,可以实现对车辆内的ECU的高效管理,提高数据传输效率。并且,每个安全等级具有匹配的保护策略,可以使重要程度高的数据可以更高程度的被保护,并减少针对重要程度低的数据进行保护的计算量,从而使车辆内的ECU的计算资源可以得到更有效的利用。
通常,待发送数据的安全等级与保护策略对应的计算量呈正相关关系,即待发送数据的安全等级越高,则对应的保护策略对应的计算量也就越大,从而可以实现对安全等级高的数据进行保护程度更高的保护,提高重要数据的安全性。
在一种可能的实施方式中,封装报文中包括待发送数据对应的保护策略的标识,保护策略的标识用于第二ECU确定对封装报文的解析方式。
因此,本申请实施方式中,可以根据封装报文所携带的保护策略的标识,来使第二ECU识别出对应的保护策略,使第二ECU可以快速、准确地识别出封装报文的保护策略,进而确定合适的解析方式。
在一种可能的实施方式中,至少两种保护策略中的每种保护策略包括以下一项或者多项策略:无保护,防重放攻击保护,完整性保护或机密性保护,无保护表示对待发送数据不进行保护,防重放攻击保护表示对待发送数据进行针对重放攻击的保护,完整性保护表示在针对待发送数据生成完整性校验码,完整性校验码用于第二ECU校验封装报文是否完整,机密性保护表示对待发送数据进行加密处理。
因此,本申请实施方式中,提供了无保护,防重放攻击保护,完整性保护或机密性保护来对待发送数据进行保护,不同的保护策略可能具有不同的计算量,从而可以选择与待发送数据匹配的保护策略,平衡车辆内的ECU的计算资源,提高计算资源的有效利用率。
在一种可能的实施方式中,若待发送数据对应的保护策略包括防重放攻击保护,则封装报文中携带防重放计数器,防重放计数器的值在第一ECU每向第二ECU发送一帧报文之后改变,以使第二ECU在防重放计数器的值不在预设范围内时丢弃封装报文;
若待发送数据对应的保护策略包括完整性保护,则封装报文中包括完整性校验码,完整性校验码用于第二ECU校验对封装报文解析得到的数据是否完整;
若待发送数据对应的保护策略包括机密性保护,则封装报文中的净荷包括密文,密文为使用预设的加密算法对待发送数据进行加密得到。
因此,在本申请实施方式中,针对不同的策略,封装报文中可以包括对应的数据,从而提供了一种封装报文的格式。
在一种可能的实施方式中,封装报文为SOME/IP报文。通常,SOME/IP报文是一种小型的保护,ECU可以对数据进行快速封装得到SOME/IP报文,本申请针对SOME/IP报文进行保护。
在一种可能的实施方式中,若待发送数据对应的保护策略包括完整性保护或机密性保护,则在第一ECU根据待发送数据对应的保护策略对待发送数据进行封装之前,方法还包括:第一ECU根据预设的预共享密钥PSK生成派生密钥,派生密钥用于对待发送数据进行完整性保护或机密性保护。
因此,在本申请实施方式中,可以通过共享密钥来生成派生密钥,从而完整对待发送数据的完整性保护或者机密性行保护,提高封装报文的安全性。
第二方面,本申请提供一种数据传输方法,应用于车辆,车辆中包括多个电子控制单元ECU,第一ECU和第二ECU为多个ECU中的任意两个ECU,多个ECU之间通过以太网连接,该方法包括:第二ECU接收第一ECU发送的封装报文;第二ECU获取封装报文对应的保护策略,封装报文对应的保护策略包括第一ECU得到封装报文的封装方式;第二ECU根据保护策略对封装报文进行解析,得到解析结果。
在本申请实施方式中,第二ECU在接收到第一ECU发送的封装报文之后,可以确定与该封装报文对应的保护策略,并根据该保护策略对封装报文进行解析。第一ECU可以从多种保护策略中选择封装报文对应的保护策略,针对不同的数据,可以选择与之匹配的保护策略,从而平衡车辆内针对ECU之间传输的数据的计算量,使重要程度高的数据可以更高程度的被保护,并减少针对重要程度低的数据进行保护的计算量,从而使车辆内的ECU的计算资源可以得到更有效的利用。
在一种可能的实施方式中,封装报文对应的保护策略包括以下一项或者多项策略:无保护,防重放攻击保护,完整性保护或机密性保护,无保护表示对待发送数据不进行保护,防重放攻击保护表示对待发送数据进行针对防重放攻击的保护,完整性保护表示在封装报文中添加完整性校验码,完整性校验码用于在对封装报文进行解析时,校验解析得到的数据是否完整,机密性保护表示对待发送数据进行加密处理。
本申请实施方式中,提供了无保护,防重放攻击保护,完整性保护或机密性保护来对待发送数据进行保护,不同的保护策略可能具有不同的计算量,从而可以选择与待发送数据匹配的保护策略,平衡车辆内的ECU的计算资源,提高计算资源的有效利用率。
在一种可能的实施方式中,若封装报文对应的保护策略中包括防重放攻击保护,则封装报文的报头中包括防重放计数器的值;该方法还可以包括:若第二ECU确定封装包括中包括的防重放计数器的值不在预设范围内,则丢弃封装报文。
本申请实施方式中,可以利用防重放计数器来进行重放保护,第二ECU可以丢弃防重放计数器的值不在预设范围内的封装报文,从而避免重放攻击。
在一种可能的实施方式中,若封装报文对应的保护策略包括完整性保护,则封装报文中包括完整性校验码;在第二ECU根据保护策略对封装报文进行解析之后,方法还包括:结合完整性校验码确定解析结果是否完整;若解析结果不完整,则丢弃解析结果。
本申请实施方式中,在得到封装报文的解析结果之后,可以验证解析结果是否完整,若不完整,则丢弃解析结果,避免使用无效的数据。
在一种可能的实施方式中,若待发送数据对应的保护策略包括机密性保护,则第二ECU根据保护策略对封装报文进行解析,可以包括:结合预设的解密算法,对封装报文所包括的净荷进行解密,得到解析结果。本申请实施方式中,若第一ECU对待发送数据进行了加密,则封装报文所包括的净荷是密文,第二ECU可以根据解密算法对该密文,从而提高封装报文的安全性。
在一种可能的实施方式中,封装报文中包括待发送数据对应的保护策略的标识。
第三方面,本申请提供一种第一ECU,该第一ECU具有实现上述第一方面数据传输方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本申请提供一种第二ECU,该第二ECU具有实现上述第二方面数据传输方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本申请实施例提供一种ECU,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第一方面任一项或第二方面任一项所示的数据传输方法中与处理相关的功能。
第六方面,本申请实施例提供了一种数据传输装置,该数据传输装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行如上述第一方面、第一方面任一可选实施方式中、第二方面或第二方面任一可选实施方式中与处理相关的功能。
第七方面,本申请实施例提供了一种车辆,该车辆内包括了至少一个ECU,该至少一个ECU用于执行如上述第一方面、第一方面任一可选实施方式中、第二方面或第二方面任一可选实施方式中的步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面、第一方面任一可选实施方式、第二方面或第二方面任一可选实施方式中的方法。
第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第一方面任一可选实施方式、第二方面或第二方面任一可选实施方式中的方法。
第十方面,本申请提供一种数据传输系统,包括至少一个ECU,该至少一个ECU用于执行上述第一方面、第一方面任一可选实施方式、第二方面或第二方面任一可选实施方式中的方法的步骤。
附图说明
图1为本申请实施例提供的一种车辆的结构示意图;
图2为本申请提供的一种数据传输系统的结构示意图;
图3为本申请提供的一种ECU传输数据的方式;
图4A为本申请提供的另一种ECU传输数据的方式;
图4B为本申请提供的另一种ECU传输数据的方式;
图5为本申请提供的一种数据传输方法的流程示意图;
图6为本申请提供的一种封装报文的格式示意图;
图7为本申请提供的一种ECU结构示意图;
图8为本申请提供的另一种ECU结构示意图;
图9为本申请提供的另一种ECU结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的数据传输方法可以应用于各种和车辆相关的场景,如对车辆进行行车路径规划、监控车辆状态或远程控制车辆等场景。此外,本申请也可以应用于对各类机器人进行行车路径规划、监控车辆状态或远程控制车辆等场景,例如货运机器人、探测机器人、扫地机器人或其他类型的机器人,此处以货运机器人为例对应用场景作进一步描述,当货运机器人在进行运输时,可以实时对货运机器人的状态进行监控、规划运输路径或者远程控制等,从而安全稳定地完成运输。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为了便于理解本方案,本申请实施例中首先结合图1对本申请提供的车辆的结构进行介绍,请先参阅图1,图1为本申请实施例提供的车辆的一种结构示意图,车辆100可以配置为自动驾驶模式。例如,车辆100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的是否存在障碍物,基于障碍物的信息来控制车辆100。在车辆100处于自动驾驶模式中时,也可以将车辆100置为在没有和人交互的情况下操作。
车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个部件。另外,车辆100的每个子系统和部件可以通过有线或者无线互连。
行进系统102可包括为车辆100提供动力运动的组件。在一个实施例中,行进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。
其中,引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如,汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
传感器系统104可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是全球定位GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。在本申请以下实施方式中提及的传感器,即可以是雷达126、激光测距仪128或者相机130等。
其中,定位系统122可用于估计车辆100的地理位置。IMU 124用于基于惯性加速度来感知车辆100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。雷达126可利用无线电信号来感知车辆100的周边环境内的物体,具体可以表现为毫米波雷达或激光雷达。在一些实施例中,除了感知物体以外,雷达126还可用于感知物体的速度和/或前进方向。激光测距仪128可利用激光来感知车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
控制系统106为控制车辆100及其组件的操作。控制系统106可包括各种部件,其中包括转向系统132、油门134、制动单元136、计算机视觉系统140、线路控制系统142以及障碍避免系统144。
其中,转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。油门134用于控制引擎118的操作速度并进而控制车辆100的速度。制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍体。计算机视觉系统140可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。线路控制系统142用于确定车辆100的行驶路线以及行驶速度。在一些实施例中,线路控制系统142可以包括横向规划模块1421和纵向规划模块1422,横向规划模块1421和纵向规划模块1422分别用于结合来自障碍避免系统144、GPS 122和一个或多个预定地图的数据为车辆100确定行驶路线和行驶速度。障碍避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的障碍体,前述障碍体具体可以表现为实际障碍体和可能与车辆100发生碰撞的虚拟移动体。在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线数据传输系统146、车载电脑148、麦克风150和/或扬声器152。在一些实施例中,外围设备108为车辆100的用户提供与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。无线数据传输系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线数据传输系统146可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线数据传输系统146可利用无线局域网(wireless local areanetwork,WLAN)通信。在一些实施例中,无线数据传输系统146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆数据传输系统,例如,无线数据传输系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如存储器114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。处理器113可以是任何常规的处理器,诸如商业可获得的中央处理器(centralprocessing unit,CPU)。可选地,处理器113可以是诸如专用集成电路(applicationspecific integrated circuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同块中的计算机系统112的其它部件,但是本领域的普通技术人员应该理解该处理器、或存储器实际上可以包括不存储在相同的物理外壳内的多个处理器、或存储器。例如,存储器114可以是硬盘驱动器或位于不同于计算机系统112的外壳内的其它存储介质。因此,对处理器113或存储器114的引用将被理解为包括可以并行操作或者可以不并行操作的处理器或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器113可以位于远离车辆100并且与车辆100进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆100内的处理器113上执行而其它则由远程处理器113执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。存储器114也可包含额外的指令,包括向行进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。除了指令115以外,存储器114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统112使用。用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线数据传输系统146、车载电脑148、麦克风150或扬声器152等。
计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机系统112可以用个can总线和车辆100内的其他系统或者部件进行通信,如计算机系统112可利用来自控制系统106的输入以便控制转向系统132来避免由传感器系统104和障碍避免系统144检测到的障碍体。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器114可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。本申请提供的数据传输方法,可以由计算机系统112、雷达126、激光测距仪128或者外围设备,如车载电脑148或者其他车载终端等来执行。例如,本申请提供的数据传输方法可以由车载电脑148来执行,车载电脑148可以为车辆规划行车路径以及对应的速度曲线,并根据行车路径生成控制指令,将控制指令发送至计算机系统112,由计算机系统112控制车辆的控制系统106中的转向系统132、油门134、制动单元136、计算机视觉系统140、线路控制系统142或者障碍避免系统144等,从而实现车辆的自动驾驶。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
本申请提供的车辆,可以包括多个ECU,本申请提供的数据传输方法,可以应用于车辆内的ECU之间传输数据,提高数据传输的效率,使对传输的报文的加密方式与ECU的硬件性能相匹配。
示例性地,本申请还提供一种车辆,如图2所示。其中,车辆内包括多个ECU,每个ECU可以连接对应的控制器。如车身控制模块(body control module,BCM)控制器、人机接口(human machine interface,HMI)控制器、高级驾驶辅助系统(advanced drivingassistance system,ADAS)控制器或者整车控制器(Vehicle Control Unit,VCU)控制器等,控制器之间或者控制器与OBD或者远程通信箱(telematics BOX,TBOX)之间通过网关连接。也可以理解为,一个控制器可以对一个或者多个ECU进行管理或者控制。该ECU可以是前述图1中所述的各个系统中的ECU。可以理解为,该车辆内可以包括了多种控制模块,每个控制模块包括或者连接了一个或者多个ECU,如前述的行进系统102、传感器系统104、转向系统132、油门134、制动单元136等,每个控制模块内包括了一个或者多个ECU,用于控制车辆的引擎、车轮、转向、油门或者制动等。
随着车载娱乐、导航、辅助驾驶等汽车电子系统的迅速发展,车载网络的通信数据明显增加,汽车行业引进了具有高吞吐量的IEEE 802.3以太网技术,以太网今年逐步成为了车载网络的骨干网。示例性地,以两个ECU为例,该两个ECU之间传输数据的过程可以参阅图3。其中,ECU1可以通过网关与ECU2进行通信。ECU1和ECU2之间可以通过网关进行数据传输,传输数据的格式可以使用SOME/IP(Scalable service-Oriented MiddlewarE over IPprotocol)的封装格式,从而实现数据的稳定、安全的传输。
SOME/IP,是一种灵活的基于IP协议的面向服务的中间件。SOME/IP主要应用场景可以包括:远程过程调用(remote procedure call,RPC)、发布/订阅(publish/subscribe)或服务发现(service discovery)等场景。然而,以太网承载的通信流量大,如果全部数据进行加密保护,车载系统的硬件性能不足以支撑。本申请针对通信流量小而且安全等级高的SOME/IP进行保护,包括完整性保护、机密性保护或者防重放攻击保护等,从而实现设备的性能和数据传输的安全之间的平衡。
在一些场景中,还可以根据ECU的计算能力分为强ECU和弱ECU,比如可以根据计算速度来区分,强ECU的计算速度快与弱ECU。通常,按照TLS/IPSec协议对数据进行处理所需的计算量也较大,而SOME/IP协议所需的通信流量小。如图4A和图4B所示,强ECU之间和强ECU之间可以采用SOME/IP协议来传输数据,也可以采用TLS/IPSec协议来传输数据,而与弱ECU之间的数据传输则可以使用SOME/IP协议来传输。
下面对本申请提供的数据传输方法进行详细介绍。需要说明的是,本申请提供的数据传输方法可以应用于车辆,该车辆内包括了多个ECU,下面以其中的任意两个ECU,以下分别称为第一ECU和第二ECU为例,对本申请提供的数据传输方法进行详细介绍。
参阅图5,本申请提供的一种数据传输方法的流程示意图,如下所述。
501、第一ECU获取待发送数据的安全等级。
该安全等级用于表示待发送数据的重要程度,该安全等级可以包括预先划定的多种分类,重要程度不同的数据,对应的保护策略可能也不同。
通常,可以预先设定每个ECU对应的安全等级,或者为每种类型的数据设定安全等级等。例如,若ECU用于控制车辆行进或者辅助车辆行进等,则该ECU对应的安全等级较高,若ECU用于控制车辆的媒体,如音乐、电台、视频或者录像等,则该ECU的安全等级则较低。
可选地,可以预先设置数据中携带的标识和安全等级的映射关系,该标识可以是数据类型的标识或者产生该数据的ECU的标识等。
可选地,该映射关系可以是ECU的标识和安全等级的关系。车辆内的每个ECU的安全等级是根据车辆内的ECU类型确定的。通常,车辆内的ECU可以分为多种类型,例如,可以分为控制车辆油门的ECU,控制车辆制动的ECU,控制车辆转向的ECU,控制车辆引擎的ECU,传感器的ECU,车载终端中的ECU,扬声器中的ECU等。可以理解为,前述图1中所示的各个系统中,每个部件内具有一个或者多个ECU,可以基于每个ECU传输的数据的重要程度为每个ECU设置安全等级。
例如,如表1所示,可以为每个ECU设置对应的安全等级,可以使用每个ECU的标识和该安全等级来进行映射。
ECU标识 | 安全等级 |
8859(油门中的ECU) | 5 |
8860(制动中的ECU) | 5 |
8870(转向中的ECU) | 5 |
8896(引擎中的ECU) | 5 |
8898(扬声器中的ECU) | 1 |
8905(显示屏中的ECU) | 1 |
… | … |
表1
通常,安全等级越高,表示ECU的数据的重要程度也就越高,如车辆的油门、制动、转向或者引擎中的ECU用于控制车辆的加速、减速或转向等,与车辆的行车安全息息相关,后续可以为重要程度高的ECU对应保护程度更高的保护策略,从而提高重要的ECU所传输的数据的安全性,提高车辆的行车安全性,从而提高用户的安全性。
需要说明的是,本申请中的步骤501为可选步骤,即也可以无需获取待发送数据的安全等级,具体可以根据实际应用场景调整,此处并不作为限定。
可选地,该映射关系可以是数据类型的标识和安全等级的关系。该数据类型可以包括车辆的控制数据或者媒体数据等,车辆的控制数据又可以分为控制车辆行进的数据或者控制车辆的辅助部件的数据,该辅助部件如车辆的车窗、电动座椅、空调等,且控制车辆行进的数据的安全等级通常高于控制车辆的辅助部件的数据。媒体数据可以包括音频、视频或者图像等数据。通常,媒体数据的数据量较大,若对该媒体数据进行保护,则可能需要耗费较大的计算资源,且媒体数据的重要程度通常不高于车辆的控制数据,因此,可以为媒体数据设置较低的安全等级。
例如,可以提前设置数据类型和安全等级之间的关系,如表2所示。
数据类型 | 安全等级 |
A(行进控制指令) | 5 |
B(传感器数据) | 4 |
C(通信数据) | 3 |
D(辅助控制数据) | 2 |
E(媒体数据) | 1 |
… | … |
表2
其中,数据类型A表示控制车辆行进的指令,如车辆的转向系统内的多个ECU之间传输的数据、油门中的ECU、制动单元中的ECU或者引擎ECU或者传动装置中的ECU等传输的控制车辆转向、加速或减速等操作的指令或数据,对应安全等级5,即安全等级最高,表示重要程度也就越高。数据类型B可以包括车辆内的传感器,如IMU、雷达或者激光测距仪等采集到的数据等,对应安全等级4。数据类型C表示车辆与其他设备进行通信的数据,如车辆通过车载蓝牙与用户的手机建立连接或者与用户的蓝牙耳机建立连接等,对应安全等级3。数据类型D表示对车辆内的设备进行控制的数据,如调节车辆的后视镜、雨刮或者座椅等的控制数据,对应安全等级2。数据类型E包括了车辆内传输的视频或者音频数据等媒体数据,如车辆内的FM电台的数据,显示屏中播放的视频等,对应安全等级1,即安全等级最低。
因此,本申请实施方式中,可以按照数据的类型来设置安全等级,控制车辆转向、加速或减速等操作的指令或数据影响车辆的行车安全性,因此重要程度较高,后续可以为其设置保护程度较高的保护策略,从而提高车辆的行车安全性。
502、第一ECU确定与待发送数据对应的保护策略。
在第一ECU获取到待发送数据之后,从多种保护策略中确定与该待发送数据匹配的保护策略。
保护策略可以理解为针对数据是否进行封装的方式,如是否进行加密或者是否增加校验码等。多种保护策略包括了针对待发送数据进行封装的多种不同的方式。如可以预先设定多种包括策略,如不保护、对待发送数据进行加密、对待发送数据增加校验或者对待发送数据既进行加密也增加校验等。
该多种保护策略中至少有两种保护策略对待发送数据进行处理的计算量不相同。例如,第一保护策略所包括的策略的数量覆盖且多于第二保护策略所包括的策略,则使用第一保护策略对数据进行保护时所需的计算量,大于使用第二保护策略对数据进行保护时所需的计算量。
示例性地,每种保护策略可以包括但不限于以下一项或者多项策略:无保护,防重放攻击保护,完整性保护或机密性保护等。
无保护表示对待发送数据不进行保护,如不加密,也不增加校验码等,此时待发送数据传输的安全性较差。
防重放攻击保护表示对待发送数据进行针对重放攻击(Replay Attacks)的保护,如可以防止其他设备利用历史数据来获取ECU之间传输的数据。可以理解的是,重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者向接收设备发送一个接收设备已接收过的包,来达到欺骗接收设备的目的,从而窃取数据,本申请实施方式中,可以通过防重放攻击保护,来提高ECU的数据安全性。
完整性保护表示在封装报文中添加完整性校验码,完整性校验码用于在对封装报文进行解析时,校验解析得到的数据是否完整,以避免出现数据接收不完全或者部分内容接收不正确等。例如,可以对待发送数据通过预设的校验算法进行计算,得到完整性校验码,并添加至报文中,接收设备接收到报文之后,可以通过该预设的算法以及该完整性校验码,对报文中的净荷进行校验,判断净荷中的数据是否完整。
机密性保护表示对待发送数据进行加密处理,以防止其他设备在窃取到该待发送数据时解析到该待发送数据所包括的内容。例如,可以使用预置的密钥来得到派生密钥,然后使用该派生密钥对待发送数据中的全部或者部分数据进行加密,得到加密后的密文,将该密文封装在报文的净荷内,因此,即使其他设备接收到该报文,也无法解析到该报文所包括的内容,提高了报文的安全性。
通常,若保护策略为不对数据进行保护,则该保护策略对应的计算量是非常少的,且通常保护策略所包括的测量越多,使用该保护策略对数据进行保护时所需的计算量也就越多。
为便于理解,示例性地,以其中几种策略组成的保护策略为例进行示例性说明。如表3所示。
保护策略 | 防重放攻击保护 | 完整性保护 | 机密性保护 |
1 | |||
6 | √ | √ | |
7 | √ | √ | √ |
… | … | … | … |
表3
其中,标识1即表示保护策略1,标识6即表示保护策略6,以此类推。保护策略1即无保护,保保护策略6包括了完整性保护和完整性保护;保护策略7同时包括防重放攻击保护、完整性保护和机密性保护。保护策略7对数据进行保护所需的计算量,大于保护策略1和保护策略6对数据进行保护所需的计算量。
需要说明的是,在表3的示例中,不同的保护策略针对数据进行保护的计算量可能相同也可能不同,具体需要根据实际应用场景确定,本申请仅仅是示例性说明。
在本申请中,从多种保护策略中选择与待发送数据匹配的保护策略的方式可以有多种,可以是通过前述步骤501中所提及的安全等级来确定保护策略,也可以是直接根据待发送数据所包括的内容来确定保护策略等,下面以这两种方式为例,分别对确定与待发送数据对应的保护策略的具体方式进行说明。
方式一、直接根据待发送数据所包括的内容来确定保护策略
在本方式一中,可以无需获知待发送数据对应的安全等级,即可以无需执行前述的步骤501。
具体地,根据待发送数据自身携带的内容,如产生该待发送数据的ECU的标识,该待发送数据的标识或者该待发送数据的数据量大小等,从预先设定的多种保护策略中选择合适的保护策略。
在本方式中,可以提前设置每个ECU所对应的保护策略或者每种数据类型所对应的保护策略。示例性地,可以提前生成映射表,该映射表中可以包括每个ECU的标识和对应的保护策略的标识,或者,该映射表中可以包括数据类型和保护策略的标识。例如,可以为控制车辆行进的ECU设置保护程度更高的保护策略。
例如,结合前述表3中的保护策略的标识,包括了每个ECU的标识和对应的保护策略的标识的映射表可以如表4所示,当然,以下的ECU仅仅是示例性的一部分ECU,具体可以根据实际应用场景进行调整ECU的标识和对应的保护策略,本申请对此并不作限定。
ECU标识 | 保护策略 |
8859(油门中的ECU) | 7 |
8860(制动中的ECU) | 7 |
8870(转向中的ECU) | 7 |
8896(引擎中的ECU) | 7 |
8898(扬声器中的ECU) | 1 |
8905(显示屏中的ECU) | 1 |
… | … |
表4
其中,该标识为8859、8860、8870和8896的ECU对应保护策略7,同时包括防重放攻击保护、完整性保护和机密性保护,标识为8898的ECU和标识为8905的ECU对应保护策略1,即无保护。通常,对于车辆内传输的控制车辆的行进的ECU传输的数据重要程度较高,可以选择更安全的保护策略,以保证重要的数据的传输,提高车辆的行车安全性。针对车辆内影音娱乐对应的ECU传输的媒体数据,则相对于控制车辆行进的ECU传输的数据而言重要程度较低,为降低车辆内影音娱乐对应的ECU传输的数据进行封装的计算量,可以选择计算量较少的保护策略,从而提高车辆内ECU的运行效率,进而提高车辆的行车安全性。
因此,若提前设置了ECU的标识和保护策略的关系,若待发送数据为第一ECU产生,则第一ECU可以选择匹配的保护策略,或者,若待发送数据中包括了产生该待发送数据的ECU的标识,则可以根据该标识选择与产生该待发送数据的标识匹配的保护策略。
又例如,结合前述表3中的保护策略的标识,包括了数据类型对应的保护策略的标识的映射表可以如表5所示,当然,以下仅仅是示例性地列举了几种数据类型,具体可以根据实际应用场景进行调整具体的数据类型和对应的保护策略,本申请对此不作限定。
数据类型 | 保护策略 |
A(行进控制指令) | 7 |
B(传感器数据) | 6 |
C(通信数据) | 6 |
D(辅助控制数据) | 6 |
E(媒体数据) | 1 |
… | … |
表5
其中,数据类型A表示控制车辆行进的指令,如车辆的转向系统内的多个ECU之间传输的数据、油门中的ECU、制动单元中的ECU或者引擎ECU或者传动装置中的ECU等传输的控制车辆转向、加速或减速等操作的指令或数据,对应的保护策略对应保护策略7,同时包括防重放攻击保护、完整性保护和机密性保护。数据类型B可以包括车辆内的传感器,如IMU、雷达或者激光测距仪等采集到的数据等,对应保护策略6,包括了完整性保护和机密性保护。数据类型C表示车辆与其他设备进行通信的数据,如车辆通过车载蓝牙与用户的手机建立连接或者与用户的蓝牙耳机建立连接等,对应保护策略6,即完整性保护和机密性保护。数据类型D表示对车辆内的设备进行控制的数据,如调节车辆的后视镜、雨刮或者座椅等的控制数据。数据类型E包括了车辆内传输的视频或者音频数据等,如车辆内的FM电台的数据,显示屏中播放的视频等,对应保护策略1,即不保护。因此,通常针对控制车辆行进等于车辆的行车相关的数据的保护程度较高,对应的保护策略包括的计算量也就越大,而对于影音娱乐对应的媒体数据,如音频或者视频等数据,数据量大,占用的带宽大,若进行保护则将耗费更多的计算资源,因此,通过不保护的方式降低针对媒体数据的计算量,从而提高车辆对其他数据的计算效率。
因此,若待发送数据中包括了数据类型,则可以根据该待发送数据包括的数据类型来选择匹配的保护策略。
在本方式一中,可以根据数据的类型或者产生数据的ECU来选择匹配的保护策略,使重要程度高的数据可以选择保护程度高的保护策略,而重要程度低的数据则可以选择保护程度低的数据,从而使重要程度高的数据可以有足够的计算量来保护,提高数据的安全性,可以减少重要程度低的数据所占用的计算量,从而均衡分配车辆内的ECU的计算量,提高车辆内的计算效率,进而提高车辆的行车安全性。
方式二、通过安全等级来选择匹配的保护策略
在本方式二中,可以通过前述步骤502中确定的待发送数据的安全等级,然后从多种保护策略中选择与该安全等级匹配的保护策略。通常,待发送数据的安全等级越高,选择的保护策略的保护程度也就越高,而针对发送数据进行计算的计算量通常也就越大。
示例性地,可以提前设定安全等级与保护策略之间的映射关系,在确定待发送数据的安全等级之后,即可根据该映射关系,从多种保护策略中选择与待发送数据的安全等级匹配的保护策略。
例如,安全等级与保护策略之间的映射关系可以如表6所示,当然,此处仅仅是示例性说明,安全等级与保护策略之间的映射关系的具体内容可以根据实际应用场景机芯调整,此处并不作为限定。
安全等级 | 保护策略 |
5 | 7 |
4 | 6 |
3 | 1 |
… | … |
表6
其中,安全等级可以参阅前述步骤501的介绍,该保护策略可以参阅前述表3的相关描述,此处不再赘述。
在本方式中,可以选择与待发送数据的安全等级匹配的保护策略,以进行后续的封装。因此,安全等级高的数据,可以对应保护程度高的保护策略,以提高数据传输的安全性,从而提高车辆行车的安全性。而对于安全等级低的数据,则可以选择保护程度低的保护策略,从而降低对该数据进行保护的计算量,有效提高了车辆内的ECU的计算资源利用率。
503、第一ECU根据待发送数据对应的保护策略对待发送数据进行封装。
其中,在为待发送数据从多种保护策略中选择了匹配的保护策略之后,即可根据选择的保护策略对待发送数据进行封装,得到封装报文。
具体地,若待发送数据对应的保护策略为不保护,则可以直接为该待发送数据添加报头,得到封装报文。
若待发送数据对应的保护策略包括了一种或者多种策略,则可以根据该多种策略对待发送数据进行封装,得到封装报文。
示例性地,以其中几种策略,如防重放攻击保护,完整性保护或机密性保护为例,对待发送数据的封装过程进行示例性说明。
防重放攻击保护:第一ECU和第二ECU传输可以为传输数据设置防重放计数器,可以由第一ECU设置,也可以由第二ECU设置。在第一ECU每向第二ECU发送一帧数据之后,该计数器加1,因此,当第二ECU接收到封装报文时,仅当该封装报文中包括的计数器的值大于第二ECU本地存储的计数器的值时,才继续解析该报文,否则丢弃该报文。并且,在第二ECU解析该封装报文之后,将本地的计数器更新为该封装报文中携带的计数器的值。因此,在防重放攻击保护中,可以通过计数器的方式,防止其他设备对第一设备和第二设备进行重放攻击,避免数据被窃取。
完整性保护:第一ECU可以通过预先设定的算法,如消息摘要算法(messagedigest,MD)、安全散列算法(secure Hash algorithm,SHA)、消息认证码算法(messageauthentication code,MAC)算法、哈希运算消息认证码(Hash-based MessageAuthentication Code,HMAC)、分组密码(Counter with CBC-MAC,CCM)算法、CMAC(cipher-based message authentication code)算法或者AES-GMAC(Galois messageauthentication code mode,伽罗瓦消息验证码)-128算法等完整性校验算法,将待发送数据作为输入,输出针对待发送数据的完整性校验码,并携带在封装报文中。以使第二设备在接收到封装报文时,可以根据该完整性校验码,验证封装报文中的净荷是否完整。
机密性保护:即通过预设的加密算法对待发送数据进行加密,得到对应的密文,该密文即封装报文所包括的净荷。例如,可以预先设定共享密钥(pre-shared key,PSK),在每次传输数据时,生成派生密钥,然后通过该派生密钥以及加密算法,如对称算法(dataencryption standard,DES)、国际数据加密算法(international data encryptionalgorithm,IDEA)、分组密码(counter with CBC-MAC,CCM)算法、高级加密标准(advancedencryption standard,AES)算法、或者AES-GMAC-128算法等,输出待发送数据对应的密文,然后将该密文添加至封装报文内。在第二ECU接收到该封装报文之后,即可对通过对应的解密算法,对封装报文中的密文进行解密,得到该密文对应的明文,即前述的待发送数据。
因此,在本申请实施方式中,针对不同的数据,可以选择与之匹配的保护策略,从而平衡车辆内针对ECU之间传输的数据的计算量,使重要程度高的数据可以更高程度的被保护,并减少针对重要程度低的数据进行保护的计算量,从而使车辆内的ECU的计算资源可以得到更有效的利用。
示例性地,封装报文的报文可是可以参阅图6。其中,该封装报文中可以包括:以太首部、IP首部、传输控制协议(transmission control protocol,TCP)/用户数据报协议(user datagram protocol,UDP)首部、SOME/IP首部、起始帧、数据安全类型(以下表示为SecTag)、帧类型、封装帧/事件块个数(optional)、防重放计数器、世界统一时间(coordinated universal Time,UTC)、净荷(payload)和用于完整性校验的校验码(MIC)。
通常,以太首部、IP首部、TCP/UDP首部、SOME/IP首部等即报头,可以包括对应的协议的源地址、目的地址、端口号等信息。
起始帧通常为固定值。
SecTag即本申请前述的保护策略的类型,例如,保护策略可以分为多种:0:不校验,不加密,不防重放;1:校验,不加密,防重放;2:校验,加密,防重放。
防重放计数器PN在每发送一帧以太报文之后加1,用于防重放攻击。
封装帧/事件块个数(optional)表示报文内封装的数据帧的个数。
Payload中即包括了需要发送至第二ECU的数据。
MIC为用于完整性校验的校验码。
对待发送数据进行封装的过程可以包括:在设置了以太首部、IP首部、TCP/UDP首部、SOME/IP首部之后,设置SecTag,即与待发送数据匹配的保护策略的标识。
若SecTag=1或2,则设置PN的值,在第一ECU本地的PN的值的基础上加1。
若SecTag=1或2,使用CMAC(cipher-based message authentication code)算法、分组密码(Counter with CBC-MAC,CCM)算法、哈希运算消息认证码(Hash-basedMessage Authentication Code,HMAC)或者AES-GMAC(Galois message authenticationcode mode,伽罗瓦消息验证码)-128算法生成待发送数据的完整性校验码,即MIC。
若SecTag=2,则可以通过分组密码(Counter with CBC-MAC,CCM)算法、高级加密标准(advanced encryption standard,AES)算法、或者AES-GMAC-128算法将待发送数据的全部或者部分数据转换为密文,并填充于Payload内。
通常,AES-GCM-128算法可以同时输出完整性校验码和密文,AES-GCM-128算法可以表示为:(C,T)=AES-GCM-128(K,IV,A,P)。
其中:
K为预置的密钥或者派生密钥,派生密钥为对设置的密钥进行派生得到。
IV为32-bit防重放计数器。
A:如果不加密,则A为净荷,若加密,则A为从SOME/IP首部中的第一bit至UTC(coordinated universal time)之间的数据。
P:如果不加密,则P为空,若加密,则数据可以从SOME/IP首部中取UTC至完整性校验码(MIC)之间的数据,即净荷段。
C为密文,即封装报文中的净荷部分。
T为128位的消息验证码(message authentication code,MAC),前述的MIC取128位MAC中的任意32位,如高32位或者低32位等。
此外,若车辆的硬件设备支持AES算法,则在使用AES-GCM-128算法进行加密或者添加完整性校验码时,可以调用硬件进行加速,提高计算效率。
并且,AES算法的计算速度快,及时计算能力弱的ECU也可以无时延地处理报文,提高车辆内的报文的计算速度,提高车辆内的数据传输效率,使车辆内的数据可以得到快速传输,进而提高车辆的行车安全性。
504、第一ECU向第二ECU发送封装报文。
在第一ECU对待发送数据按照匹配的保护策略进行封装,得到封装之后,第一ECU即可通过有线网想第二ECU发送该封装报文。
505、第二ECU获取封装报文对应的保护策略。
其中,在第二ECU接收到封装报文之后,确定该封装报文的保护策略,根据该保护策略来确定如何对该封装报文进行解析。
具体地,该封装报文中可以携带保护策略的标识,如前述图6中的数据安全类型。因此,第二ECU可以直接从该封装报文的APP首部读取到保护策略的标识,并根据该标识确定对应的保护策略。
示例性地,该保护策略可以包括但不限于以下一项或者多项策略:无保护,防重放攻击保护,完整性保护或机密性保护等。每项策略的具体内容可以参阅前述步骤502中的相关描述,此处不再赘述。
在一种可能的实施方式中,封装报文中可以携带产生该封装报文所包括的数据ECU的标识或者该封装报文所包括的数据的类型的标识,第二设备可以根据产生该封装报文所包括的数据ECU的标识或者该封装报文所包括的数据的类型的标识来确定对应的保护策略。具体的确定方式与前述步骤502中的相关描述类似,此处不再赘述。
506、第二ECU根据保护策略对封装报文进行解析,得到解析结果。
其中,若封装报文对应的保护策略为不保护,则第二ECU可以直接读取封装报文的净荷,得到解析结果。
若封装报文对应的保护策略中包括了防重放攻击保护,则封装报文的报头中包括防重放计数器的值,第二ECU可以读取该防重放计数器的值,与本地的防重放计数器的值进行对比,若封装报文中的防重放计数器的值不大于本地防重放计数器的值,则丢该封装报文,否则继续对该封装报文进行解析。
若封装报文对应的保护策略中包括完整性保护,则封装报文中包括了完整性校验码,第二ECU可以根据该完整性校验码对封装报文的净荷进行校验,若校验通过,且未进行加密,在可以直接读取该封装报文中的净荷,得到解析结果;若校验通过,且进行了加密,则可以继续对该封装报文的净荷进行解密。
若封装报文对应的保护策略包括了解密,则可以通过预先设定的算法,对封装报文的净荷进行解密,得到明文,即解析结果。
需要说明的是,对封装报文进行完整性校验和解密可以是同时进行的,也可以是分别进行的,若分别进行,则可以先进行解密,也可以先进行完整性校验,其执行顺序与第一ECU封装时进行加密和计算完整性校验的顺序相关,具体可以根据实际应用场景确定,本申请对此不作限定。
示例性地,继续参阅前述图6,以图6中所示的封装报文的结构进行示例性说明。
当SecTag=0,则不对封装报文进行校验,也不进行解密。此外,当SecTag=0时,封装报文中所携带的防重放计数器、MIC等与保护策略相关的bit位可以复用为其他数据,从而提高资源的利用率。
若SecTag=1或2,则读取PN的值,若小于本地PN的值,则丢弃该报文,若不小于本地PN的值,则继续下一步解析。
若SecTag=1,则利用封装报文中携带的完整性校验码对净荷进行校验,若校验通过,则读取该净荷,得到解析结果。
若SecTag=2,出了对净荷进行完整性校验,还对净荷进行解密,得到明文,即解析结果。
例如,以AES-GCM-128算法为例,可以使用AES-GCM-128算法仅进行完整性校验,也可以使用AES-GCM-128算法同时进行完整性校验和解密。AES-GCM-128算法可以表示为:
P or Fail=AES-GCM-128(K,IV,C,A,T)。
K为预置的密钥或者派生密钥,派生密钥为对设置的密钥进行派生得到。
IV为32-bit防重放计数器。
A:如果不加密,则A为净荷,若加密,则A为从SOME/IP首部中的第一bit至UTC(coordinated universal time)之间的数据。
T为128位的消息验证码(message authentication code,MAC),MIC取128位MAC中的任意32位,如高32位或者低32位等。
当校验和解密成功时,即可输出明文P,当校验和解析失败时,即返回Fail,表示解析失败或者校验未通过。
因此,在本申请实施方式中,第一ECU可以从多种保护策略中选择与待发送数据匹配的保护策略,可以根据保护策略的重要程度来选择合适的保护策略。该多种保护策略中可以包括计算量不同的保护策略,当待发送数据的重要程度越高时,所选择的保护策略的计算量通常也就越高,当待发送数据的重要程度越低时,所选择的保护策略的计算量通常也就越低,使重要程度高的数据可以更高程度的被保护,并减少针对重要程度低的数据进行保护的计算量,从而使车辆内的ECU的计算资源可以得到更有效的利用。相应地,第二ECU针对重要程度越高的封装报文,解析所耗费的计算量也就越高,而针对重要程度越低的封装报文,解析所耗费的计算量也就越低,从而可以均衡车辆内的ECU的计算资源,提高计算资源的有效利用率,使重要的报文可以安全、稳定以及高效地传输。
前述对本申请提供的数据传输的方法的流程进行了详细介绍,下面基于前述的方法,对本申请提供的装置进行详细介绍。
首先,参阅图7,本申请提供一种ECU的结构示意图,该ECU用于执行前述由第一ECU执行的步骤,以下将图7所示的本申请提供的一种ECU称为第一ECU。该第一ECU应用于车辆,车辆中包括多个电子控制单元ECU,第一ECU和第二ECU为多个ECU中的任意两个ECU,多个ECU之间通过以太网连接,第一ECU包括:
获取模块701,用于获取待发送数据;
确定模块702,用于从多种保护策略中确定与待发送数据对应的保护策略,多种保护策略包括针对待发送数据的多种不同的封装方式,多种保护策略中包括针对待发送数据的计算量不同的至少两种保护策略;
封装模块703,用于根据待发送数据对应的保护策略对待发送数据进行封装,得到封装报文;
收发模块704,用于向第二ECU发送封装报文。
在一种可能的实施方式中,确定模块702,具体用于根据待发送数据中包括的标识,从多种保护策略中确定与待发送数据对应的保护策略,待发送数据中包括的标识包括产生待发送数据的ECU的标识或者待发送数据的数据类型的标识。
在一种可能的实施方式中,若待发送数据中包括的标识包括产生待发送数据的ECU的标识,确定模块702,具体用于:根据标识以及映射关系确定待发送数据的安全等级,映射关系包括了车辆内的ECU的标识和安全等级之间的关系,车辆内的每个ECU对应的安全等级是根据车辆内的ECU类型确定;根据安全等级从多种保护策略中确定与待发送数据对应的保护策略。
在一种可能的实施方式中,封装报文中包括待发送数据对应的保护策略的标识,保护策略的标识用于第二ECU确定对封装报文的解析方式。
在一种可能的实施方式中,至少两种保护策略中的每种保护策略包括以下一项或者多项策略:无保护,防重放攻击保护,完整性保护或机密性保护,无保护表示对待发送数据不进行保护,防重放攻击保护表示对待发送数据进行针对重放攻击的保护,完整性保护表示在针对待发送数据生成完整性校验码,完整性校验码用于第二ECU校验封装报文是否完整,机密性保护表示对待发送数据进行加密处理。
在一种可能的实施方式中,若待发送数据对应的保护策略包括防重放攻击保护,则封装报文中携带防重放计数器,防重放计数器的值在第一ECU每向第二ECU发送一帧报文之后改变,以使第二ECU在防重放计数器的值不在预设范围内时丢弃封装报文;
若待发送数据对应的保护策略包括完整性保护,则封装报文中包括完整性校验码,完整性校验码用于第二ECU校验对封装报文解析得到的数据是否完整;
若待发送数据对应的保护策略包括机密性保护,则封装报文中的净荷包括密文,密文为使用预设的加密算法对待发送数据进行加密得到。
在一种可能的实施方式中,封装报文为SOME/IP报文。
参阅图8,本申请提供的另一种ECU的结构示意图,该ECU可以用于执行前述方法中由第二ECU执行的步骤,以下将图8所示的本申请提供的另一种ECU称为第二ECU。该第二ECU应用于车辆中,该车辆内包括了多个ECU,第一ECU和第二ECU是该多个ECU中的任意两个。该第二ECU可以包括:
收发模块801,用于接收第一ECU发送的封装报文;
获取模块802,用于获取封装报文对应的保护策略,封装报文对应的保护策略包括第一ECU得到封装报文的封装方式;
解析模块803,用于根据保护策略对封装报文进行解析,得到解析结果。
在一种可能的实施方式中,封装报文对应的保护策略包括以下一项或者多项策略:无保护,防重放攻击保护,完整性保护或机密性保护,无保护表示对待发送数据不进行保护,防重放攻击保护表示对待发送数据进行针对防重放攻击的保护,完整性保护表示在封装报文中添加完整性校验码,完整性校验码用于在对封装报文进行解析时,校验解析得到的数据是否完整,机密性保护表示对待发送数据进行加密处理。
在一种可能的实施方式中,若封装报文对应的保护策略中包括防重放攻击保护,则封装报文的报头中包括防重放计数器的值;解析模块803,还用于若封装包括中包括的防重放计数器的值不在预设范围内,则丢弃封装报文。
在一种可能的实施方式中,若封装报文对应的保护策略包括完整性保护,则封装报文中包括完整性校验码;解析模块803,还用于结合完整性校验码确定解析结果是否完整;若解析结果不完整,则丢弃解析结果。
在一种可能的实施方式中,若待发送数据对应的保护策略包括机密性保护,解析模块803,具体用于结合预设的解密算法,对封装报文所包括的净荷进行解密,得到解析结果。
在一种可能的实施方式中,封装报文中包括待封装报文对应的保护策略的标识,以使获取模块可以根据该标识识别出封装报文对应的保护策略。
请参阅图9,本申请提供的另一种ECU的结构示意图,如下所述。
该ECU可以包括处理器901、收发器903和存储器902。该处理器901、收发器903和存储器902通过线路互联。其中,存储器902中存储有程序指令和数据。
存储器902中存储了前述图5中的步骤对应的程序指令以及数据。
处理器901用于执行前述图5中任一实施例所示的第一ECU或者第二ECU执行的方法步骤。
该ECU还可以包括收发器903,用于接收或者发送数据。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于生成车辆行驶速度的程序,当其在计算机上行驶时,使得计算机执行如前述图5所示实施例描述的方法中第一ECU或者第二ECU执行的步骤。
可选地,前述的图9中所示的ECU为芯片。
本申请实施例还提供一种数据传输系统,该数据传输系统中包括至少一个ECU,该至少一个ECU可以用于执行前述图5中任意实施例中第一ECU或者第二ECU执行的方法步骤。
本申请实施例还提供一种车辆,该车辆中包括至少一个ECU,该至少一个ECU可以用于执行前述图5中任意实施例中第一ECU或者第二ECU执行的方法步骤。
本申请实施例还提供了一种ECU,该ECU也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行前述图5中任一实施例所示的第一ECU或者第二ECU执行的方法步骤。
本申请实施例还提供了一种ECU,该ECU也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行前述图5中任一实施例所示的第一ECU或者第二ECU执行的方法步骤。
本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器901,或者处理器901的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中第一ECU或者第二ECU执行的动作。
本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器901,或者处理器901的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中第一ECU或者第二ECU执行的动作。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上行驶时,使得计算机执行如前述图5所示实施例描述的方法中第一ECU或者第二ECU所执行的步骤。
本申请实施例提供的ECU可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图5所示实施例描述的数据传输方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体地,前述的处理单元或者处理器可以是中央处理器(central processingunit,CPU)、网络处理器(neural-network processing unit,NPU)、图形处理器(graphicsprocessing unit,GPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
Claims (22)
1.一种数据传输方法,其特征在于,第一ECU和第二ECU为同一车辆内的多个ECU中的任意两个ECU,所述方法包括:
所述第一ECU获取待发送数据;
所述第一ECU从多种保护策略中确定与所述待发送数据对应的保护策略,所述多种保护策略包括针对所述待发送数据的多种不同的封装方式,所述多种保护策略中包括对所述待发送数据进行处理的计算量不同的至少两种保护策略;
所述第一ECU根据所述待发送数据对应的保护策略对所述待发送数据进行封装,得到封装报文;
所述第一ECU向所述第二ECU发送所述封装报文。
2.根据权利要求1所述的方法,其特征在于,所述第一ECU从多种保护策略中确定与所述待发送数据对应的保护策略,包括:
所述第一ECU根据所述待发送数据中包括的标识,从多种保护策略中确定与所述待发送数据对应的保护策略,所述待发送数据中包括的标识包括产生所述待发送数据的ECU的标识或者所述待发送数据的数据类型的标识。
3.根据权利要求2所述的方法,其特征在于,若所述待发送数据中包括的标识包括产生所述待发送数据的ECU的标识,所述第一ECU根据所述待发送数据中包括的标识,从多种保护策略中确定与所述待发送数据对应的保护策略,包括:
所述第一ECU根据所述标识以及映射关系确定所述待发送数据的安全等级,所述映射关系包括了所述车辆内的ECU的标识和安全等级之间的关系,所述车辆内的每个ECU对应的安全等级是根据所述车辆内的ECU类型确定;
所述第一ECU根据所述安全等级从所述多种保护策略中确定与所述待发送数据对应的保护策略。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述封装报文中包括所述待发送数据对应的保护策略的标识,所述待发送数据对应的保护策略的标识用于所述第二ECU识别出待发送数据对应的保护策略。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述至少两种保护策略中的每种保护策略包括以下一项或者多项策略:
无保护,防重放攻击保护,完整性保护或机密性保护,所述无保护表示对所述待发送数据不进行保护,所述防重放攻击保护表示对所述待发送数据进行针对重放攻击的保护,所述完整性保护表示在针对所述待发送数据生成完整性校验码,所述完整性校验码用于所述第二ECU校验所述封装报文是否完整,所述机密性保护表示对所述待发送数据进行加密处理。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述封装报文为SOME/IP报文。
7.一种数据传输方法,其特征在于,第一ECU和第二ECU为同一车辆中的多个ECU中的任意两个ECU,所述方法包括:
所述第二ECU接收所述第一ECU发送的封装报文;
所述第二ECU获取所述封装报文对应的保护策略,所述封装报文对应的保护策略包括所述第一ECU得到所述封装报文的封装方式;
所述第二ECU根据所述保护策略对所述封装报文进行解析,得到解析结果。
8.根据权利要求7所述的方法,其特征在于,所述封装报文对应的保护策略包括以下一项或者多项策略:无保护,防重放攻击保护,完整性保护或机密性保护,所述无保护表示对所述待发送数据不进行保护,所述防重放攻击保护表示对所述待发送数据进行针对防重放攻击的保护,所述完整性保护表示在所述封装报文中添加完整性校验码,所述完整性校验码用于在对所述封装报文进行解析时,校验解析得到的数据是否完整,所述机密性保护表示对所述待发送数据进行加密处理。
9.根据权利要求7或8所述的方法,其特征在于,所述封装报文中包括所述封装报文对应的保护策略的标识,所述封装报文对应的保护策略的标识用于所述第二ECU识别出所述封装报文对应的保护策略。
10.一种第一ECU,其特征在于,应用于车辆,所述车辆中包括多个电子控制单元ECU,所述第一ECU和第二ECU为所述多个ECU中的任意两个ECU,所述多个ECU之间通过以太网连接,所述第一ECU包括:
获取模块,用于获取待发送数据;
确定模块,用于从多种保护策略中确定与所述待发送数据对应的保护策略,所述多种保护策略包括针对所述待发送数据的多种不同的封装方式,所述多种保护策略中包括对所述待发送数据进行处理的计算量不同的至少两种保护策略;
封装模块,用于根据所述待发送数据对应的保护策略对所述待发送数据进行封装,得到封装报文;
收发模块,用于向所述第二ECU发送所述封装报文。
11.根据权利要求10所述的第一ECU,其特征在于,
所述确定模块,具体用于根据所述待发送数据中包括的标识,从多种保护策略中确定与所述待发送数据对应的保护策略,所述待发送数据中包括的标识包括产生所述待发送数据的ECU的标识或者所述待发送数据的数据类型的标识。
12.根据权利要求11所述的第一ECU,其特征在于,若所述待发送数据中包括的标识包括产生所述待发送数据的ECU的标识,所述确定模块,具体用于:
根据所述标识以及映射关系确定所述待发送数据的安全等级,所述映射关系包括了所述车辆内的ECU的标识和安全等级之间的关系,所述车辆内的每个ECU对应的安全等级是根据所述车辆内的ECU类型确定;
根据所述安全等级从所述多种保护策略中确定与所述待发送数据对应的保护策略。
13.根据权利要求10-12中任一项所述的第一ECU,其特征在于,所述封装报文中包括所述待发送数据对应的保护策略的标识,所述保护策略的标识用于所述第二ECU确定对所述封装报文的解析方式。
14.根据权利要求10-13中任一项所述的第一ECU,其特征在于,所述至少两种保护策略中的每种保护策略包括以下一项或者多项策略:
无保护,防重放攻击保护,完整性保护或机密性保护,所述无保护表示对所述待发送数据不进行保护,所述防重放攻击保护表示对所述待发送数据进行针对重放攻击的保护,所述完整性保护表示在针对所述待发送数据生成完整性校验码,所述完整性校验码用于所述第二ECU校验所述封装报文是否完整,所述机密性保护表示对所述待发送数据进行加密处理。
15.根据权利要求10-14中任一项所述的第一ECU,其特征在于,所述封装报文为SOME/IP报文。
16.一种第二ECU,其特征在于,应用于车辆,所述车辆中包括多个电子控制单元ECU,第一ECU和第二ECU为所述多个ECU中的任意两个ECU,所述多个ECU之间通过以太网连接,所述第二ECU包括:
收发模块,用于接收所述第一ECU发送的封装报文;
获取模块,用于获取所述封装报文对应的保护策略,所述封装报文对应的保护策略包括所述第一ECU得到所述封装报文的封装方式;
解析模块,用于根据所述保护策略对所述封装报文进行解析,得到解析结果。
17.根据权利要求16所述的第二ECU,其特征在于,所述封装报文对应的保护策略包括以下一项或者多项策略:
无保护,防重放攻击保护,完整性保护或机密性保护,所述无保护表示对所述待发送数据不进行保护,所述防重放攻击保护表示对所述待发送数据进行针对防重放攻击的保护,所述完整性保护表示在所述封装报文中添加完整性校验码,所述完整性校验码用于在对所述封装报文进行解析时,校验解析得到的数据是否完整,所述机密性保护表示对所述待发送数据进行加密处理。
18.根据权利要求16或17所述的第二ECU,其特征在于,所述封装报文中包括所述待发送数据对应的保护策略的标识。
19.一种ECU,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1-6或者7-9中任一项所述的方法。
20.一种计算机可读存储介质,包括程序,当其被处理单元所执行时,执行如权利要求1-6或者7-9中任一项所述的方法。
21.一种车辆,其特征在于,所述车辆包括至少一个ECU,所述至少一个ECU;
所述至少一个ECU用于执行如权利要求1-6或者7-9中任一项所述的方法。
22.一种数据传输系统,其特征在于,所述数据传输系统包括至少一个ECU,所述至少一个ECU用于执行如权利要求1-6或者7-9中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/112114 WO2022041122A1 (zh) | 2020-08-28 | 2020-08-28 | 一种数据传输方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112602303A true CN112602303A (zh) | 2021-04-02 |
Family
ID=75208101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080004586.2A Pending CN112602303A (zh) | 2020-08-28 | 2020-08-28 | 一种数据传输方法以及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230067338A1 (zh) |
EP (1) | EP4099591A4 (zh) |
CN (1) | CN112602303A (zh) |
WO (1) | WO2022041122A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359680A (zh) * | 2021-06-28 | 2021-09-07 | 潍柴动力股份有限公司 | 一种数据采集方法及车载终端 |
CN114374556A (zh) * | 2022-01-07 | 2022-04-19 | 苏州挚途科技有限公司 | 车辆的通信网络安全管理方法、装置及电子设备 |
WO2022230496A1 (ja) * | 2021-04-30 | 2022-11-03 | 株式会社オートネットワーク技術研究所 | 車載通信システム、中継装置および中継方法 |
CN116781450A (zh) * | 2023-08-23 | 2023-09-19 | 长沙普洛电气设备有限公司 | 基于can总线的通信方法及相关装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4208992A1 (en) * | 2020-09-03 | 2023-07-12 | Marvell Asia Pte, Ltd. | Safety extension for precision time protocol (ptp) |
CN115001873A (zh) * | 2022-08-04 | 2022-09-02 | 国汽智控(北京)科技有限公司 | 车辆数据保护方法、装置及存储介质 |
US11956188B1 (en) * | 2022-12-13 | 2024-04-09 | Infineon Technologies Ag | Security aware routing in an in-vehicle communication network |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965218A (zh) * | 2017-05-25 | 2018-12-07 | 华为技术有限公司 | 一种控制器区域网总线安全通信方法、装置及系统 |
CN109672538A (zh) * | 2019-02-13 | 2019-04-23 | 北京仁信证科技有限公司 | 一种轻量级车载总线安全通信方法及安全通信系统 |
EP3547191A1 (en) * | 2018-03-30 | 2019-10-02 | AO Kaspersky Lab | System and method of generating rules for blocking a computer attack on a vehicle |
CN110377002A (zh) * | 2019-06-06 | 2019-10-25 | 西安电子科技大学 | 一种自适应的车内can总线安全控制方法及系统 |
CN110635893A (zh) * | 2019-09-21 | 2019-12-31 | 吉林大学 | 一种车载以太网信息安全防护方法 |
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112019003520A2 (pt) * | 2016-09-23 | 2019-05-21 | Apple Inc. | comunicação segura de tráfego de rede |
CN106549940B (zh) * | 2016-10-13 | 2019-11-26 | 北京奇虎科技有限公司 | 车辆数据传输方法及系统 |
US10630481B2 (en) * | 2016-11-07 | 2020-04-21 | Ford Global Technologies, Llc | Controller area network message authentication |
WO2018214487A1 (zh) * | 2017-05-25 | 2018-11-29 | 华为技术有限公司 | 一种控制器区域网总线安全通信方法、装置及系统 |
US10009325B1 (en) * | 2017-12-07 | 2018-06-26 | Karamba Security | End-to-end communication security |
US10791125B2 (en) * | 2018-01-03 | 2020-09-29 | Ford Global Technologies, Llc | End-to-end controller protection and message authentication |
CN108989024B (zh) * | 2018-06-29 | 2023-04-14 | 百度在线网络技术(北京)有限公司 | 控制ecu间通信的方法、装置、设备以及相应车辆 |
-
2020
- 2020-08-28 WO PCT/CN2020/112114 patent/WO2022041122A1/zh unknown
- 2020-08-28 EP EP20950792.0A patent/EP4099591A4/en active Pending
- 2020-08-28 CN CN202080004586.2A patent/CN112602303A/zh active Pending
-
2022
- 2022-10-26 US US17/973,767 patent/US20230067338A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965218A (zh) * | 2017-05-25 | 2018-12-07 | 华为技术有限公司 | 一种控制器区域网总线安全通信方法、装置及系统 |
EP3547191A1 (en) * | 2018-03-30 | 2019-10-02 | AO Kaspersky Lab | System and method of generating rules for blocking a computer attack on a vehicle |
CN109672538A (zh) * | 2019-02-13 | 2019-04-23 | 北京仁信证科技有限公司 | 一种轻量级车载总线安全通信方法及安全通信系统 |
CN110377002A (zh) * | 2019-06-06 | 2019-10-25 | 西安电子科技大学 | 一种自适应的车内can总线安全控制方法及系统 |
CN110635893A (zh) * | 2019-09-21 | 2019-12-31 | 吉林大学 | 一种车载以太网信息安全防护方法 |
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022230496A1 (ja) * | 2021-04-30 | 2022-11-03 | 株式会社オートネットワーク技術研究所 | 車載通信システム、中継装置および中継方法 |
CN113359680A (zh) * | 2021-06-28 | 2021-09-07 | 潍柴动力股份有限公司 | 一种数据采集方法及车载终端 |
CN114374556A (zh) * | 2022-01-07 | 2022-04-19 | 苏州挚途科技有限公司 | 车辆的通信网络安全管理方法、装置及电子设备 |
CN116781450A (zh) * | 2023-08-23 | 2023-09-19 | 长沙普洛电气设备有限公司 | 基于can总线的通信方法及相关装置 |
CN116781450B (zh) * | 2023-08-23 | 2023-10-27 | 长沙普洛电气设备有限公司 | 基于can总线的通信方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4099591A4 (en) | 2023-05-10 |
EP4099591A1 (en) | 2022-12-07 |
WO2022041122A1 (zh) | 2022-03-03 |
US20230067338A1 (en) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022041122A1 (zh) | 一种数据传输方法以及装置 | |
WO2019142458A1 (ja) | 車両監視装置、不正検知サーバ、および、制御方法 | |
US20190187971A1 (en) | Method and system for providing secure over-the-air vehicle updates | |
US10530816B2 (en) | Method for detecting the use of unauthorized security credentials in connected vehicles | |
US10209981B2 (en) | Structure for updating software in remote device | |
US20190378355A1 (en) | Remote vehicle electronics configuration | |
US10185323B2 (en) | System and method to reduce vehicle resource depletion risk | |
US20230421571A1 (en) | Method for obtaining file based on over-the-air ota technology and related device | |
EP4346187A1 (en) | Ota upgrade method and device, and computer-readable storage medium | |
WO2020203022A1 (ja) | 自動車用演算システム及び受信データの処理方法 | |
CN112655184B (zh) | 一种安全保护方法、装置、智能汽车以及存储介质 | |
US20230034996A1 (en) | Data verification method and apparatus | |
JP2019036862A (ja) | サーバ装置、記録方法、およびプログラム、並びに情報処理装置 | |
US20220158843A1 (en) | Diagnostic over ip authentication | |
US10812469B2 (en) | Secure vehicle communication interface device | |
WO2022134965A1 (zh) | 一种算力资源的配置方法及设备 | |
CN113132074B (zh) | 信息传输方法、通信设备与系统、计算机可读存储介质 | |
CN112956156B (zh) | 一种证书申请方法及装置 | |
CN114827108B (zh) | 车辆升级方法、装置、存储介质、芯片及车辆 | |
WO2024032438A1 (zh) | 车辆安全访问方法、系统及相关装置 | |
CN117707818A (zh) | 故障日志存储方法、装置及系统 | |
WO2022239319A1 (ja) | 通信装置、通信方法、及び、車両 | |
US20230186692A1 (en) | Device registration and certificate management for autonomous vehicles | |
CN116546047A (zh) | 车联网系统架构和车辆 | |
CN116136913A (zh) | 一种服务发现方法、装置、计算设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210402 |