CN105391757B - 一种高安全性的软件安装方法 - Google Patents

一种高安全性的软件安装方法 Download PDF

Info

Publication number
CN105391757B
CN105391757B CN201510649088.4A CN201510649088A CN105391757B CN 105391757 B CN105391757 B CN 105391757B CN 201510649088 A CN201510649088 A CN 201510649088A CN 105391757 B CN105391757 B CN 105391757B
Authority
CN
China
Prior art keywords
cloud
installation
sub
software installation
software
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.)
Active
Application number
CN201510649088.4A
Other languages
English (en)
Other versions
CN105391757A (zh
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.)
Jiangsu kaoyue Technology Co.,Ltd.
Original Assignee
Nanjing Institute of Technology
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 Nanjing Institute of Technology filed Critical Nanjing Institute of Technology
Priority to CN201510649088.4A priority Critical patent/CN105391757B/zh
Publication of CN105391757A publication Critical patent/CN105391757A/zh
Application granted granted Critical
Publication of CN105391757B publication Critical patent/CN105391757B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明公布了一种高安全性的软件安装方法,该方法使用有限域算法计算出软件安装包的多个子安装包,将每个子安装包存储在一台云端服务器上,用户通过其计算机上的云客户端从云端服务器下载预定数量的子安装包后,通过有限域重构算法,重构出软件安装包。从而大大提高了软件安装的容错性、鲁棒性、安全性和可靠性。

Description

