一种软件激活验证的通用方法与流程

文档序号:14217700阅读:461来源:国知局

本发明涉及一种软件激活验证的通用方法,属于软件工程技术领域。



背景技术:

为了保障软件产品的版权利益,目前通用的做法是为软件产品引入激活验证机制,这种机制中引入了包含机器硬件信息的激活文件(license),只有经过license激活的产品才能正常使用,这样通过与机器绑定,较好地解决了软件产品被滥用的问题,最大程度的维护了软件产品的版权和软件公司的利益。

目前的技术虽然已经趋于成熟,但是监测机制上还存在着一些被破解的风险,在激活信息控制和数据共享技术上还需要继续完善,同时在激活管理的应用上通用做法还不够统一,实现方式各种各样。本申请则提出了一种基于软硬件的激活认证管理通用机制,解决了激活认证信息的泄漏风险问题,在激活状态的控制流程和激活信息的共享技术上进行完善改进,形成了一套较为完善的激活认证管理机制,在一定程度上有效降低了软件产品被破解的风险。

中国专利文献cn106778084a公开了一种软件激活方法及装置和软件激活系统。其中,一种方法,用于客户端,包括:检测软件是否具有rsa数字证书;在软件具有rsa数字证书的情况下,获取软件的激活认证信息,并将激活认证信息通过rsa数字证书中的公钥加密后发送至服务器;接收并保存服务器发送的签名激活信息;通过公钥验证激活信息;根据激活信息激活软件。但是,该专利存在以下缺陷和不足:但是该专利中:(1)rsa数值证书无确认机制,存在伪造的风险,导致客户端真伪无法判断;(2)依赖于网络环境传输激活信息等,无法保证网络传输的安全性;(3)激活之后未进行实时监控激活状态,无法监控软件的使用范围;(4)依赖网络环境,未进行软件产品物理绑定,无法限制软件运行环境。



技术实现要素:

针对现有技术的不足,本发明提供了一种软件激活验证的通用方法,可用于保护软件产品的版权。

本发明的技术方案为:

一种软件激活验证的通用方法,包括:

(1)软件激活:激活软件成功后进入步骤(2),否则,继续激活软件;

(2)激活状态监测:实时监测软件的激活状态,当检测到软件处于已激活状态时,进入步骤(3),否则,停止软件运行,返回步骤(1);

(3)运行业务进程:用于执行软件关键业务、更新软件信息以及检测步骤(2)中监测的软件的激活状态。

激活软件、监测激活状态、业务进程三个过程互相关联,在软件产品的安装、运行过程中实时监测软件产品的激活状态,形成通用的软件产品激活机制。

根据本发明优选的,所述步骤(1),包括:

a、安装软件;

b、获取注册信息,所述注册信息为软件注册时采集的客户计算机的软硬件信息,包括cpu型号、mac地址、软件的版本号和若干自定义控制信息;

c、对步骤b获取的注册信息进行base64编码,得到注册文件;

d、按照实际激活需要,在步骤c得到的注册文件中加入限制参数,限制参数包括对节点数、cpu核数、试用期限,形成激活信息,并对激活信息进行加密,得到激活信息密文,即激活文件;

e、将步骤d生成的激活文件下发给客户,导入激活文件进行软件激活;

f、判断软件是否成功激活,激活成功,则更新激活状态信息数据库、license数据库、时间信息数据库、md5数据库,进入步骤(2),否则,返回步骤e。

上述激活软件的过程实现了激活信息的有效初始化,实现了对激活文件的有效控制。

根据本发明优选的,所述步骤d中,采用非对称加密算法rsa(1024位秘钥)对激活信息进行加密。

根据本发明优选的,所述步骤(2),包括:

周期性读取客户端计算机的软硬件信息,同时,从license数据库中提取激活信息,实时将读取的客户计算机的软硬件信息与提取的激活信息进行比对,如果比对结果为内容一致,则判定软件处于已激活状态,进入步骤(3);否则,停止软件运行,返回步骤(1)。

上述激活状态监测进程实现了对软件激活状态的实时激活信息核对,并通过共享内存方式避免激活信息的泄漏和伪造,实现了对软件的激活状态的实时监测,有效控制软件的产品的使用范围和时间等。

根据本发明优选的,所述步骤(2)与所述步骤(3)采用共享内存的形式进行通信,所述共享内存包括软件信息和监测结果,软件信息包括节点数、cpu核数、软件总运行时间和软件版本;监测结果即软件激活状态监测结果。

通过步骤(2)将检测到的软件的激活状态实时更新所述监测结果;

通过步骤(3)所述业务进程实时更新软件信息,并实时读取所述监测结果。

根据本发明优选的,所述步骤(3)中,更新软件信息,包括:获取软件信息,所述软件信息包括节点数、cpu核数、软件总运行时间和软件版本,写入所述共享内存中,以更新软件信息。

根据本发明优选的,所述步骤(3)中,实时读取所述监测结果,当检测到激活状态失效时,业务进程结束并通知步骤(2)结束;检测步骤(2)的状态,当检测到步骤(2)已经结束时自动退出。该设计可以避免软件产品在不受激活状态监测的状态下运行。

步骤(3)中,更新软件信息,包括:

a、业务进程主要由三部分组成:软件关键业务部分、更新共享内存部分和检测监测进程部分。

