CN112134702B - 车内网安全通信发送、接收方法及装置 - Google Patents
车内网安全通信发送、接收方法及装置 Download PDFInfo
- Publication number
- CN112134702B CN112134702B CN202011178947.3A CN202011178947A CN112134702B CN 112134702 B CN112134702 B CN 112134702B CN 202011178947 A CN202011178947 A CN 202011178947A CN 112134702 B CN112134702 B CN 112134702B
- Authority
- CN
- China
- Prior art keywords
- value
- authentication code
- fresh
- cutting
- message authentication
- 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.)
- Active
Links
- 230000006854 communication Effects 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title claims abstract description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 51
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009467 reduction Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 abstract description 3
- 239000013589 supplement Substances 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- 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/40—Bus networks
-
- 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
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- 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/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Power Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种车内网安全通信发送、接收方法及装置,所述方法中,发送端根据原始报文数据和新鲜值生成消息认证码并进行裁剪得到消息认证码裁剪值,基于CAN ID和新鲜值生成的嵌入位置将消息认证码裁剪值嵌入原始报文数据后与新鲜值裁剪值拼接得到待发送的消息包。接收端在消息包中提取新鲜值裁剪值,并根据接收端记载的上一消息的第一新鲜值和接收端计数器的第二新鲜值补齐新鲜值裁剪值得到完整新鲜值,根据新鲜值与CAN ID计算得到嵌入位置并提取得到第一消息认证码裁剪值和原始报文数据,根据原始报文数据和新鲜值计算消息认证码并裁剪得到第二裁剪值用于对比验证消息合法性。本方法能够有效防止消息认证码裁剪值被暴力破解,并防止重放攻击的威胁。
Description
技术领域
本发明涉及车内网通信技术领域,尤其涉及一种车内网安全通信发送、接收方法及装置。
背景技术
随着技术发展,汽车作为通行工具逐渐智能化以满足更多的使用需求。为了实现例如自动驾驶、自动泊车、车道偏离警示等更多的功能,车辆通过建立车内网,对车辆的各个处理设备、传感器设备进行连接通信,协调各设备工作以实现特定的功能。
汽车电子的发展及整车功能复杂性的提高,使车载控制器数量从之前的寥寥几个增加至规模复杂的上百个。基于功能的需求,各个控制器每时每刻需要进行大量数据的交互,数据交互的方式也多种多样,比如Lin总线、CAN总线、CANFD、Flex Ray、车载Ethernet等。
但在目前的车载网络中,大部分数据传输都是在没任何安全措施的情况下进行的,即使有安全措施也大都非常简陋。因此在绝大多数情况下,控制器基本以原始数据的形式进行数据交互。即使接收节点能对数据进行合理性检查,这些措施对数据可靠性的提升也是有限的。接收节点无法验证数据来自于期望的发送节点还是其他节点,即无法验证数据是否真实。同时,总线上传输的数据也是可以自由访问的,因此可以通过分析总线上传输的原始数据来反推得到其表示的内容,这样的数据传输既不进行保密也不进行认证。例如应用最广的CAN通讯设计之初是没有考虑过信息安全问题的。其明文传输、报文广播传输、极少网络分段等特性,让进入整车网络的黑客轻松便可以伪造报文对车辆进行控制。
发明内容
本发明实施例提供了一种车内网安全通信发送、接收方法及装置,用于增强车内网通信安全性,防止包括重放攻击等形式的网路威胁。
本发明的技术方案如下:
一方面,本发明提供一种车内网安全通信发送方法,包括:
获取原始报文数据以及所述原始报文数据对应的CAN ID和新鲜值;
将所述原始报文数据和所述新鲜值拼接后通过设定加密算法计算生成消息认证码,将所述消息认证码按照第一裁剪算法裁剪为第一设定长度的消息认证码裁剪值;
将所述新鲜值裁按照第二裁剪算法剪为第二设定长度的新鲜值裁剪值;
将所述CAN ID和所述新鲜值作为参数通过嵌入位置生成算法计算得到所述消息认证码裁剪值的嵌入位置;
将所述消息认证码裁剪值按照所述嵌入位置嵌入到原始报文数据后,拼接所述新鲜值裁剪值形成消息包,以发送至CAN总线用于通信。
在一些实施例中,所述新鲜值是基于单调计数器产生的。
在一些实施例中,在SecOC板端加密通讯架构下,所述原始报文数据为6个字节,第一设定长度为1个字节,第二设定长度为1个字节。
在一些实施例中,将所述CAN ID和所述新鲜值作为参数通过嵌入位置生成算法计算得到所述消息认证码裁剪值的嵌入位置,包括:
将所述CAN ID和所述新鲜值进行拼接后划分为8个长度相等且互斥的子集;
将其中一个子集与其余子集分别做按位与运算,将得到的8个运算结果分别映射得到1~56范围内8个互不相同的数值,以作为所述消息认证码裁剪值中8个位对应的嵌入位置。
在一些实施例中,将得到的8个运算结果分别映射得到1~56范围内8个互不相同的数值,以作为所述消息认证码裁剪值中8个位对应的嵌入位置,包括:
将8个运算结果分别对数值56取余数得到8个所述嵌入位置,若存在任意两个嵌入位置一致,则将其中一个嵌入位置对应的运算结果加上一个按设定规则产生的数值后重新对数值56取余数进行修正。
另一方面,本发明还提供一种车内网安全通信接收方法,包括:
接收信息包,提取所述信息包中记载的新鲜值裁剪值,利用设定还原算法根据所述新鲜值裁剪值以及接收端记载的新鲜值参数还原得到完整新鲜值;所述信息包包括嵌入第一消息认证码裁剪值的原始报文数据,以及所述新鲜值裁剪值;所述新鲜值参数包括上一次接收到的信息包的第一新鲜值以及所述接收端计数器产生的第二新鲜值;
获取所述信息包对应的CAN ID,将所述CAN ID和所述完整新鲜值作为参数通过嵌入位置生成算法计算得到消息认证码裁剪值的嵌入位置;
根据所述嵌入位置从所述信息包中提取所述第一消息认证码裁剪值和所述原始报文数据;
将所述原始报文数据和所述完整新鲜值拼接并通过设定加密算法计算生成消息认证码,将所述消息认证码按照第一裁剪算法裁剪为第一设定长度的第二消息认证码裁剪值;
对比所述第一消息认证码裁剪值和所述第二消息认证码裁剪值,若一致则判断所述消息包合法,若不一致则判断所述消息包不合法。
在一些实施例中,利用设定还原算法根据所述新鲜值裁剪值以及接收端记载的新鲜值参数还原得到完整新鲜值,包括:
根据所述第一新鲜值与所述第二新鲜值中的字段按照所述设定还原算法补齐所述新鲜值裁剪值得到所述完整新鲜值。
在一些实施例中,对比所述第一消息认证码裁剪值和所述第二消息认证码裁剪值之后,还包括:
若不一致则判断所述消息包不合法并生成警示信息。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的有益效果至少是:
本发明所述车内网安全通信发送、接收方法及装置中,所述方法通过对所述消息认证码进行裁剪,能够适应车内网通信过程中对消息长度的限制。通过将裁剪得到的所述消息认证码裁剪值按照生成的嵌入位置隐藏在原始报文数据中,能够有效防止所述消息认证码裁剪值被暴力破解。同时,通过添加新鲜值参与嵌入位置的生成,对信息的时效进行验证,能够防止重放攻击的威胁。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述车内网安全通信发送方法的流程示意图;
图2为本发明一实施例所述车内网安全通信发送方法生成嵌入位置流程示意图;
图3为本发明一实施例所述车内网安全通信接收方法的流程示意图;
图4为本发明一实施例所述车内网安全通信发送方法中发送方处理逻辑示意图;
图5为本发明一实施例所述车内网安全通信接收方法中接收方处理逻辑示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
车联网(Internet of Vehicles)以车内网(车内局域网)、车际网(车与车)和车载互联网(车与以太网连接)为基础,按照约定的通讯协议和数据交互标准,在车与车、车与路、车与行人以及车与互联网等对象之间进行无线通讯和信息交换的系统网络,并最终实现智能交通、智能汽车、智能驾驶等功能。
随着车联网的高速化、智能化发展,车内网日渐承载了更多的使用需求和功能,智能网联汽车需要通过车机设备与车内网中的其他主体进行频繁地信息交互,在这种条件下,车辆对外接口面临着被远程攻击的威胁。
所以,加密通信(Cyber Security或Security Onboard Communication)近年来逐渐被推广以满足车内网数据加密和验证的需求,AUTOSAR组织补充了全称为SecureOnboard Communication(SecOC)的组件,为车载通讯总线引入了一套通信加密和验证的标准。
SecOC车内安全通信框架中,生成的信息校验码(MAC)需要连接到消息体后进行传输,由于目前车载CAN报文数据部分长度受限,需要对128位的MAC进行裁剪,然而过短的MAC容易收到暴力攻击,安全性较差。
本发明提供一种车内网安全通信发送方法,如图1所示,包括步骤S101~S105:
需要说明的是,本发明所述的步骤S101~S105并不是对步骤先后顺序的限定,应当理解为,在特定场景下,部分步骤可以并行或调换顺序。所述车内网安全通信发送方法用于设备在车内网内生成并发送消息,所述设备包括但不限于车载ECU(Electronic ControlUnit电子控制单元)、传感器、定位模块和执行器等。
步骤S101:获取原始报文数据以及原始报文数据对应的CAN ID和新鲜值。
步骤S102:将原始报文数据和新鲜值拼接后通过设定加密算法计算生成消息认证码,将消息认证码按照第一裁剪算法裁剪为第一设定长度的消息认证码裁剪值。
步骤S103:将新鲜值裁按照第二裁剪算法剪为第二设定长度的新鲜值裁剪值。
步骤S104:将CAN ID和新鲜值作为参数通过嵌入位置生成算法计算得到消息认证码裁剪值的嵌入位置。
步骤S105:将消息认证码裁剪值按照嵌入位置嵌入到原始报文数据后,拼接新鲜值裁剪值形成消息包,以发送至CAN总线用于通信。
在步骤S101中,连接车内网的设备在实现相应功能的过程中,会产生基于控制指令或传感器数据等内容生成的原始报文数据。在车内网中,消息通过总线进行广播,为了将消息发送至特定的接收对象,对每条消息都要配置相应的CAN ID(CAN总线内通信地址),连接车内网的设备仅接收一个或多个设定CAN ID的消息。新鲜值用于标记原始报文数据的时效特征,产生时间距离当前时刻最近的数据越新鲜,在一些实施例中,新鲜值是基于单调计数器产生的。新鲜值可以是按照时间顺序依次产生的单调递增的数据序列。新鲜值可以仅记录发生次序,例如1、2、3……;在一些实施例中,也可以分段记载时间作为新鲜值,如(年序号,月序号,日序号,时段序号,次序号),各序号采用二进制表达,其中,年序号用4位(bit)记载,月序号用4位(bit)记载,日序号用5位(bit)记载,时段序号用4位(bit)记载,次序号用10位(bit)记载。其中,年序号和月序号的4位可以记载二进制1~16,日序号的5位可以记载二进制1~32,时段序号的4位可以记载1~8,次序号的10位可以记载1~1024。例如新鲜值(0001,0010,01001,0111,0000000001)可以表示第1年第2个月第9天第7个时间段中的第1个消息包。
在步骤S102和步骤S103中,将拼接后的原始报文数据和新鲜值作为参数,利用设定加密算法生成消息认证码,用于验证可靠性。但在目前SecOC等架构中,CAN总线传输数据对数据长度有限制,通常方式产生的消息认证码过长,不适用于CAN总线传输。例如,采用HAMC算法(哈希运算消息认证码Hash-based Message Authentication Code)生成的消息认证码根据底层算法的差异,输出长度可以是128位、160位和256位,其数据长度过长不适用于在CAN总线中传输。因此,需要对消息认证码进行裁剪,具体地,可以按照设定算法将消息认证码裁剪为第一设定长度,得到消息认证码裁剪值。
同理,对新鲜值进行裁剪,以适应在CAN总线中的传输需求。具体地,在裁剪过程中,应当保留新鲜值中指示性较强以及变化频繁的量,例如,在利用单调递增的序数作为新鲜值时,可以保留变化较快最后几位数据以更好的体现新鲜值。参照前文所述的分段记载时间的方法,由于年序号、月序号变化较少可以不作记录,而日序号、时段序号或次序号变化相对较为频繁,可以记录日序号后两位、时段序号后两位以及次序号后四位,得到第二设定长度的新鲜值裁剪值。
在步骤S104中,由于消息认证码在裁剪之后数据较短,例如128位的消息认证码在裁剪后仅保留1字节即8位,过短的消息认证码裁剪值容易被暴力破解,安全性较差。因此,在记载过程中,并不直接记录在消息包中,而是通过分段隐藏的方式嵌入在原始报文数据中,由接收端提取后进行认证。具体的,嵌入位置基于根据原始报文数据对应的CAN ID和新鲜值动态生成,以提高安全性。
在步骤S105中,将消息认证码裁剪值按照嵌入位置嵌入到原始报文数据后,拼接新鲜值裁剪值形成消息包,使得接收端需要首先验证新鲜值裁剪值并还原得到完整的新鲜值,利用完整的新鲜值和CAN ID获取嵌入位置后,提取得到消息认证码裁剪值和原始报文数据,以用于认证,能够有效防止重放攻击,极大提高了安全性能。
在一些实施例中,在SecOC板端加密通讯架构下,最终生成的消息包仅包括8个字节,因此,令原始报文数据为6个字节,消息认证码裁剪值对应的第一设定长度为1个字节,新鲜值裁剪值对应的第二设定长度为1个字节。
在这种条件下,消息认证码裁剪值的1个字节包括8个位,原始报文数据6个字节包括48个位,合并后共7字节56个位,对每个消息认证码的位分别配置嵌入位置,也即将这8个位嵌入到最终的56个位中。
具体的,在步骤S104中,将CAN ID和新鲜值作为参数通过嵌入位置生成算法计算得到消息认证码裁剪值的嵌入位置,如图2所示,包括步骤S1041~S1042:
步骤S1041:将CAN ID和新鲜值进行拼接后划分为8个长度相等且互斥的子集。
步骤S1042:将其中一个子集与其余子集分别做按位与运算,将得到的8个运算结果分别映射得到1~56范围内8个互不相同的数值,以作为消息认证码裁剪值中8个位对应的嵌入位置。
在一些实施例中,由于排列最后的子集数值变化频繁,将该排列在最后的子集分别与其他子集进行按位与运算,能够使不同消息对应的嵌入位置相差最大,以获得更好的效果。
在一些实施例中,消息认证码裁剪值的8个位中若存在任意两个位配置的嵌入位置相同,则步骤S1042还包括:
将8个运算结果分别对数值56取余数得到8个所述嵌入位置,若存在任意两个嵌入位置一致,则将其中一个嵌入位置对应的运算结果加上一个按设定规则产生的数值后重新对数值56取余数进行修正。
该数值可以是在设定数列或数值矩阵中按照设定顺序依次提取的,也可以是通过设定算式计算得到的,这种产生方式能够保证该数值能够在接收端复现,以确保接收端能够通过计算得到相同的嵌入位置。例如,该数值是在数列1,2,3…55中依次提取的。
示例性的,生成嵌入位置的步骤如下:
连接完整新鲜值FV和CAN ID得到F,将F划分为8个长度相等的互斥子集,如果F长度不是8的倍数则通过补0使之长度为8的倍数,可表示为:
F=f1∪f2∪f3∪f4∪f5∪f6∪f7∪f8 (1)
依次求Di,Di为消息认证码裁剪值第i个bit的嵌入位置,表示为:
Di=H(fi)=(fi&f8) mod 56,i=1,2,…,8; (2)
其中,&表示按位与运算,mod表示求余数;
若存在Di=Dj,i≠j,i=1,2,…,8,j=1,2,…,8,则使用如下方法处理冲突:
Di=(Di+d)mod 56 (3)
其中,d=1,2,…,55,d在1~55中依次提取数值进行运算,直到Di≠Dj。
另一方面,本发明还提供一种车内网安全通信接收方法,如图3所示,包括步骤S201~S205:
需要说明的是,本发明所述的步骤S201~S205并不是对步骤先后顺序的限定,应当理解为,在特定场景下,部分步骤可以并行或调换顺序。所述车内网安全通信接收方法用于设备在车内网内接收验证消息,所述设备包括但不限于车载ECU(Electronic ControlUnit电子控制单元)、传感器、定位模块和执行器等。
步骤S201:接收信息包,提取信息包中记载的新鲜值裁剪值,利用设定还原算法根据新鲜值裁剪值以及接收端记载的新鲜值参数还原得到完整新鲜值;信息包包括嵌入第一消息认证码裁剪值的原始报文数据,以及新鲜值裁剪值;新鲜值参数包括上一次接收到的信息包的第一新鲜值以及所述接收端计数器产生的第二新鲜值。
步骤S202:获取信息包对应的CAN ID,将CAN ID和完整新鲜值作为参数通过嵌入位置生成算法计算得到消息认证码裁剪值的嵌入位置。
步骤S203:根据嵌入位置从信息包中提取第一消息认证码裁剪值和原始报文数据。
步骤S204:将原始报文数据和完整新鲜值拼接并通过设定加密算法计算生成消息认证码,将消息认证码按照第一裁剪算法裁剪为第一设定长度的第二消息认证码裁剪值。
步骤S205:对比第一消息认证码裁剪值和第二消息认证码裁剪值,若一致则判断消息包合法,若不一致则判断消息包不合法。
在步骤S201中,连接车内网的设备根据本身对应的CAN ID接收相应的信息包,与步骤S101~S105相对应的,消息包中包含嵌入有消息认证码裁剪值的原始报文数据,以及新鲜值裁剪值。由于消息认证码裁剪值的嵌入位置是基于CAN ID和新鲜值产生的,因此,需要首先对新鲜值裁剪值进行还原。
具体的,接收端的设备在运行过程中会不断更新记录上一次接收到信息包时解析得到的第一新鲜值,同时接收端的设备还根据新鲜值产生的规则不断生成第二新鲜值。
步骤S201中,即利用设定还原算法根据新鲜值裁剪值以及接收端记载的新鲜值参数还原得到完整新鲜值,包括:
根据第一新鲜值与第二新鲜值中的字段按照设定还原算法补齐新鲜值裁剪值得到完整新鲜值。
在正常通信过程中,接收到的消息包中记载的新鲜值裁剪值对应的时间应当在第一新鲜值之后。按照新鲜值形式的差异,消息包中记载的新鲜值裁剪值对应的时间应当在第二新鲜值之前或与第二新鲜值相同。
在同一套车内网系统中各设备产生新鲜值的方式相同,记载的格式也是相同的,两个设备通信过程中,一方接收到的信息包应当是连续的,其新鲜值应当是不断单调递进的,不会出现当前时刻新鲜值对应的时间早于第一新鲜值,也不会晚于第二新鲜值。由于将完整新鲜值裁剪得到新鲜值裁剪值的方式是确定的,则可以基于第一新鲜值和第二新鲜值按照设定还原算法补齐新鲜值裁剪值得到完整新鲜值。
示例性的,参照步骤S101中分段记载时间的方式,接收到的信息包中记载的新鲜值裁剪值记录了原新鲜值中日序号后两位、时段序号后两位以及次序号后四位得到(01,11,0011),接收端上一次接收到信息包对应的第一新鲜值以及接收端产生的第二新鲜值分别为:(0001,0010,01001,0111,0000000010),(0001,0010,01001,0111,0000000011)。可见,接收端当前接收到的新鲜值裁剪值在第一新鲜值之后,与第二新鲜值相应字段一致,则可以直接补齐该新鲜值裁剪值为(0001,0010,01001,0111,0000000011)。
在一些实施例中,还包括:将新鲜值裁剪值、第一新鲜值和第二新鲜值进行对比判断产生的先后次序,若接收端当前接收到的新鲜值裁剪值在第一新鲜值之前,则可以判断当前信息报违法并弃用。
在步骤S202和S203中,基于还原得到的完整新鲜值以及CAN ID,参照步骤S104利用嵌入位置生成算法计算得到原消息认证码裁剪值的嵌入位置,并提取得到第一消息认证码裁剪值和原始报文数据。
在步骤S204和S205中,基于分离获取的原始报文数据以及完整新鲜值,按照车内网内约定的设定加密算法计算生成信息认证码,并按照第一裁剪算法裁剪得到第二消息认证码裁剪值。需要强调的是,此处的设定加密算法和第一裁剪算法与发送端保持一致。通过对比第一消息认证码裁剪值和第二消息认证码裁剪值是否一致,就可以判断接收端接收到的信息报是否合法。
在本实施例中,接收端认证消息包合法性的过程包括3个步骤:还原新鲜值、计算嵌入位置以及判断消息认证码裁剪值一致性。其中,通过计算嵌入位置提取隐藏的消息认证码裁剪值,能够有效防止暴力破解的威胁;消息认证码裁剪值一致性判断,进行最终的身份认证,使各步骤连贯统一。
在一些实施例中,步骤S105之后,及对比第一消息认证码裁剪值和第二消息认证码裁剪值之后,还包括:
若第一消息认证码裁剪值和第二消息认证码裁剪值不一致则判断消息包不合法并生成警示信息。
本实施例中,通过在消息包认证不合法的情况下生成警示信息,以提示系统受到非法攻击。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
在一些实施例中,车内网中的设备在搭载SecOC组件后,设备间进行CAN通信的流程及通信报文内容发生改变,在6字节的原始报文数据中插入身份认证信息,并拼接新鲜值裁剪值。
如图4所示,发送方ECU处理流程包括:
1.发送方ECU获取6字节的原始报文数据及其对应的CAN ID。
2.获取原始报文数据对应的新鲜值。
3.将原始报文信息和新鲜值拼接后通过设定加密算法计算生成128位的消息认证码MAC,按照第一裁剪算法将MAC裁剪为1字节8位的MAC裁剪值。
4.将CAN ID、新鲜值作为MAC嵌入位置生成算法的参数,运行算法得到MAC中8个位的嵌入位置。
5.将MAC裁剪值嵌入到6字节的原始报文数据中。
6.按照第二裁剪算法将新鲜值裁剪得到1字节的新鲜值裁剪值,将嵌入MAC裁剪值的原始报文数据与新鲜值裁剪值拼接,得到待发送消息SecuredI-PDU。
如图5所示,接收方ECU处理流程包括:
1.接收方收到SecuredI-PDU后,提取新鲜值裁剪值。
2.根据SecOC安全机制提供的新鲜值还原算法,利用新鲜值裁剪值、上次接受到的新鲜值和当前接收方产生的新鲜值生成完整的新鲜值。
3.使用完整新鲜值、CAN ID,通过MAC嵌入位置生成算法生成MAC嵌入位置。
4.从消息中对应的位置提取MAC裁剪值以及原始报文数据。
5.将原始报文数据和完整的新鲜值按照加密算法和第一裁剪算法得到验证信息,判断验证信息与MAC裁剪值的一致与否,如果一致,说明收到了合法消息,接收方ECU对该消息进行处理;如果不一致,则说明该消息是不合法消息,接收方ECU可以对消息进行丢弃。
综上所述,所述车内网安全通信发送、接收方法及装置中,所述方法通过对所述消息认证码进行裁剪,能够适应车内网通信过程中对消息长度的限制。通过将裁剪得到的所述消息认证码裁剪值按照生成的嵌入位置隐藏在原始报文数据中,能够有效防止所述消息认证码裁剪值被暴力破解。同时,通过添加新鲜值参与嵌入位置的生成,对信息的时效进行验证,能够防止重放攻击的威胁。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种车内网安全通信发送方法,其特征在于,包括:
获取原始报文数据以及所述原始报文数据对应的CAN ID和新鲜值;
将所述原始报文数据和所述新鲜值拼接后通过设定加密算法计算生成消息认证码,将所述消息认证码按照第一裁剪算法裁剪为第一设定长度的消息认证码裁剪值;
将所述新鲜值按照第二裁剪算法剪为第二设定长度的新鲜值裁剪值;
将所述CAN ID和所述新鲜值作为参数通过嵌入位置生成算法计算得到所述消息认证码裁剪值的嵌入位置;其中,将所述CAN ID和所述新鲜值进行拼接后划分为8个长度相等且互斥的子集,将其中一个子集与其余子集分别做按位与运算,将得到的8个运算结果分别映射得到1~56范围内8个互不相同的数值,以作为所述消息认证码裁剪值中8个位对应的嵌入位置;
将所述消息认证码裁剪值按照所述嵌入位置嵌入到原始报文数据后,拼接所述新鲜值裁剪值形成消息包,以发送至CAN总线用于通信。
2.根据权利要求1所述的车内网安全通信发送方法,其特征在于,所述新鲜值是基于单调计数器产生的。
3.根据权利要求1所述的车内网安全通信发送方法,其特征在于,在SecOC板端加密通讯架构下,所述原始报文数据为6个字节,第一设定长度为1个字节,第二设定长度为1个字节。
4.根据权利要求1所述的车内网安全通信发送方法,其特征在于,将得到的8个运算结果分别映射得到1~56范围内8个互不相同的数值,以作为所述消息认证码裁剪值中8个位对应的嵌入位置,包括:
将8个运算结果分别对数值56取余数得到8个所述嵌入位置,若存在任意两个嵌入位置一致,则将其中一个嵌入位置对应的运算结果加上一个按设定规则产生的数值后重新对数值56取余数进行修正。
5.一种车内网安全通信接收方法,其特征在于,包括:
接收信息包,提取所述信息包中记载的新鲜值裁剪值,利用设定还原算法根据所述新鲜值裁剪值以及接收端记载的新鲜值参数还原得到完整新鲜值;所述信息包包括嵌入第一消息认证码裁剪值的原始报文数据,以及所述新鲜值裁剪值;所述新鲜值参数包括上一次接收到的信息包的第一新鲜值以及所述接收端计数器产生的第二新鲜值;
获取所述信息包对应的CAN ID,将所述CAN ID和所述完整新鲜值作为参数通过嵌入位置生成算法计算得到消息认证码裁剪值的嵌入位置;
根据所述嵌入位置从所述信息包中提取所述第一消息认证码裁剪值和所述原始报文数据;
将所述原始报文数据和所述完整新鲜值拼接并通过设定加密算法计算生成消息认证码,将所述消息认证码按照第一裁剪算法裁剪为第一设定长度的第二消息认证码裁剪值;
对比所述第一消息认证码裁剪值和所述第二消息认证码裁剪值,若一致则判断所述消息包合法,若不一致则判断所述消息包不合法。
6.根据权利要求5所述的车内网安全通信接收方法,其特征在于,利用设定还原算法根据所述新鲜值裁剪值以及接收端记载的新鲜值参数还原得到完整新鲜值,包括:
根据所述第一新鲜值与所述第二新鲜值中的字段按照设定还原算法补齐所述新鲜值裁剪值得到所述完整新鲜值。
7.根据权利要求5所述的车内网安全通信接收方法,其特征在于,对比所述第一消息认证码裁剪值和所述第二消息认证码裁剪值之后,还包括:
若不一致则判断所述消息包不合法并生成警示信息。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011178947.3A CN112134702B (zh) | 2020-10-29 | 2020-10-29 | 车内网安全通信发送、接收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011178947.3A CN112134702B (zh) | 2020-10-29 | 2020-10-29 | 车内网安全通信发送、接收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112134702A CN112134702A (zh) | 2020-12-25 |
CN112134702B true CN112134702B (zh) | 2022-02-15 |
Family
ID=73851910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011178947.3A Active CN112134702B (zh) | 2020-10-29 | 2020-10-29 | 车内网安全通信发送、接收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112134702B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037759B (zh) * | 2021-03-15 | 2022-07-22 | 北京邮电大学 | 适配autosar汽车电子架构的新鲜度值管理方法及装置 |
CN114172686B (zh) * | 2021-10-27 | 2022-08-05 | 北京邮电大学 | 车载can总线报文入侵检测方法、相关设备及计算机存储介质 |
CN114760096B (zh) * | 2022-03-11 | 2024-07-26 | 延锋伟世通电子科技(上海)有限公司 | 网络通讯加密策略mac实现方法、系统、发送端及接收端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965218A (zh) * | 2017-05-25 | 2018-12-07 | 华为技术有限公司 | 一种控制器区域网总线安全通信方法、装置及系统 |
CN110380842A (zh) * | 2019-08-08 | 2019-10-25 | 北方工业大学 | 适用于智慧网联汽车的can总线报文签名方法、装置和系统 |
CN110933110A (zh) * | 2019-12-17 | 2020-03-27 | 东软集团股份有限公司 | 一种车载网络的通信方法、发送端、接收端与车辆 |
CN111131313A (zh) * | 2019-12-31 | 2020-05-08 | 北京邮电大学 | 智能网联汽车更换ecu的安全保障方法及系统 |
WO2020113478A1 (zh) * | 2018-12-05 | 2020-06-11 | 北京比特大陆科技有限公司 | 地址信息处理方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10630481B2 (en) * | 2016-11-07 | 2020-04-21 | Ford Global Technologies, Llc | Controller area network message authentication |
CN110661746B (zh) * | 2018-06-28 | 2022-03-18 | 中车株洲电力机车研究所有限公司 | 一种列车can总线通信安全加密方法、解密方法 |
-
2020
- 2020-10-29 CN CN202011178947.3A patent/CN112134702B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965218A (zh) * | 2017-05-25 | 2018-12-07 | 华为技术有限公司 | 一种控制器区域网总线安全通信方法、装置及系统 |
WO2020113478A1 (zh) * | 2018-12-05 | 2020-06-11 | 北京比特大陆科技有限公司 | 地址信息处理方法、装置、电子设备及存储介质 |
CN110380842A (zh) * | 2019-08-08 | 2019-10-25 | 北方工业大学 | 适用于智慧网联汽车的can总线报文签名方法、装置和系统 |
CN110933110A (zh) * | 2019-12-17 | 2020-03-27 | 东软集团股份有限公司 | 一种车载网络的通信方法、发送端、接收端与车辆 |
CN111131313A (zh) * | 2019-12-31 | 2020-05-08 | 北京邮电大学 | 智能网联汽车更换ecu的安全保障方法及系统 |
Non-Patent Citations (1)
Title |
---|
道路车辆网络安全概述;张政;《交通与安全》;20191105;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112134702A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112134702B (zh) | 车内网安全通信发送、接收方法及装置 | |
US11277417B2 (en) | System and method of generating rules for blocking a computer attack on a vehicle | |
US11451579B2 (en) | System and method for protecting electronics systems of a vehicle from cyberattacks | |
EP3050251B1 (en) | Real-time frame authentication using id anonymization in automotive networks | |
EP3297247A1 (en) | In-vehicle encrypted networking | |
US11245535B2 (en) | Hash-chain based sender identification scheme | |
US20110238987A1 (en) | Adaptive certificate distribution mechanism in vehicular networks using forward error correcting codes | |
WO2013128317A1 (en) | Anti-replay counter measures | |
US11934338B2 (en) | Enhanced secure onboard communication for CAN | |
EP3547191B1 (en) | System and method of generating rules for blocking a computer attack on a vehicle | |
US11758376B2 (en) | Method and system for addition of assurance information to V2X messaging | |
CN111404925A (zh) | 一种基于动态数字水印的车载can总线数据加密方法 | |
EP3713190B1 (en) | Secure bridging of controller area network buses | |
Mokhadder et al. | Evaluation of vehicle system performance of an SAE J1939-91C network security implementation | |
Carsten et al. | A system to recognize intruders in controller area network (can) | |
EP3547192A1 (en) | System and method of blocking a computer attack on a means of transportation | |
CN116155579A (zh) | 一种安全通信方法、系统、存储介质及车辆 | |
CN115038064A (zh) | 一种车辆信号处理方法 | |
CN110875800B (zh) | 道路车辆中第一和第二通信节点编码/解码信号的方法和布置 | |
CN115022081B (zh) | 一种基于双向密钥链的车载以太网消息认证方法 | |
EP4068722A1 (en) | Enhanced secure onboard communication for can | |
CN111147479B (zh) | Trdp协议的数据加密传输系统 | |
Yoshikawa et al. | Secure in-vehicle Systems using Authentication | |
CN117395094A (zh) | Can总线数据收发方法及计算机可读存储介质 | |
CN117353900A (zh) | 一种can总线的加密与认证方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |