CN113810363B - 报文加密、解密方法及电子设备 - Google Patents
报文加密、解密方法及电子设备 Download PDFInfo
- Publication number
- CN113810363B CN113810363B CN202110866002.9A CN202110866002A CN113810363B CN 113810363 B CN113810363 B CN 113810363B CN 202110866002 A CN202110866002 A CN 202110866002A CN 113810363 B CN113810363 B CN 113810363B
- Authority
- CN
- China
- Prior art keywords
- message
- encrypted
- original
- signal value
- random
- 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
Images
Classifications
-
- 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
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及车载通信技术领域,具体涉及报文加密、解密方法及电子设备,所述报文加密方法包括获取随机位置以及加密报文中的当前存储位置;基于随机位置,从原始报文中提取对应位置的原始信号值;根据当前存储位置对应的加密方式对原始信号值进行加密,得到加密后的信号值;将加密后的信号值以及随机位置存入加密报文的当前存储位置,并更新当前存储位置,以形成加密报文。该方法中加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么在各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性。
Description
技术领域
本发明涉及车载通信技术领域,具体涉及报文加密、解密方法及电子设备。
背景技术
车载通信是以车为载体进行报文的传输,而报文在传输过程中若均采用明文传输,必然会导致隐私数据的泄露。因此,现有的车载通信一般是在加密的基础上进行的。
现有车载通信的报文加密方式是针对报文中的每一信号值分别进行加密后,再将加密后的数据存储在原来的位置处,并组装成加密报文后发送给接收端。然而,这种加密过程中,由于加密前后信号值的位置固定,就极容易通过加密报文与原始报文的比对破解出原始信号,容易泄露系统的关键数据,车载通信系统被入侵攻击的风险较高。
发明内容
有鉴于此,本发明实施例提供了一种报文加密、解密方法及电子设备,以解决车载通信系统安全性的问题。
根据第一方面,本发明实施例提供了一种报文加密方法,包括:
获取随机位置以及加密报文中的当前存储位置;
基于所述随机位置,从原始报文中提取对应位置的原始信号值;
根据所述当前存储位置对应的加密方式对所述原始信号值进行加密,得到加密后的信号值;
将加密后的信号值以及所述随机位置存入所述加密报文的当前存储位置,并更新所述当前存储位置,以形成所述加密报文。
本发明实施例提供的报文加密方法,加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么在各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性。
结合第一方面,在第一方面第一实施方式中,所述基于所述随机位置,从原始报文中提取对应位置的原始信号值,包括:
获取报文信号表,所述报文信号表用于表示所述原始报文中各个原始信号值的位置以及长度;
利用所述随机位置从所述报文信号表中提取相应原始信号值的长度;
基于所述随机位置以及所述长度在所述原始报文中进行信号提取,得到所述原始信号值。
本发明实施例提供的报文加密方法,利用报文信号表标识各个原始信号值的位置以及长度,由于信号在加密后的报文中是随机排布的,因此需要报文中存储和信号对应的位置以此区分各个信号。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述获取报文信号表,包括:
获取所述原始报文的标识;
基于所述原始报文的标识提取出对应的所述报文信号表。
本发明实施例提供的报文加密方法,对于报文信号表与原始报文之间存在对应关系,利用原始报文的标识确定出报文信号表可以保证报文信号表的准确性。
结合第一方面,在第一方面第三实施方式中,所述根据所述当前存储位置对应的加密方式对所述原始信号值进行加密,得到加密后的信号值,包括:
获取密码表,所述密码表中包括多组加密方式,所述加密方式与所述加密报文中存储位置一一对应;
基于所述当前存储位置从所述密码表提取对应位置的加密方式;
利用所述加密方式对所述原始信号值进行加密,得到所述加密后的信号值。
本发明实施例提供的报文加密方法,利用密码表维护与加密报文中存储位置一一对应的加密方式,可以保证后续解密是利用对应位置进行解密,保证了解密后原始信号值的准确性。
结合第一方面,在第一方面第四实施方式中,所述将加密后的信号值以及所述随机位置存入所述加密报文的当前存储位置,并更新所述当前存储位置,以形成所述加密报文,包括:
对所述随机位置进行加密,得到加密随机位置;
将所述加密随机位置以及所述加密后的信号值存入所述加密报文的当前存储位置;
更新所述当前存储位置并获取下一个随机位置,对所述原始报文对应位置的下一个原始信号值进行加密,以形成所述加密报文。
本发明实施例提供的报文加密方法,通过对随机位置也进行加密,增加了报文传输的安全性。
根据第二方面,本发明实施例还提供了一种报文解密方法,包括:
接收加密报文;
提取所述加密报文中各个存储位置存储的随机位置以及加密后的信号值;
根据所述各个存储位置对应的解密方式对所述加密后的信号值进行解密,得到原始信号值;
基于所述随机位置对所述原始信号值进行拼接,以形成原始报文。
本发明实施例提供的报文解密方法,由于加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么在各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性;在解密时利用对应的方式进行解密,可以得到准确的原始报文。
结合第二方面,在第二方面第一实施方式中,所述根据所述各个存储位置对应的解密方式对所述加密后的信号值进行解密,得到原始信号值,包括:
获取密码表,所述密码表中包括多组解密方式,所述解密方式与所述加密报文中存储位置一一对应;
基于所述各个存储位置从所述密码表提取对应位置的解密方式;
利用所述解密方式对所述加密后的信号值进行解密,得到所述原始信号值。
结合第二方面,在第二方面第二实施方式中,所述基于所述随机位置对所述原始信号值进行拼接,以形成原始报文,包括:
获取报文信号表,所述报文信号表用于表示所述原始报文中各个原始信号值的位置以及长度;
利用所述随机位置从所述报文信号表中提取相应原始信号值的长度;
基于所述随机位置以及所述长度对所述原始信号值进行拼接,以形成所述原始报文。
根据第三方面,本发明实施例还提供了一种报文加密装置,包括:
获取模块,用于获取随机位置以及加密报文中的当前存储位置;
第一提取模块,用于基于所述随机位置,从原始报文中提取对应位置的原始信号值;
加密模块,用于根据所述当前存储位置对应的加密方式对所述原始信号值进行加密,得到加密后的信号值;
存储模块,用于将加密后的信号值以及所述随机位置存入所述加密报文的当前存储位置,并更新所述当前存储位置,以形成所述加密报文。
本发明实施例提供的报文加密装置,加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么在各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性。
根据第四方面,本发明实施例还提供了一种报文解密装置,包括:
接收模块,用于接收加密报文;
第二提取模块,用于提取所述加密报文中各个存储位置存储的随机位置以及加密后的信号值;
解密模块,用于根据所述各个存储位置对应的解密方式对所述加密后的信号值进行解密,得到原始信号值;
拼接模块,用于基于所述随机位置对所述原始信号值进行拼接,以形成原始报文。
本发明实施例提供的报文解密装置,由于加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么在各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性;在解密时利用对应的方式进行解密,可以得到准确的原始报文。
根据第五方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的报文加密方法,或执行第二方面或者第二方面的任意一种实施方式中所述的报文解密方法。
根据第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的报文加密方法,或执行第二方面或者第二方面的任意一种实施方式中所述的报文解密方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的报文加密方法的流程图;
图2是根据本发明实施例的报文加密方法的流程图;
图3是根据本发明实施例的报文加密方法的流程图;
图4是根据本发明实施例的报文解密方法的流程图;
图5是根据本发明实施例的报文解密方法的流程图;
图6是根据本发明实施例的报文解密方法的流程图;
图7是根据本发明实施例的报文加密装置的结构框图;
图8是根据本发明实施例的报文解密装置的结构框图;
图9是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例所述的报文加密、解密方法是应用在车载通信领域,例如CAN总线通信。该方法可以用在一对多、多对一、或一对一的通信场景中,在其并不做任何限定。
所述的报文加密方法是通过对原始报文进行加密,形成加密报文。在得到加密报文后,将加密报文发送给接收端,接收端利用本发明实施例中所述的报文解密方法对接收到的加密报文进行解密,得到原始报文,从而实现报文的加密传输。
在本发明实施例中,通过对原始报文进行动态重组,实现原始报文的随机加密,提高了加密报文的可靠性。
根据本发明实施例,提供了一种报文加密方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种报文加密方法,可用于电子设备,如车载电子控制单元(Electronic Control Unit,简称为ECU)等,图1是根据本发明实施例的报文加密方法的流程图,如图1所示,该流程包括如下步骤:
S11,获取随机位置以及加密报文中的当前存储位置。
电子设备随机从原始报文中提取原始信号值并进行加密,并将加密后的信号值依次存入加密报文中,每存入一个加密后的信号值就对加密报文的当前存储位置更新一次。具体地,电子设备可以生成一个随机数,将该随机数作为随机位置;例如,原始报文中包括N个原始信号值,可以随机生成[0,N-1]内的整数,将该数值作为随机位置。也可以借助于硬件模块生成随机数,基于该随机数确定随机位置。例如,借助于RNG处理器生成随机数n,采用下述方式计算随机位置Index,即,Index=n%原始报文中原始信号值的个数。
其中,加密报文的初始存储位置为加密报文的报文头,每存入一个加密后的信号值,当前存储位置向后移动。即,当前存储位置是一个变化的量。当前存储位置可以通过计数方式表示,当前存储位置的初始值为0,每存入一个加密后的信号值其值增1。通过判断当前存储位置的值是否等于加密报文中信号值的数量,当等于时表示加密处理完成;当小于时,表示加密处理未完成需要继续进行加密处理。
S12,基于随机位置,从原始报文中提取对应位置的原始信号值。
原始信号值在原始报文中是依次存储的,每个原始信号值在原始报文中均有对应的索引值,该索引值是固定的。电子设备在获取到随机位置之后,利用该随机位置与各个原始信号值的索引值进行匹配,确定出随机位置在原始报文中对应的索引值。在确定出索引值之后,即可提取出该索引值对应的原始信号值。
例如,在原始报文中索引值与原始信号值的对应关系表示为:
Index1:信号A,Index2:信号B,Index3:信号C,Index4:信号D。
当随机位置为2时,电子设备匹配到的索引值为Index2,提取出该位置的原始信号值,即信号B。
S13,根据当前存储位置对应的加密方式对原始信号值进行加密,得到加密后的信号值。
当前存储位置用于表征加密后的信号在加密报文中的位置,各个当前存储位置均有对应的加密方式。即,加密报文中各个存储位置均有对应的加密方式。
例如,加密报文中存储位置与加密后的信号值的对应关系表示为:
存储位置1:加密后的信号值B,存储位置2:加密后的信号值C,存储位置3:加密后的信号值A,存储位置4:加密后的信号值D。
存储位置与加密方式的对应关系表示为:
存储位置1:加密方式1,存储位置2:加密方式2,存储位置3:加密方式3,存储位置4:加密方式4。
具体地,由于每次加密报文中各个存储位置的信号值在原始报文中的位置并不固定,相应地,对应于各个原始报文中的原始信号值是采用不固定的加密方式进行加密的。即,对于原始信号值是采用不固定的方式进行加密的,从而实现动态重组。
所述的加密方式可以根据实际需求进行相应的设置,例如,加密后的信号值与原始信号值的对应关系可以表示为:y=f(x),其中,y为加密后的信号值,x为原始信号值,f()为加密方式。
S14,将加密后的信号值以及随机位置存入加密报文的当前存储位置,并更新当前存储位置,以形成加密报文。
电子设备利用当前存储位置对加密后的信号值进行存储,其中,由于信号值的来源不固定,为了后续能够准确地拼接出原始报文,因此,还需要将原始信号值对应的随机位置也一并存入加密报文的当前存储位置。如上文所述,随机位置与提取出的原始报文值的索引是一致的,因此,利用随机位置可以准确地表征出原始信号值在原始报文中的实际位置。
在将加密后的信号值以及随机位置存入加密报文的当前存储位置之后,需要对当前存储位置进行更新,以便进行下一次的存储。电子设备通过不断执行上述S11-S14,实现将原始报文中的所有原始信号值全部加密形成所述的加密报文。
本实施例提供的报文加密方法,加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性。
在本实施例中提供了一种报文加密方法,可用于电子设备,如ECU等,图2是根据本发明实施例的报文加密方法的流程图,如图2所示,该流程包括如下步骤:
S21,获取随机位置以及加密报文中的当前存储位置。
详细请参见图1所示实施例的S11,在此不再赘述。
S22,基于随机位置,从原始报文中提取对应位置的原始信号值。
具体地,上述S22包括:
S221,获取报文信号表。
其中,所述报文信号表用于表示所述原始报文中各个原始信号值的位置以及长度。
表1报文信号表
Message_ID | Signal_Name | Index | Length |
102 | Signal_A | 1 | 4bit |
102 | Signal_B | 2 | 10bit |
102 | Signal_C | 3 | 12bit |
具体地,Message ID表示原始报文的索引号,Signal Name表示原始报文中各个原始信号值的名称,Index表示原始信号值的索引号,Length为原始信号值的长度。不同的原始报文对应于不同的报文信号表,表1仅仅是一种示例,并不限定报文信号表的范围,其具体可以根据实际需求进行相应的设置,只需保证在能够区分不同原始报文的报文信号表,且在报文信号表中记录有各个原始信号值的索引及长度即可。
报文信号表事先固化在电子设备中,由于后续在解密时也需要用到该报文信号表,因此,报文信号表事先固化在车载通信的双方。若需要对报文信号表进行修改,就需要重新烧录程序,其比较繁琐。因此,在本发明实施例中,为了减少数据处理量,对报文信号表并不做任何调整,而是在后续对原始信号值加密时采用动态重组的方式进行处理,以保证加密报文的可靠性。
在本实施例的一些可选实施方式中,如上文所述,原始报文与报文信号表是一一对应的。基于此,上述S221包括:
(1)获取原始报文的标识。
原始报文的标识可以是原始报文携带的,相应地,电子设备就可以获取到原始报文的标识。
(2)基于原始报文的标识提取出对应的报文信号表。
如表1所示,在各个报文信号表中包括有对应的原始报文的标识,电子设备利用上述步骤(1)中获取到的原始报文的标识在各个报文信号表中进行匹配,就可以确定出与原始报文对应的报文信号表。
对于报文信号表与原始报文之间存在对应关系,利用原始报文的标识确定出报文信号表可以保证报文信号表的准确性。
S222,利用随机位置从报文信号表中提取相应原始信号值的长度。
原始信号值的起始位是利用随机位置表征的,而从起始位开始所要提取的信号值的长度是由原始信号值的长度决定的。如表1所示,各个原始信号值均对应有相应的长度,电子设备通过查找报文信号表,即可确定对应的原始信号值的长度。
S223,基于随机位置以及长度在原始报文中进行信号提取,得到原始信号值。
在确定原始信号值的长度之后,电子设备利用随机位置先确定起始位,再从起始位开始依次提取对应于原始信号值长度的数据,从而提取出所述的原始信号值。
S23,根据当前存储位置对应的加密方式对原始信号值进行加密,得到加密后的信号值。
具体地,上述S23包括:
S231,获取密码表。
其中,所述密码表中包括多组加密方式,所述加密方式与所述加密报文中存储位置一一对应。
密码表是与加密报文对应的,加密报文的各个存储位置均对应于密码表中的一个加密方式。具体地,加密报文中的存储位置1,对应于密码表中的第一个加密方式;存储位置2,对应于密码表中的第二个加密方式;…;依次类推。
由于密码表与加密报文对应,而加密报文又是由原始报文得到的,因此,密码表与原始报文存在对应关系。即,各个原始报文对应有相应的密码表。
表2密码表
Signal_Position | Factor | Offset |
1 | 5 | -40 |
2 | 1 | 15 |
3 | 3 | -10 |
表2示出了密码表的一种具体方式,其中,Signal Position为加密后报文中的各个存储位置,Factor为系数,Offset为偏移值。需要说明的是,表2仅仅是一种示意,并不限定本发明的保护范围,具体可以根据实际需求进行相应的设置。
S232,基于当前存储位置从密码表提取对应位置的加密方式。
例如,如表2所示,若当前存储位置为1时,所对应的系数为5,偏移值为-40。
S233,利用加密方式对原始信号值进行加密,得到加密后的信号值。
若原始信号值为A,那加密后的信号值可以表示为:A*5-40。
S24,将加密后的信号值以及随机位置存入加密报文的当前存储位置,并更新当前存储位置,以形成加密报文。
具体地,上述S24包括:
S241,对随机位置进行加密,得到加密随机位置。
随机位置用于表示原始信号值在原始报文中的位置,其中随机位置的加密方式可以采用与上述原始信号值相同的加密方式,也可以采用不同的加密方式,具体均可以根据实际需求进行相应设置,在此对其并不做任何限定。
S242,将加密随机位置以及加密后的信号值存入加密报文的当前存储位置。
电子设备在得到加密随机位置以及加密后的信号值之后,将两者进行拼接存入加密报文的当前存储位置。
S243,更新当前存储位置并获取下一个随机位置,对原始报文对应位置的下一个原始信号值进行加密,以形成加密报文。
对当前存储位置进行调整,并再次获取下一个随机位置,继续对下一个原始信号进行加密,直至所有的原始信号值均加密完成,形成加密报文为止。
本实施例提供的报文加密方法,利用报文信号表标识各个原始信号值的位置以及长度,由于信号在加密后的报文中是随机排布的,因此需要报文中存储和信号对应的位置以此区分各个信号。利用密码表维护与加密报文中存储位置一一对应的加密方式,可以保证后续解密是利用对应位置进行解密,保证了解密后原始信号值的准确性。
作为本实施例的一个具体应用实例,如图3所示,所述的报文加密方法包括:
S101,系数指针指向系数循环队列队首,偏移指针执行偏移循环队列队首,记录报文当前存储位置为报文数据的起始位。
对应于表2所示,分别采用系数指针以及偏移指针指向当前系数以及当前偏移值。
S102,判断待选信号列表是否为空,当为空时执行S112,否则执行S103。将原始报文中未处理的原始信号值放入待选信号列表中,以待选信号列表为空表示加密完成。
S103,使用RNG处理器生成一个随机数n,Index=n%该报文中的信号个数,从待选信号列表中取出Index对应的信号。其中,Index表示随机位置,利用该随机位置从待选信号列表中提取出对应的原始信号值。
S104,将信号Index存储到报文当前存储位置。将该随机位置存入到当前存储位置。
S105,报文当前存储位置后移Index的长度,用以指向下一个当前存储位置。
S106,该信号的值乘以系数指针指向的系数值,再加上偏移指针指向的偏移值。
S107,将信号值存储到报文当前存储位置。
S108,报文当前存储位置后移信号的长度。
S109,系数指针指向下一个系数。
S110,偏移指针指向下一个偏移。
S111,将该信号从待选信号列表中移除。
S112,将该报文协议数据单元发送给CAN接口层。在原始报文中的所有原始信号值全部加密完成之后,将形成的加密报文发送给CAN接口层,以传输至车载通信的接收端。
具体地,每次打包一个报文需要使用RNG处理器生成一个随机数n,计算Index=n%该报文中的信号个数,从待选信号列表中取出Index对应的信号,将Index先存储到报文中,然后根据它在报文中的位置选用对应的系数值和偏移值对信号进行数据加密处理,处理完后存储到Index后面。重复该过程直至信号列表中所有的信号取出,根据信号被取出的顺序使用对应的系数值和偏移值对信号进行加密处理并存储到报文中。这样每次发送的报文中各信号所处的位置是随机的,因此所使用的系数值和偏移值也是不同的,为破解增加了难度,增强了系统的安全性。
根据本发明实施例,提供了一种报文解密方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种报文解密方法,可用于电子设备,如ECU等。所述的报文解密方法与上文所述的报文加密方法对应,图4是根据本发明实施例的报文解密方法的流程图,如图4所示,该流程包括如下步骤:
S31,接收加密报文。
关于加密报文的具体形成过程请参见上文所述,在此不再赘述。
S32,提取加密报文中各个存储位置存储的随机位置以及加密后的信号值。
加密报文的各个存储位置存储有随机位置以及加密后的信号值,其中,随机位置用于表示加密后的信号值对应的原始信号值在原始报文中的位置。
S33,根据各个存储位置对应的解密方式对加密后的信号值进行解密,得到原始信号值。
虽然原始信号值是随机提取的,其位置不固定,但是解密方式与加密报文的存储位置是一一对应的。所述的解密方式与上文所述的加密方式是对应的,如上文所述,加密方式是与加密报文的存储位置对应。因此,在解密时利用各个存储位置对应的解密方式对该位置处的加密后的信号值进行解密,即可得到原始信号值。
S34,基于随机位置对所述原始信号值进行拼接,以形成原始报文。
电子设备利用存储位置处存储的随机位置对S33中得到的原始信号值进行拼接,即可形成原始报文。
本实施例提供的报文解密方法,由于加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性;在解密时利用对应的方式进行解密,可以得到准确的原始报文。
在本实施例中提供了一种报文解密方法,可用于电子设备,如ECU等,图5是根据本发明实施例的报文解密方法的流程图,如图5所示,该流程包括如下步骤:
S41,接收加密报文。
详细请参见图4所示实施例的S31所示,在此不再赘述。
S42,提取加密报文中各个存储位置存储的随机位置以及加密后的信号值。
详细请参见图4所示实施例的S32所示,在此不再赘述。
S43,根据各个存储位置对应的解密方式对加密后的信号值进行解密,得到原始信号值。
具体地,上述S43包括:
S431,获取密码表。
其中,所述密码表中包括多组解密方式,所述解密方式与所述加密报文中存储位置一一对应。
解密方式与加密方式对应,例如,此处获取的密码表可以与上述S231中获取到的密码表相同。
S432,基于各个存储位置从密码表提取对应位置的解密方式。
电子设备利用存储位置与解密方式的对应关系,从密码表中提取出对应的解密方式。例如,存储位置1:解密方式1,存储位置2:解密方式2,存储位置3:解密方式3,…,依次类推。
S433,利用解密方式对加密后的信号值进行解密,得到原始信号值。
电子设备利用各个存储位置对应的解密方式对存储位置处加密后的信号值进行解密,即可得到原始信号值。
S44,基于随机位置对原始信号值进行拼接,以形成原始报文。
具体地,上述S44包括:
S441,获取报文信号表。
其中,所述报文信号表用于表示原始报文中各个原始信号值的位置以及长度。
此处的报文信号表与上述S221中的报文信号表相同,具体参见上述S221所示,在此不再赘述。
S442,利用随机位置从报文信号表中提取相应原始信号值的长度。
随机位置表示原始信号值在原始报文中的位置,而报文信号表用于表示各个原始信号值的长度,因此,利用随机位置在报文信号表中进行匹配,即可提取出相应原始信号值的长度。
S443,基于随机位置以及长度对原始信号值进行拼接,以形成原始报文。
本实施例提供的报文解密方法,利用报文信号表标识各个原始信号值的位置以及长度,由于信号在加密后的报文中是随机排布的,因此需要报文中存储和信号对应的位置以此区分各个信号。利用密码表维护与加密报文中存储位置一一对应的加密方式,可以保证后续解密是利用对应位置进行解密,保证了解密后原始信号值的准确性。
作为本实施例的一个具体应用实例,如图6所示,所述的报文解密方法包括:
S201,系数指针指向系数循环队列队首,偏移指针指向偏移循环队列队首,记录报文当前存储位置为报文数据的起始位。
S202,报文当前存储位置是否等于报文长度,当等于报文长度时,执行S211,否则执行S203。
S203,从当前存储位置取出一个Index。
S204,报文当前存储位置后移Index的长度。
S205,通过Index获取到信号的长度。
S206,根据信号长度读取到信号原始数据。
S207,报文当前存储位置后移信号的长度。
S208,信号值=(原始数据-偏移)/系数。
S209,系数指针指向下一个系数。
S210,偏移指针指向下一个偏移。
S211,将该报文协议数据单元发送给CAN接口层。
具体地,当其他控制器接收到该帧报文后,应按照如下流程进行解密:
接收方应该存储和发送方相同的信号表和系数偏移表,读出一个Index,从信号表中找出Index对应的信号长度,根据长度读出这个信号的原始数据;从系数偏移列表中取出第一组系数偏移值,信号值=(原始数据–偏移)/系数;重复上述步骤,直至将报文中所有数据解析完成。
通过动态重组CAN通信协议数据单元的各信号,使得每次发送报文中各信号所处的位置是不固定的,所使用的系数和偏移量也是不固定的,使报文信息不容易破解,增加系统的安全性。
在本实施例中还提供了一种报文加密装置以及报文解密装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种报文加密装置,如图7所示,包括:
获取模块51,用于获取随机位置以及加密报文中的当前存储位置;
第一提取模块52,用于基于所述随机位置,从原始报文中提取对应位置的原始信号值;
加密模块53,用于根据所述当前存储位置对应的加密方式对所述原始信号值进行加密,得到加密后的信号值;
存储模块54,用于将加密后的信号值以及所述随机位置存入所述加密报文的当前存储位置,并更新所述当前存储位置,以形成所述加密报文。
本实施例提供的报文加密装置,加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么在各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性。
本实施例还提供了一种报文解密装置,如图8所示,包括:
接收模块61,用于接收加密报文;
第二提取模块62,用于提取所述加密报文中各个存储位置存储的随机位置以及加密后的信号值;
解密模块63,用于根据所述各个存储位置对应的解密方式对所述加密后的信号值进行解密,得到原始信号值;
拼接模块64,用于基于所述随机位置对所述原始信号值进行拼接,以形成原始报文。
本实施例提供的报文解密装置,由于加密报文的布局不再使用固定的布局,各信号动态重组,每一次打包报文时由于是利用随机位置从原始报文中提取出原始信号值进行加密的,那么在各原始信号值在加密报文中的位置都是不固定的,所使用的加密方式也是不固定的,可以对数据进行加密,增加系统的安全性;在解密时利用对应的方式进行解密,可以得到准确的原始报文。
本实施例中的报文加密装置或报文解密装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图7所示的报文加密装置,或图8所示的报文解密装置。
请参阅图9,图9是本发明可选实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备可以包括:至少一个处理器71,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口73,存储器74,至少一个通信总线72。其中,通信总线72用于实现这些组件之间的连接通信。其中,通信接口73可以包括显示屏(Display)、键盘(Keyboard),可选通信接口73还可以包括标准的有线接口、无线接口。存储器74可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器74可选的还可以是至少一个位于远离前述处理器71的存储装置。其中处理器71可以结合图7或8所描述的装置,存储器74中存储应用程序,且处理器71调用存储器74中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线72可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器74可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器74还可以包括上述种类的存储器的组合。
其中,处理器71可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器71还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器74还用于存储程序指令。处理器71可以调用程序指令,实现如本申请图1-3中任一实施例中所示的报文加密方法,或实现本申请图4-6中任一实施例中所示的报文解密方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的报文加密方法,或报文解密方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.一种报文加密方法,其特征在于,包括:
获取与原始报文对应的随机位置以及加密报文中的当前存储位置;
基于所述随机位置,从原始报文中提取对应位置的原始信号值;
根据所述当前存储位置对应的加密方式对所述原始信号值进行加密,得到加密后的信号值;
将加密后的信号值以及所述随机位置存入所述加密报文的当前存储位置,并更新所述当前存储位置,以形成所述加密报文;
所述基于所述随机位置,从原始报文中提取对应位置的原始信号值,包括:
获取报文信号表,所述报文信号表用于表示所述原始报文中各个原始信号值的位置以及长度;
利用所述随机位置从所述报文信号表中提取相应原始信号值的长度;
基于所述随机位置以及所述长度在所述原始报文中进行信号提取,得到所述原始信号值。
2.根据权利要求1所述的报文加密方法,其特征在于,所述获取报文信号表,包括:
获取所述原始报文的标识;
基于所述原始报文的标识提取出对应的所述报文信号表。
3.根据权利要求1所述的报文加密方法,其特征在于,所述根据所述当前存储位置对应的加密方式对所述原始信号值进行加密,得到加密后的信号值,包括:
获取密码表,所述密码表中包括多组加密方式,所述加密方式与所述加密报文中存储位置一一对应;
基于所述当前存储位置从所述密码表提取对应位置的加密方式;
利用所述加密方式对所述原始信号值进行加密,得到所述加密后的信号值。
4.根据权利要求1所述的报文加密方法,其特征在于,所述将加密后的信号值以及所述随机位置存入所述加密报文的当前存储位置,并更新所述当前存储位置,以形成所述加密报文,包括:
对所述随机位置进行加密,得到加密随机位置;
将所述加密随机位置以及所述加密后的信号值存入所述加密报文的当前存储位置;
更新所述当前存储位置并获取下一个随机位置,对所述原始报文对应位置的下一个原始信号值进行加密,以形成所述加密报文。
5.一种报文解密方法,其特征在于,包括:
接收加密报文;
提取所述加密报文中各个存储位置存储的与原始报文对应的随机位置以及加密后的信号值;
根据所述各个存储位置对应的解密方式对所述加密后的信号值进行解密,得到原始信号值;
基于所述随机位置对所述原始信号值进行拼接,以形成原始报文;
所述基于所述随机位置对所述原始信号值进行拼接,以形成原始报文,包括:
获取报文信号表,所述报文信号表用于表示所述原始报文中各个原始信号值的位置以及长度;
利用所述随机位置从所述报文信号表中提取相应原始信号值的长度;
基于所述随机位置以及所述长度对所述原始信号值进行拼接,以形成所述原始报文。
6.根据权利要求5所述的报文解密方法,其特征在于,所述根据所述各个存储位置对应的解密方式对所述加密后的信号值进行解密,得到原始信号值,包括:
获取密码表,所述密码表中包括多组解密方式,所述解密方式与所述加密报文中存储位置一一对应;
基于所述各个存储位置从所述密码表提取对应位置的解密方式;
利用所述解密方式对所述加密后的信号值进行解密,得到所述原始信号值。
7.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-4中任一项所述的报文加密方法,或执行权利要求5–6任一项所述的报文解密方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-4中任一项所述的报文加密方法,或执行权利要求5–6任一项所述的报文解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866002.9A CN113810363B (zh) | 2021-07-29 | 2021-07-29 | 报文加密、解密方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866002.9A CN113810363B (zh) | 2021-07-29 | 2021-07-29 | 报文加密、解密方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113810363A CN113810363A (zh) | 2021-12-17 |
CN113810363B true CN113810363B (zh) | 2023-06-20 |
Family
ID=78942643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866002.9A Active CN113810363B (zh) | 2021-07-29 | 2021-07-29 | 报文加密、解密方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810363B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865922A (zh) * | 2020-06-23 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153794B (zh) * | 2016-03-03 | 2020-07-21 | 腾讯科技(深圳)有限公司 | 文件加密方法和装置、文件解密方法和装置 |
CN109428867B (zh) * | 2017-08-30 | 2020-08-25 | 华为技术有限公司 | 一种报文加解密方法、网路设备及系统 |
CN109948347B (zh) * | 2017-12-21 | 2021-03-05 | 中移(杭州)信息技术有限公司 | 一种数据存储方法及装置、服务器及可读存储介质 |
CN108776758B (zh) * | 2018-04-13 | 2021-08-17 | 西安电子科技大学 | 一种雾存储中支持动态所有权管理的块级数据去重方法 |
CN109460667A (zh) * | 2018-11-05 | 2019-03-12 | 国家电网有限公司 | 招投标过程中的文件处理方法、系统及终端设备 |
CN109714368B (zh) * | 2019-02-28 | 2022-01-11 | 成都卫士通信息产业股份有限公司 | 报文加解密方法、装置、电子设备及计算机可读存储介质 |
CN111711671B (zh) * | 2020-06-01 | 2023-07-25 | 深圳华中科技大学研究院 | 一种基于盲存储的高效密文文件更新的云存储方法 |
-
2021
- 2021-07-29 CN CN202110866002.9A patent/CN113810363B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865922A (zh) * | 2020-06-23 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113810363A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324143B (zh) | 数据传输方法、电子设备及存储介质 | |
US9608945B2 (en) | Sending messages to multiple receiving electronic devices using a message server | |
US10818202B2 (en) | Method and apparatus for encrypting data, method and apparatus for decrypting data | |
CN108712363B (zh) | 一种日志加解密方法 | |
CN110099064A (zh) | 一种基于物联网的文件处理方法、装置、设备和存储介质 | |
CN109039997B (zh) | 密钥获得方法、装置及系统 | |
CN113014580A (zh) | 文件传输方法、装置、电子设备及存储介质 | |
CN117640256B (zh) | 一种无线网卡的数据加密方法、推荐装置和存储介质 | |
CN111404892A (zh) | 数据监管方法、装置和服务器 | |
CN114095277A (zh) | 配电网安全通信方法、安全接入设备及可读存储介质 | |
CN113704789A (zh) | 一种车载通讯安全处理方法、装置、设备及存储介质 | |
CN113810363B (zh) | 报文加密、解密方法及电子设备 | |
CN111865557B (zh) | 一种校验码生成方法及装置 | |
CN107395350B (zh) | 密钥及密钥句柄的生成方法、系统及智能密钥安全设备 | |
CN116366289A (zh) | 无人机遥感数据的安全监管方法及装置 | |
CN113489589A (zh) | 数据加密、解密方法、装置及电子设备 | |
US8966254B2 (en) | Keyless challenge and response system | |
CN113452508A (zh) | 数据加密方法、装置、设备和计算机可读存储介质 | |
CN113645025A (zh) | 数据加密存储方法、存储设备、用户设备及存储介质 | |
CN116028979B (zh) | 密钥安全管理方法、装置、电子设备和计算机可读介质 | |
CN116455892B (zh) | 文件传输方法、传输装置及终端设备 | |
CN113872753B (zh) | 基于sha256序列形式的数据的加密传输方法和装置 | |
CN116828016B (zh) | 远程控制etc车载单元方法、装置、计算机设备和存储介质 | |
US20240163088A1 (en) | Fault-tolerant access to digital assets without storing sensitive security data for decryption | |
CN118215037A (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 |