一种高安全性的软件安装方法
技术领域
本发明涉及软件工程领域,提供了一种高安全性的软件安装方法,用于在复杂环境下,从云端为终端计算机提供安全、可靠的应用软件安装包。
背景技术
现有技术中,用户为了在其计算机上安装一份应用软件,通常需要从某处获得该软件的安装包,获取的主要来源从原始的软盘,到光盘、U盘,一直在变化。在互联网大发展后,现在的应用软件常常是从网上下载,即由软件厂商在其主页上提供软件安装包的下载链接,用户根据该链接,从软件厂商的下载服务器下载该软件安装包后进行安装。
但是,现有技术中,这种根据下载链接从某个下载服务器下载软件的方法具有缺陷,首先,下载服务器在软件发布初期可能需要承受大量的下载请求,从而导致下载缓慢,甚至中断下载,可靠性降低;其次,下载服务器如果出现故障、黑客入侵时,软件的安全性就会受到威胁。此外,对于需要保密的软件安装包(例如软件厂商指定在某个时刻才可以下载,之前需要保密),下载链接也很容易被提前泄露出去。
发明内容
为了解决上述技术问题,本发明提供了一种高安全性的软件安装方法。
为了达到上述目的,本发明所采用的技术方案是:
一种高安全性的软件安装方法,该方法使用n台云端服务器为软件下载提供云服务,并使用一台管理服务器作为软件安装包的分发中心,用户的计算机内安装有云客户端,通过云客户端进行软件安装,云客户端中预先安装了管理服务器的数字证书,n>2,该方法的步骤包括:
步骤1:软件厂商将软件安装包上传到管理服务器上,管理服务器使用数字签名算法对软件安装包进行数字签名,获得签名结果,即S=R(A,K),其中A是软件安装包,K是管理服务器的私钥,S是签名结果,R是数字签名算法,管理服务器将所述签名结果上传到每一台云端服务器;
步骤2:管理服务器使用有限域算法处理该软件安装包,从而生成n个子安装包,并将每个子安装包分别上传到一台云端服务器中,所述子安装包中的任意t个可以通过有限域重构算法重构出软件安装包,其中t是一个预先确定的数值,1<t<n;
步骤3:用户在其计算机上使用云客户端连接n台云端服务器,从n台云端服务器上分别下载其保存的子安装包以及签名结果;
步骤4:当所有下载都结束后,云客户端检查其下载获得的子安装包数量,如果下载的子安装包数量小于t,则云客户端向用户报告下载失败,流程结束,如果下载的子安装包数量大于等于t,则继续执行下列步骤;
步骤5:云客户端核对所有下载获得的签名结果,如果所有签名结果都各不相同,则云客户端向用户报告下载失败,流程结束,否则采用相同数量最多的签名结果作为正确的签名结果;
步骤6:令i=1,云客户端从下载的所有子安装包中随机选择t个子安装包集合,记为集合Ai
步骤7:对选择的集合Ai使用有限域重构算法进行计算,重构出软件安装包;
步骤8:使用管理服务器的数字证书和步骤5获得的签名结果,对步骤7获得的软件安装包进行数字签名验证,如果验证通过,则执行该软件安装包进行软件安装,流程结束;如果验证不通过,则继续执行下列步骤;
步骤9:令i增加1,并重新从下载的所有子安装包中随机选择t个子安装包集合Ai,且对任意的j<i,满足条件Ai≠Aj,j为整数;如果找不到满足该条件的集合,则云客户端向用户报告下载失败,流程结束,否则转到步骤7。
其中n=10,t=6。
其中所述n台云端服务器编号为cloud 1,cloud 2,…………,cloud n;
所述有限域算法的具体步骤如下:
1)管理服务器选择一个素数p,在有限域GF(p)中随机选择t-1个数a1,a2,…,at-1,从而构造一个t-1次多项式f(x),即
其中,p是一个预先确定的公开的素数,但是a1,a2,…,at-1保密,只有产生它们的管理服务器知道,x是自变量,k为整数,1≤k<t;
2)管理服务器计算f(1),f(2),……,f(n),获得n个函数值,每个函数值做为一个子安装包;
3)管理服务器将f(j1)上传到cloud j1,1≤j1≤n。
其中ak在GF(p)上满足:ak mod k=0。
其中所述有限域重构算法的具体步骤如下:
1)获取t个子安装包,以及每个子安装包对应的云端服务器编号;
2)基于上述t个子安装包及对应的云端服务器编号,重构出多项式f(x),从而获得软件安装包。
有益效果:本发明提出了一种高安全性的软件安装方法,该软件安装方法使用多台云端服务器存储软件安装包,用户通过云客户端从云端服务器下载软件并安装。其中软件安装包并不是每台云端服务器各存储一个,而是通过本发明的有限域算法,将软件安装包的有限域计算结果(即子安装包)分别存储在各个云端服务器上,云客户端只有获得其中预定数量的子安装包,通过有限域重构算法,才能获得软件安装包,从而大大提高了软件安装的容错性、鲁棒性、安全性和可靠性。
附图说明
图1:实现本发明软件安装方法的系统结构
具体实施方式
如图1所示,本发明提供了n台云端服务器为软件下载提供云服务,n>2,另外还提供了一台管理服务器作为软件的分发中心。用户计算机安装有云客户端,通过云客户端进行软件安装,管理服务器具有其数字证书和对应的私钥,该数字证书已预先安装到云客户端中。
软件安装的主要步骤流程如下:
步骤1:软件厂商将软件安装包上传到管理服务器上,管理服务器使用数字签名算法对软件安装包进行数字签名,获得签名结果,即S=R(A,K),其中A是软件安装包,K是管理服务器的私钥,S是签名结果,R是数字签名算法。数字签名算法可以采用任意一种公知的数字签名算法。然后,管理服务器将所述签名结果上传到每一台云端服务器。
步骤2:管理服务器使用有限域算法处理该软件安装包,从而生成n份子安装包并上传到云端服务器(详细的有限域算法在下面说明),每一份子安装包都上传到一台云端服务器上保存,从而每台云端服务器都存储了一份子安装包。
本发明所提出的有限域算法具有这样的特性:只要获得n份子安装包中的t份,就可以通过计算重构出软件安装包,如果获得的子安装包数量小于t份,就无法重构出软件安装包,其中t是一个预先设定的数值,1<t<n。优选的,n=10,t=6,只要获得10份子安装包中的6份,就可以重构出完整的软件安装包,如果小于6份,就无法重构。
步骤3:用户在其计算机上使用云客户端连接n台云端服务器,从n台云端服务器上分别下载其保存的子安装包以及签名结果。
步骤4:由于各种原因,从云端服务器的下载可能被拒绝或者被中断,但是无论每个下载是否成功,当所有下载都结束后,云客户端检查其下载获得的子安装包数量,如果下载的子安装包数量小于t,则云客户端向用户报告下载失败,流程结束,如果下载的子安装包数量大于等于t,则继续执行下列步骤。
步骤5:云客户端核对所有下载获得的签名结果,从理论上说,下载的n个签名结果都应该是相同的,但是可能由于网络传输错误等原因,少数下载的签名结果与其他签名结果不一致。因此,云客户端采用少数服从多数的原则,剔除少数与其他签名结果不一致的签名结果,采用相同数量最多的签名结果作为正确的签名结果。如果所有签名结果都各不相同,则云客户端向用户报告下载失败,流程结束,否则继续执行下列步骤。
步骤6:令i=1,云客户端从下载的所有子安装包中随机选择t个子安装包集合,设为Ai
步骤7:对选择的集合Ai使用有限域重构算法(具体算法在下面说明)进行计算,重构出软件安装包。
步骤8:使用管理服务器的数字证书和步骤5获得的签名结果,对软件安装包进行数字签名验证,如果验证通过,则执行该软件安装包进行软件安装,流程结束。如果验证不通过,则继续执行下列步骤。
步骤9:令i增加1,并重新从下载的所有子安装包中随机选择t个子安装包集合Ai,且对任意的j<i,满足条件Ai≠Aj,j为整数;如果找不到满足该条件的集合,则云客户端向用户报告下载失败,流程结束,否则转到步骤7。
有限域算法:
以下说明有限域算法的具体过程:
1)管理服务器选择一个素数p,在有限域GF(p)中随机选择t-1个数a1,a2,…,at-1,从而构造一个t-1次多项式f(x):
这里,p可以是一个预先确定的公开的素数,但是a1,a2,…,at-1保密,只有产生它们的管理服务器知道,x是自变量,k为整数,1≤k<t。
2)管理服务器计算f(1),f(2),……,f(n),获得n个函数值,这就是n个子安装包。
3)对云端服务器进行编号,设为cloud 1,cloud 2,…………,cloud n,管理服务器将f(j1)上传到cloud j1,1≤j1≤n。
在一个优选方案中,上述各个ak的选择不能是任意的,本申请的有限域算法的特性要求至少需要t个子安装包才能重构软件安装包,而t-1个子安装包不行,为了满足这一特性,同时为了抵御黑客的强度攻击和中间人攻击,具有雪崩效应,从数学强度的分析看,应该使ak在GF(p)上满足:ak mod k=0。
有限域重构算法:
以下说明有限域重构算法,用于使用n个子安装包(即f(1),f(2),……,f(n))中的t个子安装包重构软件安装包。
1)获取t个子安装包,以及每个子安装包对应的云端服务器编号(即云客户端在下载获得每个子安装包时,需要记录从哪个编号的云端服务器下载的)。
2)由于函数f(x)是一个t-1次多项式,基于上述t个子安装包,可重构出该多项式曲线。也就是说,只要获得t个云端服务器所存储的t个函数值以及云端服务器的编号,将其代入f(x),就可以构造出t个t元一次方程,求解这个方程组就可以计算出软件安装包。
基于本发明的软件安装方法,软件厂商实际上将软件安装包存放于n台云端服务器上,并且需要其中t台云端服务器,才可以重构软件安装包。这样一方面容错性大大提高,即使有少数云端服务器出现故障,只要故障服务器不超过n-t台,云客户端也仍然可以获得软件安装包;另一方面,对于需要保密的软件安装包,其安全性也可以获得提高,因为黑客如果需要获得该软件安装包,其至少需要获得t台云端服务器的控制权,其难度无疑大大提高。在实际应用中,n台云端服务器可以放置在不同地方,有不同的管理人员,采用不同的系统和存储方式,这样想要同时攻击t台云端服务器几乎就是不可能的。最后,用户在下载软件安装包时,下载流量分布在n台云端服务器上,并且只要有t个下载成功即可,从而可以减轻服务器的负荷,提高下载可靠性,通过数字签名的使用,也保证了下载的完整性和可靠性。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (3)

1.一种高安全性的软件安装方法,其特征在于,该方法使用n台云端服务器为软件下载提供云服务,并使用一台管理服务器作为软件安装包的分发中心,用户的计算机内安装有云客户端,通过云客户端进行软件安装,云客户端中预先安装了管理服务器的数字证书,n>2,该方法的步骤包括:
步骤1:软件厂商将软件安装包上传到管理服务器上,管理服务器使用数字签名算法对软件安装包进行数字签名,获得签名结果,即S=R(A,K),其中A是软件安装包,K是管理服务器的私钥,S是签名结果,R是数字签名算法,管理服务器将所述签名结果上传到每一台云端服务器;
步骤2:管理服务器使用有限域算法处理该软件安装包,从而生成n个子安装包,并将每个子安装包分别上传到一台云端服务器中,每台云端服务器存储一个子安装包,所述子安装包中的任意t个可以通过有限域重构算法重构出软件安装包,其中t是一个预先确定的数值,1<t<n;
步骤3:用户在其计算机上使用云客户端连接n台云端服务器,从n台云端服务器上分别下载其保存的子安装包以及签名结果;
步骤4:当所有下载都结束后,云客户端检查其下载获得的子安装包数量,如果下载的子安装包数量小于t,则云客户端向用户报告下载失败,流程结束,如果下载的子安装包数量大于等于t,则继续执行下列步骤;
步骤5:云客户端核对所有下载获得的签名结果,如果所有签名结果都各不相同,则云客户端向用户报告下载失败,流程结束,否则采用相同数量最多的签名结果作为正确的签名结果;
步骤6:令i=1,云客户端从下载的所有子安装包中随机选择t个子安装包集合,记为集合Ai
步骤7:云客户端对选择的集合Ai使用有限域重构算法进行计算,重构出软件安装包;
步骤8:使用管理服务器的数字证书和步骤5获得的签名结果,对步骤7获得的软件安装包进行数字签名验证,如果验证通过,则执行该软件安装包进行软件安装,流程结束;如果验证不通过,则继续执行下列步骤;
步骤9:令i增加1,并重新从下载的所有子安装包中随机选择t个子安装包集合Ai,且对任意的j<i,满足条件Ai≠Aj,j为整数;如果找不到满足该条件的集合,则云客户端向用户报告下载失败,流程结束,否则转到步骤7;
其中所述n台云端服务器编号为cloud 1,cloud 2,…………,cloud n;
所述有限域算法的具体步骤如下:
1)管理服务器选择一个素数p,在有限域GF(p)中随机选择t-1个数a1,a2,…,at-1,从而构造一个t-1次多项式f(x),即
其中,p是一个预先确定的公开的素数,但是a1,a2,…,at-1保密,只有产生它们的管理服务器知道,x是自变量,k为整数,1≤k<t;
2)管理服务器计算f(1),f(2),……,f(n),获得n个函数值,每个函数值做为一个子安装包;
3)管理服务器将f(j1)上传到cloud j1,1≤j1≤n;
其中ak在GF(p)上满足:akmod k=0。
2.如权利要求1所述的高安全性的软件安装方法,其中n=10,t=6。
3.如权利要求1-2任意一项所述的高安全性的软件安装方法,其中所述有限域重构算法的具体步骤如下:
1)获取t个子安装包,以及每个子安装包对应的云端服务器编号;
2)基于上述t个子安装包及对应的云端服务器编号,重构出多项式f(x),从而获得软件安装包。
CN201510649088.4A 2015-10-09 2015-10-09 一种高安全性的软件安装方法 Active CN105391757B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510649088.4A CN105391757B (zh) 2015-10-09 2015-10-09 一种高安全性的软件安装方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510649088.4A CN105391757B (zh) 2015-10-09 2015-10-09 一种高安全性的软件安装方法

Publications (2)

Publication Number Publication Date
CN105391757A CN105391757A (zh) 2016-03-09
CN105391757B true CN105391757B (zh) 2018-09-25

Family

ID=55423587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510649088.4A Active CN105391757B (zh) 2015-10-09 2015-10-09 一种高安全性的软件安装方法

Country Status (1)

Country Link
CN (1) CN105391757B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302720B (zh) * 2016-08-13 2019-12-13 青岛莱月网络科技有限公司 一种用于区块链可生存存储系统及其方法
CN111708567B (zh) * 2020-05-06 2023-05-23 北京五八信息技术有限公司 一种应用程序的处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1659488A1 (en) * 2004-11-17 2006-05-24 Alcatel Method of providing software components to nodes in a telecommunication network
CN101551843A (zh) * 2009-05-06 2009-10-07 深圳市融创天下科技发展有限公司 一种移动通信装置应用软件包的签名方法
US7703145B2 (en) * 2003-07-25 2010-04-20 Aviation Communication & Surveillance Systems Llc Data update authorization
CN103577503A (zh) * 2012-08-10 2014-02-12 鸿富锦精密工业(深圳)有限公司 云端文件存储系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7703145B2 (en) * 2003-07-25 2010-04-20 Aviation Communication & Surveillance Systems Llc Data update authorization
EP1659488A1 (en) * 2004-11-17 2006-05-24 Alcatel Method of providing software components to nodes in a telecommunication network
CN101551843A (zh) * 2009-05-06 2009-10-07 深圳市融创天下科技发展有限公司 一种移动通信装置应用软件包的签名方法
CN103577503A (zh) * 2012-08-10 2014-02-12 鸿富锦精密工业(深圳)有限公司 云端文件存储系统及方法

