CN112702166A - 一种数据传输方法、验证方法、装置和汽车 - Google Patents
一种数据传输方法、验证方法、装置和汽车 Download PDFInfo
- Publication number
- CN112702166A CN112702166A CN201911012508.2A CN201911012508A CN112702166A CN 112702166 A CN112702166 A CN 112702166A CN 201911012508 A CN201911012508 A CN 201911012508A CN 112702166 A CN112702166 A CN 112702166A
- Authority
- CN
- China
- Prior art keywords
- message authentication
- authentication code
- code value
- data packet
- processing
- 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 40
- 230000005540 biological transmission Effects 0.000 title claims abstract description 23
- 238000013524 data verification Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 88
- 238000012795 verification Methods 0.000 claims description 28
- 238000013502 data validation Methods 0.000 claims 2
- 241001391944 Commicarpus scandens Species 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 17
- 238000004806 packaging method and process Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000001680 brushing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种数据传输方法、验证方法、装置和汽车,涉及汽车领域。所述数据传输方法包括:获取汽车的电子控制单元的闪存驱动器的第一数据包;利用预设算法对所述第一数据包进行处理,获取第一消息认证码值;利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值;通过刷写工具将所述第一消息认证码值和所述第二消息认证码值发送给所述电子控制单元。本发明的方案避免了使用数据完整性奇校验的算法的易破解性,致使任何的刷写工具都可以将非法的软件数据包算写到车载电子控制单元中的问题,提升车辆电子控制单元数据的安全性,从而高效的确保车辆的数据安全。
Description
技术领域
本发明涉及汽车领域,特别涉及一种数据传输方法、验证方法、装置和汽车。
背景技术
当汽车在研发阶段各电子控制单元出现软件漏洞或者需要更改软件策略时,需要对电子控制单元进行软件更新;当汽车在售后时也会出现某些电子控制单元需要更新软件功能的场景,所以目前各大主机厂都会应用打包工具和刷写工具将待刷写的电子控制单元的软件刷写到各电子控制单元当中。
目前的刷写方案中对待刷写的电子控制单元的软件采用的是数据完整性奇校验的算法CRC方法进行校验,现有技术的刷写校验方法,由于CRC策略一般只是对刷写数据进行移位异或的操作,校验策略简单,容易破解;且并不能对刷写设备工具的身份进行认证,致使任何的刷写工具都可以将非法的软件数据包算写到车载电子控制单元中,不能保证车辆的数据安全。
发明内容
本发明实施例提供一种数据传输方法、验证方法、装置和汽车,以解决使用数据完整性奇校验的算法的易破解性,致使任何的刷写工具都可以将非法的软件数据包算写到车载电子控制单元中的问题。
为了解决上述技术问题,本发明采用如下技术方案:
本发明实施例提供了一种数据传输方法,包括:
获取汽车的电子控制单元ECU的闪存驱动器的第一数据包;
利用预设算法对所述第一数据包进行处理,获取第一消息认证码值;
利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值;
通过刷写工具将所述第一消息认证码值和所述第二消息认证码值发送给所述电子控制单元ECU。
可选的,利用预设算法对所述第一数据包进行处理,获取第一消息认证码值,包括:
调用第一集成软件开发工具包的第一哈希接口,利用哈希算法对所述第一数据包进行处理,得到处理后的第一数据包;
调用第一集成软件开发工具包的第一消息认证接口;
根据所述第一消息认证接口和第一预置对称密钥,采用预置所述第一消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第一数据包进行处理,获取所述第一消息认证码值。
可选的,利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值,包括:
调用第一集成软件开发工具包的第二哈希接口,利用哈希算法对所述汽车应用程序的第二数据包进行处理,得到处理后的第二数据包;
调用第一集成软件开发工具包的第二消息认证接口;
根据所述第二消息认证接口和第二预置对称密钥,采用预置所述第二消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第二数据包进行处理,获取第二消息认证码值。
本发明实施例还提供一种数据传输装置,包括:
第一获取模块,用于获取汽车的电子控制单元ECU的闪存驱动器的第一数据包;
第二获取模块,用于利用预设算法对所述第一数据包进行处理,获取第一消息认证码值;
第三获取模块,用于利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值;
发送模块,用于通过刷写工具将所述第一消息认证码值和所述第二消息认证码值发送给所述电子控制单元ECU。
本发明实施例还提供一种数据验证方法,包括:
通过刷写工具接收第一消息认证码值,并获取汽车的电子控制单元ECU的闪存驱动器的第三数据包;
利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,并校验所述第一消息认证码值和所述第三消息认证码值的一致性;
若校验成功,则接收第二消息认证码值,并获取汽车应用程序的第四数据包;
利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,并校验所述第二消息认证码值和所述第四消息认证码值的一致性,若校验成功则验证结束。
可选的,利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,包括:
调用第二集成软件开发工具包的第三哈希接口,利用哈希算法对所述第三数据包进行处理,得到处理后的第三数据包;
调用第二集成软件开发工具包的第三消息认证接口;
根据所述第三消息认证接口和第三预置对称密钥,采用预置所述第三消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第三数据包进行处理,获取所述第三消息认证码值。
可选的,校验所述第一消息认证码值和所述第三消息认证码值的一致性,包括:
比较第一消息认证码值和第三消息认证码值的参数一致性,若两者参数不一致,则验证失败。
可选的,利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,包括:
调用第二集成软件开发工具包的第四哈希接口,利用哈希算法对所述汽车应用程序的第四数据包进行处理,得到处理后的第四数据包;
调用第二集成软件开发工具包的第四消息认证接口;
根据所述第四消息认证接口和第四预置对称密钥,采用预置所述第四消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第四数据包进行处理,获取第四消息认证码值。
可选的,校验所述第二消息认证码值和所述第四消息认证码值的一致性,包括:
比较第二消息认证码值和第四消息认证码值的参数一致性,若两者参数不一致,则验证失败。
本发明实施例还提供一种数据验证装置,包括:
第一处理模块,用于通过刷写工具接收第一消息认证码值,并获取汽车的电子控制单元ECU的闪存驱动器的第三数据包;
第二处理模块,用于利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,并校验所述第一消息认证码值和所述第三消息认证码值的一致性;
第三处理模块,用于若校验成功,则接收第二消息认证码值,并获取汽车应用程序的第四数据包;
第四处理模块,用于利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,并校验所述第二消息认证码值和所述第四消息认证码值的一致性,若校验成功则验证结束。
本发明实施例还提供一种汽车,包括电子控制单元ECU,包括如上所述的数据传输装置,所述电子控制单元ECU包括如上所述的数据验证装置。
本发明的有益效果是:
本发明实施例提供的数据传输方法和验证方法,对刷写数据包的完整性和真实性进行校验,确保ECU接收到待刷写的数据包是未经过恶意篡改或者更换的;对刷写数据包的唯一合法来源进行了认证,对刷写数据包进行安全保护,避免了任何的刷写工具都可以将非法的软件数据包算写到车载电子控制单元中的问题。
附图说明
图1表示本发明实施例提供的数据传输方法的流程示意图;
图2表示本发明实施例提供的数据传输装置的模块示意图;
图3表示本发明实施例提供的数据验证方法的流程示意图;
图4表示本发明实施例提供的数据验证装置的模块示意图;
图5表示本发明实施例提供的数据传输和验证具体流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明针对使用数据完整性奇校验的算法的易破解性,致使任何的刷写工具都可以将非法的软件数据包算写到车载电子控制单元中的问题,提供一种数据传输方法、验证方法、装置和汽车。
如图1所示,本发明一实施例的数据传输方法,包括:
步骤100,获取汽车的电子控制单元ECU的闪存驱动器的第一数据包;
步骤200,利用预设算法对所述第一数据包进行处理,获取第一消息认证码值;
步骤300,利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值;
步骤400,通过刷写工具将所述第一消息认证码值和所述第二消息认证码值发送给所述电子控制单元ECU。
需要说明的是,本发明实施例中的预设算法采用基于国际通用的哈希算法和哈希运算消息认证码(HMAC)算法,对传输数据包进行预设算法计算,获取相对应的消息认证码值。
具体地,本发明实施例步骤100中获取汽车的电子控制单元的第一数据包和第一数据包,均为需要升级待传输的数据。
具体地,本发明实施例步骤200,可以包括:
调用第一集成软件开发工具包的第一哈希接口,利用哈希算法对所述第一数据包进行处理,得到处理后的第一数据包;
需要说明的是,通过打包工具调用第一集成软件开发工具包(SDK1)的第一哈希接口(Hash1接口),从而对所述闪存驱动器(Flash Driver)的第一数据包进行哈希计算,从而得到处理后的第一数据包的所述Flash Driver的Hash1值。
调用第一集成软件开发工具包的第一消息认证接口;
根据所述第一消息认证接口和第一预置对称密钥,采用预置所述第一消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第一数据包进行处理,获取所述第一消息认证码值。
需要说明的是,得到所述Hash1值后,通过打包工具调用第一消息认证接口(HMAC1接口),根据所述第一消息认证接口和第一预置对称密钥,采用预置所述第一消息认证接口的哈希运算消息认证码HMAC算法,对所述Hash1值进行HMAC算法计算,得到第一消息认证码值,即HMAC1值。
具体地,本发明实施例步骤300,可以包括:
调用第一集成软件开发工具包的第二哈希接口,利用哈希算法对所述汽车应用程序的第二数据包进行处理,得到处理后的第二数据包;
需要说明的是,通过打包工具调用第一集成软件开发工具包(SDK1)的第二哈希接口(Hash2接口),从而对汽车应用程序(APP)的第二数据包进行哈希(Hash)算法计算,从而得到处理后的第二数据包的所述APP的Hash2值。
调用第一集成软件开发工具包的第二消息认证接口;
根据所述第二消息认证接口和第二预置对称密钥,采用预置所述第二消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第二数据包进行处理,获取第二消息认证码值。
需要说明的是,得到所述Hash2值后,通过打包工具调用第二消息认证接口(HMAC2接口),根据所述第二消息认证接口和第二预置对称密钥,采用预置所述第二消息认证接口的哈希运算消息认证码(HMAC)算法,对所述Hash1值进行HMAC算法计算,得到第二消息认证码值,即HMAC2值。
还需要说明的是,本发明实施例中的第一预置对称密钥和第二预置对称密钥,为应用所述HMAC算法时的对称密钥,确保生成的HMAC值的安全性和唯一性。
具体地,步骤400,将所述HMAC1值和所述HMAC1值传输至刷写工具并进行存储,还将第一数据包和第二数据包的数据传输至刷写工具并进行存储,此刷写工具能具有接收和发送的功能。
如图2所示,本发明实施例还提供了一种数据传输装置,包括:
第一获取模块10,用于获取汽车的电子控制单元ECU的闪存驱动器的第一数据包;
第二获取模块20,用于利用预设算法对所述第一数据包进行处理,获取第一消息认证码值;
第三获取模块30,用于利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值;
发送模块40,用于通过刷写工具将所述第一消息认证码值和所述第二消息认证码值发送给所述电子控制单元ECU。
可选的,所述第二获取模块20,包括:
第一处理子模块,用于调用第一集成软件开发工具包的第一哈希接口,利用哈希算法对所述第一数据包进行处理,得到处理后的第一数据包;
第二处理子模块,用于调用第一集成软件开发工具包的第一消息认证接口;
第三处理子模块,用于根据所述第一消息认证接口和第一预置对称密钥,采用预置所述第一消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第一数据包进行处理,获取所述第一消息认证码值。
可选的,所述第三获取模块30,包括:
第一获取子模块,用于调用第一集成软件开发工具包的第二哈希接口,利用哈希算法对所述汽车应用程序的第二数据包进行处理,得到处理后的第二数据包;
第二获取子模块,用于调用第一集成软件开发工具包的第二消息认证接口;
第三获取子模块,用于根据所述第二消息认证接口和第二预置对称密钥,采用预置所述第二消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第二数据包进行处理,获取第二消息认证码值。
需要说明的是,该装置的实施例是与上述方法的实施例相对应的装置,上述方法的实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图3所示,本发明实施例还提供了一种数据验证方法,包括:
步骤S100,通过刷写工具接收第一消息认证码值,并获取汽车的电子控制单元ECU的闪存驱动器的第三数据包;
步骤S200,利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,并校验所述第一消息认证码值和所述第三消息认证码值的一致性;
步骤S300,若校验成功,则接收第二消息认证码值,并获取汽车应用程序的第四数据包;
步骤S400,利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,并校验所述第二消息认证码值和所述第四消息认证码值的一致性,若校验成功则验证结束。
具体地,步骤S100,通过刷写工具接收第一消息认证码值(HMAC1值),并开始传输汽车的电子控制单元(ECU)的闪存驱动器(Flash Driver)的第三数据包,同时将所述HMAC1值传输至所述汽车的电子控制单元(ECU)中。
具体地,本发明实施例步骤S200,可以包括:
步骤S201,调用第二集成软件开发工具包的第三哈希接口,利用哈希算法对所述第三数据包进行处理,得到处理后的第三数据包;
需要说明的是,通过电子控制单元(ECU)调用第二集成软件开发工具包(SDK2)的第三哈希接口(Hash3接口),从而对所述闪存驱动器(Flash Driver)的第三数据包进行哈希计算,从而得到处理后的第三数据包的所述Flash Driver的Hash3值。
步骤S202,调用第二集成软件开发工具包的第三消息认证接口;
步骤S203,根据所述第三消息认证接口和第三预置对称密钥,采用预置所述第三消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第三数据包进行处理,获取所述第三消息认证码值。
需要说明的是,得到所述Hash3值后,通过电子控制单元调用第三消息认证接口(HMAC3接口),根据所述第三消息认证接口和第三预置对称密钥,采用预置所述HMAC3接口的哈希运算消息认证码(HMAC)算法,对所述Hash3值进行HMAC算法计算,得到第三消息认证码值,即HMAC3值。
步骤S204,比较第一消息认证码值和第三消息认证码值的参数一致性,若两者参数不一致,则验证失败;其中,所述参数包括数据大小、类型等,需要参数全部一致才可认定验证成功。
具体地,步骤S300,校验成功后,所述ECU将验证成功后的结果反馈至刷写工具中,刷写工具开始传输汽车的电子控制单元(ECU)的应用程序(APP)的第四数据包,同时将所述HMAC2值传输至所述汽车的电子控制单元(ECU)中。
具体地,本发明实施例步骤S400,可以包括:
步骤S401,调用第二集成软件开发工具包的第四哈希接口,利用哈希算法对所述汽车应用程序的第四数据包进行处理,得到处理后的第四数据包;
需要说明的是,通过电子控制单元(ECU)调用第二集成软件开发工具包(SDK2)的第四哈希接口(Hash4接口),从而对所述应用程序(APP)的第四数据包进行哈希计算,从而得到处理后的第四数据包的所述APP的Hash4值。
步骤S402,调用第二集成软件开发工具包的第四消息认证接口;
步骤S403,根据所述第四消息认证接口和第四预置对称密钥,采用预置所述第四消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第四数据包进行处理,获取第四消息认证码值。
需要说明的是,得到所述Hash4值后,通过电子控制单元调用第四消息认证接口(HMAC4接口),根据所述第四消息认证接口和第四预置对称密钥,采用预置所述HMAC4接口的哈希运算消息认证码(HMAC)算法,对所述Hash4值进行HMAC算法计算,得到第四消息认证码值,即HMAC4值。
还需要说明的是,本发明实施例中的第三预置对称密钥和第四预置对称密钥,为应用所述HMAC算法时的对称密钥,确保生成的HMAC值的安全性和唯一性,也确保了验证的准确性。
步骤S404,比较第二消息认证码值和第四消息认证码值的参数一致性,若两者参数不一致,则验证失败。其中,所述参数包括数据大小、类型等,需要参数全部一致才可认定验证成功;验证成功后,刷写工具开始对待升级软件进行数据升级。
如图5所示,本发明一可选实施例的具体传输和验证方法,通过打包工具调用第一软件开发工具包(SDK1)中的Hash接口,所述SDK1应用哈希(Hash)算法将闪存驱动器(FlashDriver)数据包进行Hash计算,将得到的Hash1值返回到打包工具中;打包工具再次调用集成SDK1中的HMAC接口,针对所述Flash Driver的Hash1值,应用打包工具内部的预置的对称密钥,采用哈希运算消息认证码(HMAC)算法对Flash Driver数据包进行HMAC计算,打包工具获得所述Flash Driver的HMAC值。
打包工具并再次调用SDK1中的Hash接口,SDK1应用Hash算法将汽车应用程序(APP)数据包进行Hash计算,将得到的Hash2值返回到打包工具中,打包工具调用集成SDK中的HMAC接口,针对所述APP的Hash2值,应用打包工具内部的预置的对称密钥,采用HMAC的算法对APP数据包进行HMAC计算,打包工具将Flash Driver和APP的HMAC值以及数据包发送至刷写工具。
刷写工具读取将Flash Driver和APP的HMAC值以及数据包,并传输所述FlashDriver的数据包至电子控制单元(ECU),所述ECU端获得Flash Driver的数据包;刷写工具开始发送Flash Driver的HMAC值;所述ECU调用第二软件开发工具包(SDK2)的Hash接口;所述SDK2应用哈希(Hash)算法函数将Flash Driver数据包进行Hash计算,将得到的Hash3值返回到所述ECU中;所述ECU调用集成SDK的HMAC接口,针对Flash Driver的Hash3值,应用ECU内部的预置的对称密钥,采用HMAC的算法对Flash Driver数据包进行HMAC计算,ECU获得所述Flash Driver的HMAC值;所述ECU将打包工具端生成Flash Driver数据包的HMAC值与ECU端生成Flash Driver数据包的HMAC值进行比较,若验证失败,则停止刷写流程。
若成功,则刷写工具将APP的数据包传输至所述ECU,所述ECU获得APP的数据包后,刷写工具开始将APP的HMAC值传输至所述ECU,所述ECU调用集成SDK2的Hash接口;所述SDK2应用哈希(Hash)算法函数将APP数据包进行Hash计算,将得到的Hash4值返回到所述ECU中,所述ECU调用集成SDK2的HMAC接口,针对APP的Hash4值,应用ECU内部的预置的对称密钥,采用HMAC的算法对APP数据包进行HMAC计算,ECU获得所述APP的HMAC值,所述ECU将打包工具端生成的APP数据包的HMAC值与所述ECU端生成APP数据包的HMAC值进行比较,若验证失败,则停止刷写流程,若成功,则开始触发刷所述ECU软件数据包的刷写。
如图4所示,本发明实施例还提供了一种数据验证装置,包括:
第一处理模块50,于通过刷写工具接收第一消息认证码值,并获取汽车的电子控制单元ECU的闪存驱动器的第三数据包;
第二处理模块60,用于利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,并校验所述第一消息认证码值和所述第三消息认证码值的一致性;
第三处理模块70,用于若校验成功,则接收第二消息认证码值,并获取汽车应用程序的第四数据包;
第四处理模块80,用于利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,并校验所述第二消息认证码值和所述第四消息认证码值的一致性,若校验成功则验证结束。
可选的,所述第二处理模块60,包括:
第一处理单元,用于调用第二集成软件开发工具包的第三哈希接口,利用哈希算法对所述第三数据包进行处理,得到处理后的第三数据包;
第二处理单元,用于调用第二集成软件开发工具包的第三消息认证接口;
第三处理单元,用于根据所述第三消息认证接口和第三预置对称密钥,采用预置所述第三消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第三数据包进行处理,获取所述第三消息认证码值。
可选的,所述第二处理模块60,还包括:
第四处理单元,用于比较第一消息认证码值和第三消息认证码值的参数一致性,若两者参数不一致,则验证失败。
可选的,所述第二处理模块80,包括:
第五处理单元,用于调用第二集成软件开发工具包的第四哈希接口,利用哈希算法对所述汽车应用程序的第四数据包进行处理,得到处理后的第四数据包;
第六处理单元,用于调用第二集成软件开发工具包的第四消息认证接口;
第七处理单元,用于根据所述第四消息认证接口和第四预置对称密钥,采用预置所述第四消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第四数据包进行处理,获取第四消息认证码值。
可选的,所述第二处理模块80,还包括:
第八处理单元,用于比较第二消息认证码值和第四消息认证码值的参数一致性,若两者参数不一致,则验证失败。
需要说明的是,该装置的实施例是与上述方法的实施例相对应的装置,上述方法的实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例还提供一种汽车,包括电子控制单元ECU,包括如上所述的数据传输装置,所述电子控制单元ECU包括如上所述的数据验证装置。
综上所述,本发明实施例中,基于国际通用的HASH算法和HMAC算法进行校验认证,更加复杂和安全,不易被破解,对刷写数据包的完整性和真实性进行校验,确保车辆电子控制单元接收到待刷写的数据包是未经过恶意篡改或者更换的,同时对刷写数据包的唯一合法来源进行了认证,更高效的确保刷写数据包的安全。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (11)
1.一种数据传输方法,其特征在于,包括:
获取汽车的电子控制单元ECU的闪存驱动器的第一数据包;
利用预设算法对所述第一数据包进行处理,获取第一消息认证码值;
利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值;
通过刷写工具将所述第一消息认证码值和所述第二消息认证码值发送给所述电子控制单元ECU。
2.根据权利要求1所述的数据传输方法,其特征在于,利用预设算法对所述第一数据包进行处理,获取第一消息认证码值,包括:
调用第一集成软件开发工具包的第一哈希接口,利用哈希算法对所述第一数据包进行处理,得到处理后的第一数据包;
调用第一集成软件开发工具包的第一消息认证接口;
根据所述第一消息认证接口和第一预置对称密钥,采用预置所述第一消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第一数据包进行处理,获取所述第一消息认证码值。
3.根据权利要求1所述的数据传输方法,其特征在于,利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值,包括:
调用第一集成软件开发工具包的第二哈希接口,利用哈希算法对所述汽车应用程序的第二数据包进行处理,得到处理后的第二数据包;
调用第一集成软件开发工具包的第二消息认证接口;
根据所述第二消息认证接口和第二预置对称密钥,采用预置所述第二消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第二数据包进行处理,获取第二消息认证码值。
4.一种数据传输装置,其特征在于,包括:
第一获取模块,用于获取汽车的电子控制单元ECU的闪存驱动器的第一数据包;
第二获取模块,用于利用预设算法对所述第一数据包进行处理,获取第一消息认证码值;
第三获取模块,用于利用所述预设算法对汽车应用程序的第二数据包进行处理,获取第二消息认证码值;
发送模块,用于通过刷写工具将所述第一消息认证码值和所述第二消息认证码值发送给所述电子控制单元ECU。
5.一种数据验证方法,其特征在于,包括:
通过刷写工具接收第一消息认证码值,并获取汽车的电子控制单元ECU的闪存驱动器的第三数据包;
利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,并校验所述第一消息认证码值和所述第三消息认证码值的一致性;
若校验成功,则接收第二消息认证码值,并获取汽车应用程序的第四数据包;
利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,并校验所述第二消息认证码值和所述第四消息认证码值的一致性,若校验成功则验证结束。
6.根据权利要求5所述的数据验证方法,其特征在于,利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,包括:
调用第二集成软件开发工具包的第三哈希接口,利用哈希算法对所述第三数据包进行处理,得到处理后的第三数据包;
调用第二集成软件开发工具包的第三消息认证接口;
根据所述第三消息认证接口和第三预置对称密钥,采用预置所述第三消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第三数据包进行处理,获取所述第三消息认证码值。
7.根据权利要求6所述的数据验证方法,其特征在于,校验所述第一消息认证码值和所述第三消息认证码值的一致性,包括:
比较第一消息认证码值和第三消息认证码值的参数一致性,若两者参数不一致,则验证失败。
8.根据权利要求5所述的数据验证方法,其特征在于,利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,包括:
调用第二集成软件开发工具包的第四哈希接口,利用哈希算法对所述汽车应用程序的第四数据包进行处理,得到处理后的第四数据包;
调用第二集成软件开发工具包的第四消息认证接口;
根据所述第四消息认证接口和第四预置对称密钥,采用预置所述第四消息认证接口的哈希运算消息认证码HMAC算法,对处理后的所述第四数据包进行处理,获取第四消息认证码值。
9.根据权利要求8所述的数据验证方法,其特征在于,校验所述第二消息认证码值和所述第四消息认证码值的一致性,包括:
比较第二消息认证码值和第四消息认证码值的参数一致性,若两者参数不一致,则验证失败。
10.一种数据验证装置,其特征在于,包括:
第一处理模块,用于通过刷写工具接收第一消息认证码值,并获取汽车的电子控制单元ECU的闪存驱动器的第三数据包;
第二处理模块,用于利用预设算法对所述第三数据包进行处理,获取第三消息认证码值,并校验所述第一消息认证码值和所述第三消息认证码值的一致性;
第三处理模块,用于若校验成功,则接收第二消息认证码值,并获取汽车应用程序的第四数据包;
第四处理模块,用于利用所述预设算法对所述汽车应用程序的第四数据包进行处理,获取第四消息认证码值,并校验所述第二消息认证码值和所述第四消息认证码值的一致性,若校验成功则验证结束。
11.一种汽车,包括电子控制单元ECU,其特征在于,还包括如权利要求4所述的装置,所述电子控制单元ECU包括如权利要求10所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012508.2A CN112702166A (zh) | 2019-10-23 | 2019-10-23 | 一种数据传输方法、验证方法、装置和汽车 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012508.2A CN112702166A (zh) | 2019-10-23 | 2019-10-23 | 一种数据传输方法、验证方法、装置和汽车 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112702166A true CN112702166A (zh) | 2021-04-23 |
Family
ID=75505111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911012508.2A Pending CN112702166A (zh) | 2019-10-23 | 2019-10-23 | 一种数据传输方法、验证方法、装置和汽车 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702166A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709696A (zh) * | 2021-08-13 | 2021-11-26 | 支付宝(杭州)信息技术有限公司 | 车辆远程控制方法及装置、密钥初始化方法及装置 |
CN113992331A (zh) * | 2021-11-15 | 2022-01-28 | 苏州挚途科技有限公司 | 车载以太网数据传输方法、装置及系统 |
CN115828250A (zh) * | 2022-01-07 | 2023-03-21 | 宁德时代新能源科技股份有限公司 | 生产电池管理系统的方法和启动电池管理系统的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010032391A1 (ja) * | 2008-09-19 | 2010-03-25 | 日本電気株式会社 | 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム |
CN103023862A (zh) * | 2011-09-21 | 2013-04-03 | 索尼公司 | 用于完整性保护和验证的方法、服务器及系统 |
CN103713527A (zh) * | 2012-09-29 | 2014-04-09 | 博世汽车部件(苏州)有限公司 | 一种汽车电子控制器的刷新方法、刷写装置以及刷写系统 |
CN103885437A (zh) * | 2014-03-12 | 2014-06-25 | 潍柴动力股份有限公司 | 一种数据安全保护方法、装置及电子控制单元 |
CN106685653A (zh) * | 2016-12-29 | 2017-05-17 | 同济大学 | 一种基于信息安全技术的车辆远程固件更新方法及装置 |
JP6174229B1 (ja) * | 2016-12-09 | 2017-08-02 | Kddi株式会社 | 配信システム、データ保安装置、配信方法、及びコンピュータプログラム |
CN107273152A (zh) * | 2017-05-26 | 2017-10-20 | 安徽贵博新能科技有限公司 | 一种防止系统ecu软件被误升级的解决方法 |
-
2019
- 2019-10-23 CN CN201911012508.2A patent/CN112702166A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010032391A1 (ja) * | 2008-09-19 | 2010-03-25 | 日本電気株式会社 | 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム |
CN103023862A (zh) * | 2011-09-21 | 2013-04-03 | 索尼公司 | 用于完整性保护和验证的方法、服务器及系统 |
CN103713527A (zh) * | 2012-09-29 | 2014-04-09 | 博世汽车部件(苏州)有限公司 | 一种汽车电子控制器的刷新方法、刷写装置以及刷写系统 |
CN103885437A (zh) * | 2014-03-12 | 2014-06-25 | 潍柴动力股份有限公司 | 一种数据安全保护方法、装置及电子控制单元 |
JP6174229B1 (ja) * | 2016-12-09 | 2017-08-02 | Kddi株式会社 | 配信システム、データ保安装置、配信方法、及びコンピュータプログラム |
CN106685653A (zh) * | 2016-12-29 | 2017-05-17 | 同济大学 | 一种基于信息安全技术的车辆远程固件更新方法及装置 |
CN107273152A (zh) * | 2017-05-26 | 2017-10-20 | 安徽贵博新能科技有限公司 | 一种防止系统ecu软件被误升级的解决方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709696A (zh) * | 2021-08-13 | 2021-11-26 | 支付宝(杭州)信息技术有限公司 | 车辆远程控制方法及装置、密钥初始化方法及装置 |
CN113709696B (zh) * | 2021-08-13 | 2023-12-29 | 支付宝(杭州)信息技术有限公司 | 车辆远程控制方法及装置、密钥初始化方法及装置 |
CN113992331A (zh) * | 2021-11-15 | 2022-01-28 | 苏州挚途科技有限公司 | 车载以太网数据传输方法、装置及系统 |
CN115828250A (zh) * | 2022-01-07 | 2023-03-21 | 宁德时代新能源科技股份有限公司 | 生产电池管理系统的方法和启动电池管理系统的方法 |
CN115828250B (zh) * | 2022-01-07 | 2024-01-26 | 宁德时代新能源科技股份有限公司 | 生产电池管理系统的方法和启动电池管理系统的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729757B (zh) | 软件更新之前的软件认证 | |
US10360018B2 (en) | Update control apparatus, software update system, and update control method | |
CN108427565B (zh) | 用于安全的多周期车辆软件更新的方法和设备 | |
CN111131313B (zh) | 智能网联汽车更换ecu的安全保障方法及系统 | |
CN112702166A (zh) | 一种数据传输方法、验证方法、装置和汽车 | |
KR101600460B1 (ko) | 보안기능을 갖는 ecu 업그레이드시스템 및 그 방법 | |
US9602487B2 (en) | Method for the protected transmission of data | |
JP6228093B2 (ja) | システム | |
CN107992753B (zh) | 用于更新车辆的控制设备的软件的方法 | |
CN105938433A (zh) | 用于对机动车的控制设备进行编程的方法 | |
CN108124491B (zh) | 诊断设备的诊断接头升级验证方法、装置及诊断接头 | |
CN111480141A (zh) | 用于更新机动车控制设备的软件的方法和设备 | |
CN110520861B (zh) | 用于通过使用安全元件来快速认证程序的方法和装置 | |
CN111949288A (zh) | 一种基于车载以太网的智能元件远程升级方法及系统 | |
CN109314644B (zh) | 数据提供系统、数据保护装置、数据提供方法以及存储介质 | |
CN111508110B (zh) | 一种实现车辆远程锁定的方法及装置 | |
CN114301596A (zh) | 车内网ota安全通讯方法、装置、车载系统及存储介质 | |
KR101806719B1 (ko) | 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법 | |
US20220179636A1 (en) | Vehicle controller | |
CN114125771A (zh) | 一种基于车辆ota更新的信息安全控制方法及控制系统 | |
CN114867011A (zh) | 车载数据传输装置、方法、车辆和车载数据传输系统 | |
CN116938443A (zh) | 不可否认的交通工具变更历史 | |
JP6860464B2 (ja) | システム及び管理方法 | |
JP2018006782A (ja) | データ提供システム、データ提供装置、車載コンピュータ、データ提供方法、及びコンピュータプログラム | |
CN112440935A (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: 20210423 |