CN111427611A - 一种利用指纹码实现的嵌入式软件版本状态管控方法 - Google Patents

一种利用指纹码实现的嵌入式软件版本状态管控方法 Download PDF

Info

Publication number
CN111427611A
CN111427611A CN202010255558.XA CN202010255558A CN111427611A CN 111427611 A CN111427611 A CN 111427611A CN 202010255558 A CN202010255558 A CN 202010255558A CN 111427611 A CN111427611 A CN 111427611A
Authority
CN
China
Prior art keywords
embedded software
version
fingerprint
test equipment
fingerprint 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
Application number
CN202010255558.XA
Other languages
English (en)
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.)
Sichuan Aerospace System Engineering Research Institute
Original Assignee
Sichuan Aerospace System Engineering Research Institute
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 Sichuan Aerospace System Engineering Research Institute filed Critical Sichuan Aerospace System Engineering Research Institute
Priority to CN202010255558.XA priority Critical patent/CN111427611A/zh
Publication of CN111427611A publication Critical patent/CN111427611A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

本发明公开了一种利用指纹码实现的嵌入式软件版本状态管控方法,包括:将嵌入式软件的代码烧写在单机设备的硬件存储区域内,系统加电后,嵌入式软件被引导至SRAM运行;测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,作为指纹码发送给测试设备;测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据。本发明中的指纹码通过对嵌入式软件可执行文件的全部内容进行扫描自动生成一个128位散列值,来唯一标识该版本。而该版本做任何修改,即使不改动版本号,再次生成的128位数值也是不同的,实现版本的精确控制。

Description

一种利用指纹码实现的嵌入式软件版本状态管控方法
技术领域
本发明涉及嵌入式软件版本状态管控技术领域,具体的说,是一种利用指纹码实现的嵌入式软件版本状态管控方法。
背景技术
在工程研制过程中,总体单位通常将各单机产品分配给不同厂家进行设计生产。各单机产品上的嵌入式软件版本通常由单机生产厂家自行管控,验收交付时以技术文档的形式提交给总体单位。对于一些关键性等级较高的软件,总体单位希望在单机产品每次通电后的自检过程中再次确认软件技术状态,单机产品研制生产厂家也希望在研制生产过程中能够实时跟踪软件的技术状态变化。而现有技术中,即使烧写在硬件上的嵌入式软件内容发生变化,只要软件版本号未改动或未及时升级,那么检测出的仍然是原来的版本号,即无法记录此次版本更新,导致无法准确地管控嵌入式软件版本状态。
发明内容
本发明的目的在于提供一种利用指纹码实现的嵌入式软件版本状态管控方法,用于解决现有技术中由于嵌入式软件版本号未改动,检测出的仍然是原来的版本号,无法精确掌控软件版本状态的问题。
本发明通过下述技术方案解决上述问题:
一种利用指纹码实现的嵌入式软件版本状态管控方法,包括:
步骤S1:将嵌入式软件的代码烧写在单机设备的硬件存储区域内,系统加电后,嵌入式软件被引导至SRAM运行;
步骤S2:测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;
步骤S3:嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码发送给测试设备;
步骤S4:测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据。
进一步地,所述步骤S3中读取烧写文件时,每次读取512位数据作为MD5算法的一个分组进行计算,该分组计算完毕后,继续读取下一个分组进行计算,直到读完整个烧写文件。
进一步地,所述步骤S3也可以是:嵌入式软件接收到指令后,向测试设备发送硬件存储区域的烧写文件,测试设备接收到烧写文件后,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码。
本发明与现有技术相比,具有以下优点及有益效果:
本发明中的指纹码通过对嵌入式软件可执行文件的全部内容进行扫描自动生成一个128位散列值,来唯一标识该版本。而该版本做任何修改,即使不改动版本号,再次生成的128位数值也是不同的,实现了对版本进行精确控制;克服了现有技术中由于软件版本号是人为定义,可能存在修改了软件技术状态但忘记升级版本号的情况,导致同一个版本号的软件并不唯一的问题。
附图说明
图1为本发明的原理框图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图1所示,一种利用指纹码实现的嵌入式软件版本状态管控方法,包括:
步骤S1:将嵌入式软件的代码烧写在单机设备SOC的硬件存储区域即嵌入式软件烧写区域(如FLASH),系统加电后,嵌入式软件被引导至嵌入式软件运行区域(如SRAM)运行;
步骤S2:测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;
步骤S3:嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码发送给测试设备;
步骤S4:测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据,可实现对当前烧写在单机产品上的嵌入式软件的技术状态实时检测和确认。
进一步地,所述步骤S3中读取烧写文件时,每次读取512位数据作为MD5算法的一个分组进行计算,该分组计算完毕后,继续读取下一个分组进行计算,直到读完整个烧写文件。
进一步地,所述步骤S3也可以是:嵌入式软件接收到指令后,向测试设备发送硬件存储区域的烧写文件,测试设备接收到烧写文件后,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

Claims (3)

1.一种利用指纹码实现的嵌入式软件版本状态管控方法,其特征在于,包括:
步骤S1:将嵌入式软件的代码烧写在单机设备的硬件存储区域内,系统加电后,嵌入式软件被引导至SRAM运行;
步骤S2:测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;
步骤S3:嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码发送给测试设备;
步骤S4:测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据。
2.根据权利要求1所述的一种利用指纹码实现的嵌入式软件版本状态管控方法,其特征在于,所述步骤S3中读取烧写文件时,每次读取512位数据作为MD5算法的一个分组进行计算,该分组计算完毕后,继续读取下一个分组进行计算,直到读完整个烧写文件。
3.根据权利要求1所述的一种利用指纹码实现的嵌入式软件版本状态管控方法,其特征在于,所述步骤S3替换为:嵌入式软件接收到指令后,向测试设备发送硬件存储区域的烧写文件,测试设备接收到烧写文件后,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码。
CN202010255558.XA 2020-04-02 2020-04-02 一种利用指纹码实现的嵌入式软件版本状态管控方法 Pending CN111427611A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010255558.XA CN111427611A (zh) 2020-04-02 2020-04-02 一种利用指纹码实现的嵌入式软件版本状态管控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010255558.XA CN111427611A (zh) 2020-04-02 2020-04-02 一种利用指纹码实现的嵌入式软件版本状态管控方法

Publications (1)

Publication Number Publication Date
CN111427611A true CN111427611A (zh) 2020-07-17

Family

ID=71555623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010255558.XA Pending CN111427611A (zh) 2020-04-02 2020-04-02 一种利用指纹码实现的嵌入式软件版本状态管控方法

Country Status (1)

Country Link
CN (1) CN111427611A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905227A (zh) * 2021-02-09 2021-06-04 中国工商银行股份有限公司 开源软件版本登记方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173923A1 (en) * 2011-12-30 2013-07-04 Peking University Method and system for digital content security cooperation
CN105763369A (zh) * 2016-02-04 2016-07-13 湖南长城信息金融设备有限责任公司 一种终端设备远程软件版本分发方法及系统
CN106293831A (zh) * 2016-08-09 2017-01-04 南京南瑞继保电气有限公司 一种嵌入式软件安装与维护的方法和系统
CN107992325A (zh) * 2017-11-09 2018-05-04 北京航空航天大学 一种通过特征码检验比对文件信息的方法
CN109101427A (zh) * 2018-08-17 2018-12-28 四川航天系统工程研究所 一种嵌入式软件的源代码级错误检测方法
CN109992280A (zh) * 2017-12-29 2019-07-09 深圳市优必选科技有限公司 一种嵌入式软件升级的方法、终端装置及存储装置
CN110806891A (zh) * 2019-09-27 2020-02-18 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 嵌入式设备软件版本的生成方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173923A1 (en) * 2011-12-30 2013-07-04 Peking University Method and system for digital content security cooperation
CN105763369A (zh) * 2016-02-04 2016-07-13 湖南长城信息金融设备有限责任公司 一种终端设备远程软件版本分发方法及系统
CN106293831A (zh) * 2016-08-09 2017-01-04 南京南瑞继保电气有限公司 一种嵌入式软件安装与维护的方法和系统
CN107992325A (zh) * 2017-11-09 2018-05-04 北京航空航天大学 一种通过特征码检验比对文件信息的方法
CN109992280A (zh) * 2017-12-29 2019-07-09 深圳市优必选科技有限公司 一种嵌入式软件升级的方法、终端装置及存储装置
CN109101427A (zh) * 2018-08-17 2018-12-28 四川航天系统工程研究所 一种嵌入式软件的源代码级错误检测方法
CN110806891A (zh) * 2019-09-27 2020-02-18 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 嵌入式设备软件版本的生成方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905227A (zh) * 2021-02-09 2021-06-04 中国工商银行股份有限公司 开源软件版本登记方法及装置

Similar Documents

Publication Publication Date Title
CN102713774B (zh) 可编程控制器系统及开发系统
JP5583305B2 (ja) プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム
US20030051235A1 (en) Method and apparatus for verifying and analyzing computer software installation
US8078294B2 (en) Conditional download of data from embedded historians
US6701284B1 (en) Methods and apparatus for maintaining a programmable logic control revision history
CN107357614B (zh) 参数更新方法及参数更新装置、种植箱和存储介质
CN103221891A (zh) 用于分布式控制系统的智能接口
CN111427611A (zh) 一种利用指纹码实现的嵌入式软件版本状态管控方法
CN104599433A (zh) 一种指标数据的监测方法、装置及服务器
CN116011026B (zh) 数据库组态安全快速验证方法、系统、设备及存储介质
CN111275289A (zh) 主调度系统与备调度系统一致性校验方法、装置
CN116991622A (zh) 一种可信dcs控制器系统无法启动时的恢复方法及系统
CN109558163B (zh) 一种基于控制器中运行文件的版本生成和管理方法
CN116303348A (zh) 一种基于canal在线迁移DRDS分库分表的方法及系统
CN111026569A (zh) 一种在联盟链中修复指定区块数据的方法
CN116431186A (zh) 一种车载ecu的升级方法、装置及介质
CN116126379A (zh) 一种bios固件升级方法、装置、设备及存储介质
CN113986939A (zh) 数据库的数据变更方法及装置
CN113159674B (zh) 物料信息的创建方法、物料管理装置和存储介质
CN113420091A (zh) 基于区块链的用户行为采集方法及装置
CN111652377A (zh) 一种基于区块链的机器人学习方法、设备及介质
JP2015022511A (ja) プログラマブルコントローラシステム、その支援装置、プログラム
CN110637263B (zh) 监视辅助装置、监视辅助方法及记录介质
CN107797915B (zh) 故障的修复方法、装置及系统
JP7069431B1 (ja) データ配信プログラム、サーバ装置、端末装置、データ配信方法およびデータ配信システム

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: 20200717