Also Published As

Publication number Publication date
CN105391757A (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
Ren et al. Dynamic proofs of retrievability for coded cloud storage systems
US9009463B2 (en) Secure delivery of trust credentials
CN107426165B (zh) 一种支持密钥更新的双向安全云存储数据完整性检测方法
CN109194466A (zh) 一种基于区块链的云端数据完整性检测方法及系统
CN109474606A (zh) 文件传输方法、装置、计算机设备及存储介质
US10447696B2 (en) Method for proving retrievability of information
US10554417B2 (en) Script verification using a hash
US10333716B2 (en) Script verification using a digital signature
CN106254374A (zh) 一种具备去重功能的云数据公开审计方法
CN105262589B (zh) 数据安全校验方法、装置及校验设备
JP2017509053A5 (zh)
CN105228157B (zh) 一种无线传感器网络安全轻量重编程方法
CN104836656B (zh) 一种视频文件的存储和传输方法
CN109194625A (zh) 一种基于云端服务器的客户端应用保护方法、装置及存储介质
CN105072086A (zh) 一种基于MapReduce的云存储批量审计方法
CN105227545A (zh) 智能操作平台中实现用户和开发者划分控制的系统及方法
CN105391757B (zh) 一种高安全性的软件安装方法
CN110362984A (zh) 多设备运行业务系统的方法及装置
CN111090386A (zh) 一种云存储方法、装置、系统和计算机设备
CN107172027A (zh) 证书管理方法、存储设备、存储介质和装置
CN108400955A (zh) 一种网络攻击的防护方法及系统
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
CN105338004B (zh) 云环境下低性能设备适用的具有隐私保护的公开审计方法
Srisakthi et al. Towards the design of a secure and fault tolerant cloud storage in a multi-cloud environment
CN107148629B (zh) 一次性认证系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190612

Address after: 210000 Tianyuan East Road 1009, Jiangning District, Nanjing, Jiangsu Province (Jiangning High-tech Zone)

Patentee after: Nanjing Jingyun Network Technology Co., Ltd.

Address before: 211167 1 Hong Kong Avenue, Jiangning Science Park, Nanjing, Jiangsu

Patentee before: Nanjing Institute of Technology

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 210000 Tianyuan East Road 1009, Jiangning District, Nanjing, Jiangsu Province (Jiangning High-tech Zone)

Patentee after: Jiangsu kaoyue Technology Co.,Ltd.

Address before: 210000 Tianyuan East Road 1009, Jiangning District, Nanjing, Jiangsu Province (Jiangning High-tech Zone)

Patentee before: Nanjing Jingyun Network Technology Co.,Ltd.