CN109857385A - 应用程序文件打包方法、安装方法及启动方法 - Google Patents
应用程序文件打包方法、安装方法及启动方法 Download PDFInfo
- Publication number
- CN109857385A CN109857385A CN201811581918.4A CN201811581918A CN109857385A CN 109857385 A CN109857385 A CN 109857385A CN 201811581918 A CN201811581918 A CN 201811581918A CN 109857385 A CN109857385 A CN 109857385A
- Authority
- CN
- China
- Prior art keywords
- subfile
- data
- file
- data block
- terminal device
- 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.)
- Granted
Links
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000009434 installation Methods 0.000 title claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 55
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000012856 packing Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 208000033748 Device issues Diseases 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000011888 foil Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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所述的应用程序启动方法,其特征在于,还包括检测应用程序是否需要升级,若需要升级则从服务器下载应用程序升级数据的打包文件,下载完成后进行安装,安装失败或安装成功后重启应用程序。
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 true CN109857385A (zh) | 2019-06-07 |
CN109857385B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708990A (zh) * | 2020-05-15 | 2020-09-25 | 支付宝(杭州)信息技术有限公司 | 小程序启动方法、签名方法、装置、服务器及介质 |
CN111949312A (zh) * | 2020-08-14 | 2020-11-17 | 曙光信息产业(北京)有限公司 | 数据模块的打包方法、装置、计算机设备和存储介质 |
CN112230941A (zh) * | 2020-09-22 | 2021-01-15 | 成都融微软件服务有限公司 | 一种Java Card包及应用程序安装方法和工具 |
CN113114645A (zh) * | 2021-03-31 | 2021-07-13 | 武汉天喻信息产业股份有限公司 | 提高安全模组存储容量及运行安全性的方法、装置及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8390842B2 (en) * | 2006-06-06 | 2013-03-05 | Canon Kabushiki Kaisha | Port monitor apparatus, method, and program for performing printing restriction by monitoring printer driver |
US20140229736A1 (en) * | 2011-09-28 | 2014-08-14 | Koninklijke Philips N.V. | Hierarchical attribute-based encryption and decryption |
CN104866739A (zh) * | 2015-06-04 | 2015-08-26 | 上海斐讯数据通信技术有限公司 | 安卓系统中应用程序加密方法及系统 |
CN105830087A (zh) * | 2013-12-19 | 2016-08-03 | 西门子公司 | 用于文件的数字签名的方法和设备 |
CN106339613A (zh) * | 2016-08-15 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 一种应用数据的处理方法、终端及服务器 |
CN106372527A (zh) * | 2016-04-28 | 2017-02-01 | 深圳市金立通信设备有限公司 | 一种数据处理方法及终端 |
EP3147809A1 (en) * | 2015-09-23 | 2017-03-29 | Avalosys Oy | Processing files to be stored on virtual drive |
CN107908931A (zh) * | 2017-11-16 | 2018-04-13 | 四川长虹电器股份有限公司 | 数字电视软件混合校验加密方法 |
CN108632248A (zh) * | 2018-03-22 | 2018-10-09 | 平安科技(深圳)有限公司 | 数据加密方法、数据查询方法、装置、设备及存储介质 |
WO2018210178A1 (zh) * | 2017-05-19 | 2018-11-22 | 华为技术有限公司 | 文件存储方法和存储装置 |
-
2018
- 2018-12-24 CN CN201811581918.4A patent/CN109857385B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8390842B2 (en) * | 2006-06-06 | 2013-03-05 | Canon Kabushiki Kaisha | Port monitor apparatus, method, and program for performing printing restriction by monitoring printer driver |
US20140229736A1 (en) * | 2011-09-28 | 2014-08-14 | Koninklijke Philips N.V. | Hierarchical attribute-based encryption and decryption |
CN105830087A (zh) * | 2013-12-19 | 2016-08-03 | 西门子公司 | 用于文件的数字签名的方法和设备 |
CN104866739A (zh) * | 2015-06-04 | 2015-08-26 | 上海斐讯数据通信技术有限公司 | 安卓系统中应用程序加密方法及系统 |
EP3147809A1 (en) * | 2015-09-23 | 2017-03-29 | Avalosys Oy | Processing files to be stored on virtual drive |
CN106372527A (zh) * | 2016-04-28 | 2017-02-01 | 深圳市金立通信设备有限公司 | 一种数据处理方法及终端 |
CN106339613A (zh) * | 2016-08-15 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 一种应用数据的处理方法、终端及服务器 |
WO2018210178A1 (zh) * | 2017-05-19 | 2018-11-22 | 华为技术有限公司 | 文件存储方法和存储装置 |
CN107908931A (zh) * | 2017-11-16 | 2018-04-13 | 四川长虹电器股份有限公司 | 数字电视软件混合校验加密方法 |
CN108632248A (zh) * | 2018-03-22 | 2018-10-09 | 平安科技(深圳)有限公司 | 数据加密方法、数据查询方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
GCCZHONGDUAN: ""文件加密和解密 - 密钥存储"", 《HTTPS://WWW.CNBLOGS.COM/GCCZHONGDUAN/P/4883474.HTML》 * |
SHI YANG等: ""Protecting Encrypted Signature Functions Against Intrusions on Computing Devices by Obfuscation"", 《IEEE ACCESS》 * |
许可: ""Java软件的加密方法研究与应用"", 《信息技术与信息化》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708990A (zh) * | 2020-05-15 | 2020-09-25 | 支付宝(杭州)信息技术有限公司 | 小程序启动方法、签名方法、装置、服务器及介质 |
CN111949312A (zh) * | 2020-08-14 | 2020-11-17 | 曙光信息产业(北京)有限公司 | 数据模块的打包方法、装置、计算机设备和存储介质 |
CN111949312B (zh) * | 2020-08-14 | 2024-02-09 | 曙光信息产业(北京)有限公司 | 数据模块的打包方法、装置、计算机设备和存储介质 |
CN112230941A (zh) * | 2020-09-22 | 2021-01-15 | 成都融微软件服务有限公司 | 一种Java Card包及应用程序安装方法和工具 |
CN112230941B (zh) * | 2020-09-22 | 2024-03-29 | 成都融微软件服务有限公司 | 一种Java Card包及应用程序安装方法和工具 |
CN113114645A (zh) * | 2021-03-31 | 2021-07-13 | 武汉天喻信息产业股份有限公司 | 提高安全模组存储容量及运行安全性的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109857385B (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857385A (zh) | 应用程序文件打包方法、安装方法及启动方法 | |
US8627086B2 (en) | Secure loading and storing of data in a data processing device | |
US20170270319A1 (en) | Method and device for providing verifying application integrity | |
US11361087B2 (en) | Security data processing device | |
EP3026558A1 (en) | Method and device for providing verifying application integrity | |
CN103577206A (zh) | 一种应用软件的安装方法和装置 | |
CN110621014B (zh) | 一种车载设备及其程序升级方法、服务器 | |
CN104166564B (zh) | 一种显示终端程序更新方法 | |
CN104702631A (zh) | 一种客户端软件的升级方法和系统 | |
CN105787357A (zh) | 一种基于安卓系统apk下载方法及其系统 | |
EP1645931A1 (en) | Secure loading and storing of data in a data processing device | |
EP3026559A1 (en) | Method and device for providing verifying application integrity | |
CN111240709A (zh) | 一种基于android系统的POS设备的固件升级方法及系统 | |
CN108170461A (zh) | 差分升级包生成方法、差分升级方法及装置 | |
CN111177709A (zh) | 一种终端可信组件的执行方法、装置及计算机设备 | |
KR20170044850A (ko) | 안드로이드 어플리케이션 동적 로딩 방법 | |
CN113055181A (zh) | Ota文件安全处理方法、装置及系统 | |
CN112417422A (zh) | 安全芯片升级方法及计算机可读存储介质 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
WO2006039967A1 (en) | Secure loading and storing of data in a data processing device | |
CN115220755A (zh) | 一种基于可信度量的路由器在线升级系统 | |
CN115357274A (zh) | 远程io设备固件升级方法及系统 | |
CN110943843B (zh) | 一种适用于小内存嵌入式设备的pkcs#7签名实现方法 | |
CN114297679B (zh) | 一种镜像加密传输与升级的方法 | |
CN111736879B (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 |
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 |
|
EE01 | Entry into force of recordation of patent licensing contract |