CN109460249A - 一种控制模块刷新方法 - Google Patents
一种控制模块刷新方法 Download PDFInfo
- Publication number
- CN109460249A CN109460249A CN201811320943.7A CN201811320943A CN109460249A CN 109460249 A CN109460249 A CN 109460249A CN 201811320943 A CN201811320943 A CN 201811320943A CN 109460249 A CN109460249 A CN 109460249A
- Authority
- CN
- China
- Prior art keywords
- downloaded
- control module
- address
- data
- file
- 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
Classifications
-
- 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种控制模块刷新方法,首先获取待下载文件,所述待下载文件包含待下载数据和待下载地址;然后对待下载文件添加数据校验区,并根据待下载数据和待下载地址确定待刷新数据和待刷新地址;提取数据校验区的签名校验项和适用控制单元校验项进行校验,当签名校验项和适用控制模块校验项均校验通过后,提取数据校验区中的原始摘要信息,将原始摘要信息保存至缓冲区;接着将待刷新数据下载至待刷新地址;最后提取待下载文件的摘要校验项进行校验,当所述摘要校验项校验通过,则置位下载文件有效标志。本发明能够防止不合法及不适用文件下载至控制模块,且能够下载完成后实现对控制模块内文件的完整性进行校验,防止下载过程中出错。
Description
技术领域
本发明涉及汽车控制模块领域,尤其涉及一种控制模块刷新方法。
背景技术
在当今汽车技术领域中,为了消除现有控制器中漏洞或更新功能的需求,通常需对车辆的控制模块进行软件刷新。
目前普遍对车辆的控制模块软件刷新方案是:在控制模块的闪存中分配一段空间,该空间刷新时不会被擦除,将引导加载程序通过烧写器烧入该段空间,在执行刷新时,引导加载程序引导上位机控制刷写流程,通过引导加载程序将待下载文件下载至控制模块中,其中待下载文件可以包含应用程序和标定文件,待下载文件也可以只包含应用程序。
在现有的方案中,存在如下问题:下载前不会校验待下载文件的合法性;下载前不会校验待下载文件是否适用于当前控制模块;下载完成后不会校验控制模块内文件的完整性;每次下载都会擦写全部地址空间。
发明内容
本发明的目的在于提供一种控制模块刷新方法,能够防止不合法及不适用文件下载至控制模块,且能够下载完成后实现对控制模块内文件的完整性进行校验,防止下载过程中出错。
为实现上述目的,本发明采用如下技术方案:
一种控制模块刷新方法,依次包括以下步骤:
(1)获取待下载文件,所述待下载文件包含待下载数据和待下载地址;
(2)为待下载文件添加数据校验区,所述数据校验区包括:签名校验项、适用控制单元校验项以及摘要校验项;
(3)根据待下载数据和待下载地址确定待刷新数据和待刷新地址;提取数据校验区的签名校验项和适用控制单元校验项进行校验,当签名校验项和适用控制模块校验项均校验通过后,提取数据校验区中的原始摘要信息,将原始摘要信息保存至缓冲区;
(4)将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件;
(5)提取待下载文件的摘要校验项进行校验,当所述摘要校验项校验通过,则置位下载文件有效标志,并结束编程。
优选的,所述步骤(3)中,根据待下载数据和待下载地址确定待刷新数据和待刷新地址时,需要判断是否对当前控制模块的控制模块文件进行回读,若否,则置位完全编程标志,并确定所述待下载地址为待刷新地址,所述待下载数据为待刷新数据;若是,则读取控制模块文件,并判断所述控制模块文件的数据与待下载数据是否一致;当所述控制模块文件的数据与待下载数据不一致时,则记录不一致的待下载数据对应的地址作为待刷新地址,标记不一致的待下载数据作为待刷新数据,并置位快速编程标志。
优选的,所述步骤(3)中,提取数据校验区的签名校验项和适用控制单元校验项进行校验的过程具体包括:提取签名校验项的签名信息,并根据RSA算法校验签名信息是否有效,当签名信息有效时,则签名校验项校验通过,此时提取适用控制模块校验项的适用控制模块信息,并校验当前控制模块的控制模块信息与适用控制模块信息是否匹配,当适用控制模块信息与当前控制模块的控制模块信息匹配时,则适用控制模块校验项校验通过,提取数据校验区中的原始摘要信息,并将原始摘要信息保存至所述缓冲区。
优选的,所述步骤(4)中,将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件之前,还包括:检测快速编程标志是否置位,若所述快速编程标志置位,则确定不一致的待下载数据对应的地址为待刷新地址,并验证待刷新地址是否符合有效地址范围;若快速编程标志不置位,则检测完全编程标志是否置位;若完全编程标志置位,则确定待下载地址为待刷新地址,并验证所述待刷新地址是否符合有效地址范围;若所述待刷新地址符合有效地址范围,则将待刷新地址范围进行闪存空间擦除。
优选的,所述步骤(4)中,将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件之后,还包括:判断所述待刷新数据是否下载完成,若是,则提取待下载文件的摘要校验项进行校验,若否,则继续等待编程开始。
优选的,所述步骤(5)包括:根据刷新后的控制模块文件计算当前摘要信息;提取缓冲区中的原始摘要信息,将原始摘要信息与当前摘要信息进行比对,当原始摘要信息和当前摘要信息一致时,摘要校验项校验通过,则置位下载文件有效标志,并结束编程。
本发明通过在下载前对待下载文件进行合法性及实用性校验,防止不合法及不适用文件下载至控制模块中,在每次下载时对需要擦写的地址空间进行判断,且在下载完成后对控制模块内文件的完整性进行校验,从而防止下载过程中出错。
具体实施方式
以下对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其他所有实施例,都属于本发明的保护范围。
本发明所述的一种控制模块刷新方法依次包括以下步骤:
(1)获取待下载文件,所述待下载文件包含待下载数据和待下载地址。
(2)为待下载文件添加数据校验区,所述数据校验区包括:签名校验项、适用控制单元校验项以及摘要校验项。
(3)根据待下载数据和待下载地址确定待刷新数据和待刷新地址。
具体包括:判断是否对当前控制模块的控制模块文件进行回读,若否,则置位完全编程标志,并确定所述待下载地址为待刷新地址,所述待下载数据为待刷新数据;若是,则读取控制模块文件,并判断所述控制模块文件的数据与待下载数据是否一致;当所述控制模块文件的数据与待下载数据不一致时,则记录不一致的待下载数据对应的地址作为待刷新地址,标记不一致的待下载数据作为待刷新数据,并置位快速编程标志。
(4)提取数据校验区的签名校验项和适用控制单元校验项进行校验,当签名校验项和适用控制模块校验项均校验通过后,提取数据校验区中的原始摘要信息,将原始摘要信息保存至缓冲区。
具体包括:提取签名校验项的签名信息,并根据RSA算法校验签名信息是否有效,当签名信息有效时,则签名校验项校验通过,此时提取适用控制模块校验项的适用控制模块信息,并校验当前控制模块的控制模块信息与适用控制模块信息是否匹配,当适用控制模块信息与当前控制模块的控制模块信息匹配时,则适用控制模块校验项校验通过,提取数据校验区中的原始摘要信息,并将原始摘要信息保存至所述缓冲区。
(5)将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件。
①检测快速编程标志是否置位,若所述快速编程标志置位,则确定不一致的待下载数据对应的地址为待刷新地址,并验证待刷新地址是否符合有效地址范围;若快速编程标志不置位,则检测完全编程标志是否置位;若完全编程标志置位,则确定待下载地址为待刷新地址,并验证所述待刷新地址是否符合有效地址范围;若所述待刷新地址符合有效地址范围,则将待刷新地址范围进行闪存空间擦除。
②将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件。
③判断所述待刷新数据是否下载完成,若是,则提取待下载文件的摘要校验项进行校验,若否,则继续等待编程开始。
(6)提取待下载文件的摘要校验项进行校验,当所述摘要校验项校验通过,则置位下载文件有效标志,并结束编程。
具体包括:根据刷新后的控制模块文件计算当前摘要信息;提取缓冲区中的原始摘要信息,将原始摘要信息与当前摘要信息进行比对,当原始摘要信息和当前摘要信息一致时,摘要校验项校验通过,则置位下载文件有效标志,并结束编程。
本发明在下载前对待下载文件进行合法性及实用性校验,防止不合法及不适用文件下载至控制模块中,在每次下载时对需要擦写的地址空间进行判断,且在下载完成后对控制模块内文件的完整性进行校验,从而防止下载过程中出错。
本发明能够防止不合法及不适用文件下载至控制模块,且能够下载完成后实现对控制模块内文件的完整性进行校验,防止下载过程中出错。
Claims (6)
1.一种控制模块刷新方法,其特征在于,依次包括以下步骤:
(1)获取待下载文件,所述待下载文件包含待下载数据和待下载地址;
(2)为待下载文件添加数据校验区,所述数据校验区包括:签名校验项、适用控制单元校验项以及摘要校验项;
(3)根据待下载数据和待下载地址确定待刷新数据和待刷新地址;提取数据校验区的签名校验项和适用控制单元校验项进行校验,当签名校验项和适用控制模块校验项均校验通过后,提取数据校验区中的原始摘要信息,将原始摘要信息保存至缓冲区;
(4)将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件;
(5)提取待下载文件的摘要校验项进行校验,当所述摘要校验项校验通过,则置位下载文件有效标志,并结束编程。
2.如权利要求1所述的一种控制模块刷新方法,其特征在于:所述步骤(3)中,根据待下载数据和待下载地址确定待刷新数据和待刷新地址时,需要判断是否对当前控制模块的控制模块文件进行回读,若否,则置位完全编程标志,并确定所述待下载地址为待刷新地址,所述待下载数据为待刷新数据;若是,则读取控制模块文件,并判断所述控制模块文件的数据与待下载数据是否一致;当所述控制模块文件的数据与待下载数据不一致时,则记录不一致的待下载数据对应的地址作为待刷新地址,标记不一致的待下载数据作为待刷新数据,并置位快速编程标志。
3.如权利要求2所述的一种控制模块刷新方法,其特征在于:所述步骤(3)中,提取数据校验区的签名校验项和适用控制单元校验项进行校验的过程具体包括:提取签名校验项的签名信息,并根据RSA算法校验签名信息是否有效,当签名信息有效时,则签名校验项校验通过,此时提取适用控制模块校验项的适用控制模块信息,并校验当前控制模块的控制模块信息与适用控制模块信息是否匹配,当适用控制模块信息与当前控制模块的控制模块信息匹配时,则适用控制模块校验项校验通过,提取数据校验区中的原始摘要信息,并将原始摘要信息保存至所述缓冲区。
4.如权利要求1至3任一项所述的一种控制模块刷新方法,其特征在于:所述步骤(4)中,将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件之前,还包括:检测快速编程标志是否置位,若所述快速编程标志置位,则确定不一致的待下载数据对应的地址为待刷新地址,并验证待刷新地址是否符合有效地址范围;若快速编程标志不置位,则检测完全编程标志是否置位;若完全编程标志置位,则确定待下载地址为待刷新地址,并验证所述待刷新地址是否符合有效地址范围;若所述待刷新地址符合有效地址范围,则将待刷新地址范围进行闪存空间擦除。
5.如权利要求4所述的一种控制模块刷新方法,其特征在于:所述步骤(4)中,将待刷新数据下载至待刷新地址,得到刷新后的控制模块文件之后,还包括:判断所述待刷新数据是否下载完成,若是,则提取待下载文件的摘要校验项进行校验,若否,则继续等待编程开始。
6.如权利要求5所述的一种控制模块刷新方法,其特征在于:所述步骤(5)包括:根据刷新后的控制模块文件计算当前摘要信息;提取缓冲区中的原始摘要信息,将原始摘要信息与当前摘要信息进行比对,当原始摘要信息和当前摘要信息一致时,摘要校验项校验通过,则置位下载文件有效标志,并结束编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811320943.7A CN109460249A (zh) | 2018-11-07 | 2018-11-07 | 一种控制模块刷新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811320943.7A CN109460249A (zh) | 2018-11-07 | 2018-11-07 | 一种控制模块刷新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109460249A true CN109460249A (zh) | 2019-03-12 |
Family
ID=65609695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811320943.7A Pending CN109460249A (zh) | 2018-11-07 | 2018-11-07 | 一种控制模块刷新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460249A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169320A (zh) * | 2017-04-20 | 2017-09-15 | 北京小米移动软件有限公司 | 校验方法及装置 |
US20180060607A1 (en) * | 2016-08-30 | 2018-03-01 | Winbond Electronics Corporation | Anti-Rollback Version Upgrade in Secured Memory Chip |
CN107861746A (zh) * | 2017-12-06 | 2018-03-30 | 北京经纬恒润科技有限公司 | 一种车辆电子控制单元的刷新方法及系统 |
-
2018
- 2018-11-07 CN CN201811320943.7A patent/CN109460249A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060607A1 (en) * | 2016-08-30 | 2018-03-01 | Winbond Electronics Corporation | Anti-Rollback Version Upgrade in Secured Memory Chip |
CN107169320A (zh) * | 2017-04-20 | 2017-09-15 | 北京小米移动软件有限公司 | 校验方法及装置 |
CN107861746A (zh) * | 2017-12-06 | 2018-03-30 | 北京经纬恒润科技有限公司 | 一种车辆电子控制单元的刷新方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090320012A1 (en) | Secure booting for updating firmware over the air | |
US8930710B2 (en) | Using a manifest to record presence of valid software and calibration | |
US9442833B1 (en) | Managing device identity | |
RU2005110042A (ru) | Эффективное исправление программ | |
CN105989306A (zh) | 操作系统的文件签名方法、文件校验方法及装置 | |
CN104978534A (zh) | 用于防止篡改车辆里程的方法和系统 | |
US20140181526A1 (en) | Methods and systems for bypassing authenticity checks for secure control modules | |
CN104881610B (zh) | 一种针对虚函数表劫持攻击的防御方法 | |
TWI486957B (zh) | Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統 | |
CN107609416A (zh) | 用户数据的安全加密方法、系统、计算机装置及计算机可读存储介质 | |
CN106293782A (zh) | 一种系统升级方法及终端 | |
CN105653980B (zh) | 一种虚拟内存数据的保护方法及其系统 | |
CN107861746A (zh) | 一种车辆电子控制单元的刷新方法及系统 | |
CN106529301A (zh) | 车机系统的控制方法、装置以及车机系统 | |
CN106874758B (zh) | 一种识别文档代码的方法和装置 | |
CN106919859A (zh) | 基本输入输出系统保护方法和装置 | |
CN109992966A (zh) | 存储器子系统、安全客户端装置及其认证方法 | |
CN108171041A (zh) | 用于对访问存储器的应用程序进行身份验证的方法和装置 | |
CN109460249A (zh) | 一种控制模块刷新方法 | |
CN108255644A (zh) | 文件系统恢复方法及装置 | |
CN114764347B (zh) | 一种多核控制器的程序校验系统、校验方法及存储介质 | |
US11210413B2 (en) | Authentication of files | |
CN103020514B (zh) | 一种刷写控制器的方法及系统 | |
CN105808979A (zh) | 一种改进的Android软件安装包的签名和验签方法 | |
CN103105783B (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: 20190312 |