一种基于非对称加密的JAVA应用授权方法与流程

专利2026-03-09  19


本发明公开一种方法,涉及身份验证,具体地说是一种基于非对称加密的java应用授权方法。


背景技术:

1、开发了软件应用并对外提供后,往往需要对分发出去的软件进行限制,比如指定使用者,限制软件使用有效时间,声明版权信息、开发主体等。很多场景是离线使用,无法使用网络进行认证。


技术实现思路

1、本发明针对现有技术的问题,提供一种基于非对称加密的java应用授权方法,可以实现对java应用的授权管理。采用这个方案可以保护软件开发者的知识产权,防止软件被盗版和非法传播。同时也可以保障用户的合法权益,确保用户在合法范围内使用软件。

2、本发明提出的具体方案是:

3、本发明提供一种基于非对称加密的java应用授权方法,包括:

4、步骤1:使用jdk自带的keytool利用dsa算法生成密钥对与证书,其中通过dsa算法选用sha-1或者sha-2算法生成密钥对,dsa算法中参数p:l bits长的素数,l是64的倍数,512≤l≤1024;参数q:p-1的160bits的素因子;参数g:g=h^((p-1)/q)mod p,h满足h<p-1,h^((p-1)/q)mod p>1;x:x<q,x为私钥;y:y=g^x mod p,y为公钥;h(x):one-way hash函数,

5、并定义签名及验证协议:产生随机数k,0<k<q;r=(g^k mod p)mod q,r>0;s=(k^(-1)(h(m)+xr))mod q,s>0;签名结果是(m,r,s);验证时计算w=s^(-1)mod q,u1=(h(m)w)mod q,u2=(r w)mod q,v=((g^u1*y^u2)mod p)mod q,若v=r,则认为签名有效;

6、步骤2:通过license服务端根据设置的license的参数生成license,

7、步骤3:将公钥与证书导入用户应用服务器,安装license,验证证书是否有效,有效则获得应用授权。

8、进一步,所述的一种基于非对称加密的java应用授权方法中步骤2中设置的license的参数,包括:将指定加密用到的私钥,license的到期时间,签名主题,生成的license存放的路径,以及自定义参数作为license的参数。

9、进一步,所述的一种基于非对称加密的java应用授权方法中步骤2中自定义参数包括服务器的硬件信息、环境的配置信息和对用户保密的参数,硬件信息包括如服务器的ip地址、mac地址、cpu序列号和主板序列号,配置信息包括环境的域名。

10、进一步,所述的一种基于非对称加密的java应用授权方法中步骤3中将公钥与证书导入用户应用服务器,验证过程中的核心代码引入truelicense.jar,验证过程验证license的默认参数,通过重写verify方法对添加的自定义参数进行验证。

11、本发明还提供一种基于非对称加密的java应用授权装置,包括密钥管理模块、激活码生成模块和验证模块,

12、密钥管理模块使用jdk自带的keytool利用dsa算法生成密钥对与证书,其中通过dsa算法选用sha-1或者sha-2算法生成密钥对,dsa算法中参数p:l bits长的素数,l是64的倍数,512≤l≤1024;参数q:p-1的160bits的素因子;参数g:g=h^((p-1)/q)mod p,h满足h<p-1,h^((p-1)/q)mod p>1;x:x<q,x为私钥;y:y=g^x mod p,y为公钥;h(x):one-wayhash函数,

13、并定义签名及验证协议:产生随机数k,0<k<q;r=(g^k mod p)mod q,r>0;s=(k^(-1)(h(m)+xr))mod q,s>0;签名结果是(m,r,s);验证时计算w=s^(-1)mod q,u1=(h(m)w)mod q,u2=(r w)mod q,v=((g^u1*y^u2)mod p)mod q,若v=r,则认为签名有效;

14、激活码生成模块通过license服务端根据设置的license的参数生成license,

15、验证模块将公钥与证书导入用户应用服务器,安装license,验证证书是否有效,有效则获得应用授权。

16、进一步,所述的一种基于非对称加密的java应用授权装置中激活码生成模块设置的license的参数,包括:将指定加密用到的私钥,license的到期时间,签名主题,生成的license存放的路径,以及自定义参数作为license的参数。

17、进一步,所述的一种基于非对称加密的java应用授权装置中激活码生成模块自定义参数包括服务器的硬件信息、环境的配置信息和对用户保密的参数,硬件信息包括如服务器的ip地址、mac地址、cpu序列号和主板序列号,配置信息包括环境的域名。

18、进一步,所述的一种基于非对称加密的java应用授权装置中验证模块将公钥与证书导入用户应用服务器,验证过程中的核心代码引入truelicense.jar,验证过程验证license的默认参数,通过重写verify方法对添加的自定义参数进行验证。

19、本发明的有益之处是:

20、本发明提供一种基于非对称加密的java应用授权方法,与现有常用技术相比,基于非对称加密的java应用授权方法,由于是使用dsa对license签名证书进行非对称加解密,相对于对称加密,有更高的安全性,而相对于常用的非对称加密rsa算法,又有更好的性能。代码中使用truelicense进行加解密操作的封装,具有较强的可扩展性,能根据实际需求灵活调整验证的参数项。



技术特征:

1.一种基于非对称加密的java应用授权方法,其特征是包括:

2.根据权利要求1所述的一种基于非对称加密的java应用授权方法,其特征是步骤2中设置的license的参数,包括:将指定加密用到的私钥,license的到期时间,签名主题,生成的license存放的路径,以及自定义参数作为license的参数。

3.根据权利要求1所述的一种基于非对称加密的java应用授权方法,其特征是步骤2中自定义参数包括服务器的硬件信息、环境的配置信息和对用户保密的参数,硬件信息包括如服务器的ip地址、mac地址、cpu序列号和主板序列号,配置信息包括环境的域名。

4.根据权利要求1所述的一种基于非对称加密的java应用授权方法,其特征是步骤3中将公钥与证书导入用户应用服务器,验证过程中的核心代码引入truelicense.jar,验证过程验证license的默认参数,通过重写verify方法对添加的自定义参数进行验证。

5.一种基于非对称加密的java应用授权装置,其特征是包括密钥管理模块、激活码生成模块和验证模块,

6.根据权利要求5所述的一种基于非对称加密的java应用授权装置,其特征是激活码生成模块设置的license的参数,包括:将指定加密用到的私钥,license的到期时间,签名主题,生成的license存放的路径,以及自定义参数作为license的参数。

7.根据权利要求5所述的一种基于非对称加密的java应用授权装置,其特征是激活码生成模块自定义参数包括服务器的硬件信息、环境的配置信息和对用户保密的参数,硬件信息包括如服务器的ip地址、mac地址、cpu序列号和主板序列号,配置信息包括环境的域名。

8.根据权利要求5所述的一种基于非对称加密的java应用授权装置,其特征是验证模块将公钥与证书导入用户应用服务器,验证过程中的核心代码引入truelicense.jar,验证过程验证license的默认参数,通过重写verify方法对添加的自定义参数进行验证。


技术总结
本发明公开一种基于非对称加密的JAVA应用授权方法,涉及身份验证技术领域,包括步骤1:使用JDK自带的keytool利用DSA算法生成密钥对与证书,步骤2:通过license服务端根据设置的license的参数生成license,步骤3:将公钥与证书导入用户应用服务器,安装license,验证证书是否有效,有效则获得应用授权。

技术研发人员:于渊,李国涛,魏峥
受保护的技术使用者:浪潮云信息技术股份公司
技术研发日:
技术公布日:2024/7/25
转载请注明原文地址: https://bbs.8miu.com/read-439593.html

最新回复(0)