CN109857385B - 应用程序文件打包方法、安装方法及启动方法 - Google Patents

应用程序文件打包方法、安装方法及启动方法 Download PDF

Info

Publication number
CN109857385B
CN109857385B CN201811581918.4A CN201811581918A CN109857385B CN 109857385 B CN109857385 B CN 109857385B CN 201811581918 A CN201811581918 A CN 201811581918A CN 109857385 B CN109857385 B CN 109857385B
Authority
CN
China
Prior art keywords
subfile
verification
data
file
application program
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.)
Active
Application number
CN201811581918.4A
Other languages
English (en)
Other versions
CN109857385A (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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric 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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201811581918.4A priority Critical patent/CN109857385B/zh
Publication of CN109857385A publication Critical patent/CN109857385A/zh
Application granted granted Critical
Publication of CN109857385B publication Critical patent/CN109857385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及软件控制技术,解决了现有终端设备软件安全性较差的问题。技术方案概括为:应用程序文件打包方法、安装方法及启动方法,在对应用程序文件进行打包时将文件分割为与安全相关需要加密的文件和不需要进行加密的文件,然后和相关配置信息一起打包生成打包文件;终端设备基于上述打包文件的组成结构安装应用程序,启动应用程序时将加密的文件加载到内存执行,未加密的文件直接从flash启动。有益效果是:本发明在不增加硬件成本的同时也能够实现软件的加密存储和启动,软件安全性大大提高。本发明特别适用于NB‑IoT终端设备。

Description

应用程序文件打包方法、安装方法及启动方法
技术领域
本发明涉及软件控制技术,特别涉及应用程序文件的打包技术、应用程序安装技术和应用程序启动技术。
背景技术
目前存在一些终端设备,由于其内存DDR的存储大小、FLASH存储的大小和主芯片性能等的限制(通常FLASH存储大小远远超过内存DDR),因此无法实现对整个软件进行加密存储和启动,例如NB-IoT终端设备。对于上述问题,目前通常采用的是软件明文存储并直接从FLASH启动的方式,导致终端设备的软件容易被篡改、窃取等,软件安全性较差。
发明内容
本发明为解决现有终端设备软件安全性较差的问题,提供一种应用程序文件打包方法、安装方法及启动方法。
为解决上述问题,本发明采用的技术方案是:
应用程序文件打包方法,包括:
使用程序切割工具将应用程序文件切割为子文件一和子文件二,所述子文件一不需要加密保护,子文件二需要加密保护;
打包工具根据预设的子文件一的校验参数生成子文件一的校验值;
打包工具根据预设的子文件二的校验参数生成子文件二的校验值,根据预设的子文件二的加密参数使用随机密钥对子文件二进行加密;
打包工具组装应用程序文件的配置信息,并使用预设的根密钥对配置信息进行加密;
打包工具将子文件一、子文件二和配置信息打包生成打包文件,然后计算出打包文件的签名信息;
打包工具将打包文件的大小和签名信息合成头信息,并使用根密钥对头信息加密后将头信息***到打包文件中。
作为进一步优化,所述子文件一的校验参数包括子文件一的分组标志、各组校验方式和校验占比,打包工具根据子文件一的校验占比,随机产生子文件一需要校验的多个数据块,并根据子文件一的分组标志对子文件一需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值;
所述子文件二的校验参数包括子文件二的分组标志、各组校验方式和校验占比,打包工具根据子文件二的校验占比,随机产生子文件二需要校验的多个数据块,并根据子文件二的分组标志对子文件二需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值;
所述子文件二的加密参数包括子文件二的各组加密方式和加密占比,打包工具根据子文件二的加密占比,随机产生子文件二需要加密的多个数据块,并根据子文件二的分组标志对需要加密的数据块分组,并按各组加密方式,用打包工具配置的随机密钥对各个数据块进行加密。
作为进一步优化,所述配置信息包括数据描述区数据、安全配置数据和组件信息数据,所述数据描述区数据包括子文件一的校验参数和各个数据块的校验值以及子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥,所述安全配置数据包括应用程序文件的安全策略版本、加密方式和校验方式,所述组件信息数据包括子文件一、子文件二、安全配置数据和数据描述区数据各自在终端设备flash中的存储地址和大小。
作为进一步优化,所述安全配置数据还包括下载打包文件的终端设备的ID。
应用程序安装方法,基于上述的应用程序文件打包方法,待安装应用程序的终端设备中预设有启动模块,所述启动模块用于安装和/或启动应用程序,启动模块中预设有应用程序文件打包时所用的根密钥;
终端设备每次安装应用程序时,包括:启动模块读取打包文件,并用根密钥解密头信息,获取打包文件的大小和签名信息,然后校验签名信息,若校验失败则表示本次安装失败并退出本次安装,若校验成功则用根密钥解密配置信息,然后判断配置信息是否与终端设备的相关参数相匹配,若不匹配则表示本次安装失败并退出本次安装,若匹配则根据配置信息解析子文件一和子文件二,若子文件一和子文件二中任一个解析失败,则表示本次安装失败并退出本次安装,若子文件一和子文件二都解析成功,则根据配置信息将子文件一、子文件二和配置信息更新到终端设备相应的flash区域中,本次安装成功。
作为进一步优化,所述子文件一的解析方法包括:
获取数据描述区数据中子文件一的校验参数和各个数据块的校验值,并根据安全配置数据判断终端设备是否支持子文件一的校验方式,若支持则根据子文件一的校验参数分别对子文件一需要校验的各个数据块计算校验值,若子文件一需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件一解析成功,否则解析失败;
所述子文件二的解析方法包括:
获取数据描述区数据中子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥,并根据安全配置数据判断终端设备是否支持子文件二的校验方式和加密方式,若校验方式和加密方式都支持,则根据数据描述区数据中子文件二的加密参数和各个数据块的加密密钥对子文件二中加密的各个数据块解密,然后根据子文件二的校验参数分别对子文件二需要校验的各个数据块计算校验值,若子文件二需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件二解析成功,否则解析失败。
作为进一步优化,所述子文件二解析成功后,用安全配置数据中的终端设备的ID作为密钥对子文件二加密。
应用程序启动方法,基于上述的应用程序安装方法,包括:
启动模块用根密钥解密终端设备flash中的配置信息,然后根据配置信息解析终端设备flash中的子文件一和子文件二,若子文件一和子文件二中任一个解析失败,则重启应用程序,若子文件一和子文件二都解析成功,则将子文件二加载到预设的终端设备的内存地址,然后根据子文件一在终端设备中的flash地址,直接从flash执行子文件一,并根据子文件二在终端设备中的内存地址,从内存执行子文件二。
作为进一步优化,解析终端设备flash中的子文件二时,先用终端设备的ID解密子文件二,解密后再根据配置信息解析子文件二。
作为进一步优化,上述启动方法还包括检测应用程序是否需要升级,若需要升级则从服务器下载应用程序升级数据的打包文件,下载完成后进行安装,安装失败或安装成功后重启应用程序。
有益效果是:本发明在对应用程序文件进行打包时将文件分割为与安全相关需要加密的文件和不需要进行加密的文件,然后和相关配置信息一起打包生成打包文件;终端设备基于上述打包文件的组成结构安装应用程序,启动应用程序时将加密的文件加载到内存执行,未加密的文件直接从flash启动;由于需要进行加密存储和启动的文件只是整个软件的一部分,因此运行时所占用的各种资源较少,使得对于内存、FLASH和主芯片性能等有限制的终端设备来说,在不增加硬件成本的同时也能够实现软件的加密存储和启动,软件安全性大大提高。本发明特别适用于NB-IoT终端设备。
具体实施方式
下面结合实施例,进一步说明本发明的技术方案。
本发明的技术方案是:
应用程序文件打包方法,包括:
使用程序切割工具将应用程序文件切割为子文件一和子文件二,所述子文件一不需要加密保护,子文件二需要加密保护;
打包工具根据预设的子文件一的校验参数生成子文件一的校验值;
打包工具根据预设的子文件二的校验参数生成子文件二的校验值,根据预设的子文件二的加密参数使用随机密钥对子文件二进行加密;
打包工具组装应用程序文件的配置信息,并使用预设的根密钥对配置信息进行加密;
打包工具将子文件一、子文件二和配置信息打包生成打包文件,然后计算出打包文件的签名信息;
打包工具将打包文件的大小和签名信息合成头信息,并使用根密钥对头信息加密后将头信息***到打包文件中。
上述方法通过程序切割工具将应用程序编译文件切割成不需要加密的子文件一和需要加密的子文件二,并根据子文件一和子文件二的相关信息,组装生成整个应用程序文件的打包文件。
应用程序安装方法,基于上述的应用程序文件打包方法,待安装应用程序的终端设备中预设有启动模块,所述启动模块用于安装和/或启动应用程序,启动模块中预设有应用程序文件打包时所用的根密钥;
终端设备每次安装应用程序时,包括:启动模块读取打包文件,并用根密钥解密头信息,获取打包文件的大小和签名信息,然后校验签名信息,若校验失败则表示本次安装失败并退出本次安装,若校验成功则用根密钥解密配置信息,然后判断配置信息是否与终端设备的相关参数相匹配,若不匹配则表示本次安装失败并退出本次安装,若匹配则根据配置信息解析子文件一和子文件二,若子文件一和子文件二中任一个解析失败,则表示本次安装失败并退出本次安装,若子文件一和子文件二都解析成功,则根据配置信息将子文件一、子文件二和配置信息更新到终端设备相应的flash区域中,本次安装成功。
上述安装方法基于上述打包文件的组成结构,安装时根据密钥及配置信息解析打包文件并进行相关校验,将打包文件中的文件一、子文件二和配置信息写入终端设备的flash中,完成应用程序的安装。
应用程序启动方法,基于上述的应用程序安装方法,包括:
启动模块用根密钥解密终端设备flash中的配置信息,然后根据配置信息解析终端设备flash中的子文件一和子文件二,若子文件一和子文件二中任一个解析失败,则重启应用程序,若子文件一和子文件二都解析成功,则将子文件二加载到预设的终端设备的内存地址,然后根据子文件一在终端设备中的flash地址,直接从flash执行子文件一,并根据子文件二在终端设备中的内存地址,从内存执行子文件二。
上述启动方法基于上述安装完成的应用程序,启动时根据密钥及配置信息解析子文件一和子文件二,未加密的子文件一直接从flash启动,加密的子文件二加载到内存启动。
对上述方法进行进一步优化,具体可以是:
应用程序文件打包时,子文件一的校验参数可以包括子文件一的分组标志、各组校验方式和校验占比,打包工具根据子文件一的校验占比,随机产生子文件一需要校验的多个数据块,并根据子文件一的分组标志对子文件一需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值;子文件二的校验参数可以包括子文件二的分组标志、各组校验方式和校验占比,打包工具根据子文件二的校验占比,随机产生子文件二需要校验的多个数据块,并根据子文件二的分组标志对子文件二需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值;子文件二的加密参数可以包括子文件二的各组加密方式和加密占比,打包工具根据子文件二的加密占比,随机产生子文件二需要加密的多个数据块,并根据子文件二的分组标志对需要加密的数据块分组,并按各组加密方式,用打包工具配置的随机密钥对各个数据块进行加密。基于上述子文件一和子文件二的相关参数,配置信息可以包括数据描述区数据、安全配置数据和组件信息数据,数据描述区数据可以包括子文件一的校验参数和各个数据块的校验值以及子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥,安全配置数据可以包括应用程序文件的安全策略版本、加密方式和校验方式,组件信息数据包括子文件一、子文件二、安全配置数据和数据描述区数据各自在终端设备flash中的存储地址和大小。基于上述应用程序文件打包时具有的相关数据,在安装应用程序时,子文件一的解析方法可以包括:获取数据描述区数据中子文件一的校验参数和各个数据块的校验值,并根据安全配置数据判断终端设备是否支持子文件一的校验方式,若支持则根据子文件一的校验参数分别对子文件一需要校验的各个数据块计算校验值,若子文件一需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件一解析成功,否则解析失败。子文件二的解析方法可以包括:获取数据描述区数据中子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥,并根据安全配置数据判断终端设备是否支持子文件二的校验方式和加密方式,若校验方式和加密方式都支持,则根据数据描述区数据中子文件二的加密参数和各个数据块的加密密钥对子文件二中加密的各个数据块解密,然后根据子文件二的校验参数分别对子文件二需要校验的各个数据块计算校验值,若子文件二需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件二解析成功,否则解析失败。
上述公开了一种应用程序文件打包时对具体参数的处理方式以及安装应用时对打包文件中具体参数的处理方式,通过上述校验及加密方式,使得应用程序的安全性更好。
进一步的,应用程序文件打包时,安全配置数据还可以包括下载打包文件的终端设备的ID。基于上述ID信息,安装应用程序时,当子文件二解析成功后,用安全配置数据中的终端设备的ID作为密钥对子文件二加密,将经过该ID加密后的子文件二更新到终端设备相应的flash区域中。对应于上述经过设备ID加密的子文件二,应用程序启动时,对终端设备flash中子文件二的解析,需先用终端设备的ID解密子文件二,解密后再根据配置信息解析子文件二。
上述安装时通过终端设备ID对子文件二再加密,以确保需要加密的子文件二与终端设备一一对应,提高软件安全性。
进一步的,上述启动方法还包括检测应用程序是否需要升级,若不需要升级则进行正常启动,若需要升级则从服务器下载应用程序升级数据的打包文件,下载完成后进行安装,安装失败或安装成功后重启应用程序。
实施例
下面结合实施例,进一步说明本发明的技术方案。
终端设备的应用程序开始启动后,检测应用程序是否需要升级,本例中假设终端设备的应用程序需要升级,则终端设备向服务器发出下载应用程序升级文件的请求。
服务器响应终端设备的下载请求,对应用程序升级文件进行打包,打包过程采用以下步骤:
S11、使用程序切割工具将应用程序升级文件切割为子文件一和子文件二,所述子文件一不需要加密保护,子文件二需要加密保护。
S12、打包工具根据预设的子文件一的校验参数生成子文件一的校验值。具体操作是:子文件一的校验参数有子文件一的分组标志、各组校验方式和校验占比,打包工具根据子文件一的校验占比,随机产生子文件一需要校验的多个数据块,并根据子文件一的分组标志对子文件一需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值。
S13、打包工具根据预设的子文件二的校验参数生成子文件二的校验值,根据预设的子文件二的加密参数使用随机密钥对子文件二进行加密。具体操作是:子文件二的校验参数有子文件二的分组标志、各组校验方式和校验占比,打包工具根据子文件二的校验占比,随机产生子文件二需要校验的多个数据块,并根据子文件二的分组标志对子文件二需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值;子文件二的加密参数有子文件二的各组加密方式和加密占比,打包工具根据子文件二的加密占比,随机产生子文件二需要加密的多个数据块,并根据子文件二的分组标志对需要加密的数据块分组,并按各组加密方式,用打包工具配置的随机密钥对各个数据块进行加密。
S14、打包工具组装应用程序升级文件的配置信息,并使用预设的根密钥对配置信息进行加密。具体操作是:需组装的配置信息由数据描述区数据、安全配置数据和组件信息数据组成;数据描述区数据有子文件一的校验参数和各个数据块的校验值以及子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥;安全配置数据有应用程序升级文件的安全策略版本、加密方式、校验方式和请求下载打包文件的终端设备的ID;组件信息数据有子文件一、子文件二、安全配置数据和数据描述区数据各自在终端设备flash中的存储地址和大小。
S15、打包工具将子文件一、子文件二和配置信息打包生成应用程序升级文件的打包文件,然后采用SHA256加RSA算法计算出打包文件的签名信息。
S16、打包工具将打包文件的大小和签名信息合成头信息,并使用根密钥对头信息加密后将头信息***到打包文件中。
本例采用OTA升级技术,应用程序升级文件打包完成后,终端设备从服务器下载该打包文件到OTA临时存放区,下载完成后进行安装,本例的终端设备中预设有启动模块,启动模块用于安装和启动应用程序,启动模块中预设有应用程序升级文件打包时所用的根密钥,以及用于校验打包文件的签名信息的公钥,对应用程序升级文件的安装采用以下步骤:
S21、终端设备的启动模块读取OTA临时存放区的打包文件,并用根密钥解密头信息,获取打包文件的大小和签名信息。
S22、启动模块利用公钥校验签名信息,若校验失败则表示本次安装失败并退出本次安装,若校验成功则用根密钥解密配置信息,然后执行S23。
S23、判断配置信息中的应用程序升级文件的安全策略版本是否与终端设备支持的安全策略版本相匹配,若不匹配则表示本次安装失败并退出本次安装,若匹配则执行S24。
S24、解析子文件一。具体操作是:获取数据描述区数据中子文件一的校验参数和各个数据块的校验值,并根据安全配置数据中应用程序升级文件的校验方式判断终端设备是否支持子文件一的校验方式,若支持则根据子文件一的校验参数分别对子文件一需要校验的各个数据块计算校验值,若子文件一需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件一解析成功,否则解析失败并退出本次安装。
S25、解析子文件二。具体操作是:获取数据描述区数据中子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥,并根据安全配置数据中应用程序升级文件的校验方式和加密方式判断终端设备是否支持子文件二的校验方式和加密方式,若校验方式和加密方式都支持,则根据数据描述区数据中子文件二的加密参数和各个数据块的加密密钥对子文件二中加密的各个数据块解密,然后根据子文件二的校验参数分别对子文件二需要校验的各个数据块计算校验值,若子文件二需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件二解析成功,否则解析失败并退出本次安装。子文件二解析成功后用安全配置数据中的终端设备的ID作为密钥对子文件二加密。
S26、根据组件信息数据中子文件一、子文件二、安全配置数据和数据描述区数据各自在终端设备flash中的存储地址和大小,将子文件一、安全配置数据、数据描述区数据和经终端设备ID加密后的子文件二更新到终端设备相应的flash区域中,安装成功。
S27、重启应用程序。
本例中假设应用程序安装成功,则重启应用程序后,检测到当前安装的应用程序不需要升级。然后启动模块用根密钥解密终端设备flash中的配置信息,然后根据配置信息解析终端设备flash中的子文件一和子文件二,子文件一和子文件二的解析过程分别参照上述S24和S25,这里不再赘述。若子文件一和子文件二中任一个解析失败,则重启应用程序,若子文件一和子文件二都解析成功,则将子文件二加载到预设的终端设备的内存地址,然后根据子文件一在终端设备中的flash地址,直接从flash执行子文件一,并根据子文件二在终端设备中的内存地址,从内存执行子文件二。

Claims (10)

1.应用程序文件打包方法,其特征在于,包括:
使用程序切割工具将应用程序文件切割为子文件一和子文件二,所述子文件一不需要加密保护,子文件二需要加密保护;
打包工具根据预设的子文件一的校验参数生成子文件一的校验值;
打包工具根据预设的子文件二的校验参数生成子文件二的校验值,根据预设的子文件二的加密参数使用随机密钥对子文件二进行加密;
打包工具组装应用程序文件的配置信息,并使用预设的根密钥对配置信息进行加密;
打包工具将子文件一、子文件二和配置信息打包生成打包文件,然后计算出打包文件的签名信息;
打包工具将打包文件的大小和签名信息合成头信息,并使用根密钥对头信息加密后将头信息***到打包文件中。
2.如权利要求1所述的应用程序文件打包方法,其特征在于,所述子文件一的校验参数包括子文件一的分组标志、各组校验方式和校验占比,打包工具根据子文件一的校验占比,随机产生子文件一需要校验的多个数据块,并根据子文件一的分组标志对子文件一需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值;
所述子文件二的校验参数包括子文件二的分组标志、各组校验方式和校验占比,打包工具根据子文件二的校验占比,随机产生子文件二需要校验的多个数据块,并根据子文件二的分组标志对子文件二需要校验的数据块分组,并按各组校验方式生成各个数据块的校验值;
所述子文件二的加密参数包括子文件二的各组加密方式和加密占比,打包工具根据子文件二的加密占比,随机产生子文件二需要加密的多个数据块,并根据子文件二的分组标志对需要加密的数据块分组,并按各组加密方式,用打包工具配置的随机密钥对各个数据块进行加密。
3.如权利要求2所述的应用程序文件打包方法,其特征在于,所述配置信息包括数据描述区数据、安全配置数据和组件信息数据,所述数据描述区数据包括子文件一的校验参数和各个数据块的校验值以及子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥,所述安全配置数据包括应用程序文件的安全策略版本、加密方式和校验方式,所述组件信息数据包括子文件一、子文件二、安全配置数据和数据描述区数据各自在终端设备flash中的存储地址和大小。
4.如权利要求3所述的应用程序文件打包方法,其特征在于,所述安全配置数据还包括下载打包文件的终端设备的ID。
5.应用程序安装方法,基于权利要求1-4任一项所述的应用程序文件打包方法,其特征在于,待安装应用程序的终端设备中预设有启动模块,所述启动模块用于安装和/或启动应用程序,启动模块中预设有应用程序文件打包时所用的根密钥;
终端设备每次安装应用程序时,包括:启动模块读取打包文件,并用根密钥解密头信息,获取打包文件的大小和签名信息,然后校验签名信息,若校验失败则表示本次安装失败并退出本次安装,若校验成功则用根密钥解密配置信息,然后判断配置信息是否与终端设备的相关参数相匹配,若不匹配则表示本次安装失败并退出本次安装,若匹配则根据配置信息解析子文件一和子文件二,若子文件一和子文件二中任一个解析失败,则表示本次安装失败并退出本次安装,若子文件一和子文件二都解析成功,则根据配置信息将子文件一、子文件二和配置信息更新到终端设备相应的flash区域中,本次安装成功。
6.如权利要求5所述的应用程序安装方法,其特征在于:
所述子文件一的解析方法包括:
获取数据描述区数据中子文件一的校验参数和各个数据块的校验值,并根据安全配置数据判断终端设备是否支持子文件一的校验方式,若支持则根据子文件一的校验参数分别对子文件一需要校验的各个数据块计算校验值,若子文件一需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件一解析成功,否则解析失败;
所述子文件二的解析方法包括:
获取数据描述区数据中子文件二的校验参数、各个数据块的校验值、加密参数和各个数据块的加密密钥,并根据安全配置数据判断终端设备是否支持子文件二的校验方式和加密方式,若校验方式和加密方式都支持,则根据数据描述区数据中子文件二的加密参数和各个数据块的加密密钥对子文件二中加密的各个数据块解密,然后根据子文件二的校验参数分别对子文件二需要校验的各个数据块计算校验值,若子文件二需要校验的每个数据块经计算得到的校验值都分别与该数据块在打包时得到的校验值相同,则子文件二解析成功,否则解析失败。
7.如权利要求6所述的应用程序安装方法,其特征在于,所述子文件二解析成功后,用安全配置数据中的终端设备的ID作为密钥对子文件二加密。
8.应用程序启动方法,基于权利要求5-7任一项所述的应用程序安装方法,其特征在于,包括:
启动模块用根密钥解密终端设备flash中的配置信息,然后根据配置信息解析终端设备flash中的子文件一和子文件二,若子文件一和子文件二中任一个解析失败,则重启应用程序,若子文件一和子文件二都解析成功,则将子文件二加载到预设的终端设备的内存地址,然后根据子文件一在终端设备中的flash地址,直接从flash执行子文件一,并根据子文件二在终端设备中的内存地址,从内存执行子文件二。
9.如权利要求8所述的应用程序启动方法,其特征在于,解析终端设备flash中的子文件二时,先用终端设备的ID解密子文件二,解密后再根据配置信息解析子文件二。
10.如权利要求8所述的应用程序启动方法,其特征在于,还包括检测应用程序是否需要升级,若需要升级则从服务器下载应用程序升级数据的打包文件,下载完成后进行安装,安装失败或安装成功后重启应用程序。
CN201811581918.4A 2018-12-24 2018-12-24 应用程序文件打包方法、安装方法及启动方法 Active CN109857385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811581918.4A CN109857385B (zh) 2018-12-24 2018-12-24 应用程序文件打包方法、安装方法及启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811581918.4A CN109857385B (zh) 2018-12-24 2018-12-24 应用程序文件打包方法、安装方法及启动方法

Publications (2)

Publication Number Publication Date
CN109857385A CN109857385A (zh) 2019-06-07
CN109857385B true CN109857385B (zh) 2022-01-28

Family

ID=66892027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811581918.4A Active CN109857385B (zh) 2018-12-24 2018-12-24 应用程序文件打包方法、安装方法及启动方法

Country Status (1)

Country Link
CN (1) CN109857385B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708990A (zh) * 2020-05-15 2020-09-25 支付宝(杭州)信息技术有限公司 小程序启动方法、签名方法、装置、服务器及介质
CN111949312B (zh) * 2020-08-14 2024-02-09 曙光信息产业(北京)有限公司 数据模块的打包方法、装置、计算机设备和存储介质
CN112230941B (zh) * 2020-09-22 2024-03-29 成都融微软件服务有限公司 一种Java Card包及应用程序安装方法和工具
CN113114645B (zh) * 2021-03-31 2022-09-16 武汉天喻信息产业股份有限公司 提高安全模组存储容量及运行安全性的方法、装置及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810318B2 (ja) * 2006-06-06 2011-11-09 キヤノン株式会社 ポートモニタプログラム、データ処理方法、情報処理装置、及び記憶媒体
EP2756627B1 (en) * 2011-09-28 2018-11-14 Koninklijke Philips N.V. Hierarchical attribute-based encryption and decryption
DE102013226780A1 (de) * 2013-12-19 2015-06-25 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum digitalen Signieren einer Datei
CN104866739A (zh) * 2015-06-04 2015-08-26 上海斐讯数据通信技术有限公司 安卓***中应用程序加密方法及***
DK3147809T3 (da) * 2015-09-23 2019-07-29 Avalosys Oy Behandling af filer til lagring på et virtuelt drev
CN106372527A (zh) * 2016-04-28 2017-02-01 深圳市金立通信设备有限公司 一种数据处理方法及终端
CN106339613B (zh) * 2016-08-15 2018-09-07 腾讯科技(深圳)有限公司 一种应用数据的处理方法、终端及服务器
CN108959300B (zh) * 2017-05-19 2022-07-22 华为技术有限公司 文件存储方法和存储装置
CN107908931B (zh) * 2017-11-16 2021-01-26 四川长虹电器股份有限公司 数字电视软件混合校验加密方法
CN108632248B (zh) * 2018-03-22 2019-10-29 平安科技(深圳)有限公司 数据加密方法、数据查询方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109857385A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
CN109857385B (zh) 应用程序文件打包方法、安装方法及启动方法
FI114416B (fi) Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite
KR101299099B1 (ko) 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법
US20170270319A1 (en) Method and device for providing verifying application integrity
CN103577206A (zh) 一种应用软件的安装方法和装置
US20150095652A1 (en) Encryption and decryption processing method, apparatus, and device
EP2105893A1 (en) Method for protecting a CAP file for an IC Card
EP3026558A1 (en) Method and device for providing verifying application integrity
KR101756978B1 (ko) 트러스티드 실행 환경 기반의 어플리케이션 프로그램 보호 방법 및 시스템
CN110621014B (zh) 一种车载设备及其程序升级方法、服务器
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
CN104702631A (zh) 一种客户端软件的升级方法和***
CN111611593A (zh) 安全数据处理设备
EP3026559A1 (en) Method and device for providing verifying application integrity
US11496317B2 (en) Software validation for untrusted computing systems
WO2014206170A1 (zh) 一种验证方法及设备
US20210117545A1 (en) Semiconductor device including secure patchable rom and patch method thereof
CN101923476A (zh) 文件安装***及文件安装方法
CN111240709A (zh) 一种基于android***的POS设备的固件升级方法及***
EP2293189A1 (en) Wimax terminal and starting method thereof
CN114662087A (zh) 一种多端验证的安全芯片固件更新方法及装置
KR20170044850A (ko) 안드로이드 어플리케이션 동적 로딩 방법
US20210248088A1 (en) Cryptography module and method for operating same
CN110837643B (zh) 一种可信执行环境的激活方法和装置
CN114268614A (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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190607

Assignee: Sichuan Changhong Xinwang Technology Co.,Ltd.

Assignor: SICHUAN CHANGHONG ELECTRIC Co.,Ltd.

Contract record no.: X2023980043949

Denomination of invention: Application file packaging method, installation method, and startup method

Granted publication date: 20220128

License type: Common License

Record date: 20231030