本发明涉及到数据加密与验证,尤其涉及到一种软件许可生成与验证的方法。
背景技术:
1、随着互联网的普及和快速发展,授权技术也开始与互联网技术全面结合。以往的方案也存在一定的局限性,如软件认证的注册账号设置密码,虽然在任何设备上都可使用,但同时也带来了密码泄露、暴力破解的风险;使用额外硬件设备(如加密锁)的保护技术,则增加了硬件、管理的成本。
2、因此,亟需一种能够节约硬件、存储和管理成本的软件许可生成与验证的方法。
技术实现思路
1、为解决现有技术中存在的一种或多种问题,本发明提供了一种软件许可生成与验证的方法。本发明为解决上述问题采用的技术方案是:一种软件许可生成与验证的方法,所述方法包括:获取特征码,在软件完成部署后,读取运行环境中的硬件id信息和软件信息,对所述硬件id信息和所述软件信息进行组合,然后通过摘要算法进行处理并生成对应于所述运行环境的唯一特征码;
2、许可申请,用户通过客户端提供的授权服务端进行申请信息填写并申请许可文件,所述申请信息包括所述特征码;
3、文件加密,将原始数据进行汇总加密处理并生成所述许可文件,所述原始数据包括所述申请信息、文件信息;
4、授权验证,将所述许可文件导入到客户端,对所述许可文件进行解密并校验数据是否被篡改,若没有出现篡改则所述许可文件在客户端的导入成功,反之失败。
5、在一些实施例中,所述许可申请包括:每一次所述许可申请的通信都会生成一个仅用于本次通信的对称密钥;
6、所述文件加密包括:使用所述对称密钥对所述原始数据进行对称加密并形成密文data;将所述原始数据和所述对称密钥进行组合,然后使用摘要算法生成密文sign;将所述对称密钥进行非对称加密形成密文key;将所述密文data、所述密文sign和所述密文key进行组合然后生成所述许可文件。
7、进一步地,所述授权验证包括:通过软件运行环境中的非对称私钥对所述许可文件进行解密并获取所述对称密钥,通过所述对称密钥对所述密文data进行解密,将解密后的所述密文data和所述对称密钥进行组合并通过摘要算法生成新签名,使用所述新签名和所述密文sign执行数据校验并判断是否出现篡改。
8、进一步地,所述文件加密:所述原始数据与所述对称密钥组合并添加特定前后缀字符,然后使用摘要算法生成密文sign。
9、在一些实施例中,所述硬件id信息包括:设备的处理器型号、处理器的id信息、硬盘驱动器的序列号;所述软件信息包括:操作系统的信息。
10、在一些实施例中,所述文件信息包括:许可生成时间、许可到期时间、许可授权范围和重要信息。
11、本发明取得的技术效果是:在实现软件的授权与特定的硬件绑定的基础上,通过优化加密和授权验证,保障数据加密的可靠性、安全性和稳定性,提高授权验证的效率、可靠性和安全性;相对传统验证方式,能够节约加密、验证的硬件成本,节约数据的存储和管理成本,提高软件在网络电子化发行中的效率和安全性,后台能够方便地对软件授权进行统一管理,提高用户在下载试用和激活过程的方便性。
1.一种软件许可生成与验证的方法,其特征在于,所述方法包括:获取特征码,在软件完成部署后,读取运行环境中的硬件id信息和软件信息,对所述硬件id信息和所述软件信息进行组合,然后通过摘要算法进行处理并生成对应于所述运行环境的唯一特征码;
2.根据权利要求1所述的软件许可生成与验证的方法,其特征在于,所述许可申请包括:每一次所述许可申请的通信都会生成一个仅用于本次通信的对称密钥;
3.根据权利要求2所述的软件许可生成与验证的方法,其特征在于,所述授权验证包括:通过软件运行环境中的非对称私钥对所述许可文件进行解密并获取所述对称密钥,通过所述对称密钥对所述密文data进行解密,将解密后的所述密文data和所述对称密钥进行组合并通过摘要算法生成新签名,使用所述新签名和所述密文sign执行数据校验并判断是否出现篡改。
4.根据权利要求2所述的软件许可生成与验证的方法,其特征在于,所述文件加密:所述原始数据与所述对称密钥组合并添加特定前后缀字符,然后使用摘要算法生成密文sign。
5.根据权利要求1所述的软件许可生成与验证的方法,其特征在于,所述硬件id信息包括:设备的处理器型号、处理器的id信息、硬盘驱动器的序列号;所述软件信息包括:操作系统的信息。
6.根据权利要求1所述的软件许可生成与验证的方法,其特征在于,所述文件信息包括:许可生成时间、许可到期时间、许可授权范围和重要信息。