一种License授权认证集中管理方法与流程

文档序号:36070325发布日期:2023-11-17 23:07阅读:14来源:国知局
一种的制作方法

本发明涉及计算机,具体涉及一种基于rsa+aes加密算法的license授权认证集中管理方法。


背景技术:

1、随着计算机技术的快速发展,互联网的普及和信息化程度不断提高,各式各样的软件随着需求不断产生,软件在日常生活中扮演的角色也越来越重要,软件产业已经成为国民经济的重要支柱之一。在软件开发过程中,版权保护问题也越来越受到重视。软件产品的许可证或授权是保护知识产权和确保商业利益的重要手段,在今天的数字时代,软件授权许可已经成为一个复杂多样的领域,涉及不用类型的软件开发和分发模式。

2、限制软件在限定数量的服务器和限定的时间运行,是软件license授权的核心诉求,同时,还要减少授权过程中的用户工作量,减小更换license授权的难度,授权不易被破解,是软件license授权认证的核心。

3、目前软件或服务的授权方法也有很多:1)传统许可证密钥:这是一种最基本、最常见的软件授权方式。在购买软件时,用户会获得一个唯一的许可证密钥,然后在软件安装或激活时使用该密钥进行验证。该方法存在信息泄露风险,因为密钥可能被用于多个计算机,并且可能被其他人共享;2)硬件锁:硬件锁是一种将授权信息存储在硬件设备中的软件授权方式。通常使用usb加密狗或pci卡等硬件设备。当软件启动时,系统会检查硬件设备是否插入,如果正确,则授权通过,否则将无法运行软件。此方法比传统许可证密钥更加安全,因为硬件设备很难被复制或仿造;3)用户名和密码:这是一种在软件上使用用户名和密码进行身份验证的软件授权方法。通常需要用户在软件购买后注册账号,并使用其生成的用户名和密码登录软件。这种方法安全性较差,因为密码可能会被泄露或共享;4)数字签名:数字签名是一种用于验证软件完整性和身份的授权方法。软件开发者可以使用数字证书对软件进行签名,并附加在软件中,当用户安装软件时,系统会检查数字签名是否与软件开发者匹配,以确保软件的完整性和身份。

4、在中国专利文献cn109257209a中,公开了一种数据中心服务器集中管理系统及方法,其中运维人员是运维工作的执行者,根据运维管理员分配的资源,在符合接入策略的前提下,进行服务器的连接,发起运维操作,具体工作流程包括以下步骤:(1)运维人员通过身份认证模块认证后进入管理系统,查看运维管理员授权的服务器列表,选择需要访问的服务器进行连接访问;(2)运维人员发起访问服务器的申请,访问控制模块根据对运维人员的接入授权和资源授权信息进行访问控制校验,校验通过则允许用户的访问,校验未通过则不允许该用户的操作;(3)运维人员通过校验后,通过运维管理模块实现对对应服务器的连接和操作;操作完成后,运维管理模块关闭服务器的连接,并将对服务器的登录和访问操作会生成登录日志和会话日志,审计日志模块记录登录日志和会话日志以用户通过供用户管理模块查看。

5、在中国专利文献cn111464298a中,公开了一种本发明提供了一种区块链中的数据处理方法、装置和区块链网络,首先,具有权限查看目标数据的授权节点之间,相互协商用于查看目标数据的密钥;目标数据经密钥加密后,通过授权节点中的背书节点进行背书处理,然后根据背书结果,通过区块链网络中的共识节点对加密后的目标数据进行上链处理。该方法通过目标数据的授权节点和客户端多方协商确定密钥,通过该密钥加密目标数据,只有授权节点才可以查看真实的目标数据,没有被授权的节点由于不具有密钥,因而查看不到目标数据,实现了一个通道中部分成员之间交易数据的私有化,且该方法不需要创建多个通道,也不需要额外维护多个数据库,从而降低了区块链网络的资源消耗压力。

6、在中国专利文献cn112685790a中公开了一种区块链数据安全及隐私保护方法,本发明公开了一种区块链数据安全及隐私保护方法,包括:通过平台系统登录产生的数据进行记录,缓存至各自的数据库中;进行区块链数据存证;将加密后的信息存储在新的数据区块,通过共识机制校验;数据以密文的方式保存在区块链上,依赖区块链账户体系的加密特性进行授权访问;在区块链上仅保留密文,由数据所有者持有密钥,在链外进行数据访问授权,通过智能合约授权列表与账户体系实现数据授权访问,通过智能合约获取解密的密钥,进行解密,将数据发送到用户终端节点,解密后获取数据,将数据反馈。

7、而传统的授权认证方法存在着安全性和可靠性的问题,因此需要研究一种更为安全可靠的授权认证方法,既能离线状态下又能在线状态下进行加密授权的管理方法,可以有效的防止来自于内部、外部网络的威胁隐患,并通过对不同操作系统的超级用户权限进行合理分散与适度制约,从而降低超级用户权限被窃取后系统被肆意非法操作的风险,实用性强,易于推广。


