admin 管理员组

文章数量: 1086019


2024年4月25日发(作者:带数字组词)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.8

(22)申请日 2013.04.25

(71)申请人 福建伊时代信息科技股份有限公司

地址 350015 福建省福州市马尾区江滨大道108号福建留学人员创业园B区4F

(72)发明人 许元进 杨亭 魏明

(74)专利代理机构 北京市商泰律师事务所

代理人 麻吉凤

(51)

G06F21/14

H04L12/24

(10)申请公布号 CN 103268435 A

(43)申请公布日 2013.08.28

权利要求说明书 说明书 幅图

(54)发明名称

内网许可生成方法及系统、内网许

可保护方法及系统

(57)摘要

本发明公开了一种内网许可生成方

法及系统、内网许可保护方法及系统。其

中,内网许可生成方法包括如下步骤:生

成针对特定计算机的license文件并对该

license文件进行密文加密,再通过私钥对

密文加密后的license文件进行数字签名;

生成用于统计用户使用时间的时间统计文

件;利用混淆器混淆内网软件,并将混淆

后的内网软件进行签名计算hash;将加密

后的license文件、时间统计文件和hash存

入加密key中。本发明在加密key中设置

了用户使用时间统计文件,内网软件在使

用过程中,可以通过私有接口对加密key

中的用户使用时间总值进行实时更新,避

免了用户通过修改机器时间、重装系统、

清除硬盘资源等方式非法使用内网软件。

法律状态

法律状态公告日

法律状态信息

2021-03-12

专利权的转移

2016-07-06

授权

2013-09-25

实质审查的生效

2013-08-28

公开

法律状态

专利权的转移

授权

实质审查的生效

公开

权 利 要 求 说 明 书

1.一种内网许可生成方法,其特征在于,包括如下步骤:

生成针对特定计算机的license文件并对该license文件进

加密,再通过私钥对密文加密后的license文件进行数

行密文

字签名;

生成用于统计用户使用时间的时间统计文件;

利用混淆器混淆内网软件,并将混淆后的内网软件进行签

hash;

将加密后的license文件、时间统计文件和hash存入加密

2.根据权利要求1所述的内网许可生成方法,其特征在于,所述

生成针对特定计算机的license文件进一步包括:

根据计算机的CPU序列号、硬盘序列号以及Mac地址生

标识的机器码;

通过所述机器码、有效点数以及模块信息生成license文

3.一种内网许可生成系统,其特征在于,包括:

名计算

key中。

成唯一

件。

license文件生成模块(100),用于生成针对特定计算机的

文件并对该license文件进行密文加密,再通过私钥对

license文件进行数字签名;

时间统计文件生成模块(200),用于生成统计用户使用时

间统计文件;

Hash计算模块(300),用于利用混淆器混淆内网软件,

淆后的内网软件进行签名计算hash;

传输模块(400),用于将加密后的license文件、时间统

和hash存入加密key中。

4.一种内网许可保护方法,其特征在于,该方法包括如下步骤:

检测步骤,检测安装有内网软件的计算机是否连接加密

若未连接,则禁止内网软件运行;若连接,则从所述加

中读取license文件、用户使用时间和hash,并转入许

许可验证步骤,通过公钥对所述license文件进行解密,

网软件生成自身签名hash;如果所述license文件解密

述内网软件生成的自身签名hash与从加密key

以及,用户使用时间小于有效时间,则

license文件解密失败,或所述内网

密key中读取的hash不同,

所述内

key,

密key

计文件

并将混

间的时

license

密文加密后的

可验证步骤;

成功,并且所

中读取的hash相同,

许可验证成功;如果所述

软件生成的自身签名hash与从加

或用户使用时间大于等于有效时间,

则许可验证失败。

5.根据权利要求4所述的内网许可保护方法,其特征在于,所述

计算机身份验证步骤,若许可验证成功,则对license文

密文解密,获取特定计算机的身份信息,并与安装有该

