一种基于软件完整性的下载方法及系统技术方案

技术编号:38221058 阅读:11 留言:0更新日期:2023-07-25 17:52
本发明专利技术公开了一种基于软件完整性的下载方法及系统,属于软件下载技术领域,方法包括:接收下载请求;生成数字签名;随机生成签名分解参数序列,根据签名分解参数序列生成数据分解参数序列;根据签名分解参数序列和数据分解参数序列分别将数字签名和软件安装包分解为多个子签名和数据单元;通过子签名构建加密密钥,通过加密密钥对数据单元进行加密,运行第一个数据单元,将运行函数的函数名依次记录在运行信息向量中,作为第一个数据单元的运行信息;通过第i个子签名和第i

【技术实现步骤摘要】
一种基于软件完整性的下载方法及系统


[0001]本专利技术属于软件下载
,具体涉及一种基于软件完整性的下载方法及系统。

技术介绍

[0002]人们在日常上网的过程,不可避免需要进行软件下载。在网络上下载的软件的过程中,软件安装包可能被不法分子进行了非法修改,导致软件安装包被篡改,造成软件安装包损坏无法成功安装,还容易在下载过程中被植入木马病毒,导致信息泄露。

技术实现思路

[0003]为了解决现有技术存在的软件安装包在下载过程中易被篡改,造成软件安装包损坏无法成功安装,在下载过程中还容易被植入木马病毒,导致信息泄露的技术问题,本专利技术提供一种基于软件完整性的下载方法及系统。
[0004]第一方面
[0005]本专利技术提供了一种基于软件完整性的下载方法,应用于服务器端,包括:
[0006]S101:接收用户端对于软件安装包的下载请求;
[0007]S102:生成软件安装包的数字签名;
[0008]S 103:随机生成签名分解参数序列,根据签名分解参数序列生成数据分解参数序列;
[0009]S 104:根据签名分解参数序列将数字签名分解为N个子签名,根据数据分解参数序列将软件安装包分解为N个数据单元,子签名的数量与数据单元的数量相同;
[0010]S 105:通过第一个子签名构建第一个加密密钥,通过第一个加密密钥对第一个数据单元进行加密,运行第一个数据单元,将第一个数据单元的运行函数的函数名依次记录在运行信息向量中,作为第一个数据单元的运行信息;
[0011]S106:通过第i个子签名和第i

1个数据单元的运行信息构建第i个加密密钥,通过第i个加密密钥对第i个数据单元进行加密,运行第i个数据单元,将第i个数据单元的运行函数的函数名依次记录在运行信息向量中,作为第i个数据单元的运行信息;
[0012]S107:直至完成所有数据单元的加密;
[0013]S108:发送经过加密的软件安装包、软件安装包的数字签名和签名分解参数序列。
[0014]第二方面
[0015]本专利技术提供了一种基于软件完整性的下载系统,应用于服务器端,用于执行第一方面中的任意一项下载方法。
[0016]第三方面
[0017]本专利技术提供了一种基于软件完整性的下载方法,应用于用户端,包括:
[0018]S201:发起对于软件安装包的下载请求;
[0019]S202:接收经过加密的软件安装包、软件安装包的数字签名和签名分解参数序列;
[0020]S203:验证数字签名,在数字签名验证通过的情况下,根据签名分解参数序列生成数据分解参数序列;
[0021]S204:根据签名分解参数序列将数字签名分解为N个子签名,根据数据分解参数序列将软件安装包分解为N个数据单元;
[0022]S205:通过第一个子签名计算第一个解密密钥,通过第一个解密密钥对第一个数据单元进行解密,下载并运行第一个数据单元,将第一个数据单元的运行函数的函数名依次记录在运行信息向量中,作为第一个数据单元的运行信息;
[0023]S206:通过第i个子签名和第i

1个数据单元的运行信息构建第i个解密密钥,通过第i个解密密钥对第i个数据单元进行解密,下载并运行第i个数据单元,将第i个数据单元的运行函数的函数名依次记录在运行信息向量中,作为第i个数据单元的运行信息;
[0024]S207:直至完成所有数据单元的解密以及下载。
[0025]第四方面
[0026]本专利技术提供了一种基于软件完整性的下载系统,应用于用户端,用于执行第三方面中的任意一项下载方法。
[0027]与现有技术相比,本专利技术至少具有以下有益技术效果:
[0028](1)在本专利技术中,通过将软件安装包的数字签名分解为多个子签名,同时将软件安装包分解为同等数量的数据单元,利用子签名以及前一个数据单元的运行信息对当前数据单元进行加密,在后续下载过程中,实时验证数据单元的运行情况,可以在实际运行情况出现错误时及时地停止下载,只有在软件安装包完整的情况下,才能最终实现对于软件安装包的下载以及安装,实现对于整个软件安装包的防篡改,避免木马病毒入侵,维护信息安全。
[0029](2)在本专利技术中,通过随机性的分解参数对数字签名和软件安装包进行分解,可以进一步地提升软件安装包的加密可靠性。
[0030](3)在本专利技术中,当前数据单元的加密需要用到前一个数据单元的运行情况,可以保证加密链条的完整性与连续性,一旦某个数据单元被篡改,对于后面的数据单元的解密都将产生影响,提升了整个软件安装包的防篡改性。
附图说明
[0031]下面将以明确易懂的方式,结合附图说明优选实施方式,对本专利技术的上述特性、技术特征、优点及其实现方式予以进一步说明。
[0032]图1是本专利技术提供的一种基于软件完整性的下载方法的流程示意图;
[0033]图2是本专利技术提供的另一种基于软件完整性的下载方法的流程示意图。
具体实施方式
[0034]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0035]为使图面简洁,各图中只示意性地表示出了与专利技术相关的部分,它们并不代表其
作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
[0036]还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0037]在本文中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0038]另外,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0039]实施例1
[0040]在一个实施例中,参考说明书附图1,本专利技术提供的一种基于软件完整性的下载方法的流程示意图。
[0041]本专利技术提供的一种基于软件完整性的下载方法,应用于服务器端,包括:
[0042]S101:接收用户端对于软件安装包的下载请求。
[0043]其中,用户端可以是手机、平板、电脑等设备,用户端通过触控点击、鼠标点击、语音指令等形式发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于软件完整性的下载方法,应用于服务器端,其特征在于,包括:S101:接收用户端对于软件安装包的下载请求;S102:生成所述软件安装包的数字签名;S103:随机生成签名分解参数序列,根据所述签名分解参数序列生成数据分解参数序列;S104:根据所述签名分解参数序列将所述数字签名分解为N个子签名,根据所述数据分解参数序列将所述软件安装包分解为N个数据单元,所述子签名的数量与所述数据单元的数量相同;S105:通过第一个子签名构建第一个加密密钥,通过所述第一个加密密钥对所述第一个数据单元进行加密,运行所述第一个数据单元,将所述第一个数据单元的运行函数的函数名依次记录在运行信息向量中,作为所述第一个数据单元的运行信息;S106:通过第i个子签名和第i

1个数据单元的运行信息构建第i个加密密钥,通过所述第i个加密密钥对第i个数据单元进行加密,运行所述第i个数据单元,将所述第i个数据单元的运行函数的函数名依次记录在所述运行信息向量中,作为所述第i个数据单元的运行信息;S107:直至完成所有数据单元的加密;S108:发送经过加密的所述软件安装包、所述软件安装包的数字签名和所述签名分解参数序列。2.根据权利要求1所述的下载方法,其特征在于,S102具体包括:S1021:构建椭圆曲线,所述椭圆曲线的参数包括:p,a,b,G,n,h,其中,p表示素数,a表示第一椭圆系数,b表示第二椭圆系数,G表示基点,n表示G的阶数,h表示余因子;S1022:选择一个随机数k,计算kG=(X1,Y1),将坐标X1转换为整数;S1023:r=X1modn,若r=0,则回到S1022,否则进入S1024;S1024:计算l=SHA

1(M),并将l转换成整数,M表示原始数据,SHA

1(M)表示使用SHA

1计算的M的数字摘要;S1025:构建签名方程,k=l+s+drmodn,利用私钥d计算s=k

l

rd(modn),若s=0,则回到S1022,否则进入S1026;S1026:将(r,s)作为所述软件安装包的数字签名。3.根据权利要求2所述的下载方法,其特征在于,S102还包括:S1027:构建关于随机数k和私钥d的混沌映射关系式:其中,n表示下载次数,λ1、λ2、λ3、λ4和λ5、表示控制参数且均为常数。4.根据权利要求1所述的下载方法,其特征在于,S103具体包括:S1031:随机生成一组第一常数序列H1={h1,h2,

,h
i
},h
i
为数值在1至9之间的随机数,i=1,2,

,N;S1032:根据所述第一常数序列计算所述签名分解参数序列P={p1,p2,

,p
i
}:
S1032:对所述第一常数序列H1={h1,h2,

,h
i
}进行错位相减取绝对值,得到第二常数序列H2={h1,|h2‑
h1|,|h3‑
h2|,

,|h
i

h
i
‑1|};S1033:将所述第二常数序列H2中的数值0替换成1,得到第三常数序列S1034:根据所述第三常数序列计算所述数据分解参数序列Q={q1,q2,

,q
i

【专利技术属性】
技术研发人员:刘剑
申请(专利权)人:北京奥蓝德信息科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1