软件产品安全验证系统的制作方法

文档序号:8285219阅读:316来源:国知局
软件产品安全验证系统的制作方法
【技术领域】
[0001]本发明属于软件产品验证领域,特别是涉及一种软件产品安全验证系统。
【背景技术】
[0002]目前,市面上软件产品或多或少都对自己的产品本身进行了安全上的保护,防止盗版、反编译等非正常授权使用,降低软件产品盗版使用风险,提高公司核心竞争力和经济效益。
[0003]这些软件大多数采用软保护技术,目前大致有如下几种:
[0004]I)早期最简单的就是通过日期限制产品使用,在到期前给客户更新最新的产品保护组件,非客户因不能及时更新该组件而出现障碍或无法继续使用。
[0005]2)软件产品加入某种算法,在验证时根据算法与产品发布时提供的产品授权密钥进行比较,符合算法规则则通过验证。
[0006]3)软件产品在客户处获得计算机上的硬件信息(如CPU序列号、主板序列号、硬盘序列号、MAC地址等)生成硬件指纹信息,将该指纹信息传递到软件厂商生成授权密钥,客户再注册通过产品验证。
[0007]4)软件产品加入在线激活机制,通过安装后产品运行环境生成标识信息,通过软件厂商提供的在线验证系统对客户在线激活的标识信息及产品密钥进行比较是否符合授权要求及是否在允许的激活次数之内。
[0008]原有技术存在以下的缺点:
[0009]I)产品验证程序与应用程序不便于分布式部署和授权;
[0010]2)多个产品授权时需要分别注册或授权,不便于集中管理;
[0011]3)部分产品安全性较低,只验证是否注册或授权,一旦断定已经授权就能无限制进行其他业务处理,因此某些跟踪调试程序就可通过Jump指令绕过判断环节,绕过软件产品验证。

【发明内容】

[0012]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种安全性高、扩展性强、验证方式高度统一的软件产品安全验证系统。
[0013]为实现上述目的,本发明提供了一种软件产品安全验证系统,包括产品验证中心、软件注册中心、产品验证组件、客户端验证控件和许可证发放中心;
[0014]所述产品验证中心用于提供对软件注册中心、产品验证组件、客户端验证控件和客户端验证请求的具体实现,并以Windows服务方式运行;
[0015]所述软件注册中心用于提供客户服务器硬件指纹信息的获取、授权许可证的注册、授权产品状态查询、客户端注册申请的审核及证书发放、客户端授权注销、客户端在线安全认证日志查询;
[0016]所述产品验证组件用于产品的B/S或C/S结构服务器端程序引用使用,实现与产品验证中心的通讯及产品是否注册获取及注册信息的获取;
[0017]所述客户端验证控件用于实现客户端注册申请及获取下载及安装客户端授权许可证;
[0018]所述许可证发放中心用于部署到客户端对软件产品发放产品许可证。
[0019]较佳的,产品验证中心、软件注册中心、产品验证组件和客户端验证控件之间通过WebService方式进行通讯。
[0020]较佳的,采用双向加密方式并结合AES加解密、RSA消息摘要/数字签名及数据打包解包技术实现对WebService的通讯数据双向加解密处理。
[0021]本发明的有益效果是:本发明安全性极高、扩展性极强、验证方式高度统一、集中或分布式部署均可、与软件产品开发分离可以更专注于产品开发本身。
【附图说明】
[0022]图1是本发明一【具体实施方式】的结构示意图。
【具体实施方式】
[0023]下面结合附图和实施例对本发明作进一步说明:
[0024]如图1所示,一种软件产品安全验证系统,其特征在于包括产品验证中心1、软件注册中心2、产品验证组件3、客户端验证控件4和许可证发放中心5。
[0025]所述产品验证中心I用于提供对软件注册中心2、产品验证组件3、客户端验证控件4和客户端验证请求的具体实现,并以Windows服务方式运行。
[0026]所述软件注册中心2用于提供客户服务器硬件指纹信息的获取、授权许可证的注册、授权产品状态查询、客户端注册申请的审核及证书发放、客户端授权注销、客户端在线安全认证日志查询。
[0027]所述产品验证组件3用于产品的B/S或C/S结构服务器端程序引用使用,实现与产品验证中心的通讯及产品是否注册获取及注册信息的获取。
[0028]所述客户端验证控件4用于实现客户端注册申请及获取下载及安装客户端授权许可证。
[0029]所述许可证发放中心5用于部署到客户端对软件产品发放产品许可证。
[0030]本实施例中,产品验证中心1、软件注册中心2、产品验证组件3和客户端验证控件4之间通过WebService方式进行通讯。
[0031 ] 本实施例中,采用双向加密方式并结合AES加解密、RSA消息摘要/数字签名及数据打包解包技术实现对WebService的通讯数据双向加解密处理。
[0032]本实施例将软件产品安全验证系统分别安装在客户客户端、客户服务器端、公司客户端、公司服务端:1)产品验证中心ValidateCenter ;
[0033]2)软件注册中心 RegisterCenter ;
[0034]3)产品验证组件 ValidateServer ;
[0035]4)客户端验证控件 ValidateClient ;
[0036]5)许可证发放中心LicenceCenter
[0037](一)客户客户端
[0038]客户客户端安装客户端验证控件ValidateClient和ActiveX控件,该控件实现如下功能:
[0039]1.所有系统所有版本共用一个客户端验证控件。
[0040]2.根据不同系统不同版本传递的参数进行验证。
[0041]3.该控件对于B/S通过自动下载安装,对于C/S通过安装程序或手工安装。
[0042]4.控件与服务器间的通讯通过Web Service实现。
[0043]5.控件验证产品验证中心程序的有效性,防止伪装的服务器端。
[0044]6.控件发出注册申请实现客户端在客户服务器上的注册。
[0045]7.如果系统允许客户端本地验证,则控件发出获取许可证的请求,并将通过审核返回的许可证保存到本地计算机;
[0046]8.如果本地验证则验证本地的许可证是否有效,否则控件发出远程验证请求客户端有效性验证。
[0047](二)客户服务器端
[0048]客户服务器端安装产品验证中心ValidateCenter的Windows服务和软件注册中心 RegisterCenter 的 Windows 应用程序。
[0049]产品验证中心Windows服务:
[0050]1.客户服务器端只安装一个产品验证中心ValidateCenter ;
[0051]2.产品验证中心 ValidateCenter 注册为 Windows 服务或 IIS 的 Web Service,为客户端的验证提供接口;
[0052]3.产品验证中心ValidateCenter需要验证客户端及软件注册中心RegisterCenter的程序有效性,防止伪装的程序;
[0053]4.支持ASP.NET程序及Windows程序的直接调用验证,并返回验证后的系统信息(如数据库信息、注册信息等),并支持动态库插件接口的返回值作为验证后的系统返回信息;
[0054]5.接收客户端的注册申请,并将申请传递到软件注册中心RegisterCenter ;
[0055]6.对客户端的远程验证申请进行验证;
[0056]7.对客户端获取许可证进行处理并返回许可证书信息,许可证书信息的生成需要加入服务器指纹、客户端指纹信息,防止许可证书拷贝使用。
[0057]软件注册中心Windows应用服务:
[0058]1.客户服务器端只安装一个软件注册中心RegisterCenter ;
[0059]2.软件注册中心RegisterCenter通过安装程序或手工安装;
[0060]3.获取服务器硬件指纹并生成一个文件,供许可证发放中心LicenceCenter许可证发放中心生成一个许可证书;
[0061]4.导入许可证发放中心LicenceCenter发放的许可证书进行软件产品、版本、站点数等方面的注册;
[0062]5.允许对已经注册的许可证书作废;
[0063]6.对ValidateClient客户端的注册申请、客户端获取许可证书进行审核;
[0064]7.允许注册的客户端或客户端许可证书作废;
[0065]8.对服务器注册的许可证书进行查询;
[0066]9.对服务器注册的客户端进行查询;
[0067]10.对服务器发放的许可证书进行查询。
[0068](三)公司服务器端
[0069]公司服务器端安装LicenceCenter许可证发放中心Windows应用程序,该应用程序实现如下功能:
[0070]1.公司服务器上只安装一个LicenceCenter许可证发放中心;
[0071]2.允许导入和保存客户的硬件指纹信息;
[0072]3.根据客户硬件指纹信息进行审核、记录、发放许可证;
[0073]4.许可证中包括客户使用产品、产品的版本、站点数、使用期限、使用功能、客户标识等信息;
[0074]5.对公司客户端进行许可证发放提供后台程序(用B/S方式);
[0075]6.许可证的发放最终要实现不同人员对产品、版本、站点数等方面权限控制;
[0076]7.对许可证发放的授权功能;
[0077]8.相关的版本发放查询功能。
[0078](四)公司客户端
[0079]公司客户端安装软件注册中心RegisterCenter以实现许可证发放功能和许可证发放查询功能。
[0080]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
【主权项】
1.一种软件产品安全验证系统,其特征在于:包括产品验证中心(I)、软件注册中心(2)、产品验证组件(3)、客户端验证控件(4)和许可证发放中心(5); 所述产品验证中心(I)用于提供对软件注册中心(2)、产品验证组件(3)、客户端验证控件(4)和客户端验证请求的具体实现,并以Windows服务方式运行; 所述软件注册中心(2)用于提供客户服务器硬件指纹信息的获取、授权许可证的注册、授权产品状态查询、客户端注册申请的审核及证书发放、客户端授权注销、客户端在线安全认证日志查询; 所述产品验证组件(3)用于产品的B/S或C/S结构服务器端程序引用使用,实现与产品验证中心的通讯及产品是否注册获取及注册信息的获取; 所述客户端验证控件(4)用于实现客户端注册申请及获取下载及安装客户端授权许可证; 所述许可证发放中心(5)用于部署到客户端对软件产品发放产品许可证。
2.如权利要求1所述的软件产品安全验证系统,其特征是:产品验证中心(I)、软件注册中心(2)、产品验证组件(3)和客户端验证控件(4)之间通过WebService方式进行通讯。
3.如权利要求2所述的软件产品安全验证系统,其特征是:采用双向加密方式并结合AES加解密、RSA消息摘要/数字签名及数据打包解包技术实现对WebService的通讯数据双向加解密处理。
【专利摘要】本发明公开了一种软件产品安全验证系统,属于软件产品验证领域,包括产品验证中心、软件注册中心、产品验证组件、客户端验证控件和许可证发放中心;本发明安全性极高、扩展性极强、验证方式高度统一、集中或分布式部署均可、与软件产品开发分离可以更专注于产品开发本身。
【IPC分类】H04L29-06
【公开号】CN104601551
【申请号】CN201410827108
【发明人】税诗成
【申请人】重庆森鑫炬科技有限公司
【公开日】2015年5月6日
【申请日】2014年12月25日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1