CN108304722A - 一种软件安装包及其生成方法、升级方法和系统 - Google Patents

一种软件安装包及其生成方法、升级方法和系统 Download PDF

Info

Publication number
CN108304722A
CN108304722A CN201711394715.XA CN201711394715A CN108304722A CN 108304722 A CN108304722 A CN 108304722A CN 201711394715 A CN201711394715 A CN 201711394715A CN 108304722 A CN108304722 A CN 108304722A
Authority
CN
China
Prior art keywords
file
software installation
encryption
installation packet
packaged
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
CN201711394715.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.)
Guangzhou Xiaopeng Motors Technology Co Ltd
Original Assignee
Guangzhou Xiaopeng Motors Technology 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 Guangzhou Xiaopeng Motors Technology Co Ltd filed Critical Guangzhou Xiaopeng Motors Technology Co Ltd
Priority to CN201711394715.XA priority Critical patent/CN108304722A/zh
Publication of CN108304722A publication Critical patent/CN108304722A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件安装包及其生成方法和系统、升级方法和系统,该生成方法包括:根据白盒加密算法对原始安装文件进行加密得到加密文件;根据哈希算法计算出摘要文件;根据非对称加密算法生成出数字签名;将摘要文件、数字签名及加密文件打包成安装包。该安装包包含协议头、第一和第二加密部分及加密安装文件。该升级方法包括:获取软件安装包的第一字段进行解析后得到数据打包协议;当数据打包协议符合预设条件时,利用摘要文件和数字签名来校验,校验成功后得到第二原始安装文件来升级。该升级系统包括软件安装包生成模块和/或软件安装包升级模块。本发明在加强安全保护力度的同时提高处理速率。本发明可广泛应用于软件升级领域中。

Description

一种软件安装包及其生成方法、升级方法和系统
技术领域
本发明涉及软件生成和升级技术,尤其涉及一种软件安装包及其生成方法、升级方法和系统。
背景技术
对于汽车行业中各个电子器件的二进制固件,在大量安全研究人员深入研究逆向技术以及汽车的安全漏洞越来越得到黑客关注的场景下,以及在缺乏完善安全刷写和防信息泄漏机制的前提下,其安全保护的强度已经无法满足未来的需求,黑客容易通过逆向技术来测试出固件的业务逻辑而导致信息泄露,以及容易对固件的篡改,大大降低系统的安全性和可靠稳定性。此外,虽然目前存有一些安全保护性较强的方案,可以保证固件的安全刷写和防信息泄漏,然而,这些方案都比较复杂,所需消耗的时间较多,处理效率较为低下。
发明内容
为了解决上述技术问题,本发明的目的是提供一种软件安装包及其生成方法和系统、升级方法和系统,可加强安全保护能力,提高安全性的同时还能提高处理效率。
本发明所采用的第一技术方案是:一种软件安装包生成方法,包括以下步骤:
根据白盒加密算法,对第一原始安装文件进行加密处理,从而得到第一加密文件;
根据哈希算法,对第一加密文件进行计算处理,从而计算出第一摘要文件;
根据非对称加密算法和私有密钥,对第一摘要文件进行加密处理,从而生成出第一数字签名;
根据数据打包协议,将第一摘要文件、第一数字签名以及第一加密文件打包生成软件安装包;其中,所述软件安装包包含第一摘要文件、第一数字签名、第一加密文件以及与数据打包协议相对应的协议头。
本发明所采用的第二技术方案是:一种软件安装包生成系统,包括:
至少一个第一处理器;
至少一个第一存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个第一处理器执行,使得所述至少一个第一处理器实现如第一技术方案所述软件安装包生成方法。
本发明所采用的第三技术方案是:一种软件安装包,包括:
协议头,用于识别软件安装包在打包时所采用的数据打包协议;
第一加密部分,包含根据哈希算法对第一加密文件进行计算处理后所得到的第一摘要文件;
第二加密部分,包含根据非对称加密算法和私有密钥对第一摘要文件进行加密处理后所生成的第一数字签名;
加密安装文件,包含根据白盒加密算法对第一原始安装文件进行加密处理后所得到的第一加密文件。
本发明所采用的第四技术方案是:一种软件安装包升级方法,包括以下步骤:
获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议;
当解析得到的数据打包协议符合预设条件时,则获取软件安装包的第二字段,根据解析得到的数据打包协议,对软件安装包的第二字段进行解析处理,从而得到第二摘要文件和第二数字签名;
根据非对称加密算法和对应的公开密钥,对解析得到的第二数字签名进行解密处理,从而得到第三摘要文件,当利用第三摘要文件验证得出第二摘要文件为合法时,则获取软件安装包中所包含的第二加密文件;
根据哈希算法,对第二加密文件进行计算处理,从而计算出第四摘要文件,当根据第二摘要文件与第四摘要文件之间的比对结果来判断出第二加密文件未被篡改时,则根据白盒加密算法,对第二加密文件进行解密处理,从而得到第二原始安装文件;
根据第二原始安装文件进行升级处理。
本发明所采用的第五技术方案是:一种软件安装包升级系统,包括软件安装包生成模块和/或软件安装包升级模块;
所述软件安装包生成模块,用于加载程序以执行第一技术方案所述软件安装包生成方法;
所述软件安装包升级模块,用于加载程序以执行第四技术方案所述软件安装包升级方法。
本发明方法及系统的有益效果是:本发明的生成方案是利用基于白盒加密算法而得到的原始安装文件的密文、基于哈希算法而得到的摘要文件以及基于非对称加密算法和私有密钥而得到的数字签名,来打包生成所需的软件安装包,这样可加大对固件逆向分析的难度以及有效地防止程序被篡改,实现高强度的防逆向防刷写能力,极大地提高了系统工作的安全性和可靠稳定性;而且在利用所述软件安装包来实现升级时,本发明的升级方案是当数据打包协议符合预设条件/第二摘要文件为合法时,才会获取下一字段内容进行相应的处理,因此,不仅能加强防刷写能力,大大减少被篡改/非法刷写的可能性,而且无需接收完整安装包后才进行验证判断,极大地提高了处理效率。
附图说明
图1是本发明一种软件安装包生成方法的步骤流程图;
图2是本发明一种软件安装包生成方法的一具体实施例步骤流程图;
图3是本发明一种软件安装包生成系统的结构示意图;
图4是本发明一种软件安装包升级方法的步骤流程图;
图5是本发明一种软件安装包升级方法的一具体实施例步骤流程图;
图6是本发明一种软件安装包升级系统的第一具体实施例结构示意图;
图7是本发明一种软件安装包升级系统的第二具体实施例结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
针对汽车行业各个电子器件的固件缺失安全刷写和防信息泄漏机制而设计出本发明方案。本发明方案的核心解决点在于打包生成特殊的安全格式以替换传统不安全的二进制文件,从而支持各个电子器件刷写时需要的非对称校验签名的功能以及完全隐藏二进制代码的目的。
如图1所示,本发明实施例提供了一种软件安装包生成方法,包括以下步骤:
S101、根据白盒加密算法,对第一原始安装文件进行加密处理,从而得到第一加密文件;
具体地,在读取原始安装文件的二进制数据流后,通过白盒加密算法,对读取到的原始安装文件的二进制数据流进行加密处理,从而生成得到二进制加密文件,也就是说,对于所述的第一加密文件,其实质指的是,利用白盒加密算法对第一原始安装文件进行加密后所得到的加密文件;
S102、根据哈希算法,对第一加密文件进行计算处理,从而计算出第一摘要文件;
S103、根据非对称加密算法和私有密钥,对第一摘要文件进行加密处理,从而生成出第一数字签名;
S104、根据数据打包协议,将第一摘要文件、第一数字签名以及第一加密文件打包生成软件安装包;其中,所述软件安装包包含第一摘要文件、第一数字签名、第一加密文件以及与数据打包协议相对应的协议头;
具体地,所述数据打包协议会基于不同电子器件的固件而有所不同,而协议头与数据打包协议之间是相对应的,因此,数据打包协议不同,协议头的内容也会不同。
由上述可得,本实施例方法所生成的软件安装包具有精简的二进制格式,包含有与数据打包协议相对应的协议头、基于白盒加密算法和原始安装文件而得到的加密文件、基于哈希算法和加密文件而得到的摘要文件以及基于非对称加密算法、私有密钥和摘要文件而得到的数字签名,因此,本实施例方案具有的优点包括有:
(1)、利用白盒加密算法来对原始安装文件进行加密,而此算法的秘钥会隐藏在业务逻辑中,因此,可加大了黑客们逆向分析的难度,防止信息泄露,从加大逆向分析难度这一方面来加大对安装文件篡改的难度;
(2)、利用非对称加密算法和私有密钥对加密文件所对应的摘要文件进行加密,从而生成数字签名,这样可令在刷写过程中,通过公开秘钥对数字签名进行校验,从而验证摘要文件的真伪,而且同时由于私有密钥通常会被存放在非常安全的地方,因此,黑客几乎是无法获取该私有秘钥的,这样黑客就无法实现重打包,有效地避免了篡改/非法刷写,从校验和难以获得秘钥这两方面的结合,从而加大对安装文件篡改的难度,达到无法篡改安装文件的目的;
(3)、结合基于白盒加密算法而生成的加密文件以及基于非对称加密算法而生成的数字签名,其能解决传统仅做AES加密而不做签名保护这一方案所产生的容易逆向获得秘钥从而进行解密,以实现篡改的问题,以及解决传统仅做签名保护而不做AES加密这一方案所产生的可通过逆向得到原包,从而了解到原包中所包含的技术细节,甚至发现能绕过签名校验方案的问题;
(4)、基于本发明方法所生成的软件安装包,可通过其所包含的协议头从而快速识别该软件安装包是否为基于预设数据打包协议而生成的安装包,若不是则可立刻不再对安装包进行处理;同时,通过其所包含的摘要文件和数字签名,可快速地校验该软件安装包是否为由合法服务器(例如,开发商的服务器)所打包生成的安装包,若不是,则同样可立刻不再对安装包进行处理;反之,才传输真正加密后的内容(即所述的加密文件),然后再计算出接收到的加密文件所对应的摘要文件,判断其与软件安装包中所包含的摘要文件是否相对应,从而验证接收到的加密文件是否被篡改;由此可见,利用本发明方法所生成的软件安装包来进行系统升级,不仅安全性高,而且还无需等安装包完整传输完成后才进行判断验证,在加强安全保护力度的同时还极大地提高了整体工作效率;
(5)、传统先用签名保护,再做整包加密的方案,其会导致打包平台/打包服务器集中拥有打包过程中所用到的所有秘钥,这样一旦打包平台/打包服务器被攻击导致秘钥泄漏,便会造成很严重的后果,而本发明的生成方法则先对原始安装文件进行加密后,再生成加密文件所对应的数字签名,这样可将加密文件下放到各个电子器件的项目中,各自使用微调过的算法对加密文件进行微调后,打包平台/打包服务器再做最后的签名处理,这样任何人都不拥有所有升级所需的权限;
(6)、本发明方法所生成的软件安装包格式结构简单,可利于管理的简化,减少出错,而且利用协议头来识别出不同的协议从而进行对应的协议解析处理,这可实现多种不同协议的兼容处理,不仅可提高适用兼容性,而且还可提高黑客攻击汽车各大处理单元的难度,从数据打包协议方面来加强安全保护力度。
进一步作为本生成方法的优选实施方式,所述私有密钥的存储位置为打包服务器。
进一步作为本生成方法的优选实施方式,所述哈希算法为MD5算法,和/或所述非对称加密算法为RSA算法。
以下结合具体优选实施例来对本发明生成方法做更进一步的详细阐述。
如图2所示,一种软件安装包生成方法,优选包括以下步骤:
S201、根据白盒加密算法,对第一原始安装文件进行加密处理,从而得到第一加密文件sec.bin;
S202、根据哈希算法,对第一加密文件进行计算处理,从而计算出第一摘要文件;
在本实施例中,哈希算法为MD5算法,即此步骤为,读取sec.bin,通过MD5算法对sec.bin进行计算处理,从而计算出第一摘要文件sec.md5;
S203、根据非对称加密算法和私有密钥,对第一摘要文件进行加密处理,从而生成出第一数字签名;
在本实施例中,非对称加密算法为RSA算法;具体地,此步骤通过OPENSSL以及打包平台/打包服务器的私钥生成sec.md5的数字签名sec.sign;
S204、根据数据打包协议,将第一摘要文件、第一数字签名以及第一加密文件打包生成软件安装包;其中,所述软件安装包包含第一摘要文件、第一数字签名、第一加密文件以及与数据打包协议相对应的协议头;
在本实施例中,利用cat命令将协议版本号、md5、sign以及加密后的二进制文件bin打包成特殊升级格式,格式具体如下所示:
11Byte 33Byte 256Byte
“xpmeter_01” md5 sign bin文件
可见,在本实施例的格式中,所述协议头用于存储协议版本号,字节数为11;第一摘要文件的字节数为33;第一数字签名的字节数为256。此外,所述协议头也可存储其它用于识别协议版本的信息,并不仅限于协议版本号。
对于本发明的软件安装包的生成方法,其具体应用于打包平台/打包服务器中。
可见,基于上述软件安装包生成方法而生成得到的软件安装包,包括:
协议头,用于识别软件安装包在打包时所采用的数据打包协议;
即,所述协议头用于指示所述软件安装包应用的安装协议;
第一加密部分,包含根据哈希算法对第一加密文件进行计算处理后所得到的第一摘要文件,其具体用于校验加密安装文件是否被篡改;
第二加密部分,包含根据非对称加密算法和私有密钥对第一摘要文件进行加密处理后所生成的第一数字签名,其具体用于校验第一加密部分的真伪(合法性);
加密安装文件,包含根据白盒加密算法对第一原始安装文件进行加密处理后所得到的第一加密文件。
如图3所示,本发明实施例还提供了一种软件安装包生成系统,包括:
至少一个第一处理器101;
至少一个第一存储器102,用于存储至少一个程序;
当所述至少一个程序被所述至少一个第一处理器101执行,使得所述至少一个第一处理器101实现上述方法实施例所述的软件安装包生成方法。
上述生成方法实施例中的内容均适用于本生成系统实施例中,本生成系统实施例所具体实现的功能与上述生成方法实施例相同,并且达到的有益效果与上述生成方法实施例所达到的有益效果也相同。
如图4所示,本发明实施例还提供了一种软件安装包升级方法,应用于车载终端中(即待升级设备),包括以下步骤:
S301、获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议;
具体地,在软件安装包从打包平台/打包服务器传输至车载终端的过程中,当接收获取得到软件安装包的第一字段时,便对其进行解析处理,从而得到此软件安装包所对应的数据打包协议;
S302、当解析得到的数据打包协议符合预设条件时,则获取软件安装包的第二字段,根据解析得到的数据打包协议,对软件安装包的第二字段进行解析处理,从而得到第二摘要文件a1和第二数字签名b1;
具体地,判断步骤S301解析得到的数据打包协议是否符合预设条件,若是,则表示此软件安装包的数据打包协议为预设的数据打包协议,此时,则获取软件安装包的第二字段,然后,根据解析得到的数据打包协议,对软件安装包的第二字段进行解析处理,从而得到第二摘要文件a1和第二数字签名b1,即所述第二字段中包含有摘要文件和数字签名的信息;
S303、根据非对称加密算法和对应的公开密钥,对解析得到的第二数字签名b1进行解密处理,从而得到第三摘要文件a2,当利用第三摘要文件a2验证得出第二摘要文件a1为合法时,则获取软件安装包中所包含的第二加密文件c1;
具体地,当得到第三摘要文件a2后,则通过判断第三摘要文件a2与第二摘要文件a1之间是否相同,或者两者之间的相似度是否高于阈值,若是,则表示a1为合法的,此时,则获取软件安装包中所包含的第二加密文件c1,即获取得到真正所需的加密文件;反之,a1则为非法的,此时,则可不继续对安装包进行接收处理和/或做其它处理;
S304、根据哈希算法,对第二加密文件c1进行计算处理,从而计算出第四摘要文件a3,当根据第二摘要文件a1与第四摘要文件a3之间的比对结果来判断出第二加密文件c1未被篡改时,则根据白盒加密算法,对第二加密文件c1进行解密处理,从而得到第二原始安装文件;
具体地,当计算出第四摘要文件a3后,则比对第二摘要文件a1与第四摘要文件a3之间是否相同,或者两者之间的相似度是否高于阈值,若是,则表示a1未被篡改,此时,则可根据白盒加密算法,对第二加密文件c1进行解密处理,从而得到第二原始安装文件;反之,则表示a1被篡改了,此时,则可不继续对安装包进行处理和/或做其它处理;
S305、根据第二原始安装文件进行升级处理。
由上述可见,本发明的升级方案在利用数字签名来验证摘要文件的合法性的同时,还利用摘要文件来验证接收到的安装包中的安装文件是否有被篡改,双重验证,安全性大大提高;而且本发明的升级方案无需待软件安装包完整传输接收后才进行验证判断,极大地提高了工作效率。
进一步作为本升级方法的优选实施方式,所述非对称加密算法中所采用的私有密钥的存储位置为打包服务器S301,其具体包括:
S3011、获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议;
S3012、判断解析得到的数据打包协议是否符合预设条件,若是,则执行下一步骤;反之,则丢弃此软件安装包;
具体地,所述预设条件可为:判断解析得到的数据打包协议与预设的数据打包协议是否相同,若是,则表示符合预设条件;反之,则表示不符合预设条件。通过采用此步骤S301,在判断出解析得到的数据打包协议不符合预设条件时,将安装包丢弃,这样可节省存放空间,而且还可令车载终端的CPU尽快释放进程资源,以执行其他处理,实现了处理性能的优化。
进一步作为本升级方法的优选实施方式,还包括以下步骤:
S305、当利用第三摘要文件a2验证得出第二摘要文件a1为非法时,则丢弃此软件安装包;
和/或,
S306、当根据第二摘要文件a1与第四摘要文件a3之间的比对结果来判断出第二加密文件已被篡改时,则丢弃此软件安装包。同样,通过采用步骤S305,在利用第三摘要文件a2验证得出第二摘要文件a1为非法时,将安装包丢弃,这样可节省存放空间,而且还可令车载终端的CPU尽快释放进程资源,以执行其他处理,实现了性能的优化。而通过采用步骤S306,则可节省程序存放空间。
进一步作为本升级方法的优选实施方式,所述非对称加密算法中所采用的私有密钥的存储位置为打包服务器,这样能够进一步地提高私有密钥的存放安全性,更有效地防止黑客获取私有秘钥,减少升级时被非法刷写的可能性。
进一步作为本升级方法的优选实施方式,所述哈希算法为MD5算法,和/或所述非对称加密算法为RSA算法。
以下结合具体优选实施例来对本发明升级方法做更进一步的详细阐述。
如图5所示,一种软件安装包升级方法,具体包括以下步骤:
S401、获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议;
具体地,所述步骤S401包括:
S4011、获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议;
S4012、判断解析得到的数据打包协议是否符合预设条件,若是,则执行下一步骤S402;反之,则丢弃此软件安装包;
S402、当解析得到的数据打包协议符合预设条件时,则获取软件安装包的第二字段,根据解析得到的数据打包协议,对软件安装包的第二字段进行解析处理,从而得到第二摘要文件和第二数字签名;
S403、根据非对称加密算法和对应的公开密钥,对解析得到的第二数字签名b1进行解密处理,从而得到第三摘要文件a2;在本实施例中,非对称加密算法为RSA算法;
S404、当利用第三摘要文件a2验证得出第二摘要文件a1为合法时,则获取软件安装包中所包含的第二加密文件c1,然后执行步骤S406;
S405、当利用第三摘要文件a2验证得出第二摘要文件a1为非法时,则丢弃此软件安装包;
S406、根据哈希算法,对第二加密文件c1进行计算处理,从而计算出第四摘要文件a3;在本实施例中,哈希算法为MD5算法;
S407、当根据第二摘要文件a1与第四摘要文件a3之间的比对结果来判断出第二加密文件c1未被篡改时,则根据白盒加密算法,对第二加密文件c1进行解密处理,从而得到第二原始安装文件,然后执行步骤S409;
S408、当根据第二摘要文件a1与第四摘要文件a3之间的比对结果来判断出第二加密文件已被篡改时,则丢弃此软件安装包;
S409、根据第二原始安装文件进行升级处理。
如图6所示,本发明实施例还提供了一种软件安装包升级系统,包括:
至少一个第二处理器201;
至少一个第二存储器202,用于存储至少一个程序;
当所述至少一个程序被所述至少一个第二处理器201执行,使得所述至少一个第二处理器201实现上述方法实施例所述的软件安装包升级方法。
上述升级方法实施例中的内容均适用于本升级系统实施例中,本升级系统实施例所具体实现的功能与上述升级方法实施例相同,并且达到的有益效果与上述升级方法实施例所达到的有益效果也相同。
如图7所示,本发明实施例还提供了一种软件安装包升级系统,包括软件安装包生成模块301和/或软件安装包升级模块302;
所述软件安装包生成模块301,用于加载程序以执行上述生成方法实施例中所述的软件安装包生成方法,主要应用于打包平台/打包服务器;
所述软件安装包升级模块302,用于加载程序以执行上述升级方法实施例中所述的软件安装包升级方法,主要应用于待升级设备。
对于上述软件安装包生成模块301和/或软件安装包升级模块302,其可为软件程序模块,也可为软硬件结合装置,也可为硬件装置,可根据实际需求而设置。
上述生成方法实施例和升级方法实施例中的内容均适用于本升级系统实施例中,本升级系统实施例所具体实现的功能与上述生成方法实施例和升级方法实施例相同,并且达到的有益效果与上述生成方法实施例和升级方法实施例所达到的有益效果也相同。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种软件安装包生成方法,其特征在于,包括以下步骤:
根据白盒加密算法,对第一原始安装文件进行加密处理,从而得到第一加密文件;
根据哈希算法,对第一加密文件进行计算处理,从而计算出第一摘要文件;
根据非对称加密算法和私有密钥,对第一摘要文件进行加密处理,从而生成出第一数字签名;
根据数据打包协议,将第一摘要文件、第一数字签名以及第一加密文件打包生成软件安装包;其中,所述软件安装包包含第一摘要文件、第一数字签名、第一加密文件以及与数据打包协议相对应的协议头。
2.根据权利要求1所述一种软件安装包生成方法,其特征在于,所述私有密钥的存储位置为打包服务器。
3.根据权利要求1或2所述一种软件安装包生成方法,其特征在于,所述哈希算法为MD5算法,和/或所述非对称加密算法为RSA算法。
4.一种软件安装包,其特征在于,包括:
协议头,用于识别软件安装包在打包时所采用的数据打包协议;
第一加密部分,包含根据哈希算法对第一加密文件进行计算处理后所得到的第一摘要文件;
第二加密部分,包含根据非对称加密算法和私有密钥对第一摘要文件进行加密处理后所生成的第一数字签名;
加密安装文件,包含根据白盒加密算法对第一原始安装文件进行加密处理后所得到的第一加密文件。
5.一种软件安装包升级方法,其特征在于,包括以下步骤:
获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议;
当解析得到的数据打包协议符合预设条件时,则获取软件安装包的第二字段,根据解析得到的数据打包协议,对软件安装包的第二字段进行解析处理,从而得到第二摘要文件和第二数字签名;
根据非对称加密算法和对应的公开密钥,对解析得到的第二数字签名进行解密处理,从而得到第三摘要文件,当利用第三摘要文件验证得出第二摘要文件为合法时,则获取软件安装包中所包含的第二加密文件;
根据哈希算法,对第二加密文件进行计算处理,从而计算出第四摘要文件,当根据第二摘要文件与第四摘要文件之间的比对结果来判断出第二加密文件未被篡改时,则根据白盒加密算法,对第二加密文件进行解密处理,从而得到第二原始安装文件;
根据第二原始安装文件进行升级处理。
6.根据权利要求5所述一种软件安装包升级方法,其特征在于,所述获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议这一步骤,其具体包括:
获取软件安装包的第一字段,对第一字段进行解析处理,从而得到软件安装包的数据打包协议;
判断解析得到的数据打包协议是否符合预设条件,若是,则执行下一步骤;反之,则丢弃此软件安装包。
7.根据权利要求5或6所述一种软件安装包升级方法,其特征在于,还包括以下步骤:
当利用第三摘要文件验证得出第二摘要文件为非法时,则丢弃此软件安装包;
和/或,
当根据第二摘要文件与第四摘要文件之间的比对结果来判断出第二加密文件已被篡改时,则丢弃此软件安装包。
8.根据权利要求5或6所述一种软件安装包升级方法,其特征在于,所述非对称加密算法中所采用的私有密钥的存储位置为打包服务器。
9.根据权利要求5或6所述一种软件安装包升级方法,其特征在于,所述哈希算法为MD5算法,和/或所述非对称加密算法为RSA算法。
10.一种软件安装包升级系统,其特征在于,包括软件安装包生成模块和/或软件安装包升级模块;
所述软件安装包生成模块,用于加载程序以执行权利要求1-3任一项所述软件安装包生成方法;
所述软件安装包升级模块,用于加载程序以执行权利要求5-9任一项所述软件安装包升级方法。
CN201711394715.XA 2017-12-21 2017-12-21 一种软件安装包及其生成方法、升级方法和系统 Pending CN108304722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711394715.XA CN108304722A (zh) 2017-12-21 2017-12-21 一种软件安装包及其生成方法、升级方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711394715.XA CN108304722A (zh) 2017-12-21 2017-12-21 一种软件安装包及其生成方法、升级方法和系统

Publications (1)

Publication Number Publication Date
CN108304722A true CN108304722A (zh) 2018-07-20

Family

ID=62870525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711394715.XA Pending CN108304722A (zh) 2017-12-21 2017-12-21 一种软件安装包及其生成方法、升级方法和系统

Country Status (1)

Country Link
CN (1) CN108304722A (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063470A (zh) * 2018-07-26 2018-12-21 郑州云海信息技术有限公司 一种bmc固件的安全验证方法及系统
CN109391936A (zh) * 2018-09-19 2019-02-26 四川长虹电器股份有限公司 一种ota升级包加密下载的方法
CN109460247A (zh) * 2018-12-17 2019-03-12 深圳创维数字技术有限公司 软件包升级方法、软件客户端、存储介质及装置
CN109584421A (zh) * 2018-12-07 2019-04-05 郭瑞东 一种基于国产安全芯片的智能门锁认证管理系统
CN109697081A (zh) * 2018-12-19 2019-04-30 广州小鹏汽车科技有限公司 固件安全升级方法、装置、车载系统和车辆
CN109787756A (zh) * 2018-12-24 2019-05-21 吉林微思智能科技有限公司 一种基于白盒加密技术的车载终端密钥分发管理方法
CN109872136A (zh) * 2019-01-10 2019-06-11 深圳银链科技有限公司 隔离数字钱包的升级方法、系统、冷钱包、热钱包
CN110225063A (zh) * 2019-07-02 2019-09-10 广州小鹏汽车科技有限公司 汽车车载系统的升级方法、升级系统、服务器及车载终端
CN110298145A (zh) * 2019-06-28 2019-10-01 兆讯恒达微电子技术(北京)有限公司 一种基于公开密钥密码算法的固件程序装载保护方法
CN110324335A (zh) * 2019-07-02 2019-10-11 成都信息工程大学 一种基于电子移动证书的汽车软件升级方法及系统
CN110378104A (zh) * 2018-04-16 2019-10-25 北京升鑫网络科技有限公司 一种升级防纂改的方法
CN110673875A (zh) * 2019-09-19 2020-01-10 杭州安恒信息技术股份有限公司 安全的软件全量打包及安装方法
CN110780881A (zh) * 2019-11-05 2020-02-11 杭州安恒信息技术股份有限公司 一种软件包制作方法、装置和电子设备
CN111125725A (zh) * 2019-11-22 2020-05-08 苏州浪潮智能科技有限公司 一种镜像校验的加解密方法、设备及介质
CN111143855A (zh) * 2019-12-25 2020-05-12 惠州华阳通用电子有限公司 一种集成升级文件制作及其升级方法及装置
CN111177707A (zh) * 2019-12-27 2020-05-19 智车优行科技(北京)有限公司 对应用安装进行安全检验的方法及系统与应用服务器
CN111880824A (zh) * 2020-07-24 2020-11-03 欧姆龙(上海)有限公司 固件数据的校验设备和方法、固件更新设备和方法及系统
CN112612499A (zh) * 2020-12-31 2021-04-06 京东数科海益信息科技有限公司 应用程序升级方法、装置、电子设备及存储介质
CN112651031A (zh) * 2020-12-14 2021-04-13 展讯半导体(成都)有限公司 数字签名方法、数字验签方法、电子设备及存储介质
CN113590227A (zh) * 2021-08-02 2021-11-02 中国大恒(集团)有限公司北京图像视觉技术分公司 一种嵌入式系统下的二进制烧写格式的加载方法及系统
CN114679287A (zh) * 2020-12-24 2022-06-28 美的集团股份有限公司 数据处理方法、系统、电子设备及存储介质
CN115801274A (zh) * 2022-11-17 2023-03-14 广州芯德通信科技股份有限公司 一种固件保护方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793248A (zh) * 2014-01-23 2014-05-14 北京奇虎科技有限公司 一种应用程序升级的方法及装置
CN104636172A (zh) * 2015-03-09 2015-05-20 联想(北京)有限公司 一种应用升级方法和装置
CN105119888A (zh) * 2015-07-10 2015-12-02 小米科技有限责任公司 插件安装包上传方法、安装方法及装置
CN106020882A (zh) * 2016-05-18 2016-10-12 青岛海信电器股份有限公司 一种应用升级方法、智能终端及升级系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793248A (zh) * 2014-01-23 2014-05-14 北京奇虎科技有限公司 一种应用程序升级的方法及装置
CN104636172A (zh) * 2015-03-09 2015-05-20 联想(北京)有限公司 一种应用升级方法和装置
CN105119888A (zh) * 2015-07-10 2015-12-02 小米科技有限责任公司 插件安装包上传方法、安装方法及装置
CN106020882A (zh) * 2016-05-18 2016-10-12 青岛海信电器股份有限公司 一种应用升级方法、智能终端及升级系统

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378104A (zh) * 2018-04-16 2019-10-25 北京升鑫网络科技有限公司 一种升级防纂改的方法
CN109063470A (zh) * 2018-07-26 2018-12-21 郑州云海信息技术有限公司 一种bmc固件的安全验证方法及系统
CN109391936B (zh) * 2018-09-19 2021-04-06 四川长虹电器股份有限公司 一种ota升级包加密下载的方法
CN109391936A (zh) * 2018-09-19 2019-02-26 四川长虹电器股份有限公司 一种ota升级包加密下载的方法
CN109584421A (zh) * 2018-12-07 2019-04-05 郭瑞东 一种基于国产安全芯片的智能门锁认证管理系统
CN109460247A (zh) * 2018-12-17 2019-03-12 深圳创维数字技术有限公司 软件包升级方法、软件客户端、存储介质及装置
CN109460247B (zh) * 2018-12-17 2021-08-17 深圳创维数字技术有限公司 软件包升级方法、软件客户端、存储介质及装置
CN109697081A (zh) * 2018-12-19 2019-04-30 广州小鹏汽车科技有限公司 固件安全升级方法、装置、车载系统和车辆
CN109697081B (zh) * 2018-12-19 2021-04-13 广州小鹏汽车科技有限公司 固件安全升级方法、装置、车载系统和车辆
CN109787756B (zh) * 2018-12-24 2021-11-26 吉林微思智能科技有限公司 一种基于白盒加密技术的车载终端密钥分发管理方法
CN109787756A (zh) * 2018-12-24 2019-05-21 吉林微思智能科技有限公司 一种基于白盒加密技术的车载终端密钥分发管理方法
CN109872136A (zh) * 2019-01-10 2019-06-11 深圳银链科技有限公司 隔离数字钱包的升级方法、系统、冷钱包、热钱包
CN109872136B (zh) * 2019-01-10 2021-08-03 深圳银链科技有限公司 隔离数字钱包的升级方法、系统、冷钱包、热钱包
CN110298145A (zh) * 2019-06-28 2019-10-01 兆讯恒达微电子技术(北京)有限公司 一种基于公开密钥密码算法的固件程序装载保护方法
CN110225063A (zh) * 2019-07-02 2019-09-10 广州小鹏汽车科技有限公司 汽车车载系统的升级方法、升级系统、服务器及车载终端
CN110324335A (zh) * 2019-07-02 2019-10-11 成都信息工程大学 一种基于电子移动证书的汽车软件升级方法及系统
CN110225063B (zh) * 2019-07-02 2021-09-03 广州小鹏汽车科技有限公司 汽车车载系统的升级方法、升级系统、服务器及车载终端
CN110673875A (zh) * 2019-09-19 2020-01-10 杭州安恒信息技术股份有限公司 安全的软件全量打包及安装方法
CN110780881A (zh) * 2019-11-05 2020-02-11 杭州安恒信息技术股份有限公司 一种软件包制作方法、装置和电子设备
CN111125725A (zh) * 2019-11-22 2020-05-08 苏州浪潮智能科技有限公司 一种镜像校验的加解密方法、设备及介质
CN111143855A (zh) * 2019-12-25 2020-05-12 惠州华阳通用电子有限公司 一种集成升级文件制作及其升级方法及装置
CN111177707A (zh) * 2019-12-27 2020-05-19 智车优行科技(北京)有限公司 对应用安装进行安全检验的方法及系统与应用服务器
CN111880824A (zh) * 2020-07-24 2020-11-03 欧姆龙(上海)有限公司 固件数据的校验设备和方法、固件更新设备和方法及系统
CN112651031A (zh) * 2020-12-14 2021-04-13 展讯半导体(成都)有限公司 数字签名方法、数字验签方法、电子设备及存储介质
CN114679287A (zh) * 2020-12-24 2022-06-28 美的集团股份有限公司 数据处理方法、系统、电子设备及存储介质
CN112612499A (zh) * 2020-12-31 2021-04-06 京东数科海益信息科技有限公司 应用程序升级方法、装置、电子设备及存储介质
CN113590227A (zh) * 2021-08-02 2021-11-02 中国大恒(集团)有限公司北京图像视觉技术分公司 一种嵌入式系统下的二进制烧写格式的加载方法及系统
CN113590227B (zh) * 2021-08-02 2023-11-28 中国大恒(集团)有限公司北京图像视觉技术分公司 一种嵌入式系统下的二进制烧写格式的加载方法及系统
CN115801274A (zh) * 2022-11-17 2023-03-14 广州芯德通信科技股份有限公司 一种固件保护方法
CN115801274B (zh) * 2022-11-17 2023-07-11 广州芯德通信科技股份有限公司 一种固件保护方法

Similar Documents

Publication Publication Date Title
CN108304722A (zh) 一种软件安装包及其生成方法、升级方法和系统
JP4774235B2 (ja) 証明書失効リストの分配管理方法
CN110061846B (zh) 对区块链中用户节点进行身份认证和确认的方法、装置及计算机可读存储介质
CN104462965B (zh) 应用程序完整性验证方法及网络设备
CN101369889B (zh) 一种对文档进行电子签名的方法
CN110149209B (zh) 物联网设备及其提高数据传输安全性的方法和装置
CN110519309B (zh) 数据传输方法、装置、终端、服务器及存储介质
CN113014539B (zh) 一种物联网设备安全保护系统及方法
CN110995685B (zh) 数据的加解密方法、装置、系统及存储介质
US20180204004A1 (en) Authentication method and apparatus for reinforced software
CN109960903A (zh) 一种应用加固的方法、装置、电子设备及存储介质
JP2010517448A (ja) セキュアファイル暗号化
CN104268477B (zh) 一种安全控制方法及网络设备
TW202121868A (zh) 資料的加解密方法、裝置、存儲介質及加密文件
US20180113703A1 (en) Method for updating software of a control device of a vehicle
CN105893837B (zh) 应用程序安装方法、安全加密芯片及终端
CN110245466B (zh) 软件完整性保护和验证方法、系统、设备及存储介质
CN106161028A (zh) 安全芯片、移动通讯终端及提高通讯安全的方法
Schuster et al. Vc3: Trustworthy data analytics in the cloud
CN108804913A (zh) 应用程序的运行方法和装置
CN105933117A (zh) 一种基于tpm秘钥安全存储的数据加解密装置和方法
CN108563927A (zh) 一种主机升级软件的打包加密方法
CN109101813A (zh) 一种应用程序拦截方法及相关装置
CN108390757A (zh) 通信数据处理方法、装置、电子设备、程序和介质
US9507955B2 (en) System and method for executing code securely in general purpose computer

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