CN116860290A - 一种车辆控制器程序安全更新方法、装置、设备及介质 - Google Patents
一种车辆控制器程序安全更新方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116860290A CN116860290A CN202310770555.3A CN202310770555A CN116860290A CN 116860290 A CN116860290 A CN 116860290A CN 202310770555 A CN202310770555 A CN 202310770555A CN 116860290 A CN116860290 A CN 116860290A
- Authority
- CN
- China
- Prior art keywords
- vehicle controller
- program
- target vehicle
- message authentication
- authentication code
- 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 54
- 238000013524 data verification Methods 0.000 claims abstract description 28
- 230000008672 reprogramming Effects 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 42
- 238000012795 verification Methods 0.000 claims description 14
- 230000001680 brushing effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 10
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000009191 jumping Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R25/00—Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
- B60R25/20—Means to switch the anti-theft system on or off
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R2325/00—Indexing scheme relating to vehicle anti-theft devices
- B60R2325/10—Communication protocols, communication systems of vehicle anti-theft devices
- B60R2325/108—Encryption
Abstract
本发明实施例公开了一种车辆控制器程序安全更新方法、装置、设备及介质。该方法包括:确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。采用本技术方案,实现了对应用程序和标定数据的安全更新、车辆控制器安全启动以及引导程序更新,提升了车辆控制器程序更新的安全性、车辆控制器启动的安全性以及对车辆控制器引导程序更新的便捷性。
Description
技术领域
本发明实施例涉及车辆控制器程序更新及启动技术领域,尤其涉及一种车辆控制器程序安全更新方法、装置、设备及介质。
背景技术
随着车辆功能的日益增多以及客户需求的多样化和智能化,应用程序及标定数据需要不断的迭代升级,汽车车型的多样化适配也催生了引导程序升级的需求。
除此之外,汽车智能化和网联化的发展,对外接口日益增加,车辆控制器存在着程序被篡改、被写入非授权的程序或数据等诸多风险。传统的车辆控制器只提供一级引导程序对应用程序和标定数据进行更新且只能进行简单的循环冗余校验,无法满足引导程序的更新需求以及信息安全的相关要求。
发明内容
本发明实施例提供一种车辆控制器程序安全更新方法、装置、设备及介质,以实现提升车辆控制器程序更新的安全性以及车辆控制器启动的安全性,提高对车辆控制器引导程序更新的便捷性。
第一方面,本发明实施例提供了一种车辆控制器程序安全更新方法,包括:
确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;
依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;
依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。
第二方面,本发明实施例还提供了一种车辆控制器程序安全更新装置,包括:
安全启动开启及数据校验模块,用于确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;
引导程序更新模块,用于依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;
控制器安全更新模块,用于依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的车辆控制器程序安全更新方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的车辆控制器程序安全更新方法。
本发明实施例提供了一种车辆控制器程序安全更新方法、装置、设备和介质,通过确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。采用本发明实施例的技术方案,克服了现有的车辆控制器只提供一级引导程序对应用程序和标定数据进行更新且只能进行简单的校验,无法满足引导程序的更新需求以及信息安全的问题;采用本技术实现了对应用程序和标定数据的安全更新、车辆控制器安全启动以及引导程序更新,提升了车辆控制器程序更新的安全性、车辆控制器启动的安全性以及对车辆控制器引导程序更新的便捷性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中提供的一种车辆控制器程序安全更新方法的流程示意图;
图2是本发明实施例中提供的一种车辆控制器安全启动流程示意图;
图3是本发明实施例中提供的一种车辆控制器引导程序更新流程示意图;
图4是本发明实施例中提供的一种车辆控制器安全更新流程示意图;
图5是本发明实施例中提供的一种车辆控制器程序安全更新装置的结构示意图;
图6是本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作(或步骤)可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
其中,本申请技术方案中对数据的获取、存储、使用以及处理等均符合国家法律法规的相关规定。
图1是本发明实施例中提供的一种车辆控制器程序安全更新方法的流程图,本实施例可适用于对车辆控制器程序进行安全更新的情况,本实施例的方法可以由车辆控制器程序安全更新装置来执行,该装置可以采用硬件和/或软件的方式来实现。该装置可以配置于车辆控制器程序安全更新的服务器中。该方法具体包括如下步骤:
S110、确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果。
其中,控制器可以是指按照预定顺序改变主电路或控制电路的接线和改变电路中电阻值来控制电动机的启动、调速、制动和反向的主令装置。本发明实施例中所述目标车辆控制器用来控制目标车辆电机的启动、运行、进退、速度、停止以及目标车辆的其它电子器件的核心控制器件。
安全启动功能可以是指用于防止恶意软件的侵入,当目标车辆控制器被病毒修改之后,安全启动功能能够给出提醒并拒绝启动目标车辆控制器,避免可能带来的进一步损失。
作为一种可选的但非限定性的实现方式,所述确定目标车辆控制器的安全启动功能是否开启,包括但不限于步骤A1-A4:
步骤A1:获取目标车辆控制器引导管理程序的第一预设消息认证码,以及通过第一密钥确定的第一目标消息认证码;其中,第一密钥用于表征引导管理程序的消息认证密钥。
步骤A2:将所述第一预设消息认证码与第一目标消息认证码进行比对,确定引导管理程序的消息认证码校验结果。
步骤A3:若第一预设消息认证码与第一目标消息认证码比对结果一致,则确定所述目标车辆控制器的安全启动功能开启。
步骤A4:若第一预设消息认证码与第一目标消息认证码比对结果一致,则确定所述目标车辆控制器的安全启动功能未开启。
其中,本发明实施例中采用引导管理程序控制目标车辆控制器启动过程,所述目标车辆控制器启动过程包括但不限于控制器初始化、控制器启动目标选择以及安全启动。
在本发明实施例的一种可选方案中,所述控制器初始化可以是指执行控制器运行所需的一些基本初始化,包括但不限于看门狗初始化、计数器初始化以及安全启动模式初始化等。
在本发明实施例的另一种可选方案中,所述控制器启动目标选择可以是指引导管理程序遵循一个特定的状态机来启动一个有效目标,例如引导程序BootLoader、应用程序Application、引导更新程序BootUpdater,具体步骤包括:引导管理程序BootManager检查存储器Flash中是否存在有效的引导程序BootLoader,如果引导程序BootLoader无效,则启动引导更新程序BootUpdater;如果Flash中存在有效的引导程序BootLoader,引导管理程序BootManager检查Flash中是否存在有效的应用程序Application,如果应用程序Application无效,则启动引导程序BootLoader;如果Flash中存在有效的应用程序Application,则启动该有效的应用程序Application。
在本发明实施例的又一种可选方案中,所述安全启动可以是指引导管理程序BootManager触发硬件加密模块HSE校验应用程序Application和标定数据Calibration的完整性以及可用性,确保目标车辆控制器能够安全启动。
参见图2,控制器上电启动后开始执行芯片固件远程启动服务BootROM,BootROM检查安全启动部件属性是否开启。如果安全启动部件属性开启,BootROM执行完相关操作后,跳转至HSE固件,HSE固件从OTP(一次性可编程存储器)读取密钥1,使用所述密钥对Flash中的BootManager进行GMAC值计算确定第一目标消息认证码,并与Flash区域中第一预设消息认证码(GMAC’)值进行比较。如果GMAC不等于GMAC’,则引导管理程序校验失败,存在引导管理程序被篡改或损坏的可能性;控制器重置,进入芯片固件的串行刷写模式。如果GMAC值等于GMAC’,则引导管理程序校验成功,确定所述目标车辆控制器的安全启动功能开启。
作为一种可选的但非限定性的实现方式,所述对目标车辆控制器的应用程序进行校验,确定数据校验结果,包括但不限于步骤B1-B2:
步骤B1:获取目标车辆控制器应用程序的第二预设消息认证码,以及通过第二密钥确定的第二目标消息认证码;其中,第二密钥用于表征应用程序的消息认证码密钥。
步骤B2:将所述第二预设消息认证码与第二目标消息认证码进行比对,确定应用程序的数据校验结果。
其中,所述应用程序可以是指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。在本发明实施例中所述应用程序可以是指执行控制器运行相关任务的程序代码。
在本发明实施例的一种可选方案中,引导管理程序从Flash中读取第二密钥和应用程序(Application)预置的CMAC值第二预设消息认证码(CMAC_APP’),使用所述第二密钥计算应用程序的第二目标消息认证码(CMAC_APP)。比较所述CMAC_APP值和CMAC_APP’值是否相等。如果CMAC_APP值不等于CMAC_APP’,则应用程序Application校验失败,跳转至引导程序BootLoader,进入重编程模式。
作为一种可选的但非限定性的实现方式,所述对目标车辆控制器的标定数据进行校验,确定数据校验结果,还包括但不限于步骤C1-C2:
步骤C1:获取目标车辆控制器标定数据的第三预设消息认证码,以及通过第三密钥确定的第三目标消息认证码;其中,第三密钥用于表征标定数据的消息认证码密钥。
步骤C2:将所述第三预设消息认证码与第三目标消息认证码进行比对,确定标定数据的数据校验结果。
其中,标定数据(Calibration)可以是指根据目标车辆发动机以及整车性能要求,修改调整或优化后的控制器内部算法相关参数。在确定应用程序的第二预设消息认证码与第二目标消息认证码比对校验成功后,从Flash中读取第三密钥和标定数据预置的CMAC值第三预设消息认证码(CMAC_CAL’),使用所述第三密钥计算标定数据的CMAC值第三目标消息认证码(CMAC_CAL);比较所述CMAC_CAL值和CMAC_CAL’值是否相等;如果CMAC_CAL值不等于CMAC_CAL’,则标定数据校验失败,跳转至引导程序,进入重编程模式;如果CMAC_CAL值等于CMAC_CAL’,引导管理程序跳转至应用程序,目标车辆控制器进入正常运行状态。
S120、依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新。
其中,引导程序可以是指计算机系统启动时执行的第一个代码,整个操作系统依赖于引导程序才能在加载操作系统时正常工作。在本发明实施例中所述引导程序BootLoader主要功能包括:应用程序、标定数据以及引导更新程序的重编程。
作为一种可选的但非限定性的实现方式,所述依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新,包括但不限于步骤D1-D2:
步骤D1:若所述目标车辆控制器的安全启动功能未开启,则确定引导程序无效。
步骤D2:对无效的引导程序进行更新,并将与引导程序对应的引导更新程序刷写至预设存储区域。
其中,依据所述目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,所述目标车辆控制器的安全启动功能未开启,则确定引导程序无效,引导程序可能存在被篡改或损坏的现象。对无效的引导程序进行更新,并刷写引导更新程序。所述引导更新程序(BootUpdater)用于更新引导程序,更新步骤包括引导程序重编程以及新版本引导程序有效性验证。
在本发明实施例的一种可选方案中,参见图3,控制器上电启动后,引导管理程序校验引导程序是否有效。如果引导程序有效,则跳转至引导程序进入编程模式;上位机通过UDS协议将引导更新程序刷写至控制器的Flash区域;引导更新程序刷写成功后,将引导程序置为无效,重置控制器跳转至引导管理程序。若引导管理程序检测到引导程序为无效状态,然后跳转至引导更新程序;引导更新程序将新版本的引导程序更新至Flash区域,将新版本的引导程序置为有效状态,引导程序BootLoader更新完成。
本发明实施例中所述引导程序更新功能可满足适配多个车型项目的需求,提升了对车辆控制器引导程序更新的便捷性。
S130、依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。
其中,所述重编程包括但不限于预编程步骤、主编程步骤以及后编程步骤。其中,所述预编程步骤为控制器编程做准备,包括但不限于进入扩展会话模式、检查编程前置条件、停止通信功能以及停止记录诊断故障代码。所述主编程步骤包括但不限于进入编程会话模式、指纹信息录入、执行应用程序编程、应用程序完整性检测、应用程序签名验签、执行标定数据编程、标定数据完整性检测、标定数据签名验签以及控制器重启。所述后编程步骤包括但不限于进入默认会话模式、清除故障码以及控制器进入正常运行状态。
在本发明实施例的一种可选方案中,所述重编辑请求标志位状态包括1和0,1表征需要重编辑,0表征不需要重编辑。若重编辑请求标志位为1,则需对相应的应用程序或标定数据进行安全更新。
作为一种可选的但非限定性的实现方式,所述依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序进行安全更新,包括但不限于步骤E1-E3:
步骤E1:若应用程序的第二预设消息认证码与第二目标消息认证码的校验结果不一致,则确定重编辑请求标志位状态为1。
步骤E2:对所述应用程序进行安全更新,并将更新后的应用程序、应用程序签名信息以及应用程序证书通过网络协议刷写至预设存储器。
步骤E3:确定所述应用程序签名信息是否有效,若应用程序签名信息验证有效则目标车辆控制器的应用程序完成安全更新。
其中,参见图4,控制器上电启动后,引导管理程序检查重编程请求标志是否置为1。如果所述重编程请求标志为0,则引导管理程序跳转至应用程序,控制器进入正常运行状态。如果所述重编程请求标志为1,则引导管理程序跳转至引导程序进入编程模式;上位机将新版本的应用程序、应用程序签名信息以及应用程序证书通过UDS协议刷写至控制器的Flash区域。然后引导程序验证应用程序的签名是否有效;如果应用程序签名无效,则将重编程请求标志置为1,控制器重置并跳转至引导管理程序;如应用程序签名有效,则使用上位机将新版本的应用程序、应用程序签名信息、应用程序证书通过网络协议(例如,UDS协议)刷写至控制器的Flash区域。
作为一种可选的但非限定性的实现方式,所述依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的标定数据进行安全更新,包括但不限于步骤F1-F3:
步骤F1:在确定应用程序签名信息验证有效后,确定标定数据签名信息是否有效。
步骤F2:若所述标定数据签名信息无效,将所述重编辑请求标志位置1并对所述标定数据进行安全更新。
步骤F3:确定更新后的标定数据签名信息是否有效,若标定数据签名信息验证有效则目标车辆控制器的标定数据完成安全更新。
其中,在确定应用程序签名信息验证有效后,引导程序验证标定数据的签名是否有效。如果标定数据签名无效,则将重编程请求标志置为1,控制器重置并跳转至引导管理程序,对标定数据进行更新。如果标定数据签名有效,则将重编程请求标志置为0,控制器重置并跳转至引导管理程序,引导管理程序引导跳转至应用程序,控制器进入正常运行状态。
本发明实施例中采用引导程序在对应用程序以及标定数据进行重编辑后,分别进行签名验证,以保证应用程序和标定数据的完整性以及可用性。
本发明实施例提供了一种车辆控制器程序安全更新方法,通过确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。采用本发明实施例的技术方案,克服了现有的车辆控制器只提供一级引导程序对应用程序和标定数据进行更新且只能进行简单的校验,无法满足引导程序的更新需求以及信息安全的问题;采用本技术实现了对应用程序和标定数据的安全更新、车辆控制器安全启动以及引导程序更新,提升了车辆控制器程序更新的安全性、车辆控制器启动的安全性以及对车辆控制器引导程序更新的便捷性。
图5是本发明实施例中提供的一种车辆控制器程序安全更新装置的结构示意图,本实施例的技术方案可适用于对车辆控制器程序进行安全更新的情况,该装置可由软件和/或硬件实现,并一般集成在任何具有网络通信功能的电子设备上,该电子设备包括但不限于:服务器、电脑、个人数字助理等设备。如图5所示,本实施例中提供的车辆控制器程序安全更新装置,可包括:安全启动开启及数据校验模块510、引导程序更新模块520以及控制器安全更新模块530;其中,
安全启动开启及数据校验模块510,用于确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;
引导程序更新模块520,用于依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;
控制器安全更新模块530,用于依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。
在上述实施例的基础上,可选的,所述安全启动开启及数据校验模块,包括:
获取目标车辆控制器引导管理程序的第一预设消息认证码,以及通过第一密钥确定的第一目标消息认证码;其中,第一密钥用于表征引导管理程序的消息认证密钥;
将所述第一预设消息认证码与第一目标消息认证码进行比对,确定引导管理程序的消息认证码校验结果;
若第一预设消息认证码与第一目标消息认证码比对结果一致,则确定所述目标车辆控制器的安全启动功能开启;
若第一预设消息认证码与第一目标消息认证码比对结果一致,则确定所述目标车辆控制器的安全启动功能未开启。
在上述实施例的基础上,可选的,所述安全启动开启及数据校验模块,还包括:
获取目标车辆控制器应用程序的第二预设消息认证码,以及通过第二密钥确定的第二目标消息认证码;其中,第二密钥用于表征应用程序的消息认证码密钥;
将所述第二预设消息认证码与第二目标消息认证码进行比对,确定应用程序的数据校验结果。
在上述实施例的基础上,可选的,所述安全启动开启及数据校验模块,还包括:
获取目标车辆控制器标定数据的第三预设消息认证码,以及通过第三密钥确定的第三目标消息认证码;其中,第三密钥用于表征标定数据的消息认证码密钥;
将所述第三预设消息认证码与第三目标消息认证码进行比对,确定标定数据的数据校验结果。
在上述实施例的基础上,可选的,所述引导程序更新模块,包括:
若所述目标车辆控制器的安全启动功能未开启,则确定引导程序无效;
对无效的引导程序进行更新,并将与引导程序对应的引导更新程序刷写至预设存储区域。
在上述实施例的基础上,可选的,所述控制器安全更新模块,包括:
若应用程序的第二预设消息认证码与第二目标消息认证码的校验结果不一致,则确定重编辑请求标志位状态为1;其中,重编辑请求标志位状态包括1和0,1表征需要重编辑,0表征不需要重编辑;
对所述应用程序进行安全更新,并将更新后的应用程序、应用程序签名信息以及应用程序证书通过网络协议刷写至预设存储器;
确定所述应用程序签名信息是否有效,若应用程序签名信息验证有效则目标车辆控制器的应用程序完成安全更新。
在上述实施例的基础上,可选的,所述控制器安全更新模块,还包括:
在确定应用程序签名信息验证有效后,确定标定数据签名信息是否有效;
若所述标定数据签名信息无效,将所述重编辑请求标志位置1并对所述标定数据进行安全更新;
确定更新后的标定数据签名信息是否有效,若标定数据签名信息验证有效则目标车辆控制器的标定数据完成安全更新。
本发明实施例中所提供的车辆控制器程序安全更新装置可执行上述本发明任意实施例中所提供的车辆控制器程序安全更新方法,具备执行该车辆控制器程序安全更新方法相应的功能和有益效果,详细过程参见前述实施例中车辆控制器程序安全更新方法的相关操作。
图6是本发明实施例中提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如车辆控制器程序安全更新方法。
在一些实施例中,车辆控制器程序安全更新方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的车辆控制器程序安全更新方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车辆控制器程序安全更新方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种车辆控制器程序安全更新方法,其特征在于,所述方法包括:
确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;
依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;
依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。
2.根据权利要求1所述的方法,其特征在于,所述确定目标车辆控制器的安全启动功能是否开启,包括:
获取目标车辆控制器引导管理程序的第一预设消息认证码,以及通过第一密钥确定的第一目标消息认证码;其中,第一密钥用于表征引导管理程序的消息认证密钥;
将所述第一预设消息认证码与第一目标消息认证码进行比对,确定引导管理程序的消息认证码校验结果;
若第一预设消息认证码与第一目标消息认证码比对结果一致,则确定所述目标车辆控制器的安全启动功能开启;
若第一预设消息认证码与第一目标消息认证码比对结果一致,则确定所述目标车辆控制器的安全启动功能未开启。
3.根据权利要求1所述的方法,其特征在于,所述对目标车辆控制器的应用程序进行校验,确定数据校验结果,包括:
获取目标车辆控制器应用程序的第二预设消息认证码,以及通过第二密钥确定的第二目标消息认证码;其中,第二密钥用于表征应用程序的消息认证码密钥;
将所述第二预设消息认证码与第二目标消息认证码进行比对,确定应用程序的数据校验结果。
4.根据权利要求1所述的方法,其特征在于,所述对目标车辆控制器的标定数据进行校验,确定数据校验结果,还包括:
获取目标车辆控制器标定数据的第三预设消息认证码,以及通过第三密钥确定的第三目标消息认证码;其中,第三密钥用于表征标定数据的消息认证码密钥;
将所述第三预设消息认证码与第三目标消息认证码进行比对,确定标定数据的数据校验结果。
5.根据权利要求1所述的方法,其特征在于,所述依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新,包括:
若所述目标车辆控制器的安全启动功能未开启,则确定引导程序无效;
对无效的引导程序进行更新,并将与引导程序对应的引导更新程序刷写至预设存储区域。
6.根据权利要求3所述的方法,其特征在于,所述依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序进行安全更新,包括:
若应用程序的第二预设消息认证码与第二目标消息认证码的校验结果不一致,则确定重编辑请求标志位状态为1;其中,重编辑请求标志位状态包括1和0,1表征需要重编辑,0表征不需要重编辑;
对所述应用程序进行安全更新,并将更新后的应用程序、应用程序签名信息以及应用程序证书通过网络协议刷写至预设存储器;
确定所述应用程序签名信息是否有效,若应用程序签名信息验证有效则目标车辆控制器的应用程序完成安全更新。
7.根据权利要求4所述的方法,其特征在于,所述依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的标定数据进行安全更新,包括:
在确定应用程序签名信息验证有效后,确定标定数据签名信息是否有效;
若所述标定数据签名信息无效,将所述重编辑请求标志位置1并对所述标定数据进行安全更新;
确定更新后的标定数据签名信息是否有效,若标定数据签名信息验证有效则目标车辆控制器的标定数据完成安全更新。
8.一种车辆控制器程序安全更新装置,其特征在于,所述装置包括:
安全启动开启及数据校验模块,用于确定目标车辆控制器的安全启动功能是否开启,并对目标车辆控制器的应用程序以及标定数据进行校验,确定数据校验结果;
引导程序更新模块,用于依据目标车辆控制器的安全启动功能开启结果确定引导程序是否有效,并对无效的引导程序进行更新;
控制器安全更新模块,用于依据所述数据校验结果确定重编辑请求标志位状态,并依据所述重编辑请求标志位状态对目标车辆控制器的应用程序以及标定数据进行安全更新。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-7中任一所述的车辆控制器程序安全更新方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的车辆控制器程序安全更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310770555.3A CN116860290A (zh) | 2023-06-27 | 2023-06-27 | 一种车辆控制器程序安全更新方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310770555.3A CN116860290A (zh) | 2023-06-27 | 2023-06-27 | 一种车辆控制器程序安全更新方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860290A true CN116860290A (zh) | 2023-10-10 |
Family
ID=88218280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310770555.3A Pending CN116860290A (zh) | 2023-06-27 | 2023-06-27 | 一种车辆控制器程序安全更新方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860290A (zh) |
-
2023
- 2023-06-27 CN CN202310770555.3A patent/CN116860290A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754955B2 (en) | Authenticating a boot path update | |
US8863109B2 (en) | Updating secure pre-boot firmware in a computing system in real-time | |
KR20190111037A (ko) | 컨소시엄 블록체인에 의한 스마트 계약 업그레이드 방법 및 시스템 | |
US9710652B1 (en) | Verifying boot process of electronic device | |
CN106874771A (zh) | 一种构建可信硬件信任链的方法以及装置 | |
CN113127011A (zh) | 电子设备及电子设备的操作方法 | |
CN111625295A (zh) | 一种嵌入式系统启动方法、装置、设备及存储介质 | |
CN113467813A (zh) | 一种控制器在线升级方法、装置、电子设备及存储介质 | |
CN111284450B (zh) | 用于增强车辆控制器的安全性的方法和设备 | |
CN112148314A (zh) | 一种嵌入式系统的镜像验证方法、装置、设备及存储介质 | |
CN106919845B (zh) | 系统安全信任链构建装置和构建方法 | |
CN113946854B (zh) | 一种文件访问控制方法、装置及计算机可读存储介质 | |
CN109375953B (zh) | 一种操作系统启动方法及装置 | |
US11137995B2 (en) | Updating firmware of a microcontroller | |
CN116860290A (zh) | 一种车辆控制器程序安全更新方法、装置、设备及介质 | |
CN113626792B (zh) | PCIe Switch固件安全执行方法、装置、终端及存储介质 | |
CN111090443A (zh) | 一种保障linux系统安全升级的方法、设备和存储介质 | |
JP6910377B2 (ja) | アイデンティティ検証方法及び装置 | |
EP3895053B1 (en) | Field replaceable touch display module | |
CN111353150B (zh) | 一种可信启动方法、装置、电子设备及可读存储介质 | |
CN113051576A (zh) | 控制方法和电子设备 | |
KR20170106029A (ko) | 전자 장치 및 그의 제어 방법 | |
CN113609529B (zh) | 一种计算机固件安全供应的方法、系统 | |
CN115130114B (zh) | 一种网关安全启动方法、装置、电子设备及存储介质 | |
US11132206B2 (en) | Systems and methods for modifying boot operation of an information handling system |
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 |