CN113721952A - 一种应用于采集终端的嵌入式软件升级方法 - Google Patents
一种应用于采集终端的嵌入式软件升级方法 Download PDFInfo
- Publication number
- CN113721952A CN113721952A CN202110908273.6A CN202110908273A CN113721952A CN 113721952 A CN113721952 A CN 113721952A CN 202110908273 A CN202110908273 A CN 202110908273A CN 113721952 A CN113721952 A CN 113721952A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrade package
- file
- package
- files
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 12
- 238000004806 packaging method and process Methods 0.000 claims abstract description 11
- 230000006835 compression Effects 0.000 claims abstract description 7
- 238000007906 compression Methods 0.000 claims abstract description 6
- 238000012795 verification Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006837 decompression 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
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本发明公开了一种应用于采集终端的嵌入式软件升级方法,整体流程如图1所示。其中,升级包的实际内容为一系列文件及其校验值。首先根据实际需要,放置升级包的内容至升级包文件夹,然后生成校验,最后将升级包文件夹内容打包,并进行压缩。对升级包的加密流程:首先根据根据设备类型、hostname等参数生成升级包的文件头信息,并添加水印,然后将原始文件分段使用加密算法进行加密处理,并写入最终升级包中。嵌入式设备对升级包进行解密并执行升级,首先检查升级文件文件头信息,然后进行整体完整性校验,并将原始文件压缩包按照指定格式解压,之后对各文件进行完整性校验,并且执行解压后文件中的升级脚本,最后判断升级脚本的执行结果,并处理。
Description
技术领域
本发明涉及嵌入式软件领域,特别是电力行业采集终端和嵌入式Linux领域。
背景技术
随着计算机技术和嵌入式软件技术的飞速发展,升级成为其重要的一环,其中因为嵌入式设备众多,嵌入式软件的升级成为了升级技术的重中之重。Linux是嵌入式软件的常用操作系统,其因为开源、性能优异、移植容易等在工业制造、电力等行业被广泛使用。但是在其上的软件升级往往无法保证安全和可靠,导致在升级时遇到断电等异常情况会导致嵌入式设备的整体运行异常,甚至导致设备的损坏;无法保证对升级包进行验证和不同设备的区分,导致在升级包损坏或设备类型不匹配时,仍然升级导致异常。
因此,需要提供一种应用于采集终端的嵌入式软件升级方法,来实现加密、带完整性校验并带设备校验的可靠升级。
发明内容
本发明所要解决的技术问题是克服上述现有技术存在的问题,提供一种应用于采集终端的嵌入式软件升级方法。
为实现上述发明目的,本发明采取如下技术方案,包括:
S1,将升级文件打包成升级包;
S2,使用加密算法对升级包进行加密;
S3,将升级包传输至采集终端;
S4,对升级包进行解密、解压、校验并执行升级。
进一步地,所述步骤S1中的将升级文件打包成升级包,包括:
S11,根据实际需要,放置升级包的内容至升级包文件夹,通常为一个执行脚本和多个要升级更新的文件;
S12,对文件夹中每个文件分别生成校验值,并记录至对应的校验值文件;
S13,将升级包文件夹内容使用打包工具打包,并使用压缩工具进行压缩。
进一步地,所述步骤S2中的使用加密算法对升级包进行加密,包括:
S21,根据设备类型、hostname等参数生成升级包的文件头信息,并添加水印;
S22,将原始文件分段使用加密算法进行加密处理,并写入最终升级包中。
进一步地,所述步骤S4对升级包进行解密并执行升级,包括:
S41,检查升级文件水印、设备类型、hostname等文件头信息;
S42,将升级包分段解密,并生成原始文件,并保存至缓存文件夹中;
S43,进行整体的完整性校验,并将原始文件压缩包按照指定格式解压;
S44,对解压后的文件,分别进行完整性校验;
S45,执行解压后文件中的升级脚本,并传入执行路径;
S46,判断升级脚本的执行结果,并发送给指定的进程。
本发明的有益技术效果为:通过加密、校验、文件头信息,来实现防止软件二进制文件直接被获取、完整性验证、防止不同设备类型误升级,保证了升级的可靠。
附图说明
图1为本发明的升级方法的整体流程图;
图2为本发明的一种制作加密前的升级包的方法的流程图;
图3为本发明的一种使用软加密算法对升级包进行加密的流程图;
图4为本发明的一种对升级包进行解密并执行升级的流程图;
图5为本发明实施例提供的一种升级包文件示例图。
图6为本发明实施例提供的一种升级包文件HEX内容示意图。
具体实施方式
下面结合附图对本发明作进一步描述,以下内容仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提供了一种基于Linux的嵌入式软件升级方法,包括:S1,制作加密前的升级包;S2,使用软加密算法对升级包进行加密;S3,通过U盘或网络等任意方式将升级包传输至终端;S4,对升级包进行解密并执行升级。整体流程如图1所示。
图2为本发明的制作加密前的升级包的方法的流程图,其包括以下步骤:S11,根据实际需要,放置升级包的内容至升级包文件夹,通常为一个执行脚本和多个要升级更新的文件;S12,对文件夹中每个文件分别生成校验值,并记录至对应的校验值文件;S13,将升级包文件夹内容使用打包软件打包,并使用压缩软件进行压缩。
图3为本发明的使用软加密算法对升级包进行加密的流程图,其包括以下步骤:S21,根据设备类型、hostname等参数生成升级包的文件头信息,并添加水印;S22,将原始文件分段使用加密算法进行加密处理,并写入最终升级包中。
图4为所述步骤S4中对升级包进行解密并执行升级的流程图,其包括以下步骤:S41,检查升级文件水印、设备类型、hostname等文件头信息;S42,将升级包分段解密,并生成原始文件,并保存至缓存文件夹中;S43,进行整体的完整性校验,并将原始文件压缩包按照指定格式解压;S44,对解压后的文件,分别进行完整性校验;S45,执行解压后文件中的升级脚本,并传入执行路径;S46,判断升级脚本的执行结果,并发送给指定的进程。
以某型设备制作一个简单的升级包为例,我们将升级包的文件夹命名为tops_upgrade,并在其中升级file1与dir/file2,升级脚本为upgrade.sh,则tops_upgrade的文件结构如图5所示。假设该型设备的hostname为test,设备类型为1,则二进制文件内容如图6所示,其中前512字节为header数据,512字节后为加密后的文件数据,header中:“77 7777 2E 74 6F 70 73 63 6F 6D 6D 2E 63 6F 6D”为文件水印,“04 74 65 73 74”为匹配的hostname,“01”为设备类型。
当该升级包通过U盘复制到该型设备时,该型设备上的管理进程检测到USB插入事件,会去挂载U盘并将U盘中升级包取出,并根据升级包header信息完成升级包数据的合法性检验,合法性验证通过后,会将升级包的有效数据解密,并输出至内存中指定位置的内存文件,解密完成后,会执行解压软件将解密完成后的内存文件解压至升级临时文件夹下,解压完成后执行其中的升级脚本,升级完成后通知应用进程升级结果。
在执行升级脚本的过程中,为防止发生掉电丢失进度,会每执行完一个关键步骤则记录一次升级进度至FLASH中指定位置。为防止掉电时影响数据和寿命,会尽量在复制时先进行比对,文件不一致时才实际复制,以减少实际的FLASH和擦除写入操作。为防止执行关键操作时掉电,对关键文件会进行备份,文件丢失时可在下次启动时自动从备份中恢复。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (4)
1.一种应用于采集终端的嵌入式软件升级方法,其特征在于,包括:
S1,将升级文件打包成升级包;
S2,使用加密算法对升级包进行加密;
S3,将升级包传输至采集终端;
S4,对升级包进行解密、解压、校验并执行升级。
2.根据权利要求1所述的将升级文件打包成升级包,其特征在于,所述步骤S1中的将升级文件打包成升级包包括:
S11,根据实际需要,放置升级包的内容至升级包文件夹,通常为一个执行脚本和多个要升级更新的文件;
S12,对文件夹中每个文件分别生成校验值,并记录至对应的校验值文件;
S13,将升级包文件夹内容使用打包工具打包,并使用压缩工具进行压缩。
3.根据权利要求1所述的使用软加密算法对升级包进行加密,其特征在于,所述步骤S2中的使用软加密算法对升级包进行加密包括:
S21,根据设备类型、hostname等参数生成升级包的文件头信息,并添加水印;
S22,将原始文件分段使用加密算法进行加密处理,并写入最终升级包中。
4.根据权利要求1所述的对升级包进行解密并执行升级,其特征在于,所述步骤S4对升级包进行解密并执行升级包括:
S41,检查升级文件水印、设备类型、hostname等文件头信息;
S42,将升级包分段解密,并生成原始文件,并保存至缓存文件夹中;
S43,进行整体的完整性校验,并将原始文件压缩包按照指定格式解压;
S44,对解压后的文件,分别进行完整性校验;
S45,执行解压后文件中的升级脚本,并传入执行路径;
S46,判断升级脚本的执行结果,并发送给指定的进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110908273.6A CN113721952A (zh) | 2021-08-09 | 2021-08-09 | 一种应用于采集终端的嵌入式软件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110908273.6A CN113721952A (zh) | 2021-08-09 | 2021-08-09 | 一种应用于采集终端的嵌入式软件升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113721952A true CN113721952A (zh) | 2021-11-30 |
Family
ID=78675171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110908273.6A Withdrawn CN113721952A (zh) | 2021-08-09 | 2021-08-09 | 一种应用于采集终端的嵌入式软件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113721952A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535200A (zh) * | 2021-05-28 | 2021-10-22 | 宁波三星医疗电气股份有限公司 | 一种能源控制器app升级方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279372A (zh) * | 2013-05-23 | 2013-09-04 | 青岛海信宽带多媒体技术有限公司 | 机顶盒软件升级方法及机顶盒 |
CN103458298A (zh) * | 2012-06-01 | 2013-12-18 | 北京四达时代软件技术股份有限公司 | 一种机顶盒软件升级的方法和系统 |
CN107396188A (zh) * | 2017-09-08 | 2017-11-24 | 北京赛科世纪科技股份有限公司 | 一种机顶盒的升级方法及系统 |
CN109391936A (zh) * | 2018-09-19 | 2019-02-26 | 四川长虹电器股份有限公司 | 一种ota升级包加密下载的方法 |
CN109710290A (zh) * | 2018-12-27 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种嵌入式终端设备优盘升级的方法 |
-
2021
- 2021-08-09 CN CN202110908273.6A patent/CN113721952A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458298A (zh) * | 2012-06-01 | 2013-12-18 | 北京四达时代软件技术股份有限公司 | 一种机顶盒软件升级的方法和系统 |
CN103279372A (zh) * | 2013-05-23 | 2013-09-04 | 青岛海信宽带多媒体技术有限公司 | 机顶盒软件升级方法及机顶盒 |
CN107396188A (zh) * | 2017-09-08 | 2017-11-24 | 北京赛科世纪科技股份有限公司 | 一种机顶盒的升级方法及系统 |
CN109391936A (zh) * | 2018-09-19 | 2019-02-26 | 四川长虹电器股份有限公司 | 一种ota升级包加密下载的方法 |
CN109710290A (zh) * | 2018-12-27 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种嵌入式终端设备优盘升级的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535200A (zh) * | 2021-05-28 | 2021-10-22 | 宁波三星医疗电气股份有限公司 | 一种能源控制器app升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008757B (zh) | 一种物联网终端固件更新中数据保护方法及系统 | |
CN110716895B (zh) | 目标数据归档方法、装置、计算机设备及介质 | |
US7650499B2 (en) | Encryption apparatus and decryption apparatus | |
KR20040080936A (ko) | 메모리 디바이스, 단말장치 및 데이터 복원 시스템 | |
US20020196685A1 (en) | Trusted and verifiable data storage system, method, apparatus and device | |
US20100318983A1 (en) | Method for installing patch file | |
CN111008034B (zh) | 一种补丁生成方法及装置 | |
CN112346759A (zh) | 一种固件升级方法、装置及计算机可读存储介质 | |
CN113721952A (zh) | 一种应用于采集终端的嵌入式软件升级方法 | |
CN111382447B (zh) | 安装包的加密方法、存储介质及计算机设备 | |
CN112035803B (zh) | 一种基于Windows平台软件的保护方法及装置 | |
CN114036003A (zh) | 一种基于硬件密码设备的大文件备份与恢复安全方法 | |
CN116932011B (zh) | 一种ssd固件分段加密以及烧录方法 | |
CN111045856A (zh) | 用于管理应用系统的方法、设备和计算机程序产品 | |
CN109375938B (zh) | 一种用于Linux嵌入式装置的安全升级控制系统、方法及程序 | |
CN110851821A (zh) | 一种Android智能设备APK安全管控方法 | |
CN115391750B (zh) | 一种算法授权方法、装置、电子设备和存储介质 | |
CN110674511A (zh) | 基于椭圆曲线加密算法的离线数据保护方法及系统 | |
CN109871227B (zh) | 一种基于二阶差分增量的软件升级方法及装置 | |
CN115640022A (zh) | 通过数据压缩和加密升级固件的方法及系统 | |
CN111291404A (zh) | 安卓设备WhatsApp的crypt12备份解密方法、系统、装置和存储介质 | |
CN116302205A (zh) | 引擎资源的加载方法、装置、设备及存储介质 | |
CN110032542B (zh) | 一种cramfs文件系统管理方法、装置及电子设备 | |
CN116451257B (zh) | 一种数据库数据的加密方法、系统、电子设备 | |
CN115348030B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211130 |
|
WW01 | Invention patent application withdrawn after publication |