b、其中软件关键业务部分就是软件关键业务,也是软件产品主要的功能部分;

c、更新共享内存部分负责获取软件信息(包括节点数、cpu核数、软件总运行时间和软件版本信息等)并向共享内存中写入软件实时信息,同时负责检查共享内存中由监测进程记录的监测结果,当检测到激活状态失效时,业务进程结束并通知监测进程结束;

d、检测监测进程部分负责检测监测进程的状态,当业务进程检测到监测进程已经结束时自动退出,该设计可以避免软件产品在不受激活状态监测的状态下运行。

本发明的有益效果为:

1、注册和激活文件物理上独立于网络环境,实现了更高的激活信息的安全性;

2、独立的监测进程,对激活信息和关键业务进程进行监测和运行状态管理,监测和功能模块化设计,提高了设计的可靠性;

3、注册信息和自定义的控制信息灵活组合,实现了本设计的可扩展性,提高了实际应用能力;

4、软件的关键业务进程进行了软件信息实时采集,并实时分享给监测进程,采用内存共享的方式共享软件信息,提高了数据的安全性,实现了激活控制的可靠设计。

附图说明

图1为本发明软件激活验证的通用方法的流程示意图;

图2为本发明对获取的注册信息进行base64编码得到注册文件的示意图;

图3为本发明激活文件生成机制示意图;

图4业务进程组成示意图;

具体实施方式

下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。

实施例1

一种软件激活验证的通用方法,如图1所示,包括:

(1)软件激活:激活软件成功后进入步骤(2),否则,继续激活软件;

(2)激活状态监测:实时监测软件的激活状态,当检测到软件处于已激活状态时,进入步骤(3),否则,停止软件运行,返回步骤(1);

(3)运行业务进程:用于执行软件关键业务、更新软件信息以及检测步骤(2)中监测的软件的激活状态。

激活软件、监测激活状态、业务进程三个过程互相关联,在软件产品的安装、运行过程中实时监测软件产品的激活状态,形成通用的软件产品激活机制。

实施例2

根据实施例1所述的一种软件激活验证的通用方法,其区别在于:

步骤(1),包括:

a、安装软件;

b、获取注册信息,注册信息为软件注册时采集的客户计算机的软硬件信息,如图2所示,包括cpu型号、mac地址、软件的版本号和若干自定义控制信息;

c、对步骤b获取的注册信息进行base64编码,得到注册文件(如图2所示);

d、按照实际激活需要,在步骤c得到的注册文件中加入限制参数,限制参数包括对节点数、cpu核数、试用期限,形成激活信息,并采用非对称加密算法rsa(1024位秘钥)对激活信息进行加密,得到激活信息密文,即激活文件(如图3所示);

e、将步骤d生成的激活文件下发给客户,导入激活文件进行软件激活;

f、判断软件是否成功激活,激活成功,则更新激活状态信息数据库、license数据库、时间信息数据库、md5数据库,进入步骤(2),否则,返回步骤e。

上述激活软件的过程实现了激活信息的有效初始化,实现了对激活文件的有效控制。

实施例3

根据实施例1所述的一种软件激活验证的通用方法,其区别在于:

所述步骤(2),包括:

周期性读取客户端计算机的软硬件信息,同时,从license数据库中提取激活信息,实时将读取的客户计算机的软硬件信息与提取的激活信息进行比对,如果比对结果为内容一致,则判定软件处于已激活状态,进入步骤(3);否则,停止软件运行,返回步骤(1)。

上述激活状态监测进程实现了对软件激活状态的实时激活信息核对,并通过共享内存方式避免激活信息的泄漏和伪造,实现了对软件的激活状态的实时监测,有效控制软件的产品的使用范围和时间等。

步骤(2)与步骤(3)采用共享内存的形式进行通信,共享内存包括软件信息和监测结果,软件信息包括节点数、cpu核数、软件总运行时间和软件版本;监测结果即软件激活状态监测结果。

通过步骤(2)将检测到的软件的激活状态实时更新监测结果;

通过步骤(3)业务进程实时更新软件信息,并实时读取监测结果。

实施例4

根据实施例1所述的一种软件激活验证的通用方法,其区别在于:

所述步骤(3)中,更新软件信息,包括:获取软件信息,软件信息包括节点数、cpu核数、软件总运行时间和软件版本,写入共享内存中,以更新软件信息。

所述步骤(3)中,实时读取监测结果,当检测到激活状态失效时,业务进程结束并通知步骤(2)结束;检测步骤(2)的状态,当检测到步骤(2)已经结束时自动退出。该设计可以避免软件产品在不受激活状态监测的状态下运行。

步骤(3)中,更新软件信息,设计如下:

a、如图4所示,业务进程主要由三部分组成:软件关键业务部分、更新共享内存部分和检测监测进程部分。

b、其中软件关键业务部分就是软件关键业务,也是软件产品主要的功能部分;

c、更新共享内存部分负责获取软件信息(包括节点数、cpu核数、软件总运行时间和软件版本信息等)并向共享内存中写入软件实时信息,同时负责检查共享内存中由监测进程记录的监测结果,当检测到激活状态失效时,业务进程结束并通知监测进程结束;

d、检测监测进程部分负责检测监测进程的状态,当业务进程检测到监测进程已经结束时自动退出,该设计可以避免软件产品在不受激活状态监测的状态下运行。

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