CN113098746A - 作业机械can总线通信方法和装置 - Google Patents
作业机械can总线通信方法和装置 Download PDFInfo
- Publication number
- CN113098746A CN113098746A CN202110347740.2A CN202110347740A CN113098746A CN 113098746 A CN113098746 A CN 113098746A CN 202110347740 A CN202110347740 A CN 202110347740A CN 113098746 A CN113098746 A CN 113098746A
- Authority
- CN
- China
- Prior art keywords
- data frame
- data
- serial number
- counting
- verification code
- 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.)
- Granted
Links
Images
Classifications
-
- 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/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
Abstract
本发明提供一种作业机械CAN总线通信方法和装置,该方法应用于接收端,该方法包括:接收CAN数据帧,所述CAN数据帧的数据段包括计数序号和验证码;在所述计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的所述验证码一致中的任一条件不满足的情况下,丢弃所述CAN数据帧。该方法通过对数据段中添加验证计数序号和验证码进行验证,在无需修改电控单元的硬件的情况下,有效降低攻击者伪装节点入侵通信***的风险,提高通信***的安全性。
Description
技术领域
本发明涉及作业机械技术领域,尤其涉及一种作业机械CAN总线通信方法和装置。
背景技术
CAN总线是一种广泛应用的现场总线,用于分布式控制或实时控制船舶、医疗设备及工业设备间的串行通信网络,具有成本低和实时性强的优点。
但CAN总线仅规定了通信内容和格式,通信数据传输过程存在较大的安全隐患。随着作业机械内部电控单元之间、作业机械与外部网络之间的交互越来越多,被侵入的风险也逐步增加,对功能、人身安全、隐私保护等方面都有消极影响,CAN总线数据传输安全面临严峻挑战。
发明内容
本发明提供一种作业机械CAN总线通信方法,用以解决现有技术中CAN总线通信数据传输安全性较低的问题。
本发明提供一种作业机械CAN总线通信方法,所述方法应用于接收端,所述方法包括:接收CAN数据帧,所述CAN数据帧的数据段包括计数序号和验证码;
在所述计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的所述验证码一致中的任一条件不满足的情况下,丢弃所述CAN数据帧;所述校验码基于所述CAN数据帧加密运算得到。
根据本发明提供一种的作业机械CAN总线通信方法,所述校验码基于所述CAN数据帧加密运算得到,包括:对所述CAN数据帧中的仲裁段和所述数据段进行特征提取,得到特征信息;
基于所述计数序号和所述特征信息,得到所述校验码。
根据本发明提供一种的作业机械CAN总线通信方法,所述基于所述计数序号和所述特征信息,得到所述校验码,包括:基于所述计数序号,确定预设值;对所述预设值和所述特征信息进行加密运算,得到所述校验码。
根据本发明提供一种的作业机械CAN总线通信方法,确定所述计数序号与接收的所述前一CAN数据帧中的计数序号连续;
在所述校验码与读取的所述验证码一致的情况下,按所述CAN数据帧执行。
本发明还提供另一种作业机械CAN总线通信方法,所述方法应用于发送端,所述方法包括:将待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息;
基于所述待发送的CAN数据帧的计数序号和所述特征信息,得到验证码;
将所述验证码和所述计数序号添加至所述数据段,得到加密的CAN数据帧;
将所述加密的CAN数据帧发送至接收端。
根据本发明提供另一种的作业机械CAN总线通信方法,所述基于待发送的CAN数据帧的计数序号和所述特征信息,得到所述验证码,包括:基于所述计数序号,确定预设值;对所述预设值和所述特征信息进行加密运算,得到所述验证码。
本发明还提供一种作业机械CAN总线通信装置,包括:接收模块,用于接收CAN数据帧,所述CAN数据帧的数据段包括计数序号和验证码;
计算模块,用于在所述计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的所述验证码一致中的任一条件不满足的情况下,丢弃所述CAN数据帧;所述校验码基于所述CAN数据帧加密运算得到。
本发明还提供另一种作业机械CAN总线通信装置,包括:第一计算模块,用于将待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息;
第二计算模块,用于基于所述待发送的CAN数据帧的计数序号和所述特征信息,得到验证码;
第三计算模块,用于将所述验证码和所述计数序号添加至所述数据段,得到加密的CAN数据帧;
发送模块,用于将所述加密的CAN数据帧发送至接收端。
本发明还提供一种作业机械,包括如上述任一种作业机械CAN总线通信装置。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述作业机械CAN总线通信方法的步骤。
本发明提供的作业机械CAN总线通信方法和装置,该方法通过在数据段中添加验证计数序号和验证码进行验证,在无需修改电控单元的硬件的情况下,有效降低攻击者伪装节点入侵通信***风险,提高通信***的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的作业机械CAN总线通信方法的流程示意图之一;
图2是本发明提供的作业机械CAN总线通信方法的流程示意图之二;
图3是本发明提供的CAN数据帧中数据段的数据结构示意图;
图4是本发明提供的作业机械CAN总线通信方法的步骤示意图;
图5是本发明提供的作业机械CAN总线通信装置的结构示意图之一;
图6是本发明提供的作业机械CAN总线通信装置的结构示意图之二;
图7是本发明本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
作业机械可以为塔式起重机、汽车起重机、挖掘机、打桩机、混凝土机械、压路机、搅拌车、掘进机、泵车或消防车等作业机械。
作业机械根据CAN总线通信***传输的通信内容或报文进行作业操作。
作业机械的CAN总线通信***通常包括发送端和接收端。
在一个CAN总线通信***中,发送端发送报文,接收端接收该报文,对报文进行解析后,根据报文执行相应数据输出或动作。
如图1所述,本发明提供的作业机械CAN总线通信方法,包括步骤110和步骤120。该方法的执行主体是作业机械的CAN总线通信***中的接收端设备。
步骤110、接收CAN数据帧,CAN数据帧的数据段包括计数序号和验证码。
CAN总线是一种采用广播方式传输数据的现场总线网络,在该网络中报文以CAN数据帧为传输载体。
CAN数据帧包括帧起始、仲裁段、控制段、数据段、循环冗余校验段(又称为CRC段)、应答段(又称为ACK段)和帧结束。
帧起始是CAN数据帧的起始位,帧结束是CAN数据帧的结束位。
控制段包括标识符扩展位,可以指出CAN数据帧属于标准格式还是扩展格式。
ACK段为应答段,包括应答位和应答分隔符。
CRC段常用于检测数据传输错误,CRC段校验由CAN总线控制器自动完成。接收端根据CAN数据帧计算得到一个CRC值,并将计算结果与接收的CAN数据帧的CRC值进行比对。
如果一致,数据帧传输正确,执行相应数据输出或动作;如果不一致,则数据帧传输错误,不执行相应数据输出或动作。
仲裁段包括标识符和远程发送请求位,仲裁段后面就是数据段,数据段长度取决于仲裁段DLC的字节个数。
数据段的大小范围为0~8个字节(Byte),仲裁段和数据段是CAN数据帧中包含控制指令和信息的内容。
发送端将包括帧起始、仲裁段、控制段、数据段、CRC段、ACK段和帧结束的CAN数据帧发送至接收端。
发送的CAN数据帧的数据段中包括记录发送次数的计数序号和进行加密计算生成的验证码。
接收端接收发送端发送的CAN数据帧,进行CAN数据帧进行解析和检测。
接收的CAN数据帧的数据段包括计数序号和验证码,计数序号和验证码是添加到数据段中,并不属于数据段的原始部分。
计数序号记录了CAN数据帧变化的过程,例如,可以采用算数领域中常见的重复加1或减1的方法来实现CAN数据帧的数据段中计数序号的确定。
CAN数据帧的数据段中的计数序号,可以以二进制格式呈现方式,也可以以其他格式呈现。
可以理解的是,计数序号的格式是根据CAN数据帧的格式进行确定的,例如,CAN数据帧是二进制格式的,CAN数据帧的数据段中的计数序号也是二进制格式。
计数序号记录CAN数据帧变化的过程,可以用于记录CAN数据帧的发送接收次数,也可以用于验证数据帧传输的正确与否。
验证码是用于验证通信内容或用户身份的验证工具,验证码的格式与CAN数据帧的格式相关。
在CAN数据帧的数据段中添加的验证码和计数序号,用于判断数据帧传输的正确与否。
原始数据段的长度范围可以为0~8个Byte,在数据段添加计数序号和验证码,该数据段的原始数据信息不会丢失。
例如,图3所示的数据段的数据结构中,该数据段的原始数据信息301,即Byte0至Byte5这6个字节为该数据段的原始数据信息。
数据段数据结构中添加的验证码302,即Byte6。
图3所示的数据段数据结构中验证码的长度是1个字节的固定长度,在应用过程中,可根据需求对验证码的大小进行调整。
数据段数据结构中,计数序号303的长度在0到8个字(bit)范围内,1个Byte=8bit。
计数序号的填充字段304,根据计数序号的长度进行填充,将计数序号所在的Byte7填充为8个bit的长度。
例如,二进制格式的计数序号的长度为3个bit,则后续填充字段304为5个bit的长度。
添加了验证码和计数序号的CAN数据帧的数据段中,包含了原始数据信息、验证码、计数序号和填充信息,保证数据段数据信息和结构的完整,还可通过验证码和计数序号验证数据帧传输的正确与否。
步骤120、在计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的验证码一致中的任一条件不满足的情况下,丢弃CAN数据帧。
接收端在接收到发送端发送的CAN数据帧后,对数据段的验证码和计数序号进行计算和验证,检验数据帧传输是否正确。
接收端在以下两个条件中的任一条件不满足的情况下,判定数据帧传输错误,丢弃CAN数据帧。
其一、不满足计数序号与接收的前一CAN数据帧对应的计数序号连续,丢弃CAN数据帧。
计数序号记录CAN数据帧变化的过程,记录了CAN数据帧的发送接收次数。
例如,发送端第一次发送的CAN数据帧的计数序号为1,下一次发送的CAN数据帧的计数序号为2。
上一次发送的CAN数据帧的计数序号为n,本次发送的CAN数据帧的计数序号为n+k,其中,k是定值。
计算计数序号与接收的前一计数序号的差值是否为k,进而判断计数序号与接收的前一CAN数据帧对应的计数序号是否连续。
计数序号与接收的前一CAN数据帧对应的计数序号连续时,当前CAN数据帧与前一CAN数据帧是同一发送端连续发送的。
计数序号与接收的前一CAN数据帧对应的计数序号不连续时,当前CAN数据帧可能是伪装发送端发送的;也可能是同一发送端发送,但通信过程中有遗漏的CAN数据帧。
在计数序号与接收的前一CAN数据帧对应的计数序号不连续,丢弃CAN数据帧,降低伪装节点影响通信的风险,同时,也能保证接收到的CAN数据帧是同一发送端连续发送,避免读取不连续的CAN数据帧进行不连续操作带来的安全隐患。
可以理解的是,接收端接收的CAN数据帧是发送端首次发送的CAN数据帧时,计数序号可以是接收端和发送端约定的起始计数序号,接收端通过识别该起始计数序号,根据首次发送的CAN数据帧开始执行相应数据输出或起始动作。
其二、不满足校验码与读取的验证码一致,丢弃CAN数据帧。
校验码是接收端基于接收的CAN数据帧进行加密运算得到,校验码与验证码进行比对,实现CAN数据帧传输错误的检测。
验证码是接收端接收的CAN数据帧中自带的,校验码是接收端基于接收的CAN数据帧进行加密运算得到。
通过将校验码与读取的验证码进行比对,校验码与读取的验证码一致,证明CAN数据帧传输正确,执行相应数据输出或动作。
校验码与读取的验证码不一致时,则CAN数据帧传输错误,丢弃CAN数据帧,不执行相应数据输出或动作。
在传统的CAN总线通信中,仅使用CRC段进行循环冗余检验,算法较为固定,易被破解,且较难检测出入侵节点发送的CAN数据帧,被侵入的风险较大。
数据段进行验证码和校验码的验证,相比于只进行CRC段循环冗余检验,为CAN数据帧增加了数据段验证码和校验码验证的过程,提高通信传输的安全性。
根据本发明提供的一种作业机械CAN总线通信方法,通过在数据段中添加验证计数序号和验证码进行验证,在无需修改电控单元的硬件的情况下,有效降低攻击者伪装节点入侵通信***风险,提高通信***的安全性。
在一些实施例中,对CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息;基于计数序号和特征信息,得到校验码。
CAN数据帧中仲裁段和数据段是包含控制指令和信息的部分。
在CAN数据帧中的帧起始、控制段或帧结束仅包含了CAN数据帧中代表标识格式、起始或结束的标识信息。
对CAN数据帧中的仲裁段和数据段进行特征提取,能够得到与控制指令和信息相关的特征信息。
提取CAN数据帧中仲裁段和数据段的特征信息,可采用数据处理领域的特征提取方法进行提取。
发送端基于记录发送次数的计数序号和从仲裁段和数据段提取的特征信息,进行加密计算,得到验证码。
发送端将计数序号和验证码添加到CAN数据帧的数据段中,发送给接收端。
校验码是接收端基于接收的CAN数据帧进行加密运算得到,基于计数序号和特征信息进行加密运算,得到校验码。
特征信息是CAN数据帧中仲裁段和数据段的特征信息,计数序号记录了CAN数据帧的发送接收次数。
基于计数序号和特征信息进行加密运算,得到的校验码不仅与CAN数据帧的数据信息相关,还与CAN数据帧的发送接收次数相关。
在验证计数序号与接收的前一计数序号是否连续时,通过校验码与计数序号间的对应关系,进一步验证接收的验证码与计算的校验码是否一致。
例如,连续通信中,接收的计数序号与接收的验证码存在相关性,在接收的CAN数据帧带有连续的计数序号时,验证接收的验证码与计数序号的相关性,识别伪装节点,降低入侵风险。
基于计数序号和特征信息,得到校验码,构建校验码与计数序号以及特征信息的关联关系,进一步降低通信***被入侵的风险,提高通信***的安全性。
在一些实施例中,基于计数序号,确定预设值;对预设值和特征信息进行加密运算,得到校验码。
计数序号与预设值对应,基于计数序号,确定预设值,发送端对得到的预设值和特征信息进行加密计算,得到验证码。
计数序号与预设值对应,基于计数序号,确定预设值,接收端对得到的预设值和特征信息进行加密计算,得到校验码。
将发送端的验证码和接收端的校验码进行比对,检验CAN数据帧的传输是否正确。
校验码与计数序号间的对应关系,通过与计数序号对应的预设值构建,提高校验码加密运过程的安全性,进一步降低通信***被破解入侵的风险。
基于计数序号,确定预设值,预设值可通过利用计数序号进行固定算法运算得到,也可通过建立计数序号与预设值的对应表或对应矩阵读取得到。
例如,表1所示为计数序号与预设值的对应表,其中,预设值为多项式形式。
表1
计数序号 | 预设值 |
0 | P(X)<sub>1</sub> |
1 | P(X)<sub>2</sub> |
2 | P(X)<sub>3</sub> |
3 | P(X)<sub>4</sub> |
4 | P(X)<sub>5</sub> |
5 | P(X)<sub>6</sub> |
6 | P(X)<sub>7</sub> |
7 | P(X)<sub>8</sub> |
8 | P(X)<sub>9</sub> |
9 | P(X)<sub>10</sub> |
10 | P(X)<sub>11</sub> |
11 | P(X)<sub>12</sub> |
12 | P(X)<sub>13</sub> |
13 | P(X)<sub>14</sub> |
14 | P(X)<sub>15</sub> |
15 | P(X)<sub>16</sub> |
其中,计数序号可以是0~15范围内的循环的计数序号,循环的计数序号在进行校验值计算时,减小内存占用空间,加快校验码的计算验证过程,适用于接收端和发送端在固定范围内的通信。
计数序号也可以是依次重复加1的不循环计数序号,不循环的计数序号能够有效降低攻击者伪装节点入侵通信***风险,适用于接收端和发送端长时间的通信。
通过表1所示的计数序号与预设值的对应表读取计数序号对应的预设值,对预设值和特征信息进行加密运算,得到校验码。
例如,对预设值和特征信息进行加密运算,以CRC校验算法为基础,增加长度为8bit的多项式预设值的运算步骤,计算得到校验码。
基于计数序号,确定对应的预设值,将对预设值和特征信息进行加密运算,得到校验码,提高校验码加密运过程的安全性,进一步降低通信***被破解入侵的风险,提高通信***的安全性。
在一些实施例中,在计数序号与接收的前一CAN数据帧中的计数序号不连续的情况下,丢弃CAN数据帧;或者,确定计数序号与接收的前一CAN数据帧中的计数序号连续;在校验码与读取的验证码不一致的情况下,丢弃CAN数据帧。
其一、在计数序号与接收的前一CAN数据帧中的计数序号不连续的情况下,丢弃CAN数据帧。
计数序号与接收的前一CAN数据帧对应的计数序号不连续时,当前CAN数据帧可能是伪装发送端发送的;也可能是同一发送端发送,但通信过程中有遗漏的CAN数据帧。
在计数序号与接收的前一CAN数据帧对应的计数序号不连续,丢弃CAN数据帧,降低伪装节点影响通信的风险,同时,也能保证接收到的CAN数据帧是同一发送端连续发送,避免读取不连续的CAN数据帧进行不连续操作带来的安全隐患。
在计数序号与接收的前一CAN数据帧对应的计数序号不连续时,丢弃CAN数据帧,可以节省校验码的计算程序,还能有效降低提取到木马和病毒的概率,有效降低攻击者伪装节点入侵通信***风险。
其二、确定计数序号与接收的前一CAN数据帧中的计数序号连续;在校验码与读取的验证码不一致的情况下,丢弃CAN数据帧。
计数序号与接收的前一CAN数据帧对应的计数序号连续,进行验证码和校验码的验证。
利用计数序号和验证码进行双重验证,即使在计数序号被破解的情况下,也能通过验证码的验证,识别伪装节点发送的CAN数据帧,极大的降低了伪装节点入侵通信***风险,提高通信***的安全性。
在一些实施例中,确定计数序号与接收的前一CAN数据帧中的计数序号连续;在校验码与读取的验证码一致的情况下,按CAN数据帧执行。
确定计数序号与接收的前一CAN数据帧中的计数序号连续,并且校验码与读取的验证码一致,表明该CAN数据帧是CAN总线通信***内发送端发送的,正确且连续的CAN数据帧。
添加了验证码和计数序号的CAN数据帧的数据段,包含原始数据信息、验证码、计数序号和填充信息。
如图3所示,该CAN数据帧中数据段的数据结构中包含了301部分的原始数据信息,验证通过后,可根据这部分的原始数据信息执行相应数据输出或动作。
CAN数据帧的数据段保证了数据段数据信息和数据结构的完整,根据通过验证的CAN数据帧执行相应数据输出或动作,能够保证作业机械执行正确且连续的动作,提高作业机械作业的安全性。
下面结合图2和图3描述本发明的另一种作业机械CAN总线通信方法。
如图2所述,本发明提供的另一种作业机械CAN总线通信方法,包括步骤210至步骤240。该方法的执行主体是作业机械的CAN总线通信***中的发送端。
步骤210、将待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息。
发送端发送的CAN数据帧同样包括帧起始、仲裁段、控制段、数据段、CRC段、ACK段和帧结束。
其中,仲裁段和数据段是CAN数据帧中包含控制指令和信息的内容。
对CAN数据帧中的仲裁段和数据段进行特征提取,能够得到与控制指令和信息相关的特征信息。
提取CAN数据帧中仲裁段和数据段的特征信息,可采用数据处理领域的特征提取方法进行提取。
将待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息,该特征信息能够代表CAN数据帧控制指令和信息,并且与该段CAN数据帧的控制指令和信息具有唯一对应性。
步骤220、基于待发送的CAN数据帧的计数序号和特征信息,得到验证码。
CAN数据帧的计数序号,记录了发送端发送CAN数据帧的次数,计数序号可以通过算数领域中重复加1或减1的方法进行确定。
例如,发送端首次发送的CAN数据帧的计数序号为1,下一次发送的CAN数据帧的计数序号为2。
上一次发送的CAN数据帧的计数序号为n,本次发送的CAN数据帧的计数序号为n+k,其中,k是定值。
当前CAN数据帧的计数序号与发送的前一CAN数据帧对应的计数序号是连续的。
其中,多个发送的CAN数据帧中添加连续的计数序号,可以体现CAN数据帧发送的顺序,进而在接收时按照顺序进行相应数据输出或动作。
步骤230、将验证码和计数序号添加至数据段,得到加密的CAN数据帧。
原始数据段的长度范围可以为0~8个Byte,在数据段添加计数序号和验证码,该数据段的原始数据信息不会丢失。
例如,图3所示的添加验证码和计数序号的数据段的数据结构。
其中,数据段数据结构中原始数据信息301,即Byte0至Byte5这6个字节,验证码302为Byte6。
图3所示的数据段数据结构中验证码的长度是1个字节的固定长度,在应用过程中,可根据需求对验证码的大小进行调整。
添加的计数序号303长度可以在0到8个bit范围内。
计数序号的填充字段304,根据计数序号的长度进行填充,将计数序号所在的Byte7填充为8个bit的长度。
例如,二进制格式的计数序号的长度为3个bit,则填充字段304的长度为5个bit。
添加了验证码和计数序号的CAN数据帧,包含了原始数据信息、验证码、计数序号和填充信息,增加验证部分的同时,还保证了数据段数据信息和数据结构的完整。
步骤240、将加密的CAN数据帧发送至接收端。
发送端将加密的CAN数据帧通过CAN总线通信***发送至接收端,接收端对接收的CAN数据帧进行计数序号和验证值的验证,完成两端间的通信。
根据本发明提供的另一种作业机械CAN总线通信方法,通过在待发送的CAN数据帧的数据段中添加验证计数序号和验证码,在无需修改电控单元的硬件的情况下,提高发送的CAN数据帧的安全性,有效降低攻击者伪装节点入侵通信***风险。
在一些实施例中,基于计数序号,确定预设值;对预设值和特征信息进行加密运算,得到验证码。
计数序号与预设值对应,基于计数序号,确定预设值,对得到的预设值和特征信息进行加密计算,得到验证码。
验证码与计数序号间的对应关系,通过与计数序号对应的预设值构建,提高验证码本身的安全性,降低验证码被破解的风险。
基于计数序号,确定预设值,预设值可通过利用计数序号进行固定算法运算得到,也可通过建立计数序号与预设值的对应表或对应矩阵读取得到。
例如,可以通过表1所示的计数序号与预设值的对应表读取预设值。
其中,计数序号可以是0~15范围内的循环的计数序号,循环的计数序号在进行验证值的计算时,减小计算内存占用空间,加快验证码的生成过程。
计数序号也可以是依次重复加1的不循环计数序号,不循环的计数序号能够有效降低攻击者破解验证码的风险,提高验证码的安全性。
通过表1所示的计数序号与预设值的对应表读取计数序号对应的预设值,对预设值和特征信息进行加密运算,得到验证码。
例如,对预设值和特征信息进行加密运算,以CRC校验算法为基础,增加长度为8bit的多项式预设值的运算步骤,计算得到验证码。
基于计数序号,确定对应的预设值,将对预设值和特征信息进行加密运算,得到验证码,提高验证码本身的安全性,降低发送的CAN数据帧的验证码被破解入侵的风险。
下面结合图4描述一个具体的实施例。
作业机械的CAN总线通信***包括发送端和接收端。
发送端将带有控制指令和信息的CAN数据帧发送至接收端,接收端对CAN数据帧进行解析验证后,根据CAN数据帧执行相应数据输出或动作。
通信过程中,发送端执行步骤401和步骤402,发送CAN数据帧。
步骤401、发送端根据计数序号计算得到验证码。
对待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息。
将计数序号和特征信息进行加密运算,得到验证码。
步骤402、发送端将得到验证码和与之对应的计数序号添加到CAN数据帧的数据段中。
添加了验证码和计数序号的数据段的数据结构如图3所示。
该数据段的数据结构包括:原始数据信息301、验证码302、计数序号303以及填充字段304。
发送端发送包括该数据段的CAN数据帧,此时,发送端执行步骤结束。
接收端接收包括该数据段的CAN数据帧后,执行步骤411至步骤413对CAN数据帧进行验证,验证结果决定接收端执行步骤421执行CAN数据帧,还是执行步骤422丢弃CAN数据帧。
步骤411、进行计数序号和校验码验证。
接收端在接收到发送端发送的CAN数据帧后,对数据段的验证码和计数序号进行计算和验证,检验数据传输是否正确。
步骤412、计数序号与接收的前一CAN数据帧对应的计数序号不连续,执行步骤422丢弃CAN数据帧。
计数序号与接收的前一CAN数据帧对应的计数序号连续,提取接收的CAN数据帧中的仲裁段和数据段的特征信息,将计数序号和特征信息进行加密运算,得到校验码。
执行步骤413验证校验码与读取的验证码是否一致。
得到的校验码与读取的验证码一致,表明该CAN数据帧是CAN总线通信***内发送端发送的,正确且连续的CAN数据帧。
得到的校验码与读取的验证码一致,执行步骤421执行CAN数据帧,执行相应数据输出或动作。
得到的校验码与读取的验证码不一致,执行步骤422丢弃CAN数据帧。
根据本发明提供的作业机械CAN总线通信方法进行通信的***,利用数据段中添加的计数序号和验证码进行验证,在无需修改电控单元的硬件的情况下,有效降低攻击者伪装节点入侵通信***风险,提高通信***的安全性。
下面对本发明提供的作业机械CAN总线通信装置进行描述,下文描述的作业机械CAN总线通信装置与上文描述的作业机械CAN总线通信方法可相互对应参照。
作业机械CAN总线通信装置是通信***中接收端装置。
如图5所示,作业机械CAN总线通信装置包括接收模块510和计算模块520。
接收模块510,用于接收CAN数据帧,CAN数据帧的数据段包括计数序号和验证码;
计算模块520,用于在计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的验证码一致中的任一条件不满足的情况下,丢弃CAN数据帧;校验码基于CAN数据帧加密运算得到。
在一些实施例中,计算模块520还用于对CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息;基于计数序号和特征信息,得到校验码。
在一些实施例中,计算模块520还用于基于计数序号,确定预设值;对预设值和特征信息进行加密运算,得到校验码。
在一些实施例中,计算模块520还用于在计数序号与接收的前一CAN数据帧中的计数序号不连续的情况下,丢弃CAN数据帧;或者,确定计数序号与接收的前一CAN数据帧中的计数序号连续;在校验码与读取的验证码不一致的情况下,丢弃CAN数据帧。
在一些实施例中,计算模块520还用于确定计数序号与接收的前一CAN数据帧中的计数序号连续;在校验码与读取的验证码一致的情况下,按CAN数据帧执行。
本发明提供的一种作业机械CAN总线通信装置,该接收通过在数据段中添加验证计数序号和验证码进行验证,在无需修改电控单元的硬件的情况下,有效降低攻击者伪装节点入侵通信***风险,提高通信***的安全性。
下面对本发明提供的另一种作业机械CAN总线通信装置进行描述,下文描述的另一种作业机械CAN总线通信装置与上文描述的另一种作业机械CAN总线通信方法可相互对应参照。
作业机械CAN总线通信装置是通信***中发送端的装置。
如图6所示,该装置包括第一计算模块610、第二计算模块620、第三计算模块630和发送模块640。
第一计算模块610,用于将待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息;
第二计算模块620,用于基于待发送的CAN数据帧的计数序号和特征信息,得到验证码;
第三计算模块630,用于将验证码和计数序号添加至数据段,得到加密的CAN数据帧;
发送模块640,用于将加密的CAN数据帧发送至接收端。
在一些实施例中,第二计算模块620还用于基于计数序号,确定预设值;对预设值和特征信息进行加密运算,得到验证码。
根据本发明提供的一种作业机械CAN总线通信方法,通过在数据段中添加验证计数序号和验证码,在无需修改电控单元的硬件的情况下,有效降低攻击者伪装节点入侵通信***风险,提高通信***的安全性。
本发明还提供一种作业机械,包括如上述的接收端或发送端的作业机械CAN总线通信装置。
作业机械可以为塔式起重机、汽车起重机、挖掘机、打桩机、混凝土机械、压路机、搅拌车、掘进机、泵车或消防车等作业机械。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备700可以包括:处理器(processor)710、通信接口(Communications Interface)720和存储器(memory)730,其中,由通信总线740完成多个电子设备700间的通信。该电子设备700可以作为作业机械CAN总线网络中的接收端或发送端。该电子设备700作为作业机械CAN总线网络中的接收端时,处理器710可以调用存储器730中的逻辑指令,以执行作业机械CAN总线通信方法,该方法包括:接收CAN数据帧,CAN数据帧的数据段包括计数序号和验证码;在计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的验证码一致中的任一条件不满足的情况下,丢弃CAN数据帧;校验码基于CAN数据帧加密运算得到。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述所提供的作业机械CAN总线通信方法,该方法包括:接收CAN数据帧,CAN数据帧的数据段包括计数序号和验证码;在计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的验证码一致中的任一条件不满足的情况下,丢弃CAN数据帧;校验码基于CAN数据帧加密运算得到。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述的作业机械CAN总线通信方法,该方法包括:接收CAN数据帧,CAN数据帧的数据段包括计数序号和验证码;在计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的验证码一致中的任一条件不满足的情况下,丢弃CAN数据帧;校验码基于CAN数据帧加密运算得到。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种作业机械CAN总线通信方法,其特征在于,所述方法应用于接收端,所述方法包括:
接收CAN数据帧,所述CAN数据帧的数据段包括计数序号和验证码;
在所述计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的所述验证码一致中的任一条件不满足的情况下,丢弃所述CAN数据帧;所述校验码基于所述CAN数据帧加密运算得到。
2.根据权利要求1所述的作业机械CAN总线通信方法,其特征在于,所述校验码基于所述CAN数据帧加密运算得到,包括:
对所述CAN数据帧中的仲裁段和所述数据段进行特征提取,得到特征信息;
基于所述计数序号和所述特征信息,得到所述校验码。
3.根据权利要求2所述的作业机械CAN总线通信方法,其特征在于,所述基于所述计数序号和所述特征信息,得到所述校验码,包括:
基于所述计数序号,确定预设值;
对所述预设值和所述特征信息进行加密运算,得到所述校验码。
4.根据权利要求1-3中任一项所述的作业机械CAN总线通信方法,其特征在于,还包括:
确定所述计数序号与接收的所述前一CAN数据帧中的计数序号连续;
在所述校验码与读取的所述验证码一致的情况下,按所述CAN数据帧执行。
5.一种作业机械CAN总线通信方法,其特征在于,所述方法应用于发送端,所述方法包括:
将待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息;
基于所述待发送的CAN数据帧的计数序号和所述特征信息,得到验证码;
将所述验证码和所述计数序号添加至所述数据段,得到加密的CAN数据帧;
将所述加密的CAN数据帧发送至接收端。
6.一种作业机械CAN总线通信装置,其特征在于,包括:
接收模块,用于接收CAN数据帧,所述CAN数据帧的数据段包括计数序号和验证码;
计算模块,用于在所述计数序号与接收的前一CAN数据帧中的计数序号连续以及校验码与读取的所述验证码一致中的任一条件不满足的情况下,丢弃所述CAN数据帧;所述校验码基于所述CAN数据帧加密运算得到。
7.一种作业机械CAN总线通信装置,其特征在于,包括:
第一计算模块,用于将待发送的CAN数据帧中的仲裁段和数据段进行特征提取,得到特征信息;
第二计算模块,用于基于所述待发送的CAN数据帧的计数序号和所述特征信息,得到验证码;
第三计算模块,用于将所述验证码和所述计数序号添加至所述数据段,得到加密的CAN数据帧;
发送模块,用于将所述加密的CAN数据帧发送至接收端。
8.一种作业机械、其特征在于,包括如权利要求6或7所述的作业机械CAN总线通信装置。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述的作业机械CAN总线通信方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述作业机械CAN总线通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110347740.2A CN113098746B (zh) | 2021-03-31 | 2021-03-31 | 作业机械can总线通信方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110347740.2A CN113098746B (zh) | 2021-03-31 | 2021-03-31 | 作业机械can总线通信方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098746A true CN113098746A (zh) | 2021-07-09 |
CN113098746B CN113098746B (zh) | 2022-05-03 |
Family
ID=76671627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110347740.2A Active CN113098746B (zh) | 2021-03-31 | 2021-03-31 | 作业机械can总线通信方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098746B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301623A (zh) * | 2021-11-24 | 2022-04-08 | 岚图汽车科技有限公司 | 一种报文加密方法及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394301A (zh) * | 2007-09-21 | 2009-03-25 | 华为技术有限公司 | 小型电信和计算通用硬件平台***、装置及其通信方法 |
CN101998505A (zh) * | 2009-08-12 | 2011-03-30 | 中兴通讯股份有限公司 | Hsdpa数据缓存方法和移动终端 |
CN102710758A (zh) * | 2012-05-22 | 2012-10-03 | 苏州云博信息技术有限公司 | 一种基于单片机***的数据流断点续传方法 |
CN102955474A (zh) * | 2011-08-26 | 2013-03-06 | 中国航空工业集团公司第六三一研究所 | 一种汽车ecu的测控方法及其*** |
CN102983939A (zh) * | 2012-11-13 | 2013-03-20 | 北京空间飞行器总体设计部 | 一种用于航天器多级子网的上行数据通信方法 |
CN105897669A (zh) * | 2015-11-11 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 数据发送、接收方法、发送端、接收端和can总线网络 |
CN107249048A (zh) * | 2017-06-26 | 2017-10-13 | 珠海格力电器股份有限公司 | 空调***及其地址分配方法和装置 |
CN111142962A (zh) * | 2019-11-15 | 2020-05-12 | 北京理工大学 | 一种星载fpga的在轨重构方法及*** |
-
2021
- 2021-03-31 CN CN202110347740.2A patent/CN113098746B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394301A (zh) * | 2007-09-21 | 2009-03-25 | 华为技术有限公司 | 小型电信和计算通用硬件平台***、装置及其通信方法 |
CN101998505A (zh) * | 2009-08-12 | 2011-03-30 | 中兴通讯股份有限公司 | Hsdpa数据缓存方法和移动终端 |
CN102955474A (zh) * | 2011-08-26 | 2013-03-06 | 中国航空工业集团公司第六三一研究所 | 一种汽车ecu的测控方法及其*** |
CN102710758A (zh) * | 2012-05-22 | 2012-10-03 | 苏州云博信息技术有限公司 | 一种基于单片机***的数据流断点续传方法 |
CN102983939A (zh) * | 2012-11-13 | 2013-03-20 | 北京空间飞行器总体设计部 | 一种用于航天器多级子网的上行数据通信方法 |
CN105897669A (zh) * | 2015-11-11 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 数据发送、接收方法、发送端、接收端和can总线网络 |
CN107249048A (zh) * | 2017-06-26 | 2017-10-13 | 珠海格力电器股份有限公司 | 空调***及其地址分配方法和装置 |
CN111142962A (zh) * | 2019-11-15 | 2020-05-12 | 北京理工大学 | 一种星载fpga的在轨重构方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301623A (zh) * | 2021-11-24 | 2022-04-08 | 岚图汽车科技有限公司 | 一种报文加密方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113098746B (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411681B2 (en) | In-vehicle information processing for unauthorized data | |
US11663330B2 (en) | Systems and methods for disabling a malicious ECU in a controller area network (CAN) bus | |
CN113098746B (zh) | 作业机械can总线通信方法和装置 | |
CN112737734B (zh) | 一种校验信息生成方法、验证方法及装置 | |
CN104272625B (zh) | 通信设备及通信方法 | |
CN107395580B (zh) | 一种数据校验方法及装置 | |
CN111586013B (zh) | 网络入侵检测方法、装置、节点终端及存储介质 | |
CN112532359B (zh) | 接收端基于数据重传数据进行内容合并的方法及装置 | |
CN112181883B (zh) | 一种串口通讯的数据传输方法、***及存储介质 | |
CN113162885B (zh) | 一种工业控制***的安全防护方法及装置 | |
US20140297753A1 (en) | Method for transferring network event protocol messages | |
CN113849859A (zh) | Linux内核的修改方法、终端设备和存储介质 | |
US11336456B2 (en) | Message authentication system, apparatus, and message verification method | |
CN113965490B (zh) | 网闸反向数据传输通道的测试方法、***及相关设备 | |
CN113347168B (zh) | 一种基于零信任模型的防护方法及*** | |
CN106789899B (zh) | 一种基于html5的跨域消息发送方法及装置 | |
CN107493262B (zh) | 用于传输数据的方法和装置 | |
WO2019205895A1 (zh) | 寻呼方法、网络设备及终端 | |
CN109743178B (zh) | 一种防止区块链的块链被劫持的方法及*** | |
CN112751807A (zh) | 安全通信方法、装置、***和存储介质 | |
CN114124581B (zh) | 报文处理方法、防火墙及可读存储介质 | |
CN113872976B (zh) | 一种基于http2攻击的防护方法、装置及电子设备 | |
CN112953907B (zh) | 一种攻击行为的识别方法及装置 | |
CN114065179B (zh) | 认证方法、装置、服务器、客户端及可读存储介质 | |
CN109981555B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |