【技术实现步骤摘要】
一种基于软件完整性的下载方法及系统
[0001]本专利技术属于软件下载
,具体涉及一种基于软件完整性的下载方法及系统。
技术介绍
[0002]人们在日常上网的过程,不可避免需要进行软件下载。在网络上下载的软件的过程中,软件安装包可能被不法分子进行了非法修改,导致软件安装包被篡改,造成软件安装包损坏无法成功安装,还容易在下载过程中被植入木马病毒,导致信息泄露。
技术实现思路
[0003]为了解决现有技术存在的软件安装包在下载过程中易被篡改,造成软件安装包损坏无法成功安装,在下载过程中还容易被植入木马病毒,导致信息泄露的技术问题,本专利技术提供一种基于软件完整性的下载方法及系统。
[0004]第一方面
[0005]本专利技术提供了一种基于软件完整性的下载方法,应用于服务器端,包括:
[0006]S101:接收用户端对于软件安装包的下载请求;
[0007]S102:生成软件安装包的数字签名;
[0008]S 103:随机生成签名分解参数序列,根据签名分解参数序列生成数据分解参数序列;
[0009]S 104:根据签名分解参数序列将数字签名分解为N个子签名,根据数据分解参数序列将软件安装包分解为N个数据单元,子签名的数量与数据单元的数量相同;
[0010]S 105:通过第一个子签名构建第一个加密密钥,通过第一个加密密钥对第一个数据单元进行加密,运行第一个数据单元,将第一个数据单元的运行函数的函数名依次记录在运行信息向量中,作为第一个数据单元的运行 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
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
技术研发人员:刘剑,
申请(专利权)人:北京奥蓝德信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。