CN117056878A - 一种License授权认证集中管理方法 - Google Patents
一种License授权认证集中管理方法 Download PDFInfo
- Publication number
- CN117056878A CN117056878A CN202310739977.4A CN202310739977A CN117056878A CN 117056878 A CN117056878 A CN 117056878A CN 202310739977 A CN202310739977 A CN 202310739977A CN 117056878 A CN117056878 A CN 117056878A
- Authority
- CN
- China
- Prior art keywords
- license
- authorization
- key
- information
- rsa
- 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.)
- Pending
Links
- 238000013475 authorization Methods 0.000 title claims abstract description 221
- 238000007726 management method Methods 0.000 title claims abstract description 72
- 238000012795 verification Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims description 25
- 150000003839 salts Chemical class 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000006073 displacement reaction Methods 0.000 claims description 5
- 230000002441 reversible effect Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 description 13
- 238000006467 substitution reaction Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000005336 cracking Methods 0.000 description 3
- 241001441724 Tetraodontidae Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种License授权认证集中管理方法,步骤:S1:配置License授权信息生成License授权文件;S2:上传License授权到集中管理平台并解析;S3:验证授权信息是否正确,若正确则验证通过,转至步骤S4,若不正确则验证不通过,提示授权信息错误并结束;S4:再验证授权信息是否过期,若在有效期内则验证通过,转至步骤S5;若已过期,则提示已过期并结束;S5:将步骤S4中验证通过的授权信息与授权的节点组合加密成加密授权信息;S6:校验每个授权的节点的加密授权信息,若通过验证则根据授权信息对节点进行授权,若未通过验证则提示授权问题终止启动并结束。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于RSA+AES加密算法的License授权认证集中管理方法。
背景技术
随着计算机技术的快速发展,互联网的普及和信息化程度不断提高,各式各样的软件随着需求不断产生,软件在日常生活中扮演的角色也越来越重要,软件产业已经成为国民经济的重要支柱之一。在软件开发过程中,版权保护问题也越来越受到重视。软件产品的许可证或授权是保护知识产权和确保商业利益的重要手段,在今天的数字时代,软件授权许可已经成为一个复杂多样的领域,涉及不用类型的软件开发和分发模式。
限制软件在限定数量的服务器和限定的时间运行,是软件License授权的核心诉求,同时,还要减少授权过程中的用户工作量,减小更换License授权的难度,授权不易被破解,是软件License授权认证的核心。
目前软件或服务的授权方法也有很多:1)传统许可证密钥:这是一种最基本、最常见的软件授权方式。在购买软件时,用户会获得一个唯一的许可证密钥,然后在软件安装或激活时使用该密钥进行验证。该方法存在信息泄露风险,因为密钥可能被用于多个计算机,并且可能被其他人共享;2)硬件锁:硬件锁是一种将授权信息存储在硬件设备中的软件授权方式。通常使用USB加密狗或PCI卡等硬件设备。当软件启动时,系统会检查硬件设备是否插入,如果正确,则授权通过,否则将无法运行软件。此方法比传统许可证密钥更加安全,因为硬件设备很难被复制或仿造;3)用户名和密码:这是一种在软件上使用用户名和密码进行身份验证的软件授权方法。通常需要用户在软件购买后注册账号,并使用其生成的用户名和密码登录软件。这种方法安全性较差,因为密码可能会被泄露或共享;4)数字签名:数字签名是一种用于验证软件完整性和身份的授权方法。软件开发者可以使用数字证书对软件进行签名,并附加在软件中,当用户安装软件时,系统会检查数字签名是否与软件开发者匹配,以确保软件的完整性和身份。
在中国专利文献CN109257209A中,公开了一种数据中心服务器集中管理系统及方法,其中运维人员是运维工作的执行者,根据运维管理员分配的资源,在符合接入策略的前提下,进行服务器的连接,发起运维操作,具体工作流程包括以下步骤:(1)运维人员通过身份认证模块认证后进入管理系统,查看运维管理员授权的服务器列表,选择需要访问的服务器进行连接访问;(2)运维人员发起访问服务器的申请,访问控制模块根据对运维人员的接入授权和资源授权信息进行访问控制校验,校验通过则允许用户的访问,校验未通过则不允许该用户的操作;(3)运维人员通过校验后,通过运维管理模块实现对对应服务器的连接和操作;操作完成后,运维管理模块关闭服务器的连接,并将对服务器的登录和访问操作会生成登录日志和会话日志,审计日志模块记录登录日志和会话日志以用户通过供用户管理模块查看。
在中国专利文献CN111464298A中,公开了一种本发明提供了一种区块链中的数据处理方法、装置和区块链网络,首先,具有权限查看目标数据的授权节点之间,相互协商用于查看目标数据的密钥;目标数据经密钥加密后,通过授权节点中的背书节点进行背书处理,然后根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该方法通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该方法不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。
在中国专利文献CN112685790A中公开了一种区块链数据安全及隐私保护方法,本发明公开了一种区块链数据安全及隐私保护方法,包括:通过平台系统登录产生的数据进行记录,缓存至各自的数据库中;进行区块链数据存证;将加密后的信息存储在新的数据区块,通过共识机制校验;数据以密文的方式保存在区块链上,依赖区块链账户体系的加密特性进行授权访问;在区块链上仅保留密文,由数据所有者持有密钥,在链外进行数据访问授权,通过智能合约授权列表与账户体系实现数据授权访问,通过智能合约获取解密的密钥,进行解密,将数据发送到用户终端节点,解密后获取数据,将数据反馈。
而传统的授权认证方法存在着安全性和可靠性的问题,因此需要研究一种更为安全可靠的授权认证方法,既能离线状态下又能在线状态下进行加密授权的管理方法,可以有效的防止来自于内部、外部网络的威胁隐患,并通过对不同操作系统的超级用户权限进行合理分散与适度制约,从而降低超级用户权限被窃取后系统被肆意非法操作的风险,实用性强,易于推广。
发明内容
本发明要解决的技术问题是提出一种基于RSA+AES加密算法的License授权认证集中管理方法。
为了解决上述技术问题,本发明采用的技术方案是:该基于RSA+AES加密算法的License授权认证集中管理方法,具体包括以下步骤:
S1:配置License授权信息,生成License授权文件;
S2:上传License授权到集中管理平台,并解析License授权文件获取授权信息;
S3:验证授权信息是否正确,若正确则验证通过,转至步骤S4,若不正确则验证不通过,提示授权信息错误,并结束;
S4:再验证授权信息是否过期,若在有效期内则验证通过,转至步骤S5;若已过期,则提示License授权文件已过期,并结束;
S5:将步骤S4中验证通过的授权信息与授权的节点组合加密成加密授权信息;
S6:校验每个授权的节点的加密授权信息,若通过验证则根据授权信息对节点进行授权,若未通过验证则提示授权问题终止启动并结束。
优选地,所述步骤S1的具体步骤为:
S11配置License授权信息:配置License授权信息包括可授权的节点数量、License发布时间、License有效开始时间、License终止时间、管理平台ID和客户信息,并确定授权文件中包含授权信息;
S12生成密钥:生成AES算法密钥和RSA算法的RSA密钥对,所述密钥对包括公钥和私钥;
S13加密:首先用AES密钥对License信息进行加密,再通过RSA私钥对AES密钥进行签名加密;
S14生成授权文件:组合编码生成License授权文件。
优选地,所述步骤S13中使用RSA密钥对中私钥对AES密钥加密后的授权信息进行RSA签名加密;所述步骤S14中将AES密钥加密后的License信息、License信息长度、AES密钥加密后的授权信息、RSA私钥签名加密后的加密AES密钥进行组装生成License,然后再使用Base64(基于64个可打印字符来表示二进制数据)对License进行编码得到最终的License授权文件。
优选地,所述步骤S2的具体步骤为:
S21:将生成的RSA密钥对中的公钥放置在集中管理平台的配置文件中;
S22:将License授权文件上传到集中管理平台,放置在文件目录下;
S23:使用Base64(基于64个可打印字符来表示二进制数据)对License授权文件进行解码,根据生成规则分割、截取到License授权文件的各项内容。
优选地,所述步骤S3的具体步骤为:使用RSA密钥对中的公钥对RSA私钥签名加密后的加密AES密钥(RsaSign(AesKey16))进行验签解密,并与License中的随机生成的16位AES密钥(AesKey16)进行对比验证,若解密失败,则License信息无效,若验证不通过,则License信息不可信;若验证通过,则转至步骤S4。
优选地,所述步骤S4的具体步骤为:通过解密后的AES密钥对AES加密后的授权信息(AesEnc(data))进行解密,得到License授权码,解析出限定的授权服务器数量、License文件签发时间、License有效开始时间、License有效终止时间、客户信息和管理平台ID,若解密失败,则License信息无效;若解密成功,则验证管理平台ID与当前集中管理平台的ID是否一致,若不一致,则代表该License授权文件不属于该集中管理平台,若一致,则进行步骤S5。
优选地,所述步骤S13中使用AES算法进行加密的具体步骤为:
S131-1密钥扩展:根据输入的密钥生成轮密钥;
S131-2初始轮:将明文分为若干个字节块,使用未扩展的密钥对每个字节块进行一次加密;
S131-3第1至n-1轮加密:对每个字节块进行n-1轮加密,且每轮使用不同的轮密钥进行加密;
S131-4最后一轮:对最后一个字节块进行一次字节替换(SubBytes)、行移位(ShiftRows)和轮密钥加(AddRoundKey)的加密操作;
S131-5输出:将所有字节块加密后得到的密文即为输出结果进行输出;
所述步骤S13中使用RSA算法进行签名加密的具体步骤为:
S132-1:对原始数据进行哈希处理,即使用SHA-256哈希算法生成摘要;
S132-2:使用发送方的私钥对摘要进行加密,即使用RSA算法中的私钥加密函数完成加密,得到数字签名;
S132-3:将数字签名附加到原始数据上,从而得到已签名的数据。
AES算法,全称Advanced Encryption Standard,是一种对称密钥加密算法,它于2001年被美国联邦政府选中作为其加密标准,并且在全球范围内得到广泛使用。AES具有很高的安全性、效率和灵活性,因此成为目前应用最广泛的加密算法之一。RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法。RSA加密算法有一对密钥,包含一个公开密钥,一个私有密钥,私钥用来加密,得到数字签名,公钥用来解密,使用私钥加密后得到的签名数据,只有通过对应的公钥才能进行解密得到原始数据。
优选地,所述步骤S3中使用AES算法进行解密的具体步骤为:
S311-1密钥扩展:根据输入的密钥生成轮密钥;
S311-2初始轮:与加密过程相反,将密文分为若干个字节块,使用未扩展的密钥对每个字节块进行一次解密;
S311-3第1至n-1轮:对每个字节块进行n-1轮解密,且每轮使用不同的轮密钥进行解密;
S311-4最后一轮:对最后一个字节块进行一次反字节替换(InvSubBytes)、反行位移(InvShiftRows)和轮密钥加(AddRoundKey)的解密操作;
S311-5输出:所有字节块解密后得到的明文即为输出结果进行输出;
所述步骤S31中使用RSA算法中的公钥进行验签解密的具体步骤为:
S312-1:首先从发送方处获取公钥;
S312-2:对原始数据进行哈希处理,即使用SHA-256哈希算法生成摘要;
S312-3:使用发送方的公钥对数字签名进行解密,即使用RSA算法中的公钥加密函数完成解密,得到解密后的摘要;
S312-4:比较解密后的摘要与原始数据哈希值是否相同,若相同,则说明数字签名是有效的,且原始数据没有被篡改。
采用上述技术方案,通过集中管理平台对节点进行授权,节点服务安装在需要被授权的机器上,集中管理平台安装在一台单独的服务器上。将License授权文件上传到集中管理平台,管理平台解析校验授权文件,对节点进行授权激活。通过授权信息维护已授权可使用的节点数量、可使用的时间以及授权到期后的功能限制。首先要配置好授权信息,为了防止授权信息被篡改,还需要对授权信息进行加密,我们采用AES和RSA两种算法组合对授权信息进行加密,再将加密后的信息和密钥组合编码生成一个授权文件,再通过管理平台解析校验授权文件,校验通过后将解密后的授权信息通过Bcrypt算法再次加密生成加密的授权信息。
每次应用程序启动时,集中管理平台管理服务会验证加密的授权信息,是否在授权时间内,每个节点的加密授权信息是否唯一,授权的节点数量是否超过授权信息中限定的授权数量,从而达到授权校验以及用户使用的限制。只有验证通过时,软件才可以正常启动使用。
优选地,在所述步骤S6中根据授权信息中限制的可授权服务器数量对节点进行授权时,为了防止授权信息被篡改,因每个节点均有一个唯一标识码,因此将授权信息与节点的唯一标识码的组合信息通过Bcrypt算法进行加密生成加密授权信息的具体步骤为:
S61:首先在集中管理平台中导入BCrypt类库;
S62:生成一个随机盐值,用于加密哈希的安全性;
S63:将授权信息和节点的唯一标识码的组合信息进行加密,获得加密的授权信息;
S64:存储加密后的授权信息,并将加密后的授权信息存储在数据库或文件中以便将来验证。
Bcrypt是一种密码哈希算法,用于将密码或其他敏感信息转换为固定长度的字符串。它是Blowfish加密算法的变体,并被广泛认为是一种安全可靠的密码存储方法。
优选地,所述步骤S62中使用Bcrypt算法进行加密的具体步骤为:
S621:首先生成一个随机盐值,盐值是一个随机的字符串,在将密码或其他敏感信息哈希之前与原始信息组合在一起,每个哈希都使用不同的盐值;
S622:选择工作因子,用于确定系统计算哈希的迭代次数,增加哈希强度所需的CPU时间和内存成本;
S623:将原始信息和盐值一起输入哈希函数,并进行多重哈希迭代,使得哈希函数的输出将被重新多次输入到哈希函数中,从而增加破解者破解密码的难度;
S624:最后将哈希值和盐值一起存储在数据库或文件中,以便以后进行验证。
相比现有技术,本发明的有益效果是:本发明通过集中管理平台对节点进行授权,节点安装在需要被授权的机器上,集中管理平台安装在一台单独的服务器上,并对配置好的授权信息采用两种加密方法结合进行了加密,将加密后的信息和密钥组合编码生成一个授权文件,再通过管理平台解析校验授权文件,校验通过后将解密后的授权信息通过Bcrypt算法再次加密生成加密的授权信息,有效的防止授权信息被篡改,且该方法既适用于在线授权,也可用于离线授权,可以有效的防止来自于内部、外部网络的威胁隐患,并通过对不同操作系统的超级用户权限进行合理分散与适度制约,从而降低超级用户权限被窃取后系统被肆意非法操作的风险,实用性强,易于推广。
附图说明
图1是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的授权流程示意图;
图2是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的加密解密流程图;
图3是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的授权信息内容;
图4是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的授权文件组成;
图5是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的授权文件生成核心代码:
图6是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的AES算法加密核心代码;
图7是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的RSA算法加密核心代码;
图8是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的授权文件校验核心代码;
图9是本发明的基于RSA+AES加密算法的License授权认证集中管理方法的Bcypt算法加密核心代码。
具体实施方式
下面将结合本发明的实施例图中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
如图1所示,本实施例的基于RSA+AES加密算法的License授权认证集中管理方法,具体包括以下步骤:
S1:配置License授权信息,生成License授权文件;
所述步骤S1的具体步骤为:
S11配置License授权信息:配置License授权信息包括可授权的节点数量、License发布时间、License有效开始时间、License终止时间、管理平台ID和客户信息,并确定授权文件中包含授权信息;如图3所示;
S12生成密钥:生成AES算法密钥和RSA算法的RSA密钥对,所述密钥对包括公钥和私钥;
S13加密:首先用AES密钥对License信息进行加密,再通过RSA私钥对AES密钥进行签名加密;所述步骤S13中使用RSA密钥对中私钥对AES密钥加密后的授权信息进行RSA签名加密;
如何将授权信息上传到集中管理平台并保证不被人篡改,因此需要对授权信息进行加密,所以首先采用AES算法生成一个随机的AES加密密钥用以加密License信息;AES算法,全称Advanced Encryption Standard,是一种对称密钥加密算法,它于2001年被美国联邦政府选中作为其加密标准,并且在全球范围内得到广泛使用。AES具有很高的安全性、效率和灵活性,因此成为目前应用最广泛的加密算法之一;如图4-6所示;
如图2所示,所述步骤S13中使用AES算法进行加密的具体步骤为:
S131-1密钥扩展:根据输入的密钥生成轮密钥;
S131-2初始轮:将明文分为若干个字节块(本实施例中16个),使用未扩展的密钥对每个字节块进行一次加密;
S131-3第1至n-1轮加密:对每个字节块进行n-1轮加密,且每轮使用不同的轮密钥进行加密;
S131-4最后一轮:对最后一个字节块进行一次字节替换(SubBytes)、行移位(ShiftRows)和轮密钥加(AddRoundKey)的加密操作;此处最后一个字节块加密时只进行一次字节替换(SubBytes)、行移位(ShiftRows)和轮密钥加(AddRoundKey)的加密操作;
S131-5输出:将所有字节块加密后得到的密文即为输出结果进行输出;
RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法;RSA加密算法有一对密钥,包含一个公开密钥,一个私有密钥,私钥用来加密,得到数字签名,公钥用来解密,使用私钥加密后得到的签名数据,只有通过对应的公钥才能进行解密得到原始数据;如图7所示,
所述步骤S13中使用RSA算法进行签名加密的具体步骤为:
S132-1:对原始数据进行哈希处理,即使用SHA-256哈希算法生成摘要;
S132-2:使用发送方的私钥对摘要进行加密,即使用RSA算法中的私钥加密函数完成加密,得到数字签名;
S132-3:将数字签名附加到原始数据上,从而得到已签名的数据;
S14生成授权文件:组合编码生成License授权文件;所述步骤S14中将AES密钥加密后的License信息、License信息长度、AES密钥加密后的授权信息、RSA私钥签名加密后的加密AES密钥进行组装生成License,然后再使用Base64(基于64个可打印字符来表示二进制数据)对License进行编码得到最终的License授权文件;
S2:上传License授权到集中管理平台,并解析License授权文件获取授权信息;
所述步骤S2的具体步骤为:
S21:将生成的RSA密钥对中的公钥放置在集中管理平台的配置文件中;
S22:将License授权文件上传到集中管理平台,放置在文件目录下;
S23:使用Base64(基于64个可打印字符来表示二进制数据)对License授权文件进行解码,根据生成规则分割、截取到License授权文件的各项内容;
S3:验证授权信息是否正确,若正确则验证通过,转至步骤S4,若不正确则验证不通过,提示授权信息错误,并结束;
所述步骤S3的具体步骤为:使用RSA密钥对中的公钥对RSA私钥签名加密后的加密AES密钥(RsaSign(AesKey16))进行验签解密,并与License中的随机生成的16位AES密钥(AesKey16)进行对比验证,若解密失败,则License信息无效,若验证不通过,则License信息不可信;若验证通过,则转至步骤S4;
所述步骤S3中使用AES算法进行解密的具体步骤为:
S311-1密钥扩展:根据输入的密钥生成轮密钥,以便在加密过程中使用;
S311-2初始轮:与加密过程相反,将密文分为若干个字节块(本实施例中16个),使用未扩展的密钥对每个字节块进行一次解密;
S311-3第1至n-1轮:对每个字节块进行n-1轮解密,且每轮使用不同的轮密钥进行解密;
S311-4最后一轮:对最后一个字节块进行一次反字节替换(InvSubBytes)、反行位移(InvShiftRows)和轮密钥加(AddRoundKey)的解密操作;最后一个字节块解密时只进行一次反字节替换(InvSubBytes)、反行位移(InvShiftRows)和轮密钥加(AddRoundKey)的解密操作;
S311-5输出:所有字节块解密后得到的明文即为输出结果进行输出;
所述步骤S31中使用RSA算法中的公钥进行验签解密的具体步骤为:
S312-1:首先从发送方处获取公钥;
S312-2:对原始数据进行哈希处理,即使用SHA-256哈希算法生成摘要;
S312-3:使用发送方的公钥对数字签名进行解密,即使用RSA算法中的公钥加密函数完成解密,得到解密后的摘要;
S312-4:比较解密后的摘要与原始数据哈希值是否相同,若相同,则说明数字签名是有效的,且原始数据没有被篡改;
S4:再验证授权信息是否过期,若在有效期内则验证通过,转至步骤S5;若已过期,则提示License授权文件已过期,并结束;
所述步骤S4的具体步骤为:通过解密后的AES密钥对AES加密后的授权信息(AesEnc(data))进行解密,得到License授权码,解析出限定的授权服务器数量、License文件签发时间、License有效开始时间、License有效终止时间、客户信息和管理平台ID,若解密失败,则License信息无效;若解密成功,则验证管理平台ID与当前集中管理平台的ID是否一致,若不一致,则代表该License授权文件不属于该集中管理平台,若一致,则进行步骤S5;如图8所示,为授权文件校验核心代码;
S5:将步骤S4中验证通过的授权信息与授权的节点组合加密成加密授权信息;
S6:校验每个授权的节点的加密授权信息,若通过验证则根据授权信息对节点进行授权,若未通过验证则提示授权问题终止启动并结束。
如图9所示为Bcrypt算法加密核心代码,Bcrypt是一种密码哈希算法,用于将密码或其他敏感信息转换为固定长度的字符串;它是Blowfish加密算法的变体,并被广泛认为是一种安全可靠的密码存储方法;在所述步骤S6中根据授权信息中限制的可授权服务器数量对节点进行授权时,为了防止授权信息被篡改,因每个节点均有一个唯一标识码,因此将授权信息与节点的唯一标识码的组合信息通过Bcrypt算法进行加密生成加密授权信息的具体步骤为:
S61:首先在集中管理平台中导入BCrypt类库;
S62:生成一个随机盐值,用于加密哈希的安全性;
所述步骤S62中使用Bcrypt算法进行加密的具体步骤为:
S621:首先生成一个随机盐值,盐值是一个随机的字符串,在将密码或其他敏感信息哈希之前与原始信息组合在一起,每个哈希都使用不同的盐值,这意味着即使两个用户使用相同的密码,由于使用不同的盐值进行哈希,最终得到的哈希值也将不同;
S622:选择工作因子,用于确定系统计算哈希的迭代次数,增加哈希强度所需的CPU时间和内存成本;较大的工作因子将需要更长的计算时间,但会产生更安全的哈希值;
S623:将原始信息和盐值一起输入哈希函数,并进行多重哈希迭代,使得哈希函数的输出将被重新多次输入到哈希函数中,从而增加破解者破解密码的难度;因此将原始信息和盐值一起输入哈希函数中可以增加计算时间和存储成本,从而提高破解复杂度;
S624:最后将哈希值和盐值一起存储在数据库或文件中,以便以后进行验证;在验证过程中,哈希函数将使用相同的盐值和工作因子对输入数据进行哈希,并将结果与存储的哈希值比较,若结果与存储的哈希值匹配一致,则认为验证成功;
S63:将授权信息和节点的唯一标识码的组合信息进行加密,获得加密的授权信息;
S64:存储加密后的授权信息,并将加密后的授权信息存储在数据库或文件中以便将来验证。
此外,在本实施例中,当节点授权后,集中管理平台定时触发授权状态的维护,维护内容包括:
(1)授权的节点的数量不超过授权信息中限制的可授权节点数量;
(2)数据库中不存在任意两个完全一样的加密授权信息;
(3)授权的节点的授权有效日期是否已经超过授权信息中的授权结束日期;
(4)不能通过修改系统时间而绕过授权到期时间的限制;
(5)不能复制加密授权信息使不同的节点可以使用同一个加密授权信息;
(6)授权到期的节点不能进行被限制的功能操作。
软件版权保护技术作为企业级软件非常重要的一部分在保护软件版权方面起着举足轻重的作用,企业级软件行业从传统的一次性付费授权慢慢向实时在线付费、按期付费、软件租赁、按功能模块付费转变,研究实用的软件版权保护技术具有广泛的应用前景和现实意义。综合各种软件版权保护技术,提高破解者破解软件的成本是保护企业级软件的一种有效手段。该基于RSA+AES加密算法的License授权认证集中管理方法在实际应用中兼顾更多细节结合实际需求进行综合考虑来增加破解难度;同时License验证也是一种数据传输及验证,因此本技术方案也适用于离线/在线数据传输、接口数据传输等数据传输过程中的安全性防拦截、防篡改验证。License控制作为独立的功能模块能够很容易移植到其他企业级软件系统中,因此其具有较强的实用性和通用性。
以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,具体包括以下步骤:
S1:配置License授权信息,生成License授权文件;
S2:上传License授权到集中管理平台,并解析License授权文件获取授权信息;
S3:验证授权信息是否正确,若正确则验证通过,转至步骤S4,若不正确则验证不通过,提示授权信息错误,并结束;
S4:再验证授权信息是否过期,若在有效期内则验证通过,转至步骤S5;若已过期,则提示License授权文件已过期,并结束;
S5:将步骤S4中验证通过的授权信息与授权的节点组合加密成加密授权信息;
S6:校验每个授权的节点的加密授权信息,若通过验证则根据授权信息对节点进行授权,若未通过验证则提示授权问题终止启动并结束。
2.根据权利要求1所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S1的具体步骤为:
S11配置License授权信息:配置License授权信息包括可授权的节点数量、License发布时间、License有效开始时间、License终止时间、管理平台ID和客户信息,并确定授权文件中包含授权信息;
S12生成密钥:生成AES算法密钥和RSA算法的RSA密钥对,所述密钥对包括公钥和私钥;
S13加密:首先用AES密钥对License信息进行加密,再通过RSA私钥对AES密钥进行签名加密;
S14生成授权文件:组合编码生成License授权文件。
3.根据权利要求2所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S14中将AES密钥加密后的License信息、License信息长度、AES密钥加密后的授权信息、RSA私钥签名加密后的加密AES密钥进行组装生成License,然后再使用Base64对License进行编码得到最终的License授权文件。
4.根据权利要求1所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S2的具体步骤为:
S21:将生成的RSA密钥对中的公钥放置在集中管理平台的配置文件中;
S22:将License授权文件上传到集中管理平台,放置在文件目录下;
S23:使用Base64对License授权文件进行解码,根据生成规则分割、截取到License授权文件的各项内容。
5.根据权利要求4所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S3的具体步骤为:使用RSA密钥对中的公钥对RSA私钥签名加密后的加密AES密钥进行验签解密,并与License中的随机生成的16位AES密钥进行对比验证,若解密失败,则License信息无效,若验证不通过,则License信息不可信;若验证通过,则转至步骤S4。
6.根据权利要求5所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S4的具体步骤为:通过解密后的AES密钥对AES加密后的授权信息进行解密,得到License授权码,解析出限定的授权服务器数量、License文件签发时间、License有效开始时间、License有效终止时间、客户信息和管理平台ID,若解密失败,则License信息无效;若解密成功,则验证管理平台ID与当前集中管理平台的ID是否一致,若不一致,则代表该License授权文件不属于该集中管理平台,若一致,则进行步骤S5。
7.根据权利要求3所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S13中使用AES算法进行加密的具体步骤为:
S131-1密钥扩展:根据输入的密钥生成轮密钥;
S131-2初始轮:将明文分为若干个字节块,使用未扩展的密钥对每个字节块进行一次加密;
S131-3第1至n-1轮加密:对每个字节块进行n-1轮加密,且每轮使用不同的轮密钥进行加密;
S131-4最后一轮:对最后一个字节块进行一次字节替换、行位移和轮密钥加的加密操作;
S131-5输出:将所有字节块加密后得到的密文即为输出结果进行输出;
所述步骤S13中使用RSA算法进行签名加密的具体步骤为:
S132-1:对原始数据进行哈希处理,即使用SHA-256哈希算法生成摘要;
S132-2:使用发送方的私钥对摘要进行加密,即使用RSA算法中的私钥加密函数完成加密,得到数字签名;
S132-3:将数字签名附加到原始数据上,从而得到已签名的数据。
8.根据权利要求7所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S3中使用AES算法进行解密的具体步骤为:
S311-1密钥扩展:根据输入的密钥生成轮密钥;
S311-2初始轮:与加密过程相反,将密文分为若干个字节块,使用未扩展的密钥对每个字节块进行一次解密;
S311-3第1至n-1轮:对每个字节块进行n-1轮解密,且每轮使用不同的轮密钥进行解密;
S311-4最后一轮:对最后一个字节块进行一次反字节替换、反行位移和轮密钥加的解密操作;
S311-5输出:所有字节块解密后得到的明文即为输出结果进行输出;
所述步骤S31中使用RSA算法中的公钥进行验签解密的具体步骤为:
S312-1:首先从发送方处获取公钥;
S312-2:对原始数据进行哈希处理,即使用SHA-256哈希算法生成摘要;
S312-3:使用发送方的公钥对数字签名进行解密,即使用RSA算法中的公钥加密函数完成解密,得到解密后的摘要;
S312-4:比较解密后的摘要与原始数据哈希值是否相同,若相同,则说明数字签名是有效的,且原始数据没有被篡改。
9.根据权利要求7所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,在所述步骤S6中根据授权信息中限制的可授权服务器数量对节点进行授权时,为了防止授权信息被篡改,因每个节点均有一个唯一标识码,因此将授权信息与节点的唯一标识码的组合信息通过Bcrypt算法进行加密生成加密授权信息的具体步骤为:
S61:首先在集中管理平台中导入BCrypt类库;
S62:生成一个随机盐值,用于加密哈希的安全性;
S63:将授权信息和节点的唯一标识码的组合信息进行加密,获得加密的授权信息;
S64:存储加密后的授权信息,并将加密后的授权信息存储在数据库或文件中以便将来验证。
10.根据权利要求9所述的基于RSA+AES加密算法的License授权认证集中管理方法,其特征在于,所述步骤S62中使用Bcrypt算法进行加密的具体步骤为:
S621:首先生成一个随机盐值,盐值是一个随机的字符串,在将密码或其他敏感信息哈希之前与原始信息组合在一起,每个哈希都使用不同的盐值;
S622:选择工作因子,用于确定系统计算哈希的迭代次数,增加哈希强度所需的CPU时间和内存成本;
S623:将原始信息和盐值一起输入哈希函数,并进行多重哈希迭代,使得哈希函数的输出将被重新多次输入到哈希函数中,从而增加破解者破解密码的难度;
S624:最后将哈希值和盐值一起存储在数据库或文件中,以便以后进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739977.4A CN117056878A (zh) | 2023-06-21 | 2023-06-21 | 一种License授权认证集中管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739977.4A CN117056878A (zh) | 2023-06-21 | 2023-06-21 | 一种License授权认证集中管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056878A true CN117056878A (zh) | 2023-11-14 |
Family
ID=88656082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310739977.4A Pending CN117056878A (zh) | 2023-06-21 | 2023-06-21 | 一种License授权认证集中管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056878A (zh) |
-
2023
- 2023-06-21 CN CN202310739977.4A patent/CN117056878A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6329970B2 (ja) | 関連データを有するポリシー施行 | |
CN106888084B (zh) | 一种量子堡垒机系统及其认证方法 | |
CN109361668A (zh) | 一种数据可信传输方法 | |
US20150163058A1 (en) | Techniques for ensuring authentication and integrity of communications | |
KR102179497B1 (ko) | 멀티 클라우드 기반의 데이터 저장 및 관리 시스템 및 그 구동방법 | |
CN1326629A (zh) | 鉴定及利用计算机系统安全资源的方法和系统 | |
CN102217277A (zh) | 基于令牌进行认证的方法和系统 | |
CN110855426B (zh) | 一种用于软件使用授权的方法 | |
US10686771B2 (en) | User sign-in and authentication without passwords | |
CN108737376A (zh) | 一种基于指纹和数字证书的双因子认证方法及系统 | |
Chidambaram et al. | Enhancing the security of customer data in cloud environments using a novel digital fingerprinting technique | |
JP6533542B2 (ja) | 秘密鍵複製システム、端末および秘密鍵複製方法 | |
JPH05298174A (ja) | 遠隔ファイルアクセスシステム | |
CN105873043B (zh) | 一种用于移动终端的网络私匙的生成及应用方法及其系统 | |
Said et al. | A multi-factor authentication-based framework for identity management in cloud applications | |
CN114553566B (zh) | 数据加密方法、装置、设备及存储介质 | |
CN114553557A (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
CN114282189A (zh) | 一种数据安全存储方法、系统、客户端以及服务器 | |
CN111541708B (zh) | 一种基于电力配电的身份认证方法 | |
Kim et al. | A secure channel establishment method on a hardware security module | |
CN117056878A (zh) | 一种License授权认证集中管理方法 | |
KR20030097550A (ko) | 인가된 키 복구 서비스 시스템 및 그 방법 | |
CN108985079B (zh) | 数据验证方法和验证系统 | |
Campbell | Supporting digital signatures in mobile environments | |
KR20020083551A (ko) | 멀티에이전트 기반 다단계 사용자 인증 시스템 개발과운용 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |