CN117435226A - 车载电子控制单元的数据刷写方法、设备及存储介质 - Google Patents

车载电子控制单元的数据刷写方法、设备及存储介质 Download PDF

Info

Publication number
CN117435226A
CN117435226A CN202311774625.9A CN202311774625A CN117435226A CN 117435226 A CN117435226 A CN 117435226A CN 202311774625 A CN202311774625 A CN 202311774625A CN 117435226 A CN117435226 A CN 117435226A
Authority
CN
China
Prior art keywords
data
control unit
electronic control
vehicle
server
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
Application number
CN202311774625.9A
Other languages
English (en)
Other versions
CN117435226B (zh
Inventor
曾亮
钟泽明
伍海宁
马克迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Farben Information Technology Co ltd
Original Assignee
Shenzhen Farben Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Farben Information Technology Co ltd filed Critical Shenzhen Farben Information Technology Co ltd
Priority to CN202311774625.9A priority Critical patent/CN117435226B/zh
Publication of CN117435226A publication Critical patent/CN117435226A/zh
Application granted granted Critical
Publication of CN117435226B publication Critical patent/CN117435226B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了车载电子控制单元的数据刷写方法、设备及存储介质,该方法包括:在检测到诊断仪时,通过所述诊断仪与服务器建立通信连接;基于密钥交换算法,与所述服务器协商确定车端密钥;通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据;当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作。解决了ECU刷写数据的安全性较低的问题,可以提高ECU刷写数据的安全性。

Description

车载电子控制单元的数据刷写方法、设备及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及车载电子控制单元的数据刷写方法、设备及存储介质。
背景技术
ECU(Electronic Control Unit,电子控制单元)刷写,是指擦除ECU存储芯片上原有的数据后,重新在ECU存储芯片上写入新的数据。在车辆生产过程中,工厂会将合法有效软件固件烧录到ECU存储芯片上。但是在ECU中运行代码出现Bug或者需要更新ECU功能时,就需要通过刷写ECU来更新软件和固件。例如,比如车载娱乐系统中导航地图需要更新时,就需要进行ECU刷写。
在相关的对ECU数据刷写的方案中,一般是售后服务器将需要更新的数据传输至诊断仪,然后由诊断仪将该数据写入ECU中,并对ECU进行刷写。由于没有在售后服务器中对需要更新的数据进行加密,不能保证更新数据的安全性,并且更新数据可能会被非法篡改。这导致ECU刷写数据的安全性较低。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请提供一种车载电子控制单元的数据刷写方法、设备及存储介质,旨在解决ECU刷写数据的安全性较低的问题。
为实现上述目的,本申请提供的一种车载电子控制单元的数据刷写方法,应用于车载电子控制单元,所述车载电子控制单元的数据刷写方法包括以下步骤:
在检测到诊断仪时,通过所述诊断仪与服务器建立通信连接;
基于密钥交换算法,与所述服务器协商确定车端密钥;
通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据;
当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作。
可选地,所述基于密钥交换算法,与服务器协商确定车端密钥的步骤包括:
通过所述诊断仪接收所述服务器发送的协商数以及第一协商值;
生成第一随机数,并根据所述第一随机数以及所述协商数确定第二协商值;
通过所述诊断仪将所述第二协商值发送至所述服务器;
根据所述协商数、所述第一协商值以及所述第一随机数,生成所述车端密钥。
可选地,所述通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据的步骤之后,还包括:
当所述原始升级数据对应的哈希值与所述验证值不相同时,判定所述原始升级数据不完整,并生成对应的目标提示信息;
通过所述诊断仪发送所述目标提示信息至所述服务器。
可选地,所述基于所述原始升级数据执行车载电子控制单元刷写动作的步骤之前,还包括:
当所述原始升级数据对应的哈希值与所述验证值相同时,确定所述原始升级数据中获取对应的目标版本信息,以及确定已备份数据对应的当前版本信息;
当所述目标版本信息与所述当前版本信息匹配时,生成对应的第一提示信息;
当所述目标版本信息小于所述当前版本信息时,生成对应的第二提示信息;
根据对比结果,将所述第一提示信息或所述第二提示信息通过所述诊断仪发送至所述服务器。
可选地,所述当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作的步骤之后,还包括:
获取所述原始升级数据的配置信息,并确定所述执行车载电子控制单元刷写动作的系统时间;
根据所述配置信息和所述系统时间生成并保存升级日志。
此外,为实现上述目的,本申请还提供一种车载电子控制单元的数据刷写方法,应用于服务器,所述车载电子控制单元的数据刷写方法包括以下步骤:
在通过诊断仪与车载电子控制单元建立通信连接后,基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥;
基于所述服务端密钥加密原始升级数据,生成密文数据;
将所述原始升级数据的哈希值作为验证值,与所述密文数据关联发送至所述车载控制单元。
可选地,所述基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥的步骤包括:
生成协商数以及第二随机数,并根据所述协商数以及所述第二随机数确定第一协商值;
通过诊断仪将所述协商数以及所述第一协商值发送至所述车载电子控制单元;
接收所述车载电子控制单元发送的第二协商值;
根据所述第二协商值、所述协商数以及所述第二随机数,生成所述服务端密钥。
可选地,所述在通过诊断仪与车载电子控制单元建立通信连接后,基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥的步骤之前,还包括:
当检测到所述诊断仪的连接请求时,获取所述连接请求中的认证信息;
确定所述认证信息中的数字证书,当所述数字证书验证通过时,通过所述诊断仪与所述车载电子控制单元建立通信连接。
此外,为实现上述目的,本申请还提供一种车载电子控制单元的数据刷写设备,所述车载电子控制单元的数据刷写设备包括:存储器、处理器及存储在存储器上并可在所述处理器上运行的车载电子控制单元的数据刷写方法的系统程序,所述车载电子控制单元的数据刷写设备的系统程序被处理器执行实现如上所述的车载电子控制单元的数据刷写方法的步骤。
此外,为实现上述目的,本申请还提供一种存储介质,所述存储介质上存储有车载电子控制单元的数据刷写方法的系统程序,所述车载电子控制单元的数据刷写方法的系统程序被处理器执行实现如上所述的车载电子控制单元的数据刷写方法的步骤。
本申请提供一种车载电子控制单元的数据刷写方法、设备及存储介质,在检测到诊断仪时,通过诊断仪与服务器建立通信连接,再基于密钥交换算法,与服务器协商确定车端密钥,然后通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据,最后当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作,以实现电子控制单元的数据刷写,进而提高ECU书写数据的安全性。
附图说明
图1是本申请车载电子控制单元的数据刷写方法的第一实施例的流程示意图;
图2为本申请车载电子控制单元的数据刷写方法的第二实施例的流程示意图;
图3为本申请实施例涉及的车载电子控制单元的数据刷写设备的硬件运行环境的架构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图作进一步说明。
具体实施方式
本申请的车载电子控制单元的数据刷写方法,在检测到诊断仪时,通过诊断仪与服务器建立通信连接,再基于密钥交换算法,与服务器协商确定车端密钥,然后通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据,最后当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作,解决了ECU刷写数据的安全性较低的问题,从而可以防止ECU数据被非法篡改,并提高ECU刷写数据的安全性。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
实施例一
请参照图1,在第一实施例中,所述车载电子控制单元的数据刷写方法应用于车载电子控制单元,包括以下步骤:
步骤S10:在检测到诊断仪时,通过所述诊断仪与服务器建立通信连接。
在本实施例中,所述诊断仪是与车载电子控制单元连接的,并可以通过所述诊断仪实现与所述服务器的数据传输。其中,连接的方式可以是通过串口以有线的方式连接,也可以是通过蓝牙连接诊断仪。
作为一种可选地实施方式,车载电子控制单元还可以通过网络协议连接诊断仪,以提高数据传输的效率。应当理解的是,在车载电子控制单元通过网络协议连接所述诊断仪时,需要保证所述诊断仪有网络接入,可以在所述诊断仪上配备网卡,或者使诊断仪连接局域网等方式,确保车载电子控制单元可以顺利连接所述诊断仪。
示例性的,诊断仪是一种用于检测和诊断设备或系统故障的便携式工具。在汽车领域,汽车故障诊断仪又称汽车解码器是一种便携式智能汽车故障自检仪,用户可以利用它迅速地读取汽车电控系统中的故障,并通过液晶显示屏显示故障信息,迅速查明发生故障的部位以及原因。诊断仪通常可以检测设备的电压、电流、温度等参数,还可以对车载电子控制单元进行通信,并对其进行数据刷写动作。
步骤S20:基于密钥交换算法,与服务器协商确定车端密钥。
在本实施例中,所述密钥交换算法可以包括但不限于任何可以用于协商密钥或者私钥的算法。所述密钥交换算法需要先通过在服务器和车载电子控制单元各确定一个协商值,然后交换所述协商值,并根据此协商值加密数据。
具体的,该密钥交换算法包括但不限于基于RSA的密钥协商算法、基于ECC的密钥协商算法以及对称加密算法,其中,基于RSA的密钥协商算法是一种非对称加密算法,在密钥协商过程中,通常使用专门的密钥协商算法来生成共享密钥。通常会使用DH(Diffie-Hellman,密钥交换)算法,DH密钥交换算法是在公共信道上协商共享密钥的一种方法。它通过交换公开信息来生成共享密钥,即使第三方截获了TLS握手阶段传递的公钥,在不知道私钥的情况下,也无法计算出密钥。ECC(Elliptic curve cryptography,椭圆曲线密码学)密钥协商算法是一种高效的密钥协商方法,它利用椭圆曲线离散对数问题的特殊性质来生成共享密钥,需要先选择一个合适的椭圆曲线,常用的椭圆曲线有NIST推荐的P-256、P-384和P-521等,椭圆曲线的选择会影响其安全性和性能。私钥是一个随机数,通常在1到n-1之间,其中n是子群的阶,对应的公钥是通过私钥和椭圆曲线上的点乘运算得到的。
作为一种可选地实施方式,密钥交换算法也可以是非对称的加密算法,即协商生成车端密钥和服务端密钥并不相同,即服务端的密钥为公钥,而车端的密钥为私钥。通过此方式可以提高协商得到的密钥的安全性,并防止在一端的密钥泄露的情况下导致原始升级数据遭到非法篡改。
示例性的,通过ECC密钥协商算法在进行密钥协商时,假设A和B交换各自的公钥,并利用对方的公钥和自己的私钥计算出共享密钥,这个计算过程是基于椭圆曲线上的点乘和点加运算实现的。由于椭圆曲线密码学的特殊性质,只有知道私钥和椭圆曲线参数的人才能计算出公钥,而只知道公钥和椭圆曲线参数的人无法求解出私钥,因此ECC密钥协商算法具有更高的安全性和更小的计算量。
可选地,在本实施例中,所述步骤S20还包括:
通过所述诊断仪接收所述服务器发送的协商数以及第一协商值;生成第一随机数,并根据所述第一随机数以及所述协商数确定第二协商值;通过所述诊断仪将所述第二协商值发送至所述服务器;根据所述协商数、所述第一协商值以及所述第一随机数,生成所述车端密钥。
具体的,所述协商数包括服务器随机生成的大质数,和该大质数对应的本原元。通过生成第一随机数,进而可以得到对应的第二协商值,并将所述第二协商值通过诊断仪发送至服务器,这就完成了密钥交换。
示例性的,以DH密钥交换算法为例,诊断仪接收到售后服务器发送p、g和A的后再发送给ECU,其中p、g即为上述的协商数,A对应为第一协商值;ECU随机选择一个整数b(保密存储),b的限制条件为,并计算/>,ECU将计算得到的第二协商值B发送给诊断仪。至此售后服务器和ECU就协商得到密钥K和L,其中,ECU的车载端密钥,售后服务器的服务端密钥/>
步骤S30:通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据。
在本实施例中,对所述密文数据进行解密所采用的方法与服务器加密所述原始升级数据所用算法应当保持一致,即使用对称加密算法AES加密原所述始升级数据,则对应需要使用称加密算法AES进行解密,保证密文数据能得到解密,从而得到所述原始升级数据。
示例性的,在ECU对接收到的密文数据进行解密的过程中,利用车载端密钥K对收到的加密数据M1使用对称加密算法解密得到数据M,再利用HASH算法对M计算得到Hash值H1,其中所述数据M即为原始升级数据,应当理解的是,所述原始升级数据可能是已经被篡改的数据,所以还需要针对该原始升级数据进行如下的验证动作。
进一步地,在本实施例中,所述步骤S30之后,还包括:
当所述原始升级数据对应的哈希值与所述验证值不相同时,判定所述原始升级数据不完整,并生成对应的目标提示信息;通过所述诊断仪发送所述目标提示信息至所述服务器。
具体的,所述验证值为服务器中根据原始升级数据所生成的哈希值,所以通过将解密得到的所述原始升级数据再计算对应的哈希值,并与所述验证值对比,可以验证所述原始升级数据是否完整,或者是否被非法篡改等问题。
应当理解的,所述目标提示信息可以是提示所述原始升级数据已经被篡改的提示,还可以包括重新协商密钥并加密原始升级数据的指令,以使服务器重新执行与车载电子控制单元协商密钥的步骤。
步骤S40:当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作。
在本实施例中,所述原始升级数据对应的哈希值与所述验证值相同,即验证成功,所述原始升级数据并未被篡改。
作为一种可选地实施方式,所述原始升级数据可以是程序代码、参数设置、校准数据等,在确认了所述原始升级数据的完整性后,若所述原始升级数据没有问题,则车载电子控制单元会对所述原始升级数据进行解析和处理,将需要更新的数据存储在内部的存储器中。最后车载电子控制单元进行自检和校准,确保新数据能够正确地控制车辆的各种设备和系统。通过上述步骤,车载电子控制单元就完成了基于所述原始升级数据执行车载电子控制单元刷写动作。应当理解的是,上述车载电子控制单元通过原始升级数据执行刷写动作,不局限于此方式,还可以通过任何可以执行车载电子控制单元的刷写动作的方法实施,此处不再赘述。
进一步地,在本实施例中,所述基于所述原始升级数据执行车载电子控制单元刷写动作的步骤之前,还包括:
当所述原始升级数据对应的哈希值与所述验证值相同时,确定所述原始升级数据中对应的目标版本信息,以及确定已备份数据对应的当前版本信息;当所述目标版本信息与所述当前版本信息匹配时,生成对应的第一提示信息;当所述目标版本信息小于所述当前版本信息时,生成对应的第二提示信息;根据对比结果,将所述第一提示信息或所述第二提示信息通过所述诊断仪发送至所述服务器。
具体的,在确定所述原始升级数据中的对应的目标版本信息时,车载电子控制单元会自动检测自身数据的当前版本信息,并将当前的配置数据备份。当目标版本信息与当前版本信息匹配时,表示服务器通过诊断仪发送的原始升级数据的版本是车载电子控制单元近期已经刷写了的版本,则需要向服务器确定是否要重新刷写替换,于是车载电子控制单元通过诊断仪向服务器发送包含“版本相同,是否重复刷写”渲染信息的第一提示信息。当所述目标版本信息小于所述当前版本信息时,表示服务器通过诊断仪发送的原始升级数据为老旧版本,则需要向服务器确定是否回滚到此版本,于是车载电子控制单元通过诊断仪向服务器发送包含“版本老旧,是否回滚”渲染信息的第二提示信息。
可选地,在服务器通过诊断仪接收到所述第一提示信息或者第二提示信息后,会根据所述提示信息查询与之对应的原始升级数据,并获取所述原始升级数据的计划,从而确定是否继续执行对车载电子控制单元的数据刷写动作。
作为一种可选地实施方式,用于确认是否执行刷写动作的方式,还可以是直接由车载电子控制单元判断,当目标版本与当前版本相同或者低于当前版本时,直接忽略此次数据刷写动作,以提高对车载电子控制单元的数据刷写速率。
作为另一种可选地实施方式,还可以通过将所述提示信息的渲染信息渲染至所述诊断仪的展示屏幕上,让用户确认是否回滚或者重装。以提高对车载电子控制单元的数据刷写的准确性。
进一步地,在本实施例中,所述步骤S40之后,还包括:
获取所述原始升级数据的配置信息,并确定所述执行车载电子控制单元刷写动作的系统时间;根据所述配置信息和所述系统时间生成并保存升级日志。
示例性的,所述配置信息包括原始升级数据的版本信息以及具体更新的内容等,通过记录对车载电子控制单元的数据刷写的系统时间,并将系统时间与所述配置信息关联并生成升级日志,从而方便用户查看历史刷写记录,进而调整后续的刷写计划。此外,在升级日志生成后,还可以通过诊断仪将所述升级日志发送至服务端,以使服务端根据升级日志调整刷写数据的内容,进而提高数据刷写的效率。
在本实施例提供的技术方案中,通过与服务器协商确定车端密钥,并通过车端密钥对接收到的密文数据解密得到原始升级数据,进而根据验证值判断所述原始升级数据的完整性,可以提高刷写数据的安全性。当验证不通过时,向服务器反馈对应的提示信息,可以在原始升级数据被篡改或者某一部分数据丢失时,及时向服务器反馈,并重新协商密钥从而传输原始升级数据,进而避免在原始升级数据被篡改时无法继续执行数据刷写动作的情况发生。
实施例二
请参照图2,在第二实施例中,所述车载电子控制单元的数据刷写方法应用于服务器,还包括以下步骤:
步骤S50:在通过诊断仪与车载电子控制单元建立通信连接后,基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥。
在本实施例中,与所述车载控制单元协商确定服务端密钥的过程中,服务器与所述车载电子控制单元通信的协议是加密的安全协议,并且可以在两者之间建立安全的通信通道,在方便数据的传输的前提下可以提高传输数据的安全性。
进一步地,在所述步骤S50之前,还包括:
当检测到诊断仪的连接请求时,获取所述连接请求中的认证信息;确定所述认证信息中的数字证书,当所述数字证书验证通过时,通过所述诊断仪与所述车载电子控制单元建立通信连接。
具体的,所述服务器通过诊断仪与车载电子控制单元建立通信连接之前,服务器需先与诊断仪连接,并确定诊断仪的身份是否合理。诊断仪会先向服务器发送连接请求,所述连接请求中携带了认证信息并包括了数字证书。其中,该数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据,在需要建立通信连接时,数字证书用于标志需要建立连接方的身份信息。诊断仪会向服务器出示自己的数字证书,服务器会使用自己的私钥来解密证书中的公钥,并使用这个公钥来验证证书的数字签名。如果验证成功,那么这个证书就被认为是真实的,即持有证书的诊断仪的身份是可信的。
作为一种可选地实施方式,服务器和所述诊断仪传输数据时还可以使用加密通信协议,以确保数据传输过程中不被篡改或窃取。其中所述加密通信协议可以是SSL/TLS(Secure Sockets Layer/Transport Layer Security,安全套接字层/传输层安全)协议。
具体的,所述SSL/TLS协议要求诊断仪和服务器之间的通信过程需要经历握手阶段,通过交换Hello消息、证书、密钥等信息来建立安全的通信链接。一旦链接建立成功,双方就可以使用协商好的加密算法和密钥进行加密通信。SSL/TLS协议通过非对称加密和对称加密两种方式来实现数据的机密性和完整性保护。在握手阶段,双方使用非对称加密(如RSA)来协商一个共享的对称密钥,在数据传输阶段,双方使用该对称密钥对数据进行加密和解密。
可选地,在本实施例中,所述步骤S50包括:
生成协商数以及第二随机数,并根据所述协商数以及所述第二随机数确定第一协商值;通过诊断仪将所述协商数以及所述第一协商值发送至所述车载电子控制单元;接收所述车载电子控制单元发送的第二协商值;根据所述第二协商值、所述协商数以及第二随机数,生成所述服务端密钥。
具体的,所述协商数可以包括但不限于由服务器随机选择的大质数和对应的本原元,所述第二随机数是由服务器随机生成的,且不能超出预设的范围。
示例性的,以DH密钥交换算法为例,售后服务器选择一个大素数(质数)p和该素数的本原元,并且售后服务器还需要随机生成一个整数a(保密存储),a的限制条件为/>,最后计算/>。售后服务器将p、g和A发送给诊断仪,其中,所述p和g为上述步骤中的协商数,A为第一协商值。诊断仪将收到后的第二协商值B再发送给售后服务器,售后服务器根据第二协商值B和上述的协商数,计算服务端密钥。至此售后服务器和ECU就协商得到密钥L和K。
步骤S60:基于所述服务端密钥加密原始升级数据,生成密文数据。
在本实施例中,加密原始升级数据采用的方法包括但不限于使用对称加密算法通过所述服务端密钥对原始升级数据进行加密。生成的所述密文数据需要以特定的密钥进行解密后才能得到正确的原始升级数据。
具体的,所述对称加密算法的核心原理是替换和混淆。发送方将明文通过一系列的替换和混淆操作转换为密文,其中,替换操作是将明文中的字符替换为其他字符或字节,使得密文无法直接被理解。混淆操作是对替换后的密文进行进一步的操作,增加其复杂性和难以破解性。
作为一种可选地实施方式,通过服务端密钥加密原始升级数据的方式还可以是通过加密盐加密,将随机生成的数据(也称盐)与要加密的数据混合在一起,增加数据加密的强度,可以提升数据加密的效率。
示例性的,售后服务器使用对称加密算法利用上述协商的服务端密钥L,对原始升级数据m加密,将该服务端密钥L替换掉原始升级数据中的字符或字节,从而生成加密后的数据m1。
步骤S70:将所述原始升级数据的哈希值作为验证值,与所述密文数据关联发送至所述车载电子控制单元。
在本实施例中,所述哈希值是通过哈希算法计算所述原始升级数据所得到的,哈希值通常可以对数据进行验证,并且通过所述哈希值不能反向计算得到所述原始升级数据。
示例性的,哈希算法是一种将任意长度的二进制值串映射成固定长度的二进制值串的算法,这个映射的规则就是哈希算法。它是一种单向的,即从哈希值不能反向推导出原始数据,因此也被称为单向哈希算法。具体的,在实际计算过程中,将输入数据分块处理,逐步迭代计算得到最终的哈希值。具体来说,哈希算法会对输入数据进行一系列的位运算和变换,例如反转、移位、异或等,最终得到一个固定长度的二进制串作为哈希值。
在本实施例提供的技术方案中,通过密钥交换算法与所述车载控制单元协商确定服务端密钥,从而使用协商后的服务端密钥加密原始升级数据,可以提高刷写数据的安全性。通过将原始升级数据的哈希值作为验证值,可以避免数据泄露和提高数据的传输的保密性。通过验证诊断仪的身份和建立加密通信连接,可以提高数据传输的安全性。
由于本申请实施例所介绍的系统,为实施本申请实施例的方法所采用的系统,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的系统都属于本申请所欲保护的范围。
作为一种实施方案,图3为本申请实施例方案涉及的车载电子控制单元的数据刷写设备的硬件运行环境的架构示意图。
如图3所示,该车载电子控制单元可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002,网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1004可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图3中示出的结构并不构成对车载电子控制单元的数据刷写设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种存储介质的存储器1004中可以包括操作系统、网络通信模块以及车载电子控制单元的数据刷写程序。其中,操作系统是管理和控制车载电子控制单元的数据刷写设备的硬件和软件资源的程序,车载电子控制单元的数据刷写程序以及其他软件或程序的运行。
在图3所示的车载电子控制单元的数据刷写设备中,网络接口1003主要用于连接终端,与终端进行数据通信;处理器1001可以用于调用存储器1004存储的车载电子控制单元的数据刷写程序。
在本实施例中,车载电子控制单元的数据刷写设备包括:存储器1004、处理器1001及存储在所述存储器上并可在所述处理器上运行的车载电子控制单元的数据刷写程序,其中:
处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
在检测到诊断仪时,通过所述诊断仪与服务器建立通信连接;
基于密钥交换算法,与所述服务器协商确定车端密钥;
通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据;
当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作。
在一实施例中,处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
通过所述诊断仪接收所述服务器发送的协商数以及第一协商值;
生成第一随机数,并根据所述第一随机数以及所述协商数确定第二协商值;
通过所述诊断仪将所述第二协商值发送至所述服务器;
根据所述协商数、所述第一协商值以及所述第一随机数,生成所述车端密钥。
在一实施例中,处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
当所述原始升级数据对应的哈希值与所述验证值不相同时,判定所述原始升级数据不完整,并生成对应的目标提示信息;
通过所述诊断仪发送所述目标提示信息至所述服务器。
在一实施例中,处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
当所述原始升级数据对应的哈希值与所述验证值相同时,确定所述原始升级数据中获取对应的目标版本信息,以及确定已备份数据对应的当前版本信息;
当所述目标版本信息与所述当前版本信息匹配时,生成对应的第一提示信息;
当所述目标版本信息小于所述当前版本信息时,生成对应的第二提示信息;
根据对比结果,将所述第一提示信息或所述第二提示信息通过所述诊断仪发送至所述服务器。
在一实施例中,处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
获取所述原始升级数据的配置信息,并确定所述执行车载电子控制单元刷写动作的系统时间;
根据所述配置信息和所述系统时间生成并保存升级日志。
在一实施例中,处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
在通过诊断仪与车载电子控制单元建立通信连接后,基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥;
基于所述服务端密钥加密原始升级数据,生成密文数据;
将所述原始升级数据的哈希值作为验证值,与所述密文数据关联发送至所述车载控制单元。
在一实施例中,处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
生成协商数以及第二随机数,并根据所述协商数以及所述第二随机数确定第一协商值;
通过诊断仪将所述协商数以及所述第一协商值发送至所述车载电子控制单元;
接收所述车载电子控制单元发送的第二协商值;
根据所述第二协商值、所述协商数以及第二随机数,生成所述服务端密钥。
在一实施例中,处理器1001调用存储器1004中存储的车载电子控制单元的数据刷写程序时,执行以下操作:
当检测到诊断仪的连接请求时,获取所述连接请求中的认证信息;
确定所述认证信息中的数字证书,当所述数字证书验证通过时,通过所述诊断仪与所述车载电子控制单元建立通信连接。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被车载电子控制单元中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供一种存储介质,所述存储介质存储有车载电子控制单元的数据刷写程序,所述车载电子控制单元的数据刷写程序被处理器执行时实现如上实施例所述的车载电子控制单元的数据刷写方法的各个步骤。
其中,所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的存储介质。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种车载电子控制单元的数据刷写方法,其特征在于,应用于车载电子控制单元,所述车载电子控制单元的数据刷写方法包括以下步骤:
在检测到诊断仪时,通过所述诊断仪与服务器建立通信连接;
基于密钥交换算法,与所述服务器协商确定车端密钥;
通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据;
当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作。
2.如权利要求1所述的车载电子控制单元的数据刷写方法,其特征在于,所述基于密钥交换算法,与服务器协商确定车端密钥的步骤包括:
通过所述诊断仪接收所述服务器发送的协商数以及第一协商值;
生成第一随机数,并根据所述第一随机数以及所述协商数确定第二协商值;
通过所述诊断仪将所述第二协商值发送至所述服务器;
根据所述协商数、所述第一协商值以及所述第一随机数,生成所述车端密钥。
3.如权利要求1所述的车载电子控制单元的数据刷写方法,其特征在于,所述通过所述诊断仪接收所述服务器发送的密文数据以及验证值,并基于所述车端密钥从所述密文数据中解密出原始升级数据的步骤之后,还包括:
当所述原始升级数据对应的哈希值与所述验证值不相同时,判定所述原始升级数据不完整,并生成对应的目标提示信息;
通过所述诊断仪发送所述目标提示信息至所述服务器。
4.如权利要求1所述的车载电子控制单元的数据刷写方法,其特征在于,所述基于所述原始升级数据执行车载电子控制单元刷写动作的步骤之前,还包括:
当所述原始升级数据对应的哈希值与所述验证值相同时,确定所述原始升级数据中对应的目标版本信息,以及确定已备份数据对应的当前版本信息;
当所述目标版本信息与所述当前版本信息匹配时,生成对应的第一提示信息;
当所述目标版本信息小于所述当前版本信息时,生成对应的第二提示信息;
根据对比结果,将所述第一提示信息或所述第二提示信息通过所述诊断仪发送至所述服务器。
5.如权利要求1所述的车载电子控制单元的数据刷写方法,其特征在于,所述当所述原始升级数据对应的哈希值与所述验证值相同时,基于所述原始升级数据执行车载电子控制单元刷写动作的步骤之后,还包括:
获取所述原始升级数据的配置信息,并确定所述执行车载电子控制单元刷写动作的系统时间;
根据所述配置信息和所述系统时间生成并保存升级日志。
6.一种车载电子控制单元的数据刷写方法,其特征在于,应用于服务器,所述车载电子控制单元的数据刷写方法包括以下步骤:
在通过诊断仪与车载电子控制单元建立通信连接后,基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥;
基于所述服务端密钥加密原始升级数据,生成密文数据;
将所述原始升级数据的哈希值作为验证值,与所述密文数据关联发送至所述车载电子控制单元。
7.如权利要求6所述的车载电子控制单元的数据刷写方法,其特征在于,所述基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥的步骤包括:
生成协商数以及第二随机数,并根据所述协商数以及所述第二随机数确定第一协商值;
通过所述诊断仪将所述协商数以及所述第一协商值发送至所述车载电子控制单元;
接收所述车载电子控制单元发送的第二协商值;
根据所述第二协商值、所述协商数以及所述第二随机数,生成所述服务端密钥。
8.如权利要求6所述的车载电子控制单元的数据刷写方法,其特征在于,所述在通过诊断仪与车载电子控制单元建立通信连接后,基于密钥交换算法与所述车载电子控制单元协商确定服务端密钥的步骤之前,还包括:
当检测到所述诊断仪的连接请求时,获取所述连接请求中的认证信息;
确定所述认证信息中的数字证书,当所述数字证书验证通过时,通过所述诊断仪与所述车载电子控制单元建立通信连接。
9.一种车载电子控制单元的数据刷写设备,其特征在于,所述车载电子控制单元的数据刷写设备包括:存储器、处理器及存储在存储器上并可在所述处理器上运行的车载电子控制单元的数据刷写方法的系统程序,所述车载电子控制单元的数据刷写设备的系统程序被处理器执行实现如权利要求1至8任一项所述的车载电子控制单元的数据刷写方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有车载电子控制单元的数据刷写方法的系统程序,所述车载电子控制单元的数据刷写方法的系统程序被处理器执行实现如权利要求1至8任一项所述的车载电子控制单元的数据刷写方法的步骤。
CN202311774625.9A 2023-12-22 2023-12-22 车载电子控制单元的数据刷写方法、设备及存储介质 Active CN117435226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311774625.9A CN117435226B (zh) 2023-12-22 2023-12-22 车载电子控制单元的数据刷写方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311774625.9A CN117435226B (zh) 2023-12-22 2023-12-22 车载电子控制单元的数据刷写方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117435226A true CN117435226A (zh) 2024-01-23
CN117435226B CN117435226B (zh) 2024-04-16

Family

ID=89555784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311774625.9A Active CN117435226B (zh) 2023-12-22 2023-12-22 车载电子控制单元的数据刷写方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117435226B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117793705A (zh) * 2024-02-26 2024-03-29 中电科网络安全科技股份有限公司 一种高精度地图数据传输方法、装置、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102591A (zh) * 2018-09-06 2018-12-28 武汉锐科控制系统有限公司 一种多客户端可扩展汽车诊断软件开发系统及方法
CN111181928A (zh) * 2019-12-14 2020-05-19 深圳市元征科技股份有限公司 车辆诊断方法、服务器及计算机可读存储介质
CN111934861A (zh) * 2020-08-07 2020-11-13 东南(福建)汽车工业有限公司 一种诊断刷写过程数据合法性验证方法及其系统
CN111953489A (zh) * 2020-08-31 2020-11-17 中国电力科学研究院有限公司 基于sm2算法的发电单元采集业务的密钥交换设备及方法
CN112666927A (zh) * 2020-12-28 2021-04-16 深圳市元征科技股份有限公司 车辆电子控制单元ecu的升级方法及升级系统
CN112953939A (zh) * 2021-02-20 2021-06-11 联合汽车电子有限公司 一种密钥管理方法
CN113242122A (zh) * 2021-04-15 2021-08-10 哈尔滨工业大学 一种基于dh和rsa加密算法的加密方法
CN113268046A (zh) * 2021-04-12 2021-08-17 延锋伟世通电子科技(上海)有限公司 Autosar架构下诊断联网安全解锁实现系统
WO2022140903A1 (zh) * 2020-12-28 2022-07-07 华为技术有限公司 一种ota升级方法及装置
CN116243952A (zh) * 2023-04-23 2023-06-09 深圳市元征科技股份有限公司 一种离线刷写方法、装置、设备及介质
CN116451238A (zh) * 2023-04-17 2023-07-18 北京新能源汽车股份有限公司 一种ecu固件升级方法、装置、设备及可读存储介质
CN116954648A (zh) * 2023-06-21 2023-10-27 南京酷沃智行科技有限公司 一种基于ota升级包加密的整车ecu升级系统及方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102591A (zh) * 2018-09-06 2018-12-28 武汉锐科控制系统有限公司 一种多客户端可扩展汽车诊断软件开发系统及方法
CN111181928A (zh) * 2019-12-14 2020-05-19 深圳市元征科技股份有限公司 车辆诊断方法、服务器及计算机可读存储介质
CN111934861A (zh) * 2020-08-07 2020-11-13 东南(福建)汽车工业有限公司 一种诊断刷写过程数据合法性验证方法及其系统
CN111953489A (zh) * 2020-08-31 2020-11-17 中国电力科学研究院有限公司 基于sm2算法的发电单元采集业务的密钥交换设备及方法
CN112666927A (zh) * 2020-12-28 2021-04-16 深圳市元征科技股份有限公司 车辆电子控制单元ecu的升级方法及升级系统
WO2022140903A1 (zh) * 2020-12-28 2022-07-07 华为技术有限公司 一种ota升级方法及装置
CN112953939A (zh) * 2021-02-20 2021-06-11 联合汽车电子有限公司 一种密钥管理方法
CN113268046A (zh) * 2021-04-12 2021-08-17 延锋伟世通电子科技(上海)有限公司 Autosar架构下诊断联网安全解锁实现系统
CN113242122A (zh) * 2021-04-15 2021-08-10 哈尔滨工业大学 一种基于dh和rsa加密算法的加密方法
CN116451238A (zh) * 2023-04-17 2023-07-18 北京新能源汽车股份有限公司 一种ecu固件升级方法、装置、设备及可读存储介质
CN116243952A (zh) * 2023-04-23 2023-06-09 深圳市元征科技股份有限公司 一种离线刷写方法、装置、设备及介质
CN116954648A (zh) * 2023-06-21 2023-10-27 南京酷沃智行科技有限公司 一种基于ota升级包加密的整车ecu升级系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117793705A (zh) * 2024-02-26 2024-03-29 中电科网络安全科技股份有限公司 一种高精度地图数据传输方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117435226B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
US10708062B2 (en) In-vehicle information communication system and authentication method
CN111279310B (zh) 一种车载设备升级方法及相关设备
CN107294714B (zh) 密钥协商方法、装置及其设备
CN110380852B (zh) 双向认证方法及通信系统
CN106685985B (zh) 一种基于信息安全技术的车辆远程诊断系统及方法
CN117435226B (zh) 车载电子控制单元的数据刷写方法、设备及存储介质
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
MXPA06010776A (es) Autentificacion entre un dispositivo y un almacenamiento portatil.
CN111769938B (zh) 一种区块链传感器的密钥管理系统、数据验证系统
CN109800588B (zh) 条码动态加密方法及装置、条码动态解密方法及装置
US9165148B2 (en) Generating secure device secret key
CN109711841B (zh) 数据交易方法及系统、平台、存储介质
CN113439425B (zh) 报文传输方法及装置
CN109818747A (zh) 数字签名方法及装置
CN109005184A (zh) 文件加密方法及装置、存储介质、终端
CN114793184B (zh) 一种基于第三方密钥管理节点的安全芯片通信方法及装置
CN114448644A (zh) 基于对称算法的数字证书实现方法、装置、设备及介质
CA2844359C (en) System and method for obfuscating initiation values of a cryptography protocol
CN114629724B (zh) 车联网数据传输方法、装置、服务器及存储介质
JP2005012466A (ja) メッセージ認証方法及びメッセージ認証システム
CN116527301A (zh) 控制器的防伪造方法、装置、车辆及系统
CN114978542B (zh) 面向全生命周期的物联网设备身份认证方法、系统及存储介质
CN115603891A (zh) 自主可控的密文数据安全计算方法和系统
CN114867011A (zh) 车载数据传输装置、方法、车辆和车载数据传输系统
CN115174083A (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