System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件升级技术,尤其涉及一种升级包加密分发方法及系统。
技术介绍
1、随着互联网技术的不断发展,软件应用在各行各业有了广泛的应用。不同的软件系统给人们的生活带来了极大的便利,同时也推动了生产的迭代升级,极大的释放了生产力,为社会发展提供了巨大的助益。随着技术的不断迭代发展,运行中的系统也需要进行更迭演进,软件和系统的升级就显得尤为重要。升级包作为升级环节的重要物料,其分发过程中的安全性十分重要。
2、通常软件或者系统的升级方式可以分为在线升级和离线升级,整体流程为:
3、1、升级包生成:生成升级需要的软件包或者系统包,提供升级的原始物料。
4、2、升级包分发:一般会根据升级包分发方式分为通过互联网下发的在线升级,和通过离线途径(比如光盘、u盘等移动存储介质)进行分发的离线升级。
5、3、升级包安装:在需要升级的客户安装提供的升级包,完成软件或者系统的升级。
6、但是无论是通过互联网下发的在线升级包,或者通过移动存储介质分发的离线升级包,在升级包安装阶段都很难保证其完整性和正确性。在升级包分发的过程中也极易遭到非法的篡改和中间人监听泄密。
技术实现思路
1、本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种升级包加密分发方法及系统,解决升级包在分发阶段可能被篡改、截取和监听的问题,使软件或者系统升级包得以安全、完整的分发至升级的客户端。
2、为解决上述技术问题,本专利技术
3、一种升级包加密分发方法,包括升级包生产工厂进行升级包分发的步骤,包括:
4、生成升级包,对升级包进行签名,并对所述升级包进行加密得到加密升级包;
5、提取加密升级包的属性信息作为密码对加密升级包的秘钥和签名信息进行混淆加密,得到秘钥文件;
6、将加密升级包和秘钥文件分别通过不同的通道进行分发。
7、进一步的,加密升级包的属性信息包括加密升级包的哈希值和文件大小值,提取加密升级包的属性信息作为密码对对称加密的秘钥和所述签名信息进行混淆加密时,包括:
8、将加密升级包的哈希值作为对称加密秘钥1,将加密升级包的文件大小值作为对称加密秘钥2;
9、将对称加密秘钥1和对称加密秘钥2进行异或计算,得到加密秘钥3;
10、使用加密秘钥1对加密升级包的秘钥和签名信息做异或计算,得到对应的二进制数据;
11、使用加密秘钥3作为密钥key,对称加密秘钥2作为初始化向量iv,对二进制数据进行对称加密,得到密文数据作为秘钥文件。
12、进一步的,将加密升级包和秘钥文件分别通过不同的通道进行分发之后,还包括待升级的客户端获取加密升级包并进行解密的步骤,包括:
13、通过不同的通道获取加密升级包和秘钥文件,提取加密升级包的属性信息作为密码对秘钥文件解密得到加密升级包的秘钥和签名信息,对签名信息进行验证并通过验证后使用秘钥对加密升级包解密得到明文的升级包并安装。
14、进一步的,提取加密升级包的属性信息作为密码对秘钥文件解密得到加密升级包的秘钥和签名信息时,具体包括:
15、计算加密升级包的哈希值,得到对称加密秘钥1,计算加密升级包的文件大小,得到对称加密秘钥2;
16、将对称加密秘钥1和对称加密秘钥2进行异或计算,得到加密秘钥3;
17、使用加密秘钥3作为密钥key,对称加密秘钥2作为初始化向量iv,对秘钥文件内容解密,得到明文的二进制数据;
18、将二进制数据与对称加密秘钥1进行异或计算,得到加密升级包的秘钥和签名信息;
19、使用加密升级包的秘钥对加密升级包进行解密,得到明文的升级包。
20、进一步的,对升级包进行签名时,具体是使用私钥对所述升级包的升级包描述信息进行加密,得到签名信息;对签名信息进行验证并通过验证后使用秘钥对加密升级包解密得到明文的升级包并安装时,具体包括:
21、从明文的升级包提取升级包描述信息,使用公钥对签名信息进行解密得到第一升级包描述信息;
22、将提取的升级包描述信息与第一升级包描述信息进行比较,若提取的升级包描述信息与第一升级包描述信息一致,则安装所述升级包,否则丢弃所述升级包。
23、进一步的,对所述升级包进行加密时,具体是生成一次性的密钥key和初始化向量iv作为对称加密的秘钥,根据所述秘钥对所述升级包进行加密。
24、进一步的,将加密升级包和秘钥文件分别通过不同的通道进行分发时,包括在线升级时的分发步骤,包括:
25、将秘钥文件通过更新管理平台的通道进行分发,并将加密升级包通过数据平台的通道进行分发,所述更新管理平台为安全性等级较高且数据吞吐能力较弱的平台,所述数据平台为安全等级较低且数据吞吐能力较强的平台。
26、进一步的,将加密升级包和秘钥文件分别通过不同的通道进行分发时,包括离线升级时的分发步骤,包括:
27、将加密升级包通过升级包分发存储介质进行分发,并将秘钥文件通过秘钥分发存储介质进行分发,所述升级包分发存储介质为安全等级较低且数据吞吐能力较强的存储介质,所述秘钥分发存储介质为安全性等级较高且数据吞吐能力较弱的存储介质。
28、本专利技术还提出一种升级包加密分发系统,所述升级包加密分发系统用于执行所述的升级包加密分发方法的步骤,所述升级包加密分发系统包括:
29、升级包生产工厂,用于生成升级包,对升级包进行签名,并对所述升级包进行加密得到加密升级包;提取加密升级包的属性信息作为密码对加密升级包的秘钥和签名信息进行混淆加密,得到秘钥文件;最后将加密升级包和秘钥文件分别通过不同的通道进行分发;
30、客户端,用于通过不同的通道获取加密升级包和秘钥文件,提取加密升级包的属性信息作为密码对秘钥文件解密得到加密升级包的秘钥和签名信息,对签名信息进行验证并通过验证后使用秘钥对加密升级包解密得到明文的升级包并安装。
31、进一步的,还包括:
32、更新管理平台,用于分发秘钥文件,所述更新管理平台为安全性等级较高且数据吞吐能力较弱的平台;
33、数据平台,用于分发加密升级包,所述数据平台为安全等级较低且数据吞吐能力较强的平台。
34、与现有技术相比,本专利技术的优点在于:
35、本专利技术利用属性信息这一加密升级包本身的隐含信息作为秘钥并利用私有加密算法来对加密升级包的秘钥进行加密,实现了无需额外传递信息,只要保证加密算法的私密性即可达到升级包和秘钥的双重防护,解决了在线或离线传输过程中秘钥文件的泄密导致加密文件防护失效的问题。
36、本专利技术针对加密升级包和秘钥文件分别使用不同的通道进行分发,保证了数据安全的同时也兼顾了经济效益,有效的平衡了安全和成本。
本文档来自技高网...【技术保护点】
1.一种升级包加密分发方法,其特征在于,包括升级包生产工厂进行升级包分发的步骤,包括:
2.根据权利要求1所述的升级包加密分发方法,其特征在于,将加密升级包和秘钥文件分别通过不同的通道进行分发之后,还包括待升级的客户端获取加密升级包并进行解密的步骤,包括:
3.根据权利要求2所述的升级包加密分发方法,其特征在于,提取加密升级包的属性信息作为密码对秘钥文件解密得到加密升级包的秘钥和签名信息时,具体包括:
4.根据权利要求3所述的升级包加密分发方法,其特征在于,对升级包进行签名时,具体是使用私钥对所述升级包的升级包描述信息进行加密,得到签名信息;对签名信息进行验证并通过验证后使用秘钥对加密升级包解密得到明文的升级包并安装时,具体包括:
5.根据权利要求1所述的升级包加密分发方法,其特征在于,对所述升级包进行加密时,具体是生成一次性的密钥KEY和初始化向量IV作为对称加密的秘钥,根据所述秘钥对所述升级包进行加密。
6.根据权利要求1所述的升级包加密分发方法,其特征在于,将加密升级包和秘钥文件分别通过不同的通道进行分发时,包括在
7.根据权利要求1所述的升级包加密分发方法,其特征在于,将加密升级包和秘钥文件分别通过不同的通道进行分发时,包括离线升级时的分发步骤,包括:
8.一种升级包加密分发系统,其特征在于,所述升级包加密分发系统用于执行权利要求1~7任一项所述的升级包加密分发方法的步骤,所述升级包加密分发系统包括:
9.根据权利要求8所述的升级包加密分发系统,其特征在于,还包括:
...【技术特征摘要】
1.一种升级包加密分发方法,其特征在于,包括升级包生产工厂进行升级包分发的步骤,包括:
2.根据权利要求1所述的升级包加密分发方法,其特征在于,将加密升级包和秘钥文件分别通过不同的通道进行分发之后,还包括待升级的客户端获取加密升级包并进行解密的步骤,包括:
3.根据权利要求2所述的升级包加密分发方法,其特征在于,提取加密升级包的属性信息作为密码对秘钥文件解密得到加密升级包的秘钥和签名信息时,具体包括:
4.根据权利要求3所述的升级包加密分发方法,其特征在于,对升级包进行签名时,具体是使用私钥对所述升级包的升级包描述信息进行加密,得到签名信息;对签名信息进行验证并通过验证后使用秘钥对加密升级包解密得到明文的升级包并安装时,具体包括:
5.根据权利要求1所...
【专利技术属性】
技术研发人员:雷合磊,李钰磊,邓杰,杨晓骅,
申请(专利权)人:麒麟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。