一种软件授权方法和系统、软件终端及软件管理方.pdf

上传人:1520****312 文档编号:6388611 上传时间:2019-06-06 格式:PDF 页数:24 大小:1.58MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510394604.3

申请日:

2015.09.08

公开号:

CN105160210A

公开日:

2015.12.16

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 21/12申请日:20150908|||公开

IPC分类号:

G06F21/12(2013.01)I

主分类号:

G06F21/12

申请人:

浪潮通用软件有限公司

发明人:

曹雪韬; 刘振印

地址:

250100山东省济南市高新区浪潮路1036号

优先权:

专利代理机构:

济南信达专利事务所有限公司37100

代理人:

李世喆

PDF下载: PDF下载
内容摘要

本发明提供一种软件授权方法和系统、软件终端及软件管理方。其中一种软件授权方法应用于软件终端中,包括:保存第一公钥和第二私钥;收集当前用户信息;利用第一公钥对所述用户信息进行加密,生成软件授权申请码;将软件授权申请码发送给软件管理方;接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略;根据获取的软件授权使用策略,进行软件初始化。本方案能够提高软件授权管理的灵活性。

权利要求书

权利要求书
1.  一种软件授权方法,其特征在于,应用于软件终端中,保存第一公钥和第二私钥;还包括:
收集当前用户信息;
利用第一公钥对所述用户信息进行加密,生成软件授权申请码;
将软件授权申请码发送给软件管理方;
接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;
对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略;
根据获取的软件授权使用策略,进行软件初始化。

2.  根据权利要求1所述的方法,其特征在于,
所述当前用户信息包括:当前软件终端的硬盘、网卡、内存信息中的任意一个或多个;和/或,当前使用者的身份信息;
和/或,
所述软件授权使用策略包括:软件功能模块权限、授权类型、有效期中的任意一个或多个。

3.  根据权利要求1或2所述的方法,其特征在于,
所述生成的软件授权申请码为第一字符串形式;则在所述生成软件授权申请码之后,并在所述将软件授权申请码发送给软件管理方之前,进一步包括:
对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字符串;
对第二字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
所述将软件授权申请码发送给软件管理方包括:将第三字符串形式的软 件授权申请码发送给软件管理方。
其中,
所述对第二字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数;
和/或,
所述接收到的激活码为第四字符串形式;则在所述接收来自软件管理方的激活码之后,并在所述利用第二私钥对激活码进行解密之前,进一步包括:
对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字符为一个单位拆分所述第四字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第五字符串;
将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;
将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述利用第二私钥对激活码进行解密包括:利用第二私钥对第七字符串形式的激活码进行解密。

4.  一种软件授权方法,其特征在于,应用于软件管理方,为各个用户分别设置其对应的软件授权使用策略;保存对应于用户所使用第一公钥的第一私钥,以及对应于用户所使用第二私钥的第二公钥,还包括:
接收软件授权申请码;
利用所述第一私钥对软件授权申请码进行解密;
根据解密后的软件授权申请码中的用户信息,获取当前用户对应的软件授权使用策略;
利用所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;
将生成的激活码发送给软件终端。

5.  根据权利要求4所述的方法,其特征在于,
所述接收到的申请码为第三字符串形式;则在所述接收软件授权申请码之后,并在所述利用所述第一私钥对软件授权申请码进行解密之前,进一步包括:
对于接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分所述第三字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第二字符串;
将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述利用所述第一私钥对软件授权申请码进行解密包括:利用第一私钥对第一字符串形式的激活码进行解密;
和/或,
所述生成的激活码为第七字符串形式;则在所述生成激活码之后,并在所述将生成的激活码发送给软件终端之前,进一步包括:
对于第七字符串形式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的M个替换字符,将M个所述原始字符加入字符替换后的字符串的末尾,得到第六字符串;
将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第五字符串;
对第五字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得 到第四字符串;
所述所述将生成的激活码发送给软件终端包括:将第四字符串形式的激活码发送给软件终端。
其中,
所述对第五字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。