技术实现思路

1、本发明要解决的技术问题是提出一种基于rsa+aes加密算法的license授权认证集中管理方法。

2、为了解决上述技术问题,本发明采用的技术方案是:该基于rsa+aes加密算法的license授权认证集中管理方法,具体包括以下步骤:

3、s1:配置license授权信息,生成license授权文件;

4、s2:上传license授权到集中管理平台,并解析license授权文件获取授权信息;

5、s3:验证授权信息是否正确,若正确则验证通过,转至步骤s4,若不正确则验证不通过,提示授权信息错误,并结束;

6、s4:再验证授权信息是否过期,若在有效期内则验证通过,转至步骤s5;若已过期,则提示license授权文件已过期,并结束;

7、s5:将步骤s4中验证通过的授权信息与授权的节点组合加密成加密授权信息;

8、s6:校验每个授权的节点的加密授权信息,若通过验证则根据授权信息对节点进行授权,若未通过验证则提示授权问题终止启动并结束。

9、优选地,所述步骤s1的具体步骤为:

10、s11配置license授权信息:配置license授权信息包括可授权的节点数量、license发布时间、license有效开始时间、license终止时间、管理平台id和客户信息,并确定授权文件中包含授权信息;

11、s12生成密钥:生成aes算法密钥和rsa算法的rsa密钥对,所述密钥对包括公钥和私钥;

12、s13加密:首先用aes密钥对license信息进行加密,再通过rsa私钥对aes密钥进行签名加密;

13、s14生成授权文件:组合编码生成license授权文件。

14、优选地,所述步骤s13中使用rsa密钥对中私钥对aes密钥加密后的授权信息进行rsa签名加密;所述步骤s14中将aes密钥加密后的license信息、license信息长度、aes密钥加密后的授权信息、rsa私钥签名加密后的加密aes密钥进行组装生成license,然后再使用base64(基于64个可打印字符来表示二进制数据)对license进行编码得到最终的license授权文件。

15、优选地,所述步骤s2的具体步骤为:

16、s21:将生成的rsa密钥对中的公钥放置在集中管理平台的配置文件中;

17、s22:将license授权文件上传到集中管理平台,放置在文件目录下;

18、s23:使用base64(基于64个可打印字符来表示二进制数据)对license授权文件进行解码,根据生成规则分割、截取到license授权文件的各项内容。

19、优选地,所述步骤s3的具体步骤为:使用rsa密钥对中的公钥对rsa私钥签名加密后的加密aes密钥(rsasign(aeskey16))进行验签解密,并与license中的随机生成的16位aes密钥(aeskey16)进行对比验证,若解密失败,则license信息无效,若验证不通过,则license信息不可信;若验证通过,则转至步骤s4。

20、优选地,所述步骤s4的具体步骤为:通过解密后的aes密钥对aes加密后的授权信息(aesenc(data))进行解密,得到license授权码,解析出限定的授权服务器数量、license文件签发时间、license有效开始时间、license有效终止时间、客户信息和管理平台id,若解密失败,则license信息无效;若解密成功,则验证管理平台id与当前集中管理平台的id是否一致,若不一致,则代表该license授权文件不属于该集中管理平台,若一致,则进行步骤s5。

21、优选地,所述步骤s13中使用aes算法进行加密的具体步骤为:

22、s131-1密钥扩展:根据输入的密钥生成轮密钥;

23、s131-2初始轮:将明文分为若干个字节块,使用未扩展的密钥对每个字节块进行一次加密;

24、s131-3第1至n-1轮加密:对每个字节块进行n-1轮加密,且每轮使用不同的轮密钥进行加密;

25、s131-4最后一轮:对最后一个字节块进行一次字节替换(subbytes)、行移位(shiftrows)和轮密钥加(addroundkey)的加密操作;

26、s131-5输出:将所有字节块加密后得到的密文即为输出结果进行输出;

27、所述步骤s13中使用rsa算法进行签名加密的具体步骤为:

28、s132-1:对原始数据进行哈希处理,即使用sha-256哈希算法生成摘要;

29、s132-2:使用发送方的私钥对摘要进行加密,即使用rsa算法中的私钥加密函数完成加密,得到数字签名;

30、s132-3:将数字签名附加到原始数据上,从而得到已签名的数据。

31、aes算法,全称advanced encryption standard,是一种对称密钥加密算法,它于2001年被美国联邦政府选中作为其加密标准,并且在全球范围内得到广泛使用。aes具有很高的安全性、效率和灵活性,因此成为目前应用最广泛的加密算法之一。rsa(rivest-shamir-adleman)算法是一种非对称加密算法。rsa加密算法有一对密钥,包含一个公开密钥,一个私有密钥,私钥用来加密,得到数字签名,公钥用来解密,使用私钥加密后得到的签名数据,只有通过对应的公钥才能进行解密得到原始数据。

32、优选地,所述步骤s3中使用aes算法进行解密的具体步骤为:

33、s311-1密钥扩展:根据输入的密钥生成轮密钥;

34、s311-2初始轮:与加密过程相反,将密文分为若干个字节块,使用未扩展的密钥对每个字节块进行一次解密;

35、s311-3第1至n-1轮:对每个字节块进行n-1轮解密,且每轮使用不同的轮密钥进行解密;

36、s311-4最后一轮:对最后一个字节块进行一次反字节替换(invsubbytes)、反行位移(invshiftrows)和轮密钥加(addroundkey)的解密操作;

37、s311-5输出:所有字节块解密后得到的明文即为输出结果进行输出;

38、所述步骤s31中使用rsa算法中的公钥进行验签解密的具体步骤为:

39、s312-1:首先从发送方处获取公钥;

40、s312-2:对原始数据进行哈希处理,即使用sha-256哈希算法生成摘要;

41、s312-3:使用发送方的公钥对数字签名进行解密,即使用rsa算法中的公钥加密函数完成解密,得到解密后的摘要;

42、s312-4:比较解密后的摘要与原始数据哈希值是否相同,若相同,则说明数字签名是有效的,且原始数据没有被篡改。

43、采用上述技术方案,通过集中管理平台对节点进行授权,节点服务安装在需要被授权的机器上,集中管理平台安装在一台单独的服务器上。将license授权文件上传到集中管理平台,管理平台解析校验授权文件,对节点进行授权激活。通过授权信息维护已授权可使用的节点数量、可使用的时间以及授权到期后的功能限制。首先要配置好授权信息,为了防止授权信息被篡改,还需要对授权信息进行加密,我们采用aes和rsa两种算法组合对授权信息进行加密,再将加密后的信息和密钥组合编码生成一个授权文件,再通过管理平台解析校验授权文件,校验通过后将解密后的授权信息通过bcrypt算法再次加密生成加密的授权信息。

44、每次应用程序启动时,集中管理平台管理服务会验证加密的授权信息,是否在授权时间内,每个节点的加密授权信息是否唯一,授权的节点数量是否超过授权信息中限定的授权数量,从而达到授权校验以及用户使用的限制。只有验证通过时,软件才可以正常启动使用。

45、优选地,在所述步骤s6中根据授权信息中限制的可授权服务器数量对节点进行授权时,为了防止授权信息被篡改,因每个节点均有一个唯一标识码,因此将授权信息与节点的唯一标识码的组合信息通过bcrypt算法进行加密生成加密授权信息的具体步骤为:

46、s61:首先在集中管理平台中导入bcrypt类库;

47、s62:生成一个随机盐值,用于加密哈希的安全性;

48、s63:将授权信息和节点的唯一标识码的组合信息进行加密,获得加密的授权信息;

49、s64:存储加密后的授权信息,并将加密后的授权信息存储在数据库或文件中以便将来验证。

50、bcrypt是一种密码哈希算法,用于将密码或其他敏感信息转换为固定长度的字符串。它是blowfish加密算法的变体,并被广泛认为是一种安全可靠的密码存储方法。

51、优选地,所述步骤s62中使用bcrypt算法进行加密的具体步骤为:

52、s621:首先生成一个随机盐值,盐值是一个随机的字符串,在将密码或其他敏感信息哈希之前与原始信息组合在一起,每个哈希都使用不同的盐值;

53、s622:选择工作因子,用于确定系统计算哈希的迭代次数,增加哈希强度所需的cpu时间和内存成本;

54、s623:将原始信息和盐值一起输入哈希函数,并进行多重哈希迭代,使得哈希函数的输出将被重新多次输入到哈希函数中,从而增加破解者破解密码的难度;

55、s624:最后将哈希值和盐值一起存储在数据库或文件中,以便以后进行验证。

56、相比现有技术,本发明的有益效果是:本发明通过集中管理平台对节点进行授权,节点安装在需要被授权的机器上,集中管理平台安装在一台单独的服务器上,并对配置好的授权信息采用两种加密方法结合进行了加密,将加密后的信息和密钥组合编码生成一个授权文件,再通过管理平台解析校验授权文件,校验通过后将解密后的授权信息通过bcrypt算法再次加密生成加密的授权信息,有效的防止授权信息被篡改,且该方法既适用于在线授权,也可用于离线授权,可以有效的防止来自于内部、外部网络的威胁隐患,并通过对不同操作系统的超级用户权限进行合理分散与适度制约,从而降低超级用户权限被窃取后系统被肆意非法操作的风险,实用性强,易于推广。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1