件的计算机身份信息进行比较,若相同,则允许内网软

若不同,则禁止内网软件运行。

6.一种内网许可保护系统,其特征在于,包括:

检测模块(500),用于检测安装有该内网软件的计算机是

加密key,若未连接,则禁止内网软件运行;若连接,

key中读取license文件、用户使用时间和hash;

许可验证模块(600),用于通过公钥对所述license文件

密以及使所述内网软件生成自身签名hash;如果所述

密成功,并且所述内网软件生成的自身签名hash

中读取的hash相同,以及,用户使用时间小于

证成功;如果所述license文件解密失败,

的自身签名hash与从加密key中读取的

间大于等于有效时间,则验证失败,

许可验证步骤之后还包括:

件进行

内网软

件运行;

否连接

则从所述加密

进行解

license文件解

与从加密key

有效时间,则许可验

或所述内网软件生成

hash不同,或用户使用时

禁止内网软件运行。

7.根据权利要求6所述的内网许可保护系统,其特征在于,还包

括:

计算机身份验证模块(700),用于在许可验证成功后,对

文件进行密文解密,获取特定计算机的身份信息,并与

该内网软件的计算机身份信息进行比较,若相同,则允

软件运行;若不同,则禁止内网软件运行。

8.根据权利要求6所述的内网许可保护系统,其特征在于,该系

统还包括:

实时监测模块(800),用于实时监测加密key是否与安装

网软件的计算机相连接,若断开,则内网软件停止运行。

9.根据权利要求8所述的内网许可保护系统,其特征在于,所述

实时监测模块(800)还用于实时比较加密key中的用户使用

时间是否小于有效时间,若小于,则实时更新加密key中的用

户使用时间;若大于,则控制内网软件停止运行。

license

安装有

许内网

有该内

说 明 书

技术领域

本发明涉及计算机信息安全技术领域,特别涉及一种内网许可生成方法及系统、内

网许可保护方法及系统。

背景技术

内网软件是一种管理企事业单位内部资产的管理系统,它可以帮组管理员进行资产

的管理、文件的分发以及软件的升级,极大地方便了单位资产的管理。为避免一些

盗版使用者非法使用内网软件,并且无法随意售卖内网软件,保护软件供应商的知

识产权,做出对内网软件的保护措施是不可缺少的。

目前,常用的内网软件保护方法包括如下两种:一种是采用license文件对内网软

件进行保护,在license文件中对一些规则进行加密,由软件进行读取验证;另一

种是采用加密key,即硬件加密的方式来对许可进行约定,软件开发者在软件中设

置多处软件锁,利用加密key做为钥匙来打开这些锁,如果没插加密key或加密

key不对应,软件将不能正常执行。但上述两种方法均不能很好的控制内网软件的

有效使用时间,原因是:由于是内网软件,所以无法通过网络获取真实时间,用户

可以通过修改机器时间避免软件对license文件有效使用时间的限制;

另外,由于license文件是暴露给用户的,而上述两种方法对license文件的保护不

够,如果用户对license文件进行破解,修改授 权控制规则,或者对内网软件进行

代码破解,修改源代码,那么对内网软件的保护马上失效。

发明内容

有鉴于此,本发明提出一种内网许可生成方法及系统、内网许可保护方法及系统,

以解决现有内网软件保护方法不能有效控制用户有效使用时间的问题。

一个方面,本发明提供了一种内网许可生成方法,包括如下步骤:生成针对特定计

算机的license文件并对该license文件进行密文加密,再通过私钥对密文加密后的

license文件进行数字签名;生成用于统计用户使用时间的时间统计文件;利用混淆

器混淆内网软件,并将混淆后的内网软件进行签名计算hash;将加密后的license

文件、时间统计文件和hash存入加密key中。

进一步地,上述内网许可生成方法中,生成针对特定计算机的license文件进一步

包括:根据计算机的CPU序列号、硬盘序列号以及Mac地址生成唯一标识的机器

码;通过机器码、有效点数以及模块信息生成license文件。

另一方面,本发明还提出了一种内网许可生成系统,该系统包括:license文件生成

模块,用于生成针对特定计算机的license文件并对该license文件进行密文加密,

再通过私钥对密文加密后的license文件进行数字签名;时间统计文件生成模块,

用于生成统计用户使用时间的时间统计文件;Hash计算模块,用于利用混淆器混

淆内网软件,并将混淆后的内网软件进行签名计算hash;传输模块,用于将加密

后的license文件、时间统计文件和hash存入加密key中。

又一方面,本发明还提出了一种内网许可保护方法,该方法包括如下步骤:检测步

骤,检测安装有内网软件的计算机是否连接加密key,若未连接,则禁止内网软件

运行;若连接,则从加密key中读取license文件、用户使用时间和hash,并转入

许可验证步骤;许可验证步骤,通过公钥对license文件进行解密,内网软件生成

自身签名hash;如果license文件解密成功,并且内网软件生成的自身签名hash与

从加密key中读取的hash相同,以及,用户使用时间小于有效时间,则许可验证

成功;如果license文件解密失败,或内网软件生成的自身签名hash与从加密key

中读取的hash不同,或用户使用时间大于等于有效时间,则验证失败。

进一步地,上述内网软件保护方法中,许可验证步骤之后还包括:计算机身份验证

步骤,若许可验证成功,则对license文件进行密文解密,获取特定计算机的身份

信息,并与安装有该内网软件的计算机身份信息进行比较,若相同,则允许内网软

件运行;若不同,则禁止内网软件运行。

又一方面,本发明还提出了一种内网许可保护系统,该系统包括:检测模块,用于

检测安装有该内网软件的计算机是否连接加密key,若未连接,则禁止内网软件运

行;若连接,则从加密key中读取license文件、用户使用时间和hash;许可验证

模块,用于通过公钥对license文件进行解密以及使内网软件生成自身签名hash;

如果license文件解密成功,并且内网软件生成的自身签名hash与从加密key中读

取的hash相同,以及,用户使用时间小于有效时间,则许可验证成功;如果

license文件解密失败,或内网软件生成的自身签名hash与从加密key中读取的

hash不同,或用户使用时间大于等于有效时间,则验证失败,禁止内网软件运

行。

进一步地,上述内网软件保护系统还包括:计算机身份验证模块,用于在许可验证

成功后,对license文件进行密文解密,获取特定计算机的身份信息,并与安装有

该内网软件的计算机身份信息进行比较,若相同,则允许内网软件运行;若不同,

则禁止内网软件运行。

进一步地,上述内网软件保护系统还包括:实时监测模块,用于实时监测加密key

是否与安装有该内网软件的计算机相连接,若断开,则内网软件停止运行。

进一步地,上述内网软件保护系统中,实时监测模块还用于实时比较加密key中的

用户使用时间是否小于有效时间,若小于,则实时更新加密key中的用户使用时间;

若大于,则控制内网软件停止运行。

与现有技术相比,本发明具有如下优势:

本发明在加密key中设置了用户使用时间统计文件,内网软件在使用过程中,可以

对加密key中的用户使用时间总值进行实时更新,避免了用户通过修改机器时间、

重装系统、清除硬盘资源等方式非法使用内网软件。

本发明还对内网软件源码进行混淆,防止用户反编译,识别软件代码,增加了恶意

破解者破解代码的难度,然后对源码进行签名hash计算,得到独有计算值,并且

将hash值存入加密key中,保证了非法用户无法修改签名值。

本发明对生成的license文件进行密文加密后再进行数字签名,可以杜绝非法用户

恶意破解license以及修改,为内网软件的安全合法使用提供了安全壁垒。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施

例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明内网许可生成方法实施例的流程图;

图2为本发明内网许可生成系统实施例的结构框图;

图3为本发明内网许可保护方法实施例的流程图;

图4为本发明内网许可保护方法实施例的又一流程图;

图5为本发明内网许可保护系统实施例的结构框图;

图6为本发明内网许可保护系统实施例的又一结构框图;

图7为本发明内网许可保护系统实施例的又一结构框图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互

组合。下面将参考附图并结合实施例来详细说明本发明。

内网许可生成方法实施例

参见图1,图1为本发明内网许可生成方法实施例的流程图。如图所示,该方法包

括如下步骤:生成针对特定计算机的license文件并对该license文件进行密文加密,

再通过私钥对密文加密后的 license文件进行数字签名;生成用于统计用户使用时

间的时间统计文件;利用混淆器混淆内网软件,并将混淆后的内网软件进行签名计

算hash(散列或哈希);将加密后的license文件、时间统计文件和hash存入加密

key中。其中,加密key是一种外形酷似U盘的硬件设备,是一种可以插在计算机

并行口上的软硬件结合的加密产品。

可以看出,本发明实施例将内网许可存入加密key中,使用时,将该加密key与安

装有内网软件的计算机相连接,以验证该计算机中的内网软件是否合法。

本发明实施例在加密key中设置了用户使用时间统计文件,内网软件在使用过程中,

可以对加密key中的用户使用时间总值进行实时更新,避免了用户通过修改机器时

间、重装系统、清除硬盘资源等方式非法使用内网软件。

本发明实施例还对内网软件源码进行混淆,防止用户反编译,识别软件代码,增加

了恶意破解者破解代码的难度,然后对源码进行签名hash计算,得到独有计算值,

并且将hash值存入加密key中,保证了非法用户无法修改签名值。

另外,本发明实施例对生成的license文件进行密文加密后再进行数字签名,可以

杜绝非法用户恶意破解license以及修改,为内网软件的安全合法使用提供了安全

壁垒。而且,license文件中含有特定的计算机的身份信息,使该内网软件只能在拥

有授权许可的指定机器上使用。

上述发明实施例中的生成针对特定计算机的license文件可以进一步包括以下步骤:

根据计算机的CPU序列号、硬盘序列号以及Mac地址生成唯一标识的机器码;通

过机器码、有效点数以及模块信息生成license文件。其中,有效点数指内网软件

所允许安装的最 大数量限制;模块信息是指内网软件中含有的各个子系统模块,

即对该子系统模块是否有权限进行访问。

使用时,需要判断计算机中的CPU序列号、硬盘序列号以及Mac地址与加密key

中存储的CPU序列号、硬盘序列号以及Mac地址是否一致,如果有任意一项不同,

则表明该计算机未获得授权许可,将禁止内网软件在该计算机上运行。

当然,计算机的身份信息也可以为CPU序列号、硬盘序列号以及Mac地址中的任

一种,或者计算机的其他参数,本发明对身份信息的具体内容不做限定。

内网许可生成系统实施例

参见图2,图2为内网许可生成系统实施例的结构框图。如图所示,该系统包括:

License文件生成模块100,用于生成针对特定计算机的license文件并对该license

文件进行密文加密,再通过私钥对密文加密后的license文件进行数字签名;时间

统计文件生成模块200,用于生成统计用户使用时间的时间统计文件;Hash计算

模块300,用于利用混淆器混淆内网软件,并将混淆后的内网软件进行签名计算

hash;传输模块400,用于将加密后的license文件、时间统计文件和hash存入加

密key中。

本发明实施例将内网许可存入加密key中,使用时,将该加密key与安装有内网软

件的计算机相连接,以确定该计算机中的内网软件是否合法。

本发明实施例在加密key中设置了用户使用时间统计文件,内网软件在使用过程中,

可以对加密key中的用户使用时间总值进行 实时更新,避免了用户通过修改机器

时间、重装系统、清除硬盘资源等方式非法使用内网软件。

本发明实施例还对源码进行混淆,增加了恶意破解者破解代码的难度,然后对源码

进行签名hash计算,并且将签名值存入到加密key中,保证非法用户无法修改签

名值。

另外,本发明实施例对生成的license文件进行密文加密后再进行数字签名,可以

杜绝非法用户恶意破解license以及修改,为内网软件的安全合法使用提供了安全

壁垒。而且,license文件中含有特定的计算机的身份信息,使该内网软件只能在拥

有授权许可的指定机器上使用。

需要说明的是,本发明实施例中的内网许可生成系统与内网许可生成方法实施例原

理相似,相关之处可以相互参照。

内网许可保护方法实施例

参见图3,图3为本发明内网许可保护方法实施例的流程图。如图所示,该方法包

括:检测步骤S1,检测安装有内网软件的计算机是否连接加密key,若未连接,则

禁止内网软件运行;若连接,则从加密key中读取license文件、用户使用时间和

hash,并转入许可验证步骤;许可验证步骤S2,通过公钥对license文件进行解密,

内网软件生成自身签名hash;如果license文件解密成功,并且内网软件生成的自

身签名hash与从加密key中读取的hash相同,以及,用户使用时间小于有效时间,

则许可验证通过;如果license文件解密失败,或内网软件生成的自身签名hash与

从加密key中读取的hash不同,或用户使用时间大于等于有效时间,则许可验证

失败,禁止内网软件运行。

该方法通过license文件是否解密成功、内网软件生成的自身签名hash与从加密

key中读取的hash是否相同,以及用户使用时间是否小于有效时间三个条件来验证

许可,当上述三个条件同时满足时,许可验证成功,如果有任一个条件不满足,则

许可验证失败,禁止内网软件的运行。

本发明实施例弥补了现有内网软件时间控制上的难题,每次使用内网软件将会比对

加密key中存入的使用时间总值,这样可以避免用户通过修改机器时间、重装系统、

清除硬盘资源等方式非法使用内网软件;另外,本发明实施例还通过公钥对

license进行解密,以及比对该内网软件的hash与加密key存储的hash是否相同,

来验证许可,增加了该许可被篡改的难度。

为了使该内网软件只能在指定的计算机上运行,上述许可验证步骤之后还可以包括:

计算机身份验证步骤,若许可验证成功,则对license文件进行密文解密,获取特

定计算机的身份信息,并与安装有该内网软件的计算机身份信息进行比较,若相同,

则允许内网软件运行;若不同,则禁止内网软件运行。其中,计算机身份信息可以

为CPU序列号、硬盘序列号以及Mac地址中的一种或多种。

下面结合图4对该内网软件保护方法的优选实施例进行详细说明。

1)启动内网软件,内网软件首先检测加密key是否插入,如果没有,则停止服务;

如果加密key正常插入,内网软件首先生成自身签名hash,并与加密key中保存的

代码签名hash进行比较,如果不一致,则代表代码已被篡改,停止服务;

2)代码签名一致后,判断加密key中存放的有效使用时间总值是否已经用尽,即

用户使用时间是否大于等于有效时间,如果用尽,则许可验证失败,停止服务,如

果未用尽,则许可验证成功;

3)如果在有效使用时间内,软件利用公钥对加密key中license文件进行解密,如

果解密失败,则停止服务;如果解密成功,内网软件继续进行密文解密,读取

license控制规则,以确定安装有该内网软件的计算机中的身份信息是否与加密key

中存储的指定计算机身份信息相一致,如果不一致,则停止服务,如果一致,则验

证成功,允许内网软件运行。

4)在内网软件内部开启一个保护线程,该线程定时检查加密key是否插入状态,

如果拔出,则暂停服务;定时检查加密key中有效使用时间总值是否已经用尽,如

果用尽则停止服务,反之,通过私有接口(程序自定义调用接口)将加密key中该

值进行递减修改,以更新加密key中的用户使用时间。

与现有技术相比,该内网软件保护方法实施例具有如下优势:

一、安全性高

本发明实施例采用数字签名技术与硬件加密技术相结合,更加安全的保护软件知识

版权不被侵犯。License的生成依靠CPU序列号、硬盘序列号以及Mac地址生成唯

一的机器码,可以保证授权许可只能在指定机器使用。生成的license文件进行加

密后再进行数字签名,然后存入加密key中,可以杜绝非法用户恶意破解license

以及修改,为内网软件的安全合法使用提供了安全壁垒。

二、防止用户修改时间非法使用软件

本发明实施例弥补了现有内网软件时间控制上的难题,每次使用内网软件将会比对

加密key中存入的使用时间总值,在使用过程中,通过私有接口对可使用时间总值

进行修改,这样可以避免用户通过修改机器时间、重装系统、清除硬盘资源等方式

非法使用内网软件。

三、防止非法用户篡改源码

本发明实施例中,首先对内网软件的源码进行混淆,增加恶意破解者破解代码难度,

然后对源码进行签名hash计算,并且将签名值存入到加密key中,保证非法用户

无法修改签名值,应用内网软件每次自动匹配加密key中hash与自身hash是否一

致,如果不一致,则代码代码已被篡改,立即停止服务,有效的防止了源码被篡改

带来的安全威胁。

内网许可保护系统实施例

参见图5,图中示出了内网许可保护系统实施例的结构框图。如图所示,该系统至

少包括:检测模块500,用于检测安装有该内网软件的计算机是否连接加密key,

若未连接,则禁止内网软件运行;若连接,则从加密key中读取license文件、用

户使用时间和hash;许可验证模块600,用于通过公钥对license文件进行解密以

及使内网软件生成自身签名hash;如果license文件解密成功,并且内网软件生成

的自身签名hash与从加密key中读取的hash相同,以及,用户使用时间小于有效

时间,则许可验证成功;如果license文件解密失败,或内网软件生成的自身签名

hash与从加密key中读取的hash不同,或用户使用时间大于等于有效时间,则验

证失败,禁止内网软件运行。

该方法通过license文件是否解密成功、内网软件生成的自身签名hash与从加密

key中读取的hash是否相同,以及用户使用时间是否小于有效时间三个条件来验证

许可,当上述三个条件同时满足时,许可验证成功,如果有任一个条件不满足,则

许可验证失败,禁止内网软件的运行。

本发明实施例弥补了现有内网软件时间控制上的难题,每次使用内网软件将会比对

加密key中存入的使用时间总值,这样可以避免用户通过修改机器时间、重装系统、

清除硬盘资源等方式非法使用内网软件;另外,本发明实施例还通过公钥对

license进行解密,以及比对该内网软件的hash与加密key存储的hash是否相同,

来验证许可,增加了该许可被篡改的难度。

参见图6,为了使该内网许可保护系统实施例只能应用到指定的计算机上,本实施

例还可以包括:计算机身份验证模块700,用于在许可验证成功后,对license文件

进行密文解密,获取特定计算机的身份信息,并与安装有该内网软件的计算机身份

信息进行比较,若相同,则允许内网软件运行;若不同,则禁止内网软件运行。

参见图7,上述内网许可保护系统实施例还可以包括:实时监测模块800,用于实

时监测加密key是否与安装有该内网软件的计算机相连接,若断开,则内网软件停

止运行。进一步优选地,实时监测模块800还用于实时比较加密key中的用户使用

时间是否小于有效时间,若小于,则实时更新加密key中的用户使用时间;若大于,

则控制内网软件停止运行。

由于本发明内网软件保护系统实施例与上述内网软件保护方法实施例原理相似,所

以该内网软件保护系统实施例具有上述内网软件保护方法实施例的所有效果,具体

内容参照上述说明即可,本发明在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神

和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围

之内 。


本文标签: 软件 时间 加密 使用 文件