6.  一种软件终端,其特征在于,包括:
第一保存单元,用于保存第一公钥和第二私钥;
信息收集单元,用于收集当前用户信息;
申请处理单元,用于利用所述保存单元保存的第一公钥对信息收集单元所收集的所述用户信息进行加密,生成软件授权申请码,将软件授权申请码发送给软件管理方;
激活处理单元,用于接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略;
授权处理单元,用于根据获取的软件授权使用策略,进行软件初始化。

7.  根据权利要求6所述的软件终端,其特征在于,
所述生成的软件授权申请码为第一字符串形式;则所述申请处理单元中包括:第一加密处理子单元及第一发送子单元,其中,
第一加密处理子单元,对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字符串;对第二字符串中的每一个ASCII码分别进行质数求商处理;将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
第一发送子单元,用于将第三字符串形式的软件授权申请码发送给软件管理方;
其中,
第一加密处理子单元在对第二字符串中的每一个ASCII码分别进行质数求商处理时,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
和/或,
所述接收到的激活码为第四字符串形式;则所述激活处理单元中包括:第一解密处理子单元及第二解密处理子单元;
第一解密处理子单元,用于对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字符为一个单位拆分所述第四字符串;将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第五字符串;将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述第二解密处理子单元,用于利用第二私钥对第七字符串形式的激活码进行解密。

8.  一种软件管理方,其特征在于,包括:
授权策略设置单元,用于为各个用户分别设置其对应的软件授权使用策略;
第二保存单元,用于保存对应于用户所使用第一公钥的第一私钥,以及 对应于用户所使用第二私钥的第二公钥;
接收单元,用于接收软件授权申请码;
申请码处理单元,利用所述第一私钥对所述接收单元接收到的软件授权申请码进行解密;
授权策略发送处理单元,用于根据解密后的软件授权申请码中的用户信息,获取当前用户对应的软件授权使用策略;利用所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;将生成的激活码发送给软件终端。

9.  根据权利要求8所述的软件管理方,其特征在于,进一步包括:申请码解码单元,所述申请码解码单元连接在所述接收单元与所述申请码处理单元之间;其中,
所述接收单元接收到第三字符串形式的申请码;
所述申请码解码单元,用于对于接收单元接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分所述第三字符串;将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第二字符串;将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述申请码处理单元利用第一私钥对第一字符串形式的激活码进行解密;
和/或,
所述授权策略发送处理单元中包括:
第一生成子单元,用于生成第七字符串形式的激活码;
第二加密处理子单元,用于对于第一生成子单元所生成的第七字符串形式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的M个替换字符,将M个所述原始字符加入字符替换后的字符串的末尾,得到第六字符串;将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第五字符串;对第五字符串中的每一个ASCII码分别进行质数求商处理; 将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得到第四字符串;
第二发送子单元,用于将第四字符串形式的激活码发送给软件终端。
其中,
所述第二加密处理子单元对第五字符串中的每一个ASCII码分别进行质数求商处理,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。

10.  一种软件授权系统,其特征在于,
包括如权利要求6或7所述的软件终端,以及如权利要求8或9所述的软件管理方。

说明书

说明书一种软件授权方法和系统、软件终端及软件管理方
技术领域
本发明涉及计算机技术,特别涉及一种软件授权方法和系统、软件终端及软件管理方。
背景技术
随着计算机技术的发展,计算机软件的种类越来越多,功能也越来越强大。在一台计算机上,当软件产品安装完成后,软件会在首次登录或者升级时,需要得到软件管理方的授权,在授权成功后,软件才能在计算机上正常运行,从而完成相应的软件功能。
目前的软件授权方式包括:软件安装终端将授权请求发送给软件管理方;软件管理方对软件安装终端进行认证,合法后,将授权信息返回给软件安装终端。可见,目前的软件授权方式功能单一,无法提高软件授权管理的灵活性。
发明内容
本发明提供一种软件授权方法和系统、软件终端及软件管理方,能够提高软件授权管理的灵活性。
一种软件授权方法,应用于软件终端中,保存第一公钥和第二私钥;还包括:
收集当前用户信息;
利用第一公钥对所述用户信息进行加密,生成软件授权申请码;
将软件授权申请码发送给软件管理方;
接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;
对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略;
根据获取的软件授权使用策略,进行软件初始化。
所述当前用户信息包括:当前软件终端的硬盘、网卡、内存信息中的任意一个或多个;和/或,当前使用者的身份信息;
和/或,
所述软件授权使用策略包括:软件功能模块权限、授权类型、有效期中的任意一个或多个。
所述生成的软件授权申请码为第一字符串形式;则在所述生成软件授权申请码之后,并在所述将软件授权申请码发送给软件管理方之前,进一步包括:
对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字符串;
对第二字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
所述将软件授权申请码发送给软件管理方包括:将第三字符串形式的软件授权申请码发送给软件管理方;
其中,
所述对第二字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
所述接收到的激活码为第四字符串形式;则在所述接收来自软件管理方 的激活码之后,并在所述利用第二私钥对激活码进行解密之前,进一步包括:
对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字符为一个单位拆分所述第四字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第五字符串;
将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;
将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述利用第二私钥对激活码进行解密包括:利用第二私钥对第七字符串形式的激活码进行解密。
一种软件授权方法,应用于软件管理方,为各个用户分别设置其对应的软件授权使用策略;保存对应于用户所使用第一公钥的第一私钥,以及对应于用户所使用第二私钥的第二公钥,还包括:
接收软件授权申请码;
利用所述第一私钥对软件授权申请码进行解密;
根据解密后的软件授权申请码中的用户信息,获取当前用户对应的软件授权使用策略;
利用所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;
将生成的激活码发送给软件终端。
所述接收到的申请码为第三字符串形式;则在所述接收软件授权申请码之后,并在所述利用所述第一私钥对软件授权申请码进行解密之前,进一步包括:
对于接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分所述第三字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码 替换该每个单位,得到第二字符串;
将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述利用所述第一私钥对软件授权申请码进行解密包括:利用第一私钥对第一字符串形式的激活码进行解密。
所述生成的激活码为第七字符串形式;则在所述生成激活码之后,并在所述将生成的激活码发送给软件终端之前,进一步包括:
对于第七字符串形式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的M个替换字符,将M个所述原始字符加入第七字符串末尾,得到第六字符串;
将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第五字符串;
对第五字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得到第四字符串;
所述所述将生成的激活码发送给软件终端包括:将第四字符串形式的激活码发送给软件终端。
其中,
所述对第五字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
一种软件终端,包括:
第一保存单元,用于保存第一公钥和第二私钥;
信息收集单元,用于收集当前用户信息;
申请处理单元,用于利用所述保存单元保存的第一公钥对信息收集单元 所收集的所述用户信息进行加密,生成软件授权申请码,将软件授权申请码发送给软件管理方;
激活处理单元,用于接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略;
授权处理单元,用于根据获取的软件授权使用策略,进行软件初始化。
所述生成的软件授权申请码为第一字符串形式;则所述申请处理单元中包括:第一加密处理子单元及第一发送子单元,其中,
第一加密处理子单元,对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字符串;对第二字符串中的每一个ASCII码分别进行质数求商处理;将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
第一发送子单元,用于将第三字符串形式的软件授权申请码发送给软件管理方;
其中,
第一加密处理子单元在对第二字符串中的每一个ASCII码分别进行质数求商处理时,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
所述接收到的激活码为第四字符串形式;则所述激活处理单元中包括:第一解密处理子单元及第二解密处理子单元;
第一解密处理子单元,用于对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字符为一个单位拆分所述第四字符串;将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积, 得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第五字符串;将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述第二解密处理子单元,用于利用第二私钥对第七字符串形式的激活码进行解密。
一种软件管理方,包括:
授权策略设置单元,用于为各个用户分别设置其对应的软件授权使用策略;
第二保存单元,用于保存对应于用户所使用第一公钥的第一私钥,以及对应于用户所使用第二私钥的第二公钥;
接收单元,用于接收软件授权申请码;
申请码处理单元,利用所述第一私钥对所述接收单元接收到的软件授权申请码进行解密;
授权策略发送处理单元,用于根据解密后的软件授权申请码中的用户信息,获取当前用户对应的软件授权使用策略;利用所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;将生成的激活码发送给软件终端。
软件管理方可以进一步包括:申请码解码单元,所述申请码解码单元连接在所述接收单元与所述申请码处理单元之间;其中,
所述接收单元接收到第三字符串形式的申请码;
所述申请码解码单元,用于对于接收单元接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分所述第三字符串;将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第二字符串;将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述申请码处理单元利用第一私钥对第一字符串形式的激活码进行解密。
软件管理方中,所述授权策略发送处理单元中包括:
第一生成子单元,用于生成第七字符串形式的激活码;
第二加密处理子单元,用于对于第一生成子单元所生成的第七字符串形式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的M个替换字符,将M个所述原始字符加入第七字符串末尾,得到第六字符串;将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第五字符串;对第五字符串中的每一个ASCII码分别进行质数求商处理;将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得到第四字符串;
第二发送子单元,用于将第四字符串形式的激活码发送给软件终端。
其中,
所述第二加密处理子单元对第五字符串中的每一个ASCII码分别进行质数求商处理,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
一种软件授权系统,包括上述任意一种软件终端,以及上述任意一种软件管理方。
本发明实施例提供的软件授权方法和系统、软件终端和软件管理方,能够针对不同的用户设置不同的软件授权使用策略,每一个用户在软件终端上得到的软件的授权使用策略都是预先针对该用户有针对性设置的,因此,依此进行软件初始化后,则可以实现根据不同用户进行同一软件的不同授权。并且,可以将软件授权使用策略信息携带在激活码中发送给软件终端,实现方式简单。
附图说明
图1是本发明一个实施例中在软件终端中实现软件授权的流程图。
图2是本发明另一个实施例中在软件管理方中实现软件授权的流程图。
图3是本发明一个实施例中软件终端与软件管理方配合并使用多重加密技术进行软件授权过程的流程图。
图4是本发明一个实施例中软件终端基于ASCII码对软件授权申请码进行加密的流程图。
图5是本发明一个实施例中软件管理方基于ASCII码对软件授权申请码进行解密的流程图。
图6是本发明一个实施例中软件管理方基于ASCII码对激活码进行加密的流程图。
图7是本发明一个实施例中软件终端基于ASCII码对激活码进行解密的流程图。
图8是本发明一个实施例中软件终端的结构示意图。
图9是本发明一个实施例中软件管理方的结构示意图。
图10是本发明一个实施例中软件授权系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一个实施例提出了一种软件授权方法,应用于软件终端中,参见图1,该方法包括:
步骤101:在软件终端中保存第一公钥和第二私钥。
步骤102:软件终端收集当前用户信息。
步骤103:软件终端利用第一公钥对所述用户信息进行加密,生成软件授权申请码。
步骤104:将软件授权申请码发送给软件管理方。
步骤105:接收来自软件管理方的激活码,利用第二私钥对激活码进行解密。
步骤106:对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略。
步骤107:根据获取的软件授权使用策略,进行软件初始化。
可见,图1所示的实施例能够针对不同的用户设置不同的软件授权使用策略,每一个用户在软件终端上得到的软件的授权使用策略都是预先针对该用户有针对性设置的,因此,依此进行软件初始化后,则可以实现根据不同用户进行同一软件的不同授权。并且,可以将软件授权使用策略信息携带在激活码中发送给软件终端,实现方式简单。
在本发明一个实施例中,所述当前用户信息包括:当前软件终端的硬盘、网卡、内存信息中的任意一个或多个;和/或,当前使用者的身份信息。也就是说,可以基于软件终端的硬件信息来生成申请码,标识使用方。也可以同时或不同时基于使用人员的身份信息来生成申请码。因此,能够保证申请码的真实性和有效性。
在本发明一个实施例中,所述软件授权使用策略包括:软件功能模块权限、授权类型、有效期中的任意一个或多个。
在图1所示的本发明实施例中,为了保证申请码的安全性,对申请码使用第一公钥进行了加密。在本发明的一个实施例中,为了进一步提高申请码交互的安全性,对于加密后的申请码,还可以进一步进行如下基于ASCII码的加密处理:
步骤103中,所述生成的软件授权申请码为第一字符串形式;则在步骤103所述生成软件授权申请码之后,并在步骤104所述将软件授权申请码发送给软件管理方之前,进一步包括:
对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字符串;
对第二字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
步骤104中,是将第三字符串形式的软件授权申请码发送给软件管理方;
其中,
所述对第二字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
在图1所示的本发明实施例中,为了保证激活码的安全性,在软件管理方侧可以对激活码进行了基于ASCII码的加密,相应地,在软件终端中,还可以进一步进行如下解密处理:
步骤105中所述接收到的激活码为第四字符串形式;则在步骤105中所述接收来自软件管理方的激活码之后,并在所述利用第二私钥对激活码进行解密之前,进一步包括:
对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字符为一个单位拆分所述第四字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第五字符串;
将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;
将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
步骤105中,是利用第二私钥对第七字符串形式的激活码进行解密。
本发明一个实施例还提出了一种软件授权方法,应用于软件管理方,参见图2,包括:
步骤201:预先为各个用户分别设置其对应的软件授权使用策略。
步骤202:预先保存对应于用户所使用第一公钥的第一私钥,以及对应于用户所使用第二私钥的第二公钥。
步骤203:接收软件终端发来的软件授权申请码。
步骤204:利用所述第一私钥对软件授权申请码进行解密;
步骤205:根据解密后的软件授权申请码中的用户信息,获取当前用户对应的软件授权使用策略;
步骤206:利用所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;
步骤207:将生成的激活码发送给软件终端。
在本发明一个实施例中,软件管理方接收到的申请码可以是经过双重加密的,即经过第一公钥的加密,以及经过基于ASCII码的加密处理,此时,软件管理方需要进行对应的解密处理,可以包括:
所述步骤203中接收到的申请码为第三字符串形式;则在步骤203所述接收软件授权申请码之后,并在步骤204所述利用所述第一私钥对软件授权申请码进行解密之前,进一步包括:
对于接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分所述第三字符串;
将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第二字符串;
将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述步骤204中,具体利用第一私钥对第一字符串形式的激活码进行解密。
在图2所示的本发明实施例中,为了保证激活码的安全性,对激活码使用第二公钥进行了加密。在本发明的一个实施例中,为了进一步提高激活码交互的安全性,对于加密后的激活码,还可以进一步进行如下基于ASCII码的加密处理:
步骤206所述生成的激活码为第七字符串形式;则在步骤206所述生成激活码之后,并在所述步骤207将生成的激活码发送给软件终端之前,进一步包括:
对于第七字符串形式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的M个替换字符,将M个所述原始字符加入第七字符串末尾,得到第六字符串;
将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第五字符串;
对第五字符串中的每一个ASCII码分别进行质数求商处理;
将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得到第四字符串;
步骤207中,具体将第四字符串形式的激活码发送给软件终端;
其中,
所述对第五字符串中的每一个ASCII码分别进行质数求商处理包括:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
为了更加清楚地说明本发明实施例中实现软件授权的过程,下面结合软件终端和软件管理方的配合处理流程进行说明,并且,软件终端和软件管理方都对需要发送给对方的信息进行双重加密,参见图3,具体可以包括:
步骤301:预先生成两对公私钥对,将其中第一公钥和第二私钥保存在 软件终端中,以及将对应于第一公钥的第一私钥、对应于第二私钥的第二公钥均保存在软件管理方中。
步骤302:根据业务需求,预先为同一软件的各个用户分别设置其对应的软件授权使用策略。
这里,可以根据不同地域、不同用户优先级等业务需求,为各个用户分别设置其对应的软件授权使用策略。比如,用户1和用户2的地域不同,对于软件1,用户1使用该软件1的权限即对应的软件授权使用策略与用户2的不同。
步骤303:用户1在软件终端上安装软件1,需要初始化软件1时,软件终端收集用户1的身份信息以及该软件终端的硬件信息(比如软件终端的硬盘、网卡、内存信息)。
步骤304:软件终端利用第一公钥对收集的信息进行加密,得到第一字符串形式的软件授权申请码。
利用第一公钥对收集的用户1身份信息及软件终端的硬件信息进行加密,得到申请码,可以保证申请码的安全性。
为了进一步增加申请码的安全性,还可以通过如下步骤305的基于ASCII码的加密处理,对申请码进行进一步加密。
步骤305:对第一字符串进行基于ASICC码的加密处理,得到第三字符串形式的软件授权申请码。
参见图4,本步骤305的实现过程可以具体包括:
步骤401:将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字符串。
比如,第一字符串包括:AB…U,则将其中的A转换为其对应的ASCII码65,将其中的B转换为其对应的ASCII码66……,将其中的U转换为其对应的ASCII码85,这样,得到的第二字符串包括:6566……85。
步骤402:针对第二字符串中的每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除 的商。
比如,第二字符串包括:6566……85。那么,对于第一个ASCII码65,从大于1的质数3开始,依次使用65÷3,除不尽,则65÷5=13,可以除尽,则得到第一个整除的商为13,对应的质数为5。同理,对于下一个ASCII码66,从大于1的质数3开始,依次使用66÷3=22,可以除尽,则得到第一个整除的商为22,对应的质数为3。以此类推,直至针对第二字符串中最后一个ASCII码85,得到其对应的第一个整除的商为17,对应的质数为5。
步骤403:针对第二字符串中的每一个ASCII码,将质数求商的结果(即第一个整除的商)及对应的质数(即得到所述第一个整除的商时,作为当前除数的质数)替换第二字符串中对应的ASCII码,得到第三字符串。
比如,可以将第二字符串:6566……85,替换后生成第三字符串:135223……175。
至此,则完成了步骤305中得到第三字符串形式的软件授权申请码。
步骤306:软件终端将第三字符串形式的软件授权申请码发送给软件管理方。
步骤307:软件管理方对第三字符串形式的软件授权申请码进行基于ASCII码的解密处理,得到第一字符串形式的软件授权申请码。
参见图5,基于上述步骤305的实现过程,本步骤307的实现过程可以是图4所示过程的逆过程,具体包括:
步骤501:软件管理方对于接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分所述第三字符串。
比如,第三字符串:135223……175。拆分第三字符串,拆分出135、223……175。
步骤502:软件管理方将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码。
这里,对于拆分出的135,使用13×5=65,得到第一个单位对应的ASCII码65,对于拆分出的223,使用22×3=66,得到第一个单位对应的ASCII 码66。以此类推,直至得到最后一个单位对应的ASCII码85。
步骤503:软件管理方用每个单位对应的ASCII码替换该每个单位,得到第二字符串。
这里,得到第二字符串包括:6566……85。
步骤504:软件管理方将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串。
这里,因为第二字符串包括:6566……85,将其中65、66……85分别替换为对应的字符,得到第一字符串包括:AB…U。
步骤308:软件管理方利用所述第一私钥对第一字符串形式的软件授权申请码进行解密,得到用户1的身份信息以及该软件终端的硬件信息。
步骤309:软件管理方根据用户1的身份信息以及该软件终端的硬件信息,获取当前用户对应的软件授权使用策略。
步骤310:软件管理方利用第二公钥对获取的软件授权使用策略进行加密,生成激活码,记为第七字符串形式的激活码。
步骤311:对于第七字符串形式的激活码,软件管理方进行基于ASCII码的加密处理。
参见图6,本步骤311的过程可以包括:
步骤601:软件管理方将第七字符串中预设M个位置上的原始字符分别替换为M个替换字符。
比如,第七字符串包括:#M…..K。
步骤602:软件管理方将M个所述原始字符加入字符替换后的字符串末尾,得到第六字符串。
步骤601和步骤602中,可以将M个替换字符分别对应的M个ASCII码作为需要被替换的M个位置,也就是说,将第七字符串中第73,78,83,80,85,82这6个位置上的原始字符(比如为ABCDEF)分别替换为I,N,S,P,U,R;并且,将原始字符ABCDEF加入第七字符串的末尾。
步骤603:软件管理方将第六字符串中每一个字符分别转换为该字符对 应的ASCII码,得到第五字符串。
步骤604:软件管理方对第五字符串中的每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商。
步骤605:软件管理方针对第五字符串中的每一个ASCII码,将质数求商的结果(即第一个整除的商)及对应的质数(即得到所述第一个整除的商时,作为当前除数的质数)替换第五字符串中对应的ASCII码,得到第四字符串。
步骤312:软件管理方将第四字符串形式的激活码发送给软件终端。
步骤313:软件终端对接收到的第四字符串形式的激活码进行基于ASCII码的解密处理,得到第七字符串形式的激活码。
参见图7,基于上述步骤311的实现过程,本步骤313的实现过程可以是图6所示过程的逆过程,具体包括:
步骤701:软件终端对于第四字符串形式的激活码,以每3个字符为一个单位拆分所述第四字符串。
步骤702:软件终端将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码。
步骤703:软件终端用每个单位对应的ASCII码替换第四字符串中的每个单位,得到第五字符串。
步骤704:软件终端将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串。
步骤701至步骤704的过程与上述步骤501至步骤504的过程的实现原理相同。
步骤705:软件终端将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串中最后M位字符,并删除该最后M位字符,得到第七字符串。
对应于步骤601和步骤602的处理,本步骤705中,比如可以包括:将 第七字符串中第73,78,83,80,85,82这6个位置上的I,N,S,P,U,R分别替换为最后M位字符A,B,C,D,E,F,并且,删除第六字符串最后M位的ABCDEF。
步骤314:软件终端利用第二私钥对第七字符串形式的激活码进行解密。
步骤315:软件终端对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略。
步骤316:软件终端根据获取的软件授权使用策略,进行软件初始化。
本发明一个实施例还提出了一种软件终端,参见图8,包括:
第一保存单元801,用于保存第一公钥和第二私钥;
信息收集单元802,用于收集当前用户信息;
申请处理单元803,用于利用所述保存单元801保存的第一公钥对信息收集单元802所收集的所述用户信息进行加密,生成软件授权申请码,将软件授权申请码发送给软件管理方;
激活处理单元804,用于接收来自软件管理方的激活码,利用第一保存单元801保存的第二私钥对激活码进行解密;对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略;
授权处理单元805,用于根据激活处理单元804获取的软件授权使用策略,进行软件初始化。
在本发明一个实施例中,所述生成的软件授权申请码为第一字符串形式;则所述申请处理单元803中包括:第一加密处理子单元及第一发送子单元,其中,
第一加密处理子单元,对于生成的第一字符串形式的软件授权申请码,将第一字符串中每一个字符分别转换为该字符对应的ASCII码,得到第二字符串;对第二字符串中的每一个ASCII码分别进行质数求商处理;使用质数求商的结果及对应的质数替换第二字符串中对应的ASCII码,得到第三字符串;
第一发送子单元,用于将第三字符串形式的软件授权申请码发送给软件 管理方;
其中,
第一加密处理子单元在对第二字符串中的每一个ASCII码分别进行质数求商处理时,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
在本发明一个实施例中,所述接收到的激活码为第四字符串形式;则所述激活处理单元804中包括:第一解密处理子单元及第二解密处理子单元;
第一解密处理子单元,用于对于接收到的来自软件管理方的第四字符串形式的激活码,以每3个字符为一个单位拆分所述第四字符串;将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第五字符串;将第五字符串中每个ASCII码转换为对应的字符,得到第六字符串;将第六字符串中的预设M个位置上的字符分别对应替换为第六字符串中最后M位字符,并删除该最后M位字符,得到第七字符串;
所述第二解密处理子单元,用于利用第二私钥对第七字符串形式的激活码进行解密。
本发明一个实施例还提出了一种软件管理方,参见图9,包括:
授权策略设置单元901,用于为各个用户分别设置其对应的软件授权使用策略;
第二保存单元902,用于保存对应于用户所使用第一公钥的第一私钥,以及对应于用户所使用第二私钥的第二公钥;
接收单元903,用于接收软件授权申请码;
申请码处理单元904,利用第二保存单元902保存的所述第一私钥对所 述接收单元903接收到的软件授权申请码进行解密;
授权策略发送处理单元905,用于根据解密后的软件授权申请码中的用户信息,从所述授权策略设置单元901获取当前用户对应的软件授权使用策略;利用第二保存单元902保存的所述第二公钥对获取的软件授权使用策略进行加密,生成激活码;将生成的激活码发送给软件终端。
在本发明一个实施例中,软件管理方可以进一步包括:申请码解码单元,所述申请码解码单元连接在所述接收单元与所述申请码处理单元之间;其中,
所述接收单元接收到第三字符串形式的申请码;
所述申请码解码单元,用于对于接收单元接收到的第三字符串形式的申请码,以每3个字符为一个单位拆分所述第三字符串;将拆分出的每个单位中前两个字符串转换成数字与第三个字符串转换成的数字求乘积,得到每个单位对应的ASCII码,用每个单位对应的ASCII码替换该每个单位,得到第二字符串;将第二字符串中每个ASCII码转换为对应的字符,得到第一字符串;
所述申请码处理单元利用第一私钥对第一字符串形式的激活码进行解密。
在本发明一个实施例中,软件管理方中,所述授权策略发送处理单元905中包括:
第一生成子单元,用于生成第七字符串形式的激活码;
第二加密处理子单元,用于对于第一生成子单元所生成的第七字符串形式的激活码,将第七字符串中预设M个位置上的原始字符分别替换为预设的M个替换字符,将M个所述原始字符加入第七字符串末尾,得到第六字符串;将第六字符串中每一个字符分别转换为该字符对应的ASCII码,得到第五字符串;对第五字符串中的每一个ASCII码分别进行质数求商处理;将质数求商的结果及对应的质数替换第五字符串中对应的ASCII码,得到第四字符串;
第二发送子单元,用于将第四字符串形式的激活码发送给软件终端;
其中,
所述第二加密处理子单元对第五字符串中的每一个ASCII码分别进行质 数求商处理,具体执行:
针对所述每一个ASCII码,按照质数从小到大的顺序逐一执行将该ASCII码除以大于自然数1的质数,直到得到第一个整除的商;
所述ASCII码对应的质数求商的结果为:所述第一个整除的商;
所述质数求商的结果对应的质数为:得到所述第一个整除的商时,作为当前除数的质数。
参见图10,本发明一个实施例还提出了一种软件授权的系统,包括本发明实施例提出的任意一种软件终端和本发明实施例提出的任意一种软件管理方。
本发明各个实施例至少具有如下的有益效果:
1、本发明实施例提供的软件授权方法和系统、软件终端和软件管理方,能够针对不同的用户设置不同的软件授权使用策略,每一个用户在软件终端上得到的软件的授权使用策略都是预先针对该用户有针对性设置的,因此,依此进行软件初始化后,则可以实现根据不同用户进行同一软件的不同授权方式。
2、本发明实施例可以将软件授权使用策略信息携带在激活码中发送给软件终端,实现方式简单。
3、本发明实施例中,可以基于用户软件终端的硬件信息,比如当前软件终端的硬盘、网卡、内存信息中的任意一个或多个来生成申请码,因此提高了交互申请码的安全性。
4、本发明实施例中,可以使用两套不同的公钥和私钥对交互的申请码和激活码进行加解密,因此,提高了交互过程的安全性。
5、本发明实施例中,可以不仅使用公钥和私钥的方式对交互的申请码和激活码进行加解密,还可以进一步采用基于ASCII码的方式对申请码和激活码进行复杂的加解密处理,进一步提高了交互过程的安全性。
6、本发明实施例中,为了进一步提高信息交互的安全性,对于申请码进行基于ASCII码的加密方式与对于激活码进行基于ASCII码的加密方式不相 同,比如,对于激活码进行基于ASCII码的加密方式中,可以进一步对预设M个位置的原始字符分别替换为M个替换字符,并将M个所述原始字符加入字符串末尾,从而进一步提高了加密的安全性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃〃〃〃〃〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

一种软件授权方法和系统、软件终端及软件管理方.pdf_第1页
第1页 / 共24页
一种软件授权方法和系统、软件终端及软件管理方.pdf_第2页
第2页 / 共24页
一种软件授权方法和系统、软件终端及软件管理方.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《一种软件授权方法和系统、软件终端及软件管理方.pdf》由会员分享,可在线阅读,更多相关《一种软件授权方法和系统、软件终端及软件管理方.pdf(24页珍藏版)》请在专利查询网上搜索。

本发明提供一种软件授权方法和系统、软件终端及软件管理方。其中一种软件授权方法应用于软件终端中,包括:保存第一公钥和第二私钥;收集当前用户信息;利用第一公钥对所述用户信息进行加密,生成软件授权申请码;将软件授权申请码发送给软件管理方;接收来自软件管理方的激活码,利用第二私钥对激活码进行解密;对解密后的激活码进行解析,从激活码中获取对应于当前用户的软件授权使用策略;根据获取的软件授权使用策略,进行软件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1