[发明专利]一种软件激活验证的通用方法在审
申请号: | 201711157112.8 | 申请日: | 2017-11-20 |
公开(公告)号: | CN107944230A | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 李保来;陈亮甫;牛玉峰;李丽 | 申请(专利权)人: | 山东超越数控电子股份有限公司 |
主分类号: | G06F21/10 | 分类号: | G06F21/10;G06F21/12 |
代理公司: | 济南金迪知识产权代理有限公司37219 | 代理人: | 杨树云 |
地址: | 250000 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 激活 验证 通用 方法 | ||
技术领域
本发明涉及一种软件激活验证的通用方法,属于软件工程技术领域。
背景技术
为了保障软件产品的版权利益,目前通用的做法是为软件产品引入激活验证机制,这种机制中引入了包含机器硬件信息的激活文件(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)将检测到的软件的激活状态实时更新所述监测结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子股份有限公司,未经山东超越数控电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711157112.8/2.html,转载请声明来源钻瓜专利网。