CN113489589A - 数据加密、解密方法、装置及电子设备 - Google Patents
数据加密、解密方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113489589A CN113489589A CN202111035546.7A CN202111035546A CN113489589A CN 113489589 A CN113489589 A CN 113489589A CN 202111035546 A CN202111035546 A CN 202111035546A CN 113489589 A CN113489589 A CN 113489589A
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- system time
- time
- encrypted
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及车载通信技术领域,具体涉及数据加密、解密方法、装置及电子设备,所述数据加密方法包括获取原始数据以及第一***时间;基于所述第一***时间对所述原始数据进行加密,确定加密数据;对所述第一***时间进行加密确定加密时间,并利用所述加密数据以及所述加密时间形成目标数据,所述加密时间用于验证所述目标数据的有效性。由于第一***时间是实时变化的,利用实时变化的时间对原始数据进行加密,且同时对第一***时间也进行加密,以使得接收端验证目标数据的有效性,提高了原始数据传输的安全性。
Description
技术领域
本发明涉及车载通信技术领域,具体涉及数据加密、解密方法、装置及电子设备。
背景技术
目前车载电子控制单元(Electronic Control Unit,简称为ECU)的通信大多使用HS-CAN或CANFD通信协议进行通信,HS-CAN通信的数据段一般为8个字节,CANFD通信的数据段一般为64个字节。如果数据场中的数据以明文传输,这种通信方式很容易被黑客攻击,造成隐私泄露和生命财产安全。
然而,目前不论是HS-CAN还是CANFD通信,其协议的缺点都是以明文传输,很容易被黑客截获或攻击,造成隐私泄露和生命财产安全。
发明内容
有鉴于此,本发明实施例提供了一种数据加密、解密方法、装置及电子设备,以解决车载信息安全的问题。
根据第一方面,本发明实施例提供了一种数据加密方法,包括:
获取原始数据以及第一***时间;
基于所述第一***时间对所述原始数据进行加密,确定加密数据;
对所述第一***时间进行加密确定加密时间,并利用所述加密数据以及所述加密时间形成目标数据,所述加密时间用于验证所述目标数据的有效性。
本发明实施例提供的数据加密方法,由于第一***时间是实时变化的,利用实时变化的时间对原始数据进行加密,且同时对第一***时间也进行加密,以使得接收端验证目标数据的有效性,提高了原始数据传输的安全性。
结合第一方面,在第一方面第一实施方式中,所述基于所述第一***时间对所述原始数据进行加密,确定加密数据,包括:
提取所述原始数据中预设字节数的子数据;
将所述子数据与所述第一***时间进行异或处理,得到与所述子数据对应的加密子数据,以确定所述加密数据。
本发明实施例提供的数据加密方法,利用提取出的子数据与第一***时间进行异或处理,可以较便捷的对子数据进行加密,提高了加密处理效率。
结合第一方面,在第一方面第二实施方式中,所述对所述第一***时间进行加密确定加密时间,包括:
获取密钥表以及所述原始数据的序号,所述密钥表中包括多个密钥;
基于所述序号从所述密钥表中确定出对应的密钥,以得到加密密钥;
将所述加密密钥与所述第一***时间进行异或处理,确定所述加密时间。
本发明实施例提供的数据加密方法,利用加密密钥与第一***时间进行异或处理,即利用简单的逻辑处理就可以实现对第一***时间的加密,简化了数据加密的过程,提高了加密效率。利用原始数据的序号在密钥表中匹配出对应的密钥,从而得到加密密钥,使得不同序号的数据所采用的加密密钥不同,进一步保证了数据的安全性。
根据第二方面,本发明实施例还提供了一种数据解密方法,包括:
获取目标数据以及第二***时间,所述目标数据包括加密时间以及加密数据;
对所述加密时间进行解密得到第一***时间,并将所述第一***时间与所述第二***时间进行比较,确定所述目标数据是否有效;
当所述目标数据有效时,基于所述第一***时间对所述加密数据进行解密,确定原始数据。
本发明实施例提供的数据解密方法,利用第一***时间与第二***时间的比较结果确定目标数据的有效性,只有在目标数据有效时才对加密数据进行解密,在保证数据传输安全性的基础上减少了数据处理量,提高了解密效率。
结合第二方面,在第二方面第一实施方式中,所述对所述加密时间进行解密得到第一***时间,包括:
获取密钥表以及所述目标数据的序号,所述密钥表包括多个密钥;
基于所述序号从所述密钥表中确定出对应的密钥;
利用确定出的密钥对所述加密时间进行解密,得到所述第一***时间。
本发明实施例提供的数据解密方法,利用目标数据的序号在密钥表中匹配出对应的密钥,从而得到对应的密钥,使得不同序号的数据所采用的密钥不同,进一步保证了数据的安全性。
结合第二方面,在第二方面第二实施方式中,所述基于所述第一***时间对所述加密数据进行解密,确定原始数据,包括:
提取所述加密数据中预设字节数的加密子数据;
将所述加密子数据与所述第一***时间进行异或处理,得到与所述加密子数据对应的子数据,以确定所述原始数据。
本发明实施例提供的数据解密方法,利用提取出的加密子数据与第一***时间进行异或处理,可以较便捷的对加密子数据进行解密,提高了解密处理效率。
根据第三方面,本发明实施例还提供了一种数据加密装置,包括:
第一获取模块,用于获取原始数据以及第一***时间;
第一加密模块,用于基于所述第一***时间对所述原始数据进行加密,确定加密数据;
第二加密模块,用于对所述第一***时间进行加密确定加密时间,并利用所述加密数据以及所述加密时间形成目标数据,所述加密时间用于验证所述目标数据的有效性。
本发明实施例提供的数据加密装置,由于第一***时间是实时变化的,利用实时变化的时间对原始数据进行加密,且同时对第一***时间也进行加密,以使得接收端验证目标数据的有效性,提高了原始数据传输的安全性。
根据第四方面,本发明实施例还提供了一种数据解密装置,包括:
第二获取模块,用于获取目标数据以及第二***时间,所述目标数据包括加密时间以及加密数据;
第一解密模块,用于对所述加密时间进行解密得到第一***时间,并将所述第一***时间与所述第二***时间进行比较,确定所述目标数据是否有效;
第二解密模块,用于当所述目标数据有效时,基于所述第一***时间对所述加密数据进行解密,确定原始数据。
本发明实施例提供的数据解密装置,利用第一***时间与第二***时间的比较结果确定目标数据的有效性,只有在目标数据有效时才对加密数据进行解密,在保证数据传输安全性的基础上减少了数据处理量,提高了解密效率。
根据第五方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的数据加密方法,或,执行第二方面或者第二方面的任意一种实施方式中所述的数据解密方法。
根据第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的数据加密方法,或,执行第二方面或者第二方面的任意一种实施方式中所述的数据解密方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的应用场景的示意图;
图2是根据本发明实施例的数据加密方法的流程图;
图3是根据本发明实施例的数据加密方法的流程图;
图4是根据本发明实施例的数据加密方法的流程图;
图5是根据本发明实施例的数据解密方法的流程图;
图6是根据本发明实施例的数据解密方法的流程图;
图7是根据本发明实施例的数据解密方法的流程图;
图8是根据本发明实施例的数据传输方法的流程图;
图9是根据本发明实施例的数据加密装置的结构框图;
图10是根据本发明实施例的数据解密装置的结构框图;
图11是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中所述的数据加密方法以及数据解密方法,可以用于在车载通信的终端上,例如,ECU。其中,通信可以是一对多通信、一对一通信,或多对一通信等等,在此对其具体应用场景并不做任何限定。
如图1所示,车载通信双方,即ECU A与ECU B,ECU A要发送数据给ECU B。ECU A利用本发明实施例中所述的数据加密方法对原始数据进行加密处理后得到目标数据,并将目标数据发送给ECU B。ECU B接收到目标数据后,对其进行相应的解密,即可得到原始数据。
关于具体的数据加密方法、数据解密方法将在下文中进行详细描述。
根据本发明实施例,提供了一种数据加密方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种数据加密方法,可用于电子设备,例如上述的ECU A。图2是根据本发明实施例的数据加密方法的流程图,如图2所示,该流程包括如下步骤:
S11,获取原始数据以及第一***时间。
原始数据为待发送的数据,例如,报文数据等。其中,原始数据可以是电子设备处理得到的中间数据,也可以是用户输入至电子设备的数据,例如,用户输入的处理指令,等等。在此对原始数据的具体形式及来源并不做任何限定,可以根据实际需求进行设置。
第一***时间为电子设备的***时间,其可以从***中读取到。例如,电子设备的当前***时间为11:23,那么所述的第一***时间即为11:23。当然,对于***时间的获取精度也可以根据实际精度需求进行相应的设置,例如,可以精确到秒级。
S12,基于第一***时间对原始数据进行加密,确定加密数据。
第一***时间是实时变化的,利用实时变化的时间对各个原始数据进行加密,可以保证各个原始数据的安全性。即使是相同的原始数据,由于第一***时间的不同,那么加密后所得到的加密数据也是不同的。
具体地,电子设备可以在原始数据的基础上叠加第一***时间,得到所述的加密数据;也可以是利用原始数据与第一***时间进行逻辑处理,得到所述的加密数据;也可以采用其他方式对原始数据进行加密。在此对具体的加密方式并不做任何限定,只需保证加密数据是利用第一***时间对原始数据加密后得到的。
S13,对第一***时间进行加密确定加密时间,并利用加密数据以及加密时间形成目标数据。
其中,所述加密时间用于验证目标数据的有效性。
第一***时间需要发送给接收端,电子设备通过对第一***时间进行加密以防止第一***时间在传输过程中被第三方所攻击,或伪装等等。对第一***时间的加密方式可以是利用加密算法进行加密,也可以是利用加密密钥与第一***时间的逻辑处理,等等。具体加密方式可以根据实际需求进行相应的设置。
电子设备在得到加密数据以及加密时间之后,可以将其封装成报文形成目标数据。后续电子设备将目标数据发送给接收端,以使得接收端先利用加密时间验证目标数据的有效性,再在目标数据有效时,采用对应于加密的解密方式对加密数据进行解密,得到原始数据。至此,就可以实现原始数据的完整传输过程。
此处需要说明的是,加密时间是通过对第一***时间加密得到的,而接收端中同样存在第二***时间。接收端在接收到目标数据之后,解密得到第一***时间与自身的第二***时间进行对比,即可验证目标数据的有效性。在对比过程中考虑到传输延时以及***时间误差,只需保证两者的差值小于阈值,均可以认为目标数据有效。
其中,关于具体的解密过程将在下文中进行详细描述。
本实施例提供的数据加密方法,由于第一***时间是实时变化的,利用实时变化的时间对原始数据进行加密,且同时对第一***时间也进行加密,以使得接收端验证目标数据的有效性,提高了原始数据传输的安全性。
在本实施例中提供了一种数据加密方法,可用于电子设备,例如上述的ECU A,图3是根据本发明实施例的数据加密方法的流程图,如图3所示,该流程包括如下步骤:
S21,获取原始数据以及第一***时间。
详细请参见图2所示实施例的S11,在此不再赘述。
S22,基于第一***时间对原始数据进行加密,确定加密数据。
具体地,上述S22包括:
S221,提取原始数据中预设字节数的子数据。
预设字节数与第一***时间所占的字节有关,例如,若第一***时间为时:分的表示形式时,确定预设字节数为2个字节;若第一***时间为时:分:秒的表示形式时,确定预设字节数为3个字节。具体可以根据实际精度需求进行相应的设置。
原始数据中所包括的字节数与具体的通信协议有关,例如,对于通信协议A,其一个报文中包括的字节数为8个字节,那么,原始数据包括8个字节的数据。电子设备在确定出第一***时间对应的字节数之后,从原始数据中提取相应字节数的子数据。以原始数据包括8个字节的数据,分别为{字节0,字节1,字节2,字节3,字节4,字节5,字节6,字节7},预设字节数为2个字节为例,提取出的子数据包括:{字节0,字节1},{字节2,字节3},{字节4,字节5},{字节6,字节7}。即,电子设备提取得到4组子数据。
可选地,若原始数据中用于最后一组子数据的字节数小于预设字节数,可以采用预设数字进行补齐。例如,补齐后的最后一组子数据为{字节6,预设数字}。
S222,将子数据与第一***时间进行异或处理,得到与子数据对应的加密子数据,以确定加密数据。
如上文所述,每组子数据的字节数是与第一***时间的字节数对应的,那么,在进行异或处理时,就可以将对应的字节进行逻辑异或处理,从而得到与子数据对应的加密子数据。电子设备通过对所有的子数据分别进行相同的异或处理,即可得到多组加密子数据,再依据各组子数据的顺序对加密子数据进行拼接,确定加密数据。
或者,在对加密子数据进行拼接时,采用随机拼接的方式确定加密数据。同时,需要记录各组加密子数据对应于原始数据的位置,该位置也需要一并发送给接收端,以便接收端准确地恢复出原始数据。
S23,对第一***时间进行加密确定加密时间,并利用加密数据以及加密时间形成目标数据。
其中,所述加密时间用于验证目标数据的有效性。
具体地,上述S23包括:
S231,获取加密密钥。
加密密钥可以是随机生成的,例如,生成加密公钥以及加密私钥,将加密公钥发送给接收端,在本地将加密私钥作为加密密钥。或者,也可以是在电子设备和接收端均维护有相同的密钥表,在密钥表中包括有多个密钥,依据顺序依次从密钥表中提取对应的密钥,将其作为加密密钥。
在本实施例的一些可选实施方式中,上述S231包括:
(1)获取密钥表以及原始数据的序号,所述密钥表中包括多个密钥。
在本地与通信的接收端维护有相同的密钥表,该密钥表中包括多个密钥,每个密钥具有唯一的序号。进一步地,可以通过记录发送的原始数据的数量,确定当前原始数据的序号。例如,密钥表中密钥的个数与总线上报文的ID数相同,各个原始数据在报文中的序号可以通过所记录的原始数据发送数量得到。
(2)基于序号从密钥表中确定出对应的密钥,以得到加密密钥。
电子设备在获取到原始数据的序号之后,利用该序号从密钥表中提取相同序号的密钥,即可得到所述的加密密钥。例如,原始数据的序号为4,相应地,电子设备从密钥表中提取序号为4的密钥,并将其作为所述的加密密钥。其中,由于接收端与本地维护有相同的密钥表,本地利用原始数据的序号确定出加密密钥,相应地,接收端可以利用接收到的目标数据的序号,同样从密钥表中确定出相同的密钥,利用该密钥即可对加密后的数据进行解密。该方法可以避免密钥的传输以及序号的传输,仅需要维护相同的密钥表、原始数据的序号及目标数据的序号即可,进一步保证了数据传输的可靠性。
利用原始数据的序号在密钥表中匹配出对应的密钥,从而得到加密密钥,使得不同序号的数据所采用的加密密钥不同,进一步保证了数据的安全性。
S232,将加密密钥与第一***时间进行异或处理,确定加密时间。
电子设备在获取到加密密钥之后,将加密密钥与第一***时间进行逻辑异或处理,即可对第一***时间进行加密,得到加密时间。
本实施例提供的数据加密方法,利用提取出的子数据与第一***时间进行异或处理,可以较便捷的对子数据进行加密,提高了加密处理效率。利用加密密钥与第一***时间进行异或处理,即利用简单的逻辑处理就可以实现对第一***时间的加密,简化了数据加密的过程,提高了加密效率。
作为本实施例的一个具体应用实例,如图4所示,所述的数据加密方法包括:
S1.1,ECU A产生6个字节原始数据,即原始数据包括6个字节的数据;
S1.2,ECU A使用T与原始数据分段进行异或处理,得到6个字节加密数据,T为第一***时间,其中,关于原始数据的分段可以参见上文所述的预设字节数的子数据的提取;
S1.3,根据报文ID在密钥表中检索密钥Key,即可得到加密密钥;
S1.4,使用T与Key进行异或处理,得到2个字节加密数据。即所述的加密时间;
S1.5,将此8个字节加密数据通过CAN通道发送给ECU B,所述的8个字节加密数据包括6个字节的原始数据加密结果以及2个字节的第一***时间的加密结果。
例如,ECU A和ECU B中都存储一个相同的密钥表,如: Key_list[10] = {0x9008,0x5986, 0x8EC9, 0x043C, 0x5EA9, 0x87F0, 0xFFD4, 0x58A5, 0x2CC4, 0x3BC7};
ECU A 的加密过程:
假设ECU A的第一***时间为: T1=11:23,将要传输的报文(即,原始数据)的ID为0x07,此ID对应的密钥为: key = key_list[0x07] = 0x58A5;
要传输的6个字节原始数据为: data[6]={0x23, 0x46, 0x79, 0xAC, 0x55,0x99};
这6个字节每2个字节分别与T1进行逻辑上的异或处理:
(data[0]<<8 & data[1]) ⊕ T1 = 0x2346 ⊕ 0x1123 = 0x3265;
(data[2]<<8 & data[3]) ⊕ T1 = 0x79AC ⊕ 0x1123 = 0x688F;
(data[4]<<8 & data[5]) ⊕ T1 = 0x5599 ⊕ 0x1123 = 0x44BA;
密钥key与T1进行逻辑上的异或处理:
Key ⊕ T1 = 0x58A5⊕ 0x1123 = 0x4986;
加密后的8个字节密文数据为:
data_1[8] = {0x32, 0x65, 0x68, 0x8F, 0x44, 0xBA, 0x49, 0x86}。
本实施例在未消耗过多资源的情况下加密了CAN报文中的数据段,提升了CAN通信的安全性。需要说明的是,上述的密钥表只有10个值,但是其实际等于总线上CAN报文的ID数。
根据本发明实施例,提供了一种数据解密方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种数据解密方法,可用于电子设备,例如上述的ECU B。所述的数据解密方法与上文所述的数据加密方法对应,例如,ECU A将加密得到的目标数据发送给ECU B,相应地,ECU B即可获取到该目标数据。图5是根据本发明实施例的数据解密方法的流程图,如图5所示,该流程包括如下步骤:
S31,获取目标数据以及第二***时间。
其中,所述目标数据包括加密时间以及加密数据。
关于加密时间与加密数据的形成过程可以参见上文数据加密方法中的具体描述,在此不再赘述。
第二***时间为电子设备的本地***时间,例如,本地的当前***时间为11:30,那么,第二***时间为11:30。所述的第二***时间与加密时间中的第一***时间一并用于验证加密数据的有效性。
S32,对加密时间进行解密得到第一***时间,并将第一***时间与第二***时间进行比较,确定目标数据是否有效。
具体的解密方法与加密方法对应,在通信之前,双方已经确定出具体的加解密方法。对于接收端而言,仅需要利用对应于加密的解密方法对加密时间进行解密,即可得到第一***时间。
电子设备比较第一***时间与第二***时间的差值,判断该差值是否小于预设值。当差值小于预设值时,确定目标数据有效;否则,确定目标数据无效,丢弃该目标数据。
当所述目标数据有效时,执行S33;否则,丢弃该目标数据。
S33,基于第一***时间对加密数据进行解密,确定原始数据。
在解密得到第一***时间且目标数据有效时,利用第一***时间对加密数据进行解密。如上文所述,解密方法与加密方法对应,利用与加密方法对应的解密方法对加密数据进行解密,即可对确定出原始数据。
本发明实施例提供的数据解密方法,利用第一***时间与第二***时间的比较结果确定目标数据的有效性,只有在目标数据有效时才对加密数据进行解密,在保证数据传输安全性的基础上减少了数据处理量,提高了解密效率。
在本实施例中提供了一种数据解密方法,可用于电子设备,例如上述的ECU B,图6是根据本发明实施例的数据解密方法的流程图,如图6所示,该流程包括如下步骤:
S41,获取目标数据以及第二***时间。
其中,所述目标数据包括加密时间以及加密数据。
详细请参见图5所示实施例的S31,在此不再赘述。
S42,对加密时间进行解密得到第一***时间,并将第一***时间与第二***时间进行比较,确定目标数据是否有效。
具体地,上述S42包括:
S421,获取密钥表以及目标数据的序号,所述密钥表包括多个密钥。
如上文所述,在通信双方均维护有相同的密钥表,目标数据的序号可以是发送方在发送目标数据时一并发送给本地的,也可以是本地利用接收到的目标数据的数量确定的,等等。在此对其具体方式并不做任何限定,可以根据实际需求进行相应的设置。
S422,基于序号从密钥表中确定出对应的密钥。
电子设备利用目标数据的序号从密钥表中匹配出对应的密钥,该密钥用于对加密时间进行解密。
S423,利用确定出的密钥对加密时间进行解密,得到第一***时间。
如上文所述,在加密时是利用加密密钥与第一***时间进行异或得到的,相应地,在解密时电子设备同样利用确定出的密钥与加密时间进行异或,即可得到所述的第一***时间。
S424,将第一***时间与第二***时间进行比较,确定目标数据是否有效。
当所述目标数据有效时,执行S43;否则,丢弃该目标数据。
S43,基于第一***时间对加密数据进行解密,确定原始数据。
具体地,上述S43包括:
S431,提取加密数据中预设字节数的加密子数据。
关于加密数据的形成请参见上文所述,在此对其不再赘述。相应地,电子设备从加密数据中提取预设字节数的加密子数据,在后续的解密过程中,对加密子数据进行解密即可。
S432,将加密子数据与第一***时间进行异或处理,得到与加密子数据对应的子数据,以确定原始数据。
电子设备利用解密得到的第一***时间与加密子数据进行异或处理,即可得到与加密子数据对应的子数据。电子设备再依据各个加密子数据在原始数据中的位置,对解密后得到的子数据进行拼接,即可确定出原始数据。
本发明实施例提供的数据解密方法,利用目标数据的序号在密钥表中匹配出对应的密钥,从而得到对应的密钥,使得不同序号的数据所采用的密钥不同,进一步保证了数据的安全性。利用提取出的加密子数据与第一***时间进行异或处理,可以较便捷的对加密子数据进行解密,提高了解密处理效率。
作为本实施例的一个具体应用实例,如图7所示,所述的数据解密方法包括:
S2.1,接收到8个字节加密数据,包括6个字节的原始数据加密结果以及2个字节的第一***时间T1加密结果;
S2.2,根据报文ID在密钥表中检索密钥Key;
S2.3,使用Key与第7和第8个字节进行异或处理,得到2个字节的T1;
S2.4,计算第二***时间与第一***时间的差值的绝对值,并判断该绝对值是否小于等于3min,当小于等于3min时,执行S2.5;否则,执行S2.6;
S2.5,使用第一***时间分别与数据段的第1和第2个字节,第3和第4个字节,第5和第6个字节进行逻辑上的异或处理,得到解密后的数据。
S2.6,丢弃这帧报文,count=count+1,统计丢弃的报文数量。
S2.7,当报文数量大于等于3时,执行S2.8。
S2.8,将此诊断故障代码(DTC)记录到非易失性存储空间(NVM)中,并将故障上报整车控制器(VCU)。
需要说明的是,上述的加解密方法不仅可以应用于HS-CAN(高速CAN)的加密策略,同样适用于CANFD的通信加密策略。为方便展示,示例密钥表只有10个值,实际等于总线上CAN报文的ID数。
ECU B的解密过程:
ECU B接收到包含目标数据的报文后,先根据报文ID在密钥表中检索出key =0x58A5, 将第7和第8个字节与key进行逻辑上的异或处理:
(data_1[6]<<8 & data_1[7]) ⊕ key = 0x1123;
将处理后的结果T1 = 0x1123与第二***时间T2进行比较,假设T2 = 11:25,
|T2-T1| = |1125 – 1123| = 2 < 3min;
因为|T2-T1| < 3min,ECU B认为报文真实可信,继续使用T1进行前6个字节数据的解密:
(data_1[0]<<8 & data_1[1]) ⊕ T1 = 0x3265 ⊕ 0x1123 = 0x2346;
(data_1[2]<<8 & data_1[3]) ⊕ T1 = 0x688F ⊕ 0x1123 = 0x79AC;
(data_1[4]<<8 & data_1[5]) ⊕ T1 = 0x44BA ⊕ 0x1123 = 0x5599;
解密后的6个字节密文数据为:
data_2[6] = {0x23, 0x46, 0x79, 0xAC, 0x55, 0x99};
假如T2 = 11:30,|T2-T1| = |1130 – 1123| = 7 > 3min;则认为报文不可信,丢弃这帧报文,不再进行前6个字节数据的解密。
本发明实施例还提供了一种数据传输方法,应用于数据传输***中,如图8所示,包括:
S501,ECU A获取原始数据以及第一***时间。详细请参见图1所示实施例的S11,在此不再赘述。
S502,ECU A基于第一***时间对原始数据进行加密,确定加密数据。详细请参见图2所示实施例的S22,在此不再赘述。
S503,ECU A对第一***时间进行加密确定加密时间,并利用加密数据以及加密时间形成目标数据。其中,所述加密时间用于验证目标数据的有效性。详细请参见图2所示实施例的S23,在此不再赘述。
S504,ECU A将目标数据发送给ECU B。
S505,获取目标数据以及第二***时间。其中,所述目标数据包括加密时间以及加密数据。详细请参见5所示实施例的S31,在此不再赘述。
S506,对加密时间进行解密得到第一***时间,并将第一***时间与第二***时间进行比较,确定目标数据是否有效。当所述目标数据有效时,执行S507;否则,丢弃该目标数据。详细请参见图6所示实施例的S42,在此不再赘述。
S507,基于第一***时间对加密数据进行解密,确定原始数据。详细请参见图6所示实施例的S43,在此不再赘述。
在本实施例中还提供了一种数据加密装置以及数据解密装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种数据加密装置,如图9所示,包括:
第一获取模块51,用于获取原始数据以及第一***时间;
第一加密模块52,用于基于所述第一***时间对所述原始数据进行加密,确定加密数据;
第二加密模块53,用于对所述第一***时间进行加密确定加密时间,并利用所述加密数据以及所述加密时间形成目标数据,所述加密时间用于验证所述目标数据的有效性。
本实施例提供的数据加密装置,由于第一***时间是实时变化的,利用实时变化的时间对原始数据进行加密,且同时对第一***时间也进行加密,以使得接收端验证目标数据的有效性,提高了原始数据传输的安全性。
本实施例还提供了一种数据解密装置,如图10所示,包括:
第二获取模块61,用于获取目标数据以及第二***时间,所述目标数据包括加密时间以及加密数据;
第一解密模块62,用于对所述加密时间进行解密得到第一***时间,并将所述第一***时间与所述第二***时间进行比较,确定所述目标数据是否有效;
第二解密模块63,用于当所述目标数据有效时,基于所述第一***时间对所述加密数据进行解密,确定原始数据。
本实施例提供的数据解密装置,利用第一***时间与第二***时间的比较结果确定目标数据的有效性,只有在目标数据有效时才对加密数据进行解密,在保证数据传输安全性的基础上减少了数据处理量,提高了解密效率。
本实施例中的数据加密装置或数据解密装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图9所示的数据加密装置,或图10所示的数据解密装置。
请参阅图11,图11是本发明可选实施例提供的一种电子设备的结构示意图,如图11所示,该电子设备可以包括:至少一个处理器71,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口73,存储器74,至少一个通信总线72。其中,通信总线72用于实现这些组件之间的连接通信。其中,通信接口73可以包括显示屏(Display)、键盘(Keyboard),可选通信接口73还可以包括标准的有线接口、无线接口。存储器74可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器74可选的还可以是至少一个位于远离前述处理器71的存储装置。其中处理器71可以结合图9或图10所描述的装置,存储器74中存储应用程序,且处理器71调用存储器74中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线72可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器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可以调用程序指令,实现如本申请图2-4任一实施例中所示的数据加密方法,或实现如本申请图5-7任一实施例中所示的数据解密方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据加密方法,或数据解密方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种数据加密方法,其特征在于,包括:
获取原始数据以及第一***时间;
基于所述第一***时间对所述原始数据进行加密,确定加密数据;
对所述第一***时间进行加密确定加密时间,并利用所述加密数据以及所述加密时间形成目标数据,所述加密时间用于验证所述目标数据的有效性。
2.根据权利要求1所述的数据加密方法,其特征在于,所述基于所述第一***时间对所述原始数据进行加密,确定加密数据,包括:
提取所述原始数据中预设字节数的子数据;
将所述子数据与所述第一***时间进行异或处理,得到与所述子数据对应的加密子数据,以确定所述加密数据。
3.根据权利要求1所述的数据加密方法,其特征在于,所述对所述第一***时间进行加密确定加密时间,包括:
获取密钥表以及所述原始数据的序号,所述密钥表中包括多个密钥;
基于所述序号从所述密钥表中确定出对应的密钥,以得到加密密钥;
将所述加密密钥与所述第一***时间进行异或处理,确定所述加密时间。
4.一种数据解密方法,其特征在于,包括:
获取目标数据以及第二***时间,所述目标数据包括加密时间以及加密数据;
对所述加密时间进行解密得到第一***时间,并将所述第一***时间与所述第二***时间进行比较,确定所述目标数据是否有效;
当所述目标数据有效时,基于所述第一***时间对所述加密数据进行解密,确定原始数据。
5.根据权利要求4所述的数据解密方法,其特征在于,所述对所述加密时间进行解密得到第一***时间,包括:
获取密钥表以及所述目标数据的序号,所述密钥表包括多个密钥;
基于所述序号从所述密钥表中确定出对应的密钥;
利用确定出的密钥对所述加密时间进行解密,得到所述第一***时间。
6.根据权利要求5所述的数据解密方法,其特征在于,所述基于所述第一***时间对所述加密数据进行解密,确定原始数据,包括:
提取所述加密数据中预设字节数的加密子数据;
将所述加密子数据与所述第一***时间进行异或处理,得到与所述加密子数据对应的子数据,以确定所述原始数据。
7.一种数据加密装置,其特征在于,包括:
第一获取模块,用于获取原始数据以及第一***时间;
第一加密模块,用于基于所述第一***时间对所述原始数据进行加密,确定加密数据;
第二加密模块,用于对所述第一***时间进行加密确定加密时间,并利用所述加密数据以及所述加密时间形成目标数据,所述加密时间用于验证所述目标数据的有效性。
8.一种数据解密装置,其特征在于,包括:
第二获取模块,用于获取目标数据以及第二***时间,所述目标数据包括加密时间以及加密数据;
第一解密模块,用于对所述加密时间进行解密得到第一***时间,并将所述第一***时间与所述第二***时间进行比较,确定所述目标数据是否有效;
第二解密模块,用于当所述目标数据有效时,基于所述第一***时间对所述加密数据进行解密,确定原始数据。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-3中任一项所述的数据加密方法,或者,执行权利要求4-6中任一项所述的数据解密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-3中任一项所述的数据加密方法,或者,执行权利要求4-6中任一项所述的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111035546.7A CN113489589A (zh) | 2021-09-06 | 2021-09-06 | 数据加密、解密方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111035546.7A CN113489589A (zh) | 2021-09-06 | 2021-09-06 | 数据加密、解密方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113489589A true CN113489589A (zh) | 2021-10-08 |
Family
ID=77947213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111035546.7A Pending CN113489589A (zh) | 2021-09-06 | 2021-09-06 | 数据加密、解密方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113489589A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745119A (zh) * | 2022-06-10 | 2022-07-12 | 北京航天驭星科技有限公司 | 一种api接口消息保护方法、***、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004086672A1 (ja) * | 2003-03-25 | 2004-10-07 | National Institute Of Information And Communications Technology, Incorporated Administrative Agency | 暗号化および復号のための装置、方法、プログラム並びに記録媒体 |
CN103546274A (zh) * | 2013-10-28 | 2014-01-29 | 曾连军 | 一种手机应用程序与主机之间动态加密短信的实现方法 |
CN108390759A (zh) * | 2018-03-21 | 2018-08-10 | 平安普惠企业管理有限公司 | 代码加密、解密方法、装置、计算机设备和存储介质 |
CN208905055U (zh) * | 2018-11-20 | 2019-05-24 | 安徽江淮汽车集团股份有限公司 | 车辆的远程控制*** |
CN110401527A (zh) * | 2018-04-25 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 数据加密、解密方法、装置以及存储介质 |
CN111552270A (zh) * | 2020-04-29 | 2020-08-18 | 北京汽车股份有限公司 | 用于车载诊断的安全认证和数据传输方法及装置 |
CN112165443A (zh) * | 2020-08-01 | 2021-01-01 | 广东电网有限责任公司广州供电局 | 一种多密钥信息加密解密方法、装置及存储介质 |
-
2021
- 2021-09-06 CN CN202111035546.7A patent/CN113489589A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004086672A1 (ja) * | 2003-03-25 | 2004-10-07 | National Institute Of Information And Communications Technology, Incorporated Administrative Agency | 暗号化および復号のための装置、方法、プログラム並びに記録媒体 |
CN103546274A (zh) * | 2013-10-28 | 2014-01-29 | 曾连军 | 一种手机应用程序与主机之间动态加密短信的实现方法 |
CN108390759A (zh) * | 2018-03-21 | 2018-08-10 | 平安普惠企业管理有限公司 | 代码加密、解密方法、装置、计算机设备和存储介质 |
CN110401527A (zh) * | 2018-04-25 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 数据加密、解密方法、装置以及存储介质 |
CN208905055U (zh) * | 2018-11-20 | 2019-05-24 | 安徽江淮汽车集团股份有限公司 | 车辆的远程控制*** |
CN111552270A (zh) * | 2020-04-29 | 2020-08-18 | 北京汽车股份有限公司 | 用于车载诊断的安全认证和数据传输方法及装置 |
CN112165443A (zh) * | 2020-08-01 | 2021-01-01 | 广东电网有限责任公司广州供电局 | 一种多密钥信息加密解密方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745119A (zh) * | 2022-06-10 | 2022-07-12 | 北京航天驭星科技有限公司 | 一种api接口消息保护方法、***、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8989385B2 (en) | Data encryption method, data verification method and electronic apparatus | |
CN110149209B (zh) | 物联网设备及其提高数据传输安全性的方法和装置 | |
CN111131278B (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
KR20140122188A (ko) | 센서 및/또는 센서의 센서 데이터의 조작 검출 방법 | |
US20220360441A1 (en) | Data encryption and decryption method, device, storage medium and encrypted file | |
CN106357690B (zh) | 一种数据传输方法、数据发送装置及数据接收装置 | |
US11463242B2 (en) | Padding oracle elimination in RSA encryption | |
JPS625544B2 (zh) | ||
US10826694B2 (en) | Method for leakage-resilient distributed function evaluation with CPU-enclaves | |
CN112637836A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN111639348B (zh) | 数据库秘钥的管理方法及装置 | |
Paterson et al. | Padding oracle attacks on the ISO CBC mode encryption standard | |
CN107534558B (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线*** | |
CN113811874A (zh) | 加密数据验证方法 | |
US10122755B2 (en) | Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node | |
CN107483388A (zh) | 一种安全通信方法及其终端和云端 | |
CN114205142B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
KR102008670B1 (ko) | 멀티캐스트 그룹을 모니터링하는 장치 | |
CN109302425B (zh) | 身份认证方法及终端设备 | |
CN114500064A (zh) | 一种通信安全验证方法、装置、存储介质及电子设备 | |
CN113489589A (zh) | 数据加密、解密方法、装置及电子设备 | |
CN113434474A (zh) | 基于联邦学习的流量审计方法、设备、存储介质 | |
EP3361670B1 (en) | Multi-ttp-based method and device for verifying validity of identity of entity | |
CN116668004B (zh) | 一种异常信息的快速识别方法、装置及其存储介质 | |
CN114500072B (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: 20211008 |