CN117155592A - 数据加密方法、装置、存储介质及电子设备 - Google Patents
数据加密方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117155592A CN117155592A CN202210576143.1A CN202210576143A CN117155592A CN 117155592 A CN117155592 A CN 117155592A CN 202210576143 A CN202210576143 A CN 202210576143A CN 117155592 A CN117155592 A CN 117155592A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- value
- fresh value
- fresh
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012795 verification Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 abstract description 6
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000006854 communication Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
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)
Abstract
本公开涉及一种数据加密方法、装置、存储介质及电子设备。该方法包括:第一设备根据目标新鲜值对待发送数据进行加密,得到目标数据;将该目标数据发送至第二设备,以便该第二设备根据该目标新鲜值对该目标数据进行解密校验成功的情况下,向该第一设备发送数据接收成功指示,并根据第一预设步长更新该目标新鲜值;在接收到第二设备发送的数据接收成功指示的情况下,根据第一预设步长更新目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。这样,通过第一设备与第二设备之间的消息交互,可以使得第一设备与第二设备各自维护的目标新鲜值保持一致,提高了新鲜值的可靠性,从而避免了由于新鲜值维护错误导致数据解密失败的问题。
Description
技术领域
本公开涉及安全通信领域,具体地,涉及一种数据加密方法、装置、存储介质及电子设备。
背景技术
在目前的车载网络中,大部分数据传输都是在没有安全措施的情况下进行的,示例地,车辆的多个控制器之间可以以原始数据的形式进行数据交互。随着整个车辆行业智能化的不断发展,尤其是自动驾驶或辅助驾驶领域,对车辆数据传输的安全性要求越来越高。在车辆的多个控制器之间进行通信的过程中,恶意攻击者可以通过对通信过程中传输的数据进行窃听,修改或重放攻击,严重影响车辆的安全性。
发明内容
本公开的目的是提供一种数据加密方法、装置、存储介质及电子设备,以解决相关技术中存在的上述问题。
为了实现上述目的,本公开的第一方面提供了一种数据加密方法,应用于第一设备,所述方法包括:
根据目标新鲜值对待发送数据进行加密,得到目标数据;
将所述目标数据发送至第二设备,以便所述第二设备在根据所述目标新鲜值对所述目标数据进行解密校验成功的情况下,向所述第一设备发送数据接收成功指示,并根据第一预设步长更新所述目标新鲜值;
在接收到所述数据接收成功指示的情况下,根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。
可选地,在所述根据目标新鲜值对待发送数据进行加密之前,所述方法还包括:
向所述第二设备发送初始新鲜值请求消息;
接收所述第二设备响应于所述初始新鲜值请求消息发送的初始新鲜值;
将所述初始新鲜值作为所述目标新鲜值。
可选地,所述方法还包括:
在接收到数据接收失败指示的情况下,向所述第二设备发送新鲜值更新请求消息;
接收所述第二设备响应于所述新鲜值更新请求消息发送的候选新鲜值;
将所述候选新鲜值作为新的目标新鲜值。
可选地,所述根据目标新鲜值对待发送数据进行加密包括:
从所述第一设备的第一可执行文件中获取第一密钥数据,所述第一密钥数据为根据所述第一设备的第一源码生成并存储至所述第一可执行文件中,所述第一可执行文件为在编译过程中删除所述第一源码后得到的文件;
根据所述目标新鲜值和所述第一密钥数据对所述待发送数据进行加密。
第二方面,本公开提供了另一种数据加密方法,应用于第二设备,所述方法包括:
在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验,所述目标数据为所述第一设备根据目标新鲜值对待发送数据进行加密后得到的数据;
在解密校验成功的情况下,向所述第一设备发送数据接收成功指示,以便所述第一设备在接收到所述数据接收成功指示的情况下,根据第一预设步长更新所述目标新鲜值;
根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对接收到的新的目标数据进行校验。
可选地,所述方法还包括:
接收所述第一设备发送的初始新鲜值请求消息;
响应于所述初始新鲜值请求消息,生成初始新鲜值,并向所述第一设备发送所述初始新鲜值;
将所述初始新鲜值作为所述目标新鲜值。
可选地,所述方法还包括:
在解密校验失败的情况下,向所述第一设备发送数据接收失败指示。
可选地,所述根据目标新鲜值对目标数据进行解密校验包括:
从所述第二设备的第二可执行文件中获取第二密钥数据,所述第二密钥数据为根据所述第二设备的第二源码生成并存储至所述第二可执行文件中,所述第二可执行文件为在编译过程中删除所述第二源码后得到的文件;
根据所述目标新鲜值和所述第二密钥数据对目标数据进行解密。
第三方面,本公开提供了一种数据加密装置,应用于第一设备,所述装置包括:
加密模块,用于根据目标新鲜值对待发送数据进行加密,得到目标数据;
第一发送模块,用于将所述目标数据发送至第二设备,以便所述第二设备在根据所述目标新鲜值对所述目标数据进行解密校验成功的情况下,向所述第一设备发送数据接收成功指示,并根据第一预设步长更新所述目标新鲜值;
第一新鲜值更新模块,用于在接收到所述数据接收成功指示的情况下,根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。
可选地,所述装置还包括第一初始新鲜值获取模块,所述第一初始新鲜值获取模块用于向所述第二设备发送初始新鲜值请求消息;接收所述第二设备响应于所述初始新鲜值请求消息发送的初始新鲜值;将所述初始新鲜值作为所述目标新鲜值。
可选地,所述第一新鲜值更新模块,还用于在接收到数据接收失败指示的情况下,向所述第二设备发送新鲜值更新请求消息;接收所述第二设备响应于所述新鲜值更新请求消息发送的候选新鲜值;将所述候选新鲜值作为新的目标新鲜值。
可选地,所述加密模块,用于从所述第一设备的第一可执行文件中获取第一密钥数据,所述第一密钥数据为根据所述第一设备的第一源码生成并存储至所述第一可执行文件中,所述第一可执行文件为在编译过程中删除所述第一源码后得到的文件;根据所述目标新鲜值和所述第一密钥数据对所述待发送数据进行加密。
第四方面,本公开提供了另一种数据加密装置,应用于第二设备,所述装置包括:
解密模块,用于在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验,所述目标数据为所述第一设备根据目标新鲜值对待发送数据进行加密后得到的数据;
第二发送模块,用于在解密校验成功的情况下,向所述第一设备发送数据接收成功指示,以便所述第一设备在接收到所述数据接收成功指示的情况下,根据第一预设步长更新所述目标新鲜值;
第二新鲜值更新模块,用于根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对接收到的新的目标数据进行校验。
可选地,所述装置还包括第二初始新鲜值获取模块,所述第二初始新鲜值获取模块用于接收所述第一设备发送的初始新鲜值请求消息;响应于所述初始新鲜值请求消息,生成初始新鲜值,并向所述第一设备发送所述初始新鲜值;将所述初始新鲜值作为所述目标新鲜值。
可选地,所述第二发送模块,还用于在解密校验失败的情况下,向所述第一设备发送数据接收失败指示。
可选地,所述解密模块,用于从所述第二设备的第二可执行文件中获取第二密钥数据,所述第二密钥数据为根据所述第二设备的第二源码生成并存储至所述第二可执行文件中,所述第二可执行文件为在编译过程中删除所述第二源码后得到的文件;根据所述目标新鲜值和所述第二密钥数据对目标数据进行解密。
第五方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
第六方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第二方面所述方法的步骤。
第七方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
第八方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第二方面所述方法的步骤。
采用上述技术方案,第一设备根据目标新鲜值对待发送数据进行加密,得到目标数据;将该目标数据发送至第二设备,以便该第二设备根据该目标新鲜值对该目标数据进行解密校验成功的情况下,向该第一设备发送数据接收成功指示,并根据第一预设步长更新该目标新鲜值;在接收到第二设备发送的数据接收成功指示的情况下,根据第一预设步长更新目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。这样,通过第一设备与第二设备之间的消息交互,可以使得第一设备与第二设备各自维护的目标新鲜值保持一致,提高了新鲜值的可靠性,从而避免了由于新鲜值维护错误导致数据解密失败的问题,也提高了数据加密系统防重放攻击的可靠性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种数据加密系统的示意图。
图2是本公开实施例提供的一种数据加密方法的流程图。
图3是本公开实施例提供的另一种数据加密方法的流程图。
图4是本公开实施例提供的另外一种数据加密方法的流程图。
图5是本公开实施例提供的一种数据加密装置的示意图。
图6是本公开实施例提供的第二种数据加密装置的示意图。
图7是本公开实施例提供的第三种数据加密装置的示意图。
图8是本公开实施例提供的第四种数据加密装置的示意图。
图9是本公开实施例提供的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,在本公开中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序;术语“S101”、“S102”、“S201”、“S202”等用于区别步骤,而不必理解为按照特定的顺序或先后次序执行方法步骤;下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。
首先,对本公开的应用场景进行说明。本公开可以应用于安全通信场景。随着整个车辆行业智能化的不断发展,尤其是自动驾驶或辅助驾驶领域,对车辆数据传输的安全性要求越来越高。车辆的多个控制器之间可以采用CAN(Controller Area Network,控制器局域网络)总线进行通信,而CAN总线在设计之初是没有考虑过安全通信问题的。为了实现安全通信,在传统的CAN总线引入一套通信认证的方法,即SecOC(Secure OnboardCommunication,板端加密通讯)。在SecOC方案中,可以通过密钥实现身份认证,防止CAN总线的数据被篡改;另外,为了防止重放攻击,还引入了新鲜值,通过不同的新鲜值可以提升CAN总线的安全性。
需要说明的是,重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方。网络上传输的数据可以是加密过的,此时窃听者无法得到数据的准确意义。但如果他知道这些数据的作用,就可以在不知道数据内容的情况下通过再次发送这些数据达到欺骗接收端的目的。例如,有的系统会将鉴别信息进行简单加密后进行传输,这时攻击者虽然无法窃听密码,但他们却可以首先截取加密后的口令然后将其重放,从而利用这种方式进行有效的攻击。而为了防止重放攻击,可以在数据报文中增加新鲜值,使得连续发送的多个报文的新鲜值不同,从而鉴别出重放攻击的报文,可以将鉴别出的这些报文丢弃。
示例地,图1是本公开实施例提供的一种数据加密系统的示意图,如图1所示,该数据加密系统100可以包括第一设备101和第二设备102,该第一设备101和第二设备102之间可以通过有线网络或无线网络连接,以便进行数据通信,示例地,可以通过CAN总线连接并收发数据。在相关技术中,该第一设备和第二设备可以采用各自的时间戳或计数器作为新鲜值。但是,在实际使用中,由于两个设备各自维护各自的时间戳或计数器作为新鲜值,存在新鲜值维护错误导致接收方无法正确解密数据的问题。
为了解决上述问题,本公开提供了一种数据加密方法、装置、存储介质及电子设备,通过第一设备与第二设备之间的消息交互,可以使得第一设备与第二设备各自维护的目标新鲜值保持一致,提高了新鲜值的可靠性,从而避免了由于新鲜值维护错误导致数据解密失败的问题,也提高了数据加密系统防重放攻击的可靠性。
以下结合附图对本公开的具体实施方式进行详细说明。
图2是本公开实施例提供的一种数据加密方法,如图2所示,该方法的执行主体可以是第一设备,该方法包括:
S201、根据目标新鲜值对待发送数据进行加密,得到目标数据。
示例地,该目标新鲜值可以是第一设备本地存储的新鲜值,该待发送数据可以为数据报文,例如可以是IP数据包、TCP数据包或UPD数据包;可以将该目标新鲜值加入该数据报文的前面或后面,得到该目标数据。
S202、将该目标数据发送至第二设备。
这样,该第二设备可以在根据该目标新鲜值对该目标数据进行解密校验成功的情况下,向该第一设备发送数据接收成功指示,并根据第一预设步长更新该目标新鲜值。
示例地,第二设备可以解析处理目标数据中的目标新鲜值,确定目标数据中的目标新鲜值与第二设备本地存储的目标新鲜值是否相等,若相等,则确定该目标数据解密校验成功,可以向第一设备发送数据接收成功指示,并根据第一预设步长更新第二设备本地存储的目标新鲜值,从而可以根据更新后的该目标新鲜值对新的目标数据进行解密校验。
该第一预设步长可以是大于或等于1的任意正整数。
S203、在接收到第二设备发送的数据接收成功指示的情况下,根据第一预设步长更新目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。
需要说明的是,该第一设备和第二设备更新各自本地存储的目标新鲜值。
示例地,该第一设备可以在接收到上述数据接收成功指示的情况下,按照第一预设步长更新第一设备本地存储的目标新鲜值,例如将第一设备本地存储的目标新鲜值增加第一预设步长。该第二设备同样可以在目标数据解密校验成功的情况下,按照第一预设步长更新第二设备本地存储的目标新鲜值,例如将第二设备本地存储的目标新鲜值增加第一预设步长。这样,第一设备和第二设备各自本地存储的目标新鲜值可以保持一致。
采用上述方法,第一设备根据目标新鲜值对待发送数据进行加密,得到目标数据;将该目标数据发送至第二设备,以便该第二设备根据该目标新鲜值对该目标数据进行解密校验成功的情况下,向该第一设备发送数据接收成功指示,并根据第一预设步长更新该目标新鲜值;在接收到第二设备发送的数据接收成功指示的情况下,根据第一预设步长更新目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。这样,通过第一设备与第二设备之间的消息交互,可以使得第一设备与第二设备各自维护的目标新鲜值保持一致,提高了新鲜值的可靠性,从而避免了由于新鲜值维护错误导致数据解密失败的问题,也提高了数据加密系统防重放攻击的可靠性。
图3是本公开实施例提供的另一种数据加密方法,如图3所示,该方法的执行主体可以是第二设备,该方法包括:
S301、在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验。
其中,该目标数据为该第一设备根据目标新鲜值对待发送数据进行加密后得到的数据。
示例地,第二设备可以解析处理目标数据中的目标新鲜值,确定目标数据中的目标新鲜值与第二设备本地存储的目标新鲜值是否相等,若相等,则确定该目标数据解密校验成功;反之,若不相等,则可以确定该目标数据解密校验失败。
S302、在解密校验成功的情况下,向该第一设备发送数据接收成功指示。
这样,该第一设备在接收到该数据接收成功指示的情况下,根据第一预设步长更新该目标新鲜值,并根据更新后的目标新鲜值对新的待发送数据进行加密。
S303、根据第一预设步长更新目标新鲜值,以便根据更新后的目标新鲜值对接收到的新的目标数据进行校验。
需要说明的是,该第二设备可以在目标数据解密校验成功的情况下,按照第一预设步长更新第二设备本地存储的目标新鲜值,例如将第二设备本地存储的目标新鲜值增加第一预设步长,该第一预设步长可以是大于或等于1的任意正整数。
采用上述方法,第二设备在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验,该目标数据为该第一设备根据目标新鲜值对待发送数据进行加密后得到的数据;在解密校验成功的情况下,向该第一设备发送数据接收成功指示,以便该第一设备在接收到该数据接收成功指示的情况下,根据第一预设步长更新该目标新鲜值;根据该第一预设步长更新该目标新鲜值,以便根据更新后的目标新鲜值对接收到的新的目标数据进行校验。这样,通过第一设备与第二设备之间的消息交互,可以使得第一设备与第二设备的新鲜值保持一致,提高了新鲜值的可靠性,从而避免了由于新鲜值维护错误导致数据解密失败的问题,也提高了数据加密系统防重放攻击的可靠性。
图4是本公开实施例提供的另外一种数据加密方法,如图4所示,该方法可以包括:
S401、第一设备向第二设备发送初始新鲜值请求消息。
示例地,该第一设备可以是数据发送端,在第一设备有数据需要向第二设备发送的情况下,为了能够使用准确的新鲜值,可以首先向第二设备发送初始新鲜值请求消息,以便获取第二设备维护的新鲜值。
S402、第二设备接收第一设备发送的初始新鲜值请求消息;响应于该初始新鲜值请求消息,生成初始新鲜值,向该第一设备发送该初始新鲜值;并将该初始新鲜值作为第二设备的目标新鲜值。
其中,第二设备生成初始新鲜值的方式可以是以下任意一种:
可以将预设新鲜值作为该初始新鲜值。
可以将第二设备的计数器的当前计数值作为该初始新鲜值,该计数器可以用于周期性将当前计数值增加预设计数单位。
可以根据第二设备的当前时间生成该初始新鲜值,例如,该当前时间为UTC(Universal Time Coordinated,协调世界时)时间,可以将该UTC时间值除以预设最大新鲜值得到该初始新鲜值,该初始新鲜值可以为大于或等于0且小于预设最大新鲜值的值。该预设最大新鲜值可以为大于1的任意正整数,示例地,可以为128、256、512或1028等值。这样,可以提高加密可靠性,避免被攻击。
可以随机生成预设范围内的随机数,并将该随机数作为该初始新鲜值,该,该预设范围可以为大于或等于0且小于预设最大新鲜值的范围。这样,同样可以提高加密可靠性,避免被攻击。
S403、第一设备接收第二设备响应于该初始新鲜值请求消息发送的初始新鲜值;将该初始新鲜值作为第一设备的目标新鲜值
这样,第一设备和第二设备各自在本地存储了相同的目标新鲜值,从而可以实现通信数据的加密和解密。
S404、第一设备根据目标新鲜值对待发送数据进行加密,得到目标数据,并将该目标数据发送至第二设备。
示例地,可以将该目标新鲜值增加到待发送数据的前面或后面,得到该目标数据。
进一步地,在本步骤中,可以从该第一设备的第一可执行文件中获取第一密钥数据,并根据该目标新鲜值和该第一密钥数据对待发送数据进行加密。
示例地,可以根据该目标新鲜值、第一密钥数据和待发送数据按照预设加密算法生成MAC(Message Authentication Code,消息认证码),然后将该MAC、该目标新鲜值和该待发送数据组成目标数据。其中,该预设加密算法可以包括AES(Advanced EncryptionStandard,高级加密标准)、RSA、SM2或SM4。
其中,该第一密钥数据为根据该第一设备的第一源码生成并存储至该第一可执行文件中,该第一可执行文件为在编译过程中删除该第一源码后得到的文件。
示例地,该第一密钥数据可以通过以下密钥生成方式获取并存储至该第一可执行文件中:
首先,运行第一目标加密程序,生成第一密钥数据。
示例地,可以读取安全服务器中的第一目标加密程序(例如key.hex文件);运行该第一目标加密程序,生成第一候选密钥(例如key);根据该第一候选密钥进行硬编码,得到第一目标文件(例如key.h);对第一目标文件进行安全编译,生成第一密钥数据(例如key.bin)。
其次,将该第一密钥数据存储至第一设备的第一可执行文件中。
最后,删除编译过程中生成的第一目标文件(key.h)。
这样,可以避免第一密钥数据被反编译破解,提高加密可靠性。
S405、第二设备在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验。
示例地,第二设备可以解析处理目标数据中的目标新鲜值,确定目标数据中的目标新鲜值与第二设备本地存储的目标新鲜值是否相等,若相等,则确定该目标数据解密校验成功;反之,若不相等,则可以确定该目标数据解密校验失败。
进一步地,在本步骤中,可以从该第二设备的第二可执行文件中获取第二密钥数据,根据该目标新鲜值和该第二密钥数据对目标数据进行解密。
其中,该第二密钥数据为根据该第二设备的第二源码生成并存储至该第二可执行文件中,该第二可执行文件为在编译过程中删除该第二源码后得到的文件。
示例地,该第二密钥数据也可以通过以下密钥生成方式获取并存储至该第二可执行文件中:
首先,运行第二目标加密程序,生成第二密钥数据。
示例地,可以读取安全服务器中的第二目标加密程序(例如key.hex文件);运行该第二目标加密程序,生成第二候选密钥(例如key);根据该第二候选密钥进行硬编码,得到第二目标文件(例如key.h);对第二目标文件进行安全编译,生成第二密钥数据(例如key.bin)。
其次,将该第二密钥数据存储至第二设备的第二可执行文件中。
最后,删除编译过程中生成的第二目标文件(key.h)。
这样,可以避免第二密钥数据被反编译破解,提高加密可靠性。
需要说明的是,该第二目标加密程序和上述第一目标加密程序可以是相同的程序,第二密钥数据和第一密钥数据也可以是相同的密钥数据,这样,可以实现正确的加密和解密。
S406、第二设备在解密校验成功的情况下,向该第一设备发送数据接收成功指示,并根据该第一预设步长更新该目标新鲜值。
S407、第一设备在接收到该数据接收成功指示的情况下,根据该第一预设步长更新该目标新鲜值。
这样,第一设备可以根据更新后的目标新鲜值对新的待发送数据进行加密;第二设备也可以根据更新后的目标新鲜值对接收到的新的目标数据进行校验。
进一步地,若在上述S406步骤中,第二设备对目标数据解密校验失败,则说明新鲜值错误或数据被篡改,此时,可以不执行上述S407和S408步骤,而执行以下步骤:
首先,第二设备在解密校验失败的情况下,向该第一设备发送数据接收失败指示。
其次,第一设备在接收到数据接收失败指示的情况下,执行更新新鲜值的步骤。
示例地,该更新新鲜值的步骤可以包括:
S11、第一设备向第二设备发送新鲜值更新请求消息。
S12、第二设备接收第一设备发送的新鲜值更新请求消息,响应于该新鲜值更新请求消息确定候选新鲜值。
示例地,第二设备可以按照上述S402步骤中的方式重新生成一个初始新鲜值,将该重新生成的初始新鲜值作为候选新鲜值;也可以将该第二设备本地存储的目标新鲜值作为候选新鲜值。
S13、第二设备将该候选新鲜值发送至第一设备。
S14、第一设备接收该第二设备响应于该新鲜值更新请求消息发送的候选新鲜值;并将该候选新鲜值作为新的目标新鲜值。
这样,通过该更新新鲜值的步骤,第一设备和第二设备同步更新了目标新鲜值,该第一设备可以根据新的目标新鲜值对新的待发送数据进行加密,从而得到新的目标数据。
在本公开的另一实施例中,上述目标数据中可以包括预设加密标志字段,该预设加密标志字段用于表征该目标数据是否被加密。这样,该数据加密方法还可以包括以下步骤:
首先,第一设备根据待发送数据的数据类型确定该待发送数据是否需要加密。
示例地,可以将待发送数据分为重要数据和一般数据,可以对重要信息进行加密,对一般信息不进行加密。该重要信息可以包括某些敏感信息,例如VIN(VehicleIdentification Number,车辆识别号码)。若待发送数据中包括上述重要信息,则确定该待发送数据需要加密;反之,若待发送数据中不包括上述重要信息,则确定该待发送数据不需要加密。
其次,若该待发送数据需要加密,则第一设备根据目标新鲜值对待发送数据进行加密,得到目标数据,并将目标数据中的预设加密标志字段设置为预设加密值(例如1)。
若该待发送数据不需要加密,则第一设备无需加密,直接根据待发送数据得到目标数据,并将目标数据中的预设加密标志字段设置为预设非加密值(例如0)。
这样,第一设备将该目标数据发送至第二设备后,第二设备同样根据该预设加密标志字段确定是否进行解密校验。
在该目标数据中的预设加密标志字段为预设加密值的情况下,进行解密校验;而在该预设加密标志字段为预设非加密值的情况下,无需进行解密校验。
这样,可以实现灵活的加密解密,对重要信息进行加密可以确保车辆安全性,对非重要信息不进行加密,可以降低车辆设备的负荷。
图5是本公开实施例提供的一种数据加密装置的示意图,应用于第一设备,如图5所示,该装置包括:
加密模块501,用于根据目标新鲜值对待发送数据进行加密,得到目标数据;
第一发送模块502,用于将该目标数据发送至第二设备,以便该第二设备在根据该目标新鲜值对该目标数据进行解密校验成功的情况下,向该第一设备发送数据接收成功指示,并根据第一预设步长更新该目标新鲜值;
第一新鲜值更新模块503,用于在接收到该数据接收成功指示的情况下,根据该第一预设步长更新该目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。
图6是本公开实施例提供的第二种数据加密装置的示意图,如图6所示,该装置还包括第一初始新鲜值获取模块504,该第一初始新鲜值获取模块504用于向该第二设备发送初始新鲜值请求消息;接收该第二设备响应于该初始新鲜值请求消息发送的初始新鲜值;将该初始新鲜值作为该目标新鲜值。
可选地,该第一新鲜值更新模块503,还用于在接收到数据接收失败指示的情况下,向该第二设备发送新鲜值更新请求消息;接收该第二设备响应于该新鲜值更新请求消息发送的候选新鲜值;将该候选新鲜值作为新的目标新鲜值。
可选地,该加密模块501,用于从该第一设备的第一可执行文件中获取第一密钥数据,该第一密钥数据为根据该第一设备的第一源码生成并存储至该第一可执行文件中,该第一可执行文件为在编译过程中删除该第一源码后得到的文件;根据该目标新鲜值和该第一密钥数据对该待发送数据进行加密。
图7是本公开实施例提供的第三种数据加密装置的示意图,应用于第二设备,如图7所示,该装置包括:
解密模块701,用于在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验,该目标数据为该第一设备根据目标新鲜值对待发送数据进行加密后得到的数据;
第二发送模块702,用于在解密校验成功的情况下,向该第一设备发送数据接收成功指示,以便该第一设备在接收到该数据接收成功指示的情况下,根据第一预设步长更新该目标新鲜值;
第二新鲜值更新模块703,用于根据该第一预设步长更新该目标新鲜值,以便根据更新后的目标新鲜值对接收到的新的目标数据进行校验。
图8是本公开实施例提供的第四种数据加密装置的示意图,如图8所示,该装置还包括第二初始新鲜值获取模块704,该第二初始新鲜值获取模块704用于接收该第一设备发送的初始新鲜值请求消息;响应于该初始新鲜值请求消息,生成初始新鲜值,并向该第一设备发送该初始新鲜值;将该初始新鲜值作为该目标新鲜值。
可选地,该第二发送模块702,还用于在解密校验失败的情况下,向该第一设备发送数据接收失败指示。
可选地,该解密模块701,用于从该第二设备的第二可执行文件中获取第二密钥数据,该第二密钥数据为根据该第二设备的第二源码生成并存储至该第二可执行文件中,该第二可执行文件为在编译过程中删除该第二源码后得到的文件;根据该目标新鲜值和该第二密钥数据对目标数据进行解密。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种电子设备900的框图。如图9所示,该电子设备900可以包括:处理器901,存储器902。该电子设备900还可以包括多媒体组件903,输入/输出(I/O)接口904,以及通信组件905中的一者或多者。
其中,处理器901用于控制该电子设备900的整体操作,以完成上述的数据加密方法中的全部或部分步骤。存储器902用于存储各种类型的数据以支持在该电子设备900的操作,这些数据例如可以包括用于在该电子设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等。该存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或通过通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。输入/输出接口904为处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件905用于该电子设备900与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearField Communication,简称NFC),2G、3G、4G、5G、NB-IOT、eMTC、或其他6G等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件905可以包括:Wi-Fi模块,蓝牙模块,NFC模块等。
在一示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据加密方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据加密方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器902,上述程序指令可由电子设备900的处理器901执行以完成上述的数据加密方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述数据加密方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (12)
1.一种数据加密方法,其特征在于,应用于第一设备,所述方法包括:
根据目标新鲜值对待发送数据进行加密,得到目标数据;
将所述目标数据发送至第二设备,以便所述第二设备在根据所述目标新鲜值对所述目标数据进行解密校验成功的情况下,向所述第一设备发送数据接收成功指示,并根据第一预设步长更新所述目标新鲜值;
在接收到所述数据接收成功指示的情况下,根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。
2.根据权利要求1所述的方法,其特征在于,在所述根据目标新鲜值对待发送数据进行加密之前,所述方法还包括:
向所述第二设备发送初始新鲜值请求消息;
接收所述第二设备响应于所述初始新鲜值请求消息发送的初始新鲜值;
将所述初始新鲜值作为所述目标新鲜值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到数据接收失败指示的情况下,向所述第二设备发送新鲜值更新请求消息;
接收所述第二设备响应于所述新鲜值更新请求消息发送的候选新鲜值;
将所述候选新鲜值作为新的目标新鲜值。
4.根据权利要求1所述的方法,其特征在于,所述根据目标新鲜值对待发送数据进行加密包括:
从所述第一设备的第一可执行文件中获取第一密钥数据,所述第一密钥数据为根据所述第一设备的第一源码生成并存储至所述第一可执行文件中,所述第一可执行文件为在编译过程中删除所述第一源码后得到的文件;
根据所述目标新鲜值和所述第一密钥数据对所述待发送数据进行加密。
5.一种数据加密方法,其特征在于,应用于第二设备,所述方法包括:
在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验,所述目标数据为所述第一设备根据目标新鲜值对待发送数据进行加密后得到的数据;
在解密校验成功的情况下,向所述第一设备发送数据接收成功指示,以便所述第一设备在接收到所述数据接收成功指示的情况下,根据第一预设步长更新所述目标新鲜值;
根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对接收到的新的目标数据进行校验。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述第一设备发送的初始新鲜值请求消息;
响应于所述初始新鲜值请求消息,生成初始新鲜值,并向所述第一设备发送所述初始新鲜值;
将所述初始新鲜值作为所述目标新鲜值。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在解密校验失败的情况下,向所述第一设备发送数据接收失败指示。
8.根据权利要求5所述的方法,其特征在于,所述根据目标新鲜值对目标数据进行解密校验包括:
从所述第二设备的第二可执行文件中获取第二密钥数据,所述第二密钥数据为根据所述第二设备的第二源码生成并存储至所述第二可执行文件中,所述第二可执行文件为在编译过程中删除所述第二源码后得到的文件;
根据所述目标新鲜值和所述第二密钥数据对目标数据进行解密。
9.一种数据加密装置,其特征在于,应用于第一设备,所述装置包括:
加密模块,用于根据目标新鲜值对待发送数据进行加密,得到目标数据;
第一发送模块,用于将所述目标数据发送至第二设备,以便所述第二设备在根据所述目标新鲜值对所述目标数据进行解密校验成功的情况下,向所述第一设备发送数据接收成功指示,并根据第一预设步长更新所述目标新鲜值;
第一新鲜值更新模块,用于在接收到所述数据接收成功指示的情况下,根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对新的待发送数据进行加密。
10.一种数据加密装置,其特征在于,应用于第二设备,所述装置包括:
解密模块,用于在接收到第一设备发送的目标数据的情况下,根据目标新鲜值对目标数据进行解密校验,所述目标数据为所述第一设备根据目标新鲜值对待发送数据进行加密后得到的数据;
第二发送模块,用于在解密校验成功的情况下,向所述第一设备发送数据接收成功指示,以便所述第一设备在接收到所述数据接收成功指示的情况下,根据第一预设步长更新所述目标新鲜值;
第二新鲜值更新模块,用于根据所述第一预设步长更新所述目标新鲜值,以便根据更新后的目标新鲜值对接收到的新的目标数据进行校验。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤,或者,该程序被处理器执行时实现权利要求5至8中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至4中任一项所述方法的步骤,或者,以实现权利要求5至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210576143.1A CN117155592A (zh) | 2022-05-24 | 2022-05-24 | 数据加密方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210576143.1A CN117155592A (zh) | 2022-05-24 | 2022-05-24 | 数据加密方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117155592A true CN117155592A (zh) | 2023-12-01 |
Family
ID=88908718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210576143.1A Pending CN117155592A (zh) | 2022-05-24 | 2022-05-24 | 数据加密方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117155592A (zh) |
-
2022
- 2022-05-24 CN CN202210576143.1A patent/CN117155592A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2013230989B2 (en) | Policy for secure packet transmission using required node paths and cryptographic signatures | |
US9998476B2 (en) | Data distribution apparatus, communication system, moving object, and data distribution method | |
US11303453B2 (en) | Method for securing communication without management of states | |
EP4258593A1 (en) | Ota update method and apparatus | |
KR20140023799A (ko) | Can에서 데이터의 기밀성과 무결성을 보장하는 방법 | |
CN111294795B (zh) | 用于实现车内通信的系统 | |
CN114662087B (zh) | 一种多端验证的安全芯片固件更新方法及装置 | |
KR20150135032A (ko) | Puf를 이용한 비밀키 업데이트 시스템 및 방법 | |
CN114637987A (zh) | 基于平台验证的安全芯片固件下载方法及系统 | |
JPWO2014147934A1 (ja) | 通信装置、通信システム及び通信方法 | |
CN108141353B (zh) | 密码算法升级的方法及设备 | |
US10726161B2 (en) | Information processing device and malicious message detection method | |
US11716367B2 (en) | Apparatus for monitoring multicast group | |
JP2023535474A (ja) | アソシエーション制御方法及び関連装置 | |
CN109587134B (zh) | 接口总线的安全认证的方法、装置、设备和介质 | |
CN111344996B (zh) | 密钥生成方法、获取方法、私钥更新方法、芯片和服务器 | |
CN114338091B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN111836260A (zh) | 一种认证信息处理方法、终端和网络设备 | |
CN115834210A (zh) | 一种量子安全网络数据的发送、接收方法及通信系统 | |
CN117155592A (zh) | 数据加密方法、装置、存储介质及电子设备 | |
CN113489589A (zh) | 数据加密、解密方法、装置及电子设备 | |
CN115702424A (zh) | 将asil相关信息从数据源转发到数据宿的方法和车辆总线系统 | |
CN106789903B (zh) | 无线通信方法、装置及通信设备 | |
CN101860435B (zh) | 报文发送、接收以及确定网络节点的方法及装置 | |
CN112929871A (zh) | Ota升级包的获取方法、电子设备以及存储介质 |
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 |