CN102509034B - 一种软件许可控制装置的软件许可控制方法 - Google Patents
一种软件许可控制装置的软件许可控制方法 Download PDFInfo
- Publication number
- CN102509034B CN102509034B CN201110291431.4A CN201110291431A CN102509034B CN 102509034 B CN102509034 B CN 102509034B CN 201110291431 A CN201110291431 A CN 201110291431A CN 102509034 B CN102509034 B CN 102509034B
- Authority
- CN
- China
- Prior art keywords
- software
- license
- file
- software license
- cloud computing
- 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
Links
Abstract
本发明涉及软件版权保护技术领域,尤其是一种软件许可控制装置的软件许可控制方法。所述装置包括软件许可生成器、软件许可文件和云计算操作系统。本发明提供了一种克服序列号、网络验证、硬件加密等方法缺陷的方便管理与易于控制的软件保护方法,可广泛应用于云计算操作系统等软件产品的保护中。
Description
技术领域
本发明涉及软件版权保护技术领域,尤其是一种软件许可控制装置的软件许可控制方法。
背景技术
软件许可控制,指的是对软件的版权保护;使用软件必须取得授权,且使用软件过程中受到许可证的控制,有效防止非法盗用软件和越权使用软件。传统的软件保护一般使用序列号、网络验证、硬件加密等方法。
软件序列号:这也是使用最为普遍的软件保护方式,通过取得机器特征码后通过一个单向函数变换后生成序列号,与用户输入的序列号进行比对;如果相同则允许用户使用软件。使用序列号软件保护方法,实现简单,能够控制用户是否能够使用软件,但是不能基于复杂规则的软件许可控制。
网络验证法:软件启动时把使用者信息发送到远程服务器检测,针对返回的结果来控制用户的软件使用行为。此方法要求联网操作,且必须配置专门的认证服务器,适合网络软件的保护或者会员制软件的保护。
硬件加密法:软件服务提供商在提供软件时同时提供一个加密硬件(加密芯片),俗称加密狗,加密狗中存有用户许可信息,或者使用智能芯片,加密芯片参与到软件运行过程中的计算环节。这方法可以很好的解决软件许可问题,但是无疑间增加了软件的成本。
本专利对云计算操作系统提出了一种高安全性的软件许可控制装置。为保证本装置的高安全性,引入了多种加密算法:RSA非对称加密算法和AES对称加密算法。下文对这些概念进行简要概述。
云计算(Cloud Computing)是2007年诞生的新名词,目前仍没有公认的定义。云计算是一种商业计算模型,它将计算任务分部在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。而云计算操作系统是云计算后台的整体管理运营系统,它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统。
发明内容
本发明解决的技术问题在于提供一种软件许可控制装置的软件许可控制方法,可更详细的控制软件的许可行为。
本发明解决上述技术问题的技术方案是:
所述的控制装置包括有软件许可生成器、软件许可文件和云计算操作系统;
软件许可生成器,用来对许可证输入文件进行处理,生成软件许可文件,同时会产生随机的密钥信息,用于许可证输入文件的处理,以及加入到受保护的软件中,用来进行许可证的验证操作;
软件许可文件,软件许可文件保存有相应的许可信息,如机器许可信息、时限许可信息、配置许可信息;受保护软件运行时,必须加载许可证文件,并按许可证配置的许可下运行;
云计算操作系统,受保护的目标软件,包括物理机器安装运行许可、软件运行期限许可、软件运行资源配置许可;所述的方法包括步骤如下:
第1步,按照云计算操作系统配置许可证输入文件;
第2步,生成RSA密钥,并保存;
第3步,使用RSA私钥对许可证输入文件追加签名,即对软件许可文件签名后,把签名值追加到原许可文件最后面;
第4步,生成AES密钥,并保存;
第5步,使用AES密钥对签名后的软件许可文件进行加密;
第6步,把上述步骤产生的RSA公钥、AES密钥加入到云计算操作系统软件中;
第7步,在云计算操作系统软件中验证软件许可文件,取得AES密钥解密软件许可文件后使用RSA公钥进行签名验证;如果验证通过则可以按软件许可文件控制云计算操作系统软件控制其许可,验证失败则拒绝用户使用此软件;
所述的配置许可证输入文件有机器运行许可、运行时限许可、可管理资源许可。
使用1024位RSA算法。
使用256位AES密钥。
使用本发明的方法实现软件的保护与许可控制,基于属性文件制作许可证文件;相对于软件序列号,能够更详细的控制软件的许可行为。例如:不仅能够控制用户是否可以使用软件,而且能够通过许可证文件控制用户可以怎么样使用软件,在实例中,对云计算操作系统软件的保护,能控制到用户能使用多少计算资源等。和网络验证相比,本实现方案不依赖于网络,在没有网络的情况下同样能使用。与硬件加密法相比,则最大的特点在于不需要额外的硬件投入,节省成本。本发明很好的实现了软件的保护,防止软件非法使用与逾期逾 权限使用等问题。本发明综合使用了非对称加密算法和对称加密算法,其中非对称算法用于签名验证,在保证许可不可篡改的前提下兼顾算法时间复杂度;使用对称加密算法对签名后的许可文件进行加密操作,保证了许可证不容易被用户猜测,同时对称算法的效率相对非对称加密算法大大提高,保证了系统的运行效率。本发明使用一种简单有效且可以扩展的方式实现软件保护,维护软件版权,增加盗版难度或者延长软件破解时间,尽可能的防止软件被非法使用。完善的许可证文件配置,比单一的软件序列号方式能更好的实现许可控制,不但可以控制软件是否可以使用,而且能控制到可以使用哪些模块,以及各个模块中更详细许可控制。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明的整体架构事宜图;
图2是本发明的软件许可证生成器示意图;
图3是本发明的软件许可证验证示意图。
具体实施方式
见附图1所示,控制装置包括有软件许可生成器、软件许可文件和云计算操作系统;软件许可生成器,用来对许可证输入文件进行处理,生成软件许可文件,同时会产生随机的密钥信息,用于许可证输入文件的处理,以及加入到受保护的软件中,用来进行许可证的验证操作。软件许可文件,软件许可文件保存有相应的许可信息,如机器许可信息、时限许可信息、配置许可信息等;受保护软件运行时,必须加载许可证文件,并按许可证配置的许可下运行。云计算操作系统,受保护的目标软件,包括物理机器安装运行许可、软件运行期 限许可、软件运行资源配置许可等。
见附图2、3所示,是本发明的软件许可控制方法软件许可证生成器和软件许可证验证示意图。使用本方法对云计算操作系统进行软件保护,具体步骤如下:
第1步,生成许可文件;
首先根据受保护软件许可控制需要创建一个软件许可文件,如客户机器特征码、软件使用期限、软件可以管理资源个数等。再使用许可证生成器生成一对1024位RSA密钥对,一个256位的AES密钥。使用RSA私钥对许可证追加签名后使用AES加密保存即为我们需要的软件许可文件。RSA签名保证了软件许可文件的不可篡改性,AES加密保证了软件许可文件的不可猜测性。
第2步,在云计算操作系统软件中载入许可文件,并验证软件许可文件;
把生成的软件许可文件放到受保护的云计算操作系统软件中,在系统启动时先检测是否存在软件许可文件,如果软件许可文件不存在则表示软件未被许可,软件会自动退出。检测到许可文件后,首先用第一步中保存的AES密钥解密许可证文件,解密成功后检查是否存在许可特征码,如果不存在或解密出错,则表示软件许可文件错误或者被篡改,为非法使用软件,系统退出。解密成功后,使用第一步保存的RSA公钥验证许可证签名,如果签名验证不通过则表示许可文件被篡改,系统将拒绝用户继续使用软件,达到保护的目的。
第3步,通过许可文件控制系统;
软件许可文件检测通过后,系统根据设定的许可控制系统的运行,例如:可以使用的期限,可以控制的资源节点个数,具体控制情况会根据受保护软件有相应的调整。
本发明所述的RSA非对称加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
本发明所述的AES对称密钥加密算法为密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
Claims (3)
1.一种软件许可控制装置的软件许可控制方法,其特征在于:所述的控制装置包括有软件许可生成器、软件许可文件和云计算操作系统;
软件许可生成器,用来对许可证输入文件进行处理,生成软件许可文件,同时会产生随机的密钥信息,用于许可证输入文件的处理,以及加入到受保护的软件中,用来进行许可证的验证操作;
软件许可文件,软件许可文件保存有相应的许可信息,如机器许可信息、时限许可信息、配置许可信息;受保护软件运行时,必须加载许可证文件,并按许可证配置的许可下运行;
云计算操作系统,受保护的目标软件,包括物理机器安装运行许可、软件运行期限许可、软件运行资源配置许可;所述的方法包括步骤如下:
第1步,按照云计算操作系统配置许可证输入文件;
第2步,生成RSA密钥,并保存;
第3步,使用RSA私钥对许可证输入文件追加签名,即对软件许可文件签名后,把签名值追加到原许可文件最后面;
第4步,生成AES密钥,并保存;
第5步,使用AES密钥对签名后的软件许可文件进行加密;
第6步,把上述步骤产生的RSA公钥、AES密钥加入到云计算操作系统软件中;
第7步,在云计算操作系统软件中验证软件许可文件,取得AES密钥解密软件许可文件后使用RSA公钥进行签名验证;如果验证通过则可以按软件许可文件控制云计算操作系统软件控制其许可,验证失败则拒绝用户使用此软件;
所述的配置许可证输入文件有机器运行许可、运行时限许可、可管理资源许可。
2.根据权利要求1所述的软件许可控制方法,其特征在于:使用1024位RSA算法。
3.根据权利要求1或2所述的软件许可控制方法,其特征在于:使用256位AES密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110291431.4A CN102509034B (zh) | 2011-09-30 | 2011-09-30 | 一种软件许可控制装置的软件许可控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110291431.4A CN102509034B (zh) | 2011-09-30 | 2011-09-30 | 一种软件许可控制装置的软件许可控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102509034A CN102509034A (zh) | 2012-06-20 |
CN102509034B true CN102509034B (zh) | 2014-11-26 |
Family
ID=46221117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110291431.4A Active CN102509034B (zh) | 2011-09-30 | 2011-09-30 | 一种软件许可控制装置的软件许可控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102509034B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951741A (zh) * | 2017-03-15 | 2017-07-14 | 北京深思数盾科技股份有限公司 | 一种软件许可管理方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440441A (zh) * | 2013-08-28 | 2013-12-11 | 北京华胜天成科技股份有限公司 | 软件保护的方法及系统 |
CN103634110B (zh) * | 2013-11-01 | 2017-01-25 | 国云科技股份有限公司 | 一种适用于云计算的许可证控制方法 |
CN103841200B (zh) * | 2014-03-10 | 2017-03-29 | 上海华虹宏力半导体制造有限公司 | 一种软件许可的控制方法和装置 |
CN104573475A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 转码服务程序认证的方法和系统 |
CN106789891A (zh) * | 2016-11-22 | 2017-05-31 | 国云科技股份有限公司 | 一种适用于IaaS云平台的多维度软件授权控制方法 |
CN108268767A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | Web应用程序授权方法及装置 |
CN107679371A (zh) * | 2017-09-25 | 2018-02-09 | 用友网络科技股份有限公司 | 软件许可控制方法、装置、计算机设备和可读存储介质 |
CN109873711A (zh) * | 2017-12-05 | 2019-06-11 | 北京金山云网络技术有限公司 | 一种云平台管理方法、装置、电子设备及可读存储介质 |
CN110502872B (zh) * | 2019-07-04 | 2022-01-18 | 天脉聚源(杭州)传媒科技有限公司 | 基于分析的作品数据处理方法、系统、装置和存储介质 |
CN110493723A (zh) * | 2019-08-16 | 2019-11-22 | 豪位控股有限公司 | 信标标识码可变的室内定位导航系统 |
CN113127809A (zh) * | 2019-12-30 | 2021-07-16 | 中兴通讯股份有限公司 | 产品许可管理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916415A (zh) * | 2010-08-06 | 2010-12-15 | 西北工业大学 | 一种“云计算”平台中软件许可证的按需服务方法 |
US20110131134A1 (en) * | 2009-11-30 | 2011-06-02 | James Michael Ferris | Methods and systems for generating a software license knowledge base for verifying software license compliance in cloud computing environments |
-
2011
- 2011-09-30 CN CN201110291431.4A patent/CN102509034B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131134A1 (en) * | 2009-11-30 | 2011-06-02 | James Michael Ferris | Methods and systems for generating a software license knowledge base for verifying software license compliance in cloud computing environments |
CN101916415A (zh) * | 2010-08-06 | 2010-12-15 | 西北工业大学 | 一种“云计算”平台中软件许可证的按需服务方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951741A (zh) * | 2017-03-15 | 2017-07-14 | 北京深思数盾科技股份有限公司 | 一种软件许可管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102509034A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102509034B (zh) | 一种软件许可控制装置的软件许可控制方法 | |
EP3286867B1 (en) | Method, apparatus, and system for cloud-based encryption machine key injection | |
CN103716157B (zh) | 分组多密钥加密方法及装置 | |
CN102725737B (zh) | 可验证防泄漏的加密和解密 | |
CN111130757A (zh) | 一种基于区块链的多云cp-abe访问控制方法 | |
CN109034796B (zh) | 基于联盟链的交易监管方法、电子装置及可读存储介质 | |
CN104052606B (zh) | 数字签名、签名认证装置以及数字签名方法 | |
CN104573549A (zh) | 一种可信的数据库机密性保护方法及系统 | |
CN110889696A (zh) | 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质 | |
CN111859446A (zh) | 一种农产品溯源信息共享-隐私保护的方法及系统 | |
CN103560892A (zh) | 密钥生成方法和密钥生成装置 | |
CN103701787A (zh) | 一种基于公开密钥算法实现的用户名口令认证方法 | |
CN104092551B (zh) | 一种基于rsa算法的安全密钥传输方法 | |
CN104396182A (zh) | 加密数据的方法 | |
CN104660590A (zh) | 一种文件加密安全云存储方案 | |
CN103404073A (zh) | 针对无源监听的保护 | |
CN105095695A (zh) | 经由白箱实现的不正确功能行为实现授权 | |
CN106385313A (zh) | 基于分组加密算法的随机密文系统及实现方法 | |
CN102811124B (zh) | 基于两卡三码技术的系统验证方法 | |
CN106789053A (zh) | 随机密文生成方法及系统、解密方法及系统 | |
CN105933117A (zh) | 一种基于tpm秘钥安全存储的数据加解密装置和方法 | |
CN1645796A (zh) | 采用双重认证协议来防止用户口令被盗用的方法 | |
EP3010173B1 (en) | Key storage device, key storage method, and program therefor | |
CN107391974A (zh) | 一种软件保护装置数据的备份方法及装置 | |
CN112437042A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |