基于云计算可离线的软件许可集中安全认证系统及其方法

文档序号:7775799阅读:220来源:国知局
专利名称:基于云计算可离线的软件许可集中安全认证系统及其方法
技术领域
本发明属于互联网络的安全认证技术领域,具体涉及一种基于云计算可离线的软件许可集中安全认证系统及其方法。
背景技术
目前已经有一些现存技术如申请号为200610156463的中国专利申请公开了一种网络许可证管理方法、系统及许可证服务器和客户端,在许可证服务器中确定有效性检测保护时间;在有效性检测保护时间内,许可证服务器与请求许可证的客户端之间进行心跳检测,并在心跳检测失败时, 许可证服务器回收分配给客户端的许可证。本发明通过有效性检测保护时间内的心跳检测,检测出许可证的有效性。在心跳检测失败时,认为许可证失效,并及时收回许可证,从而通过对许可证的管理,保证了许可证资源的合理使用。该技术需要一直检测心跳,申请号为03113706的中国专利申请公开了一种附加程序式软件或信息产品使用许可的集中验证与授权方法,其特征在于所述软件或信息产品附加有验证与解锁程序。本发明的方法包含两种杜绝软件的非法使用的措施一是用户在购买使用权的期间内,每次使用仍然需要接受验证,摈弃可重复使用和赠予的许可码;二是任何验证期间的时间标准是验证网站的时钟,可杜绝修改本机时钟的超时使用。只要验证程序具有一定的复杂性,比之于相对简单的注册码来讲,可以说能基本杜绝软件的非法使用,或称盗用。而现在,网络速度和网间联络的即时性已经解决,上述软件使用许可集中验证与授权方法的可行性也是显而易见的。申请号为200310117683的中国专利申请公开了一种通用认证授权服务系统及方法,其可在分布式网络中实现集中式用户认证授权服务。该系统包括一通用认证授权服务器、多个客户端计算机及一数据库。通用认证授权服务器用于在分布式网络中实现集中式用户认证授权服务。该通用认证授权服务器包括一认证装置,用于在分布式网络中对用户的身份进行识别和确认,并生成授权凭证;一授权装置,用于在分布式网络中确认用户对多个应用服务系统的访问权限,并生成服务凭证。客户端计算机提供一交互式用户界面,以便于用户输入用户名称及密码,并获得授权凭证及服务凭证。数据库用于存储用户列表、授权凭证及服务凭证。利用本发明,可安全、高效的在分布式网络中实现集中式用户认证授权服务。这些技术方案具有以下缺陷1、要求服务器端应用必须实时在线,若不在线则会停止服务,对网络环境的要求较高。2、不支持代理授权,不支持离线环境下的集群认证。3、 在远程端软件应用进行认证时消息没有加密,容易被截取进行分析。4、认证服务器崩溃时, 会照成各客户端因无法检测认证服务,而照成服务中断。5、认证服务器技术升级时可能会照成原有许可失效。6、认证客户端无法提供多种外部访问接口,如SOA、WEBSevice, DLL、 COM,SOCKET ;7、无法同时支持离线和在线的授权要求。8、若采用客户端破解,既截获客户端认证消息,容易在客户端伪造真实认证消息造成认证被攻破。本发明因此而来。

发明内容
针对现有技术中所存在的问题,本发明的目的是提供一种基于云计算可离线的软件许可集中安全认证系统。为了解决现有技术中的这些问题,本发明提供的技术方案如下一种基于云计算可离线的软件许可集中安全认证系统,包括由集中认证服务器、 代理认证服务器和客户端构成的互联网络,其特征在于所述集中认证服务器负责生产授权证书,并向代理认证服务器或客户端发放授权证书;所述代理认证服务器负责接受集中认证服务器的授权代理认证并代理集中认证服务器进行客户端的离线授权服务;所述客户端离线情况下通过发送心跳检测信息给代理认证服务器的代理授权服务程序进行代理认证; 或者在线情况下所述客户端通过与集中认证服务器间进行心跳检测确认授权证书有效性。优选的,所述心跳检测采用的心跳码包括客户端硬件信息和客户端时间戳;且心跳码进行传输前客户端硬件信息和客户端时间戳进行1 位DES加密。优选的,所述代理认证服务器和客户端在安全认证前需要向集中认证服务器进行注册程序;注册成功后进行安全认证。优选的,所述代理认证服务器设置有SOA、WEBSevice, DLL、COM、SOCKET接口供客户端进行离线认证。优选的,所述客户端硬件信息能唯一标示客户端,所述客户端硬件信息选自网卡、 硬盘的ID信息。本发明的另一目的在于提供一种基于云计算可离线的软件许可集中安全认证方法,设置在具有集中认证服务器、代理认证服务器和客户端的互联网络中,其特征在于包括以下步骤(1)客户端或代理认证服务器向集中认证服务器进行认证前的注册;(2)离线情况下客户端通过发送心跳检测信息给代理认证服务器的代理授权服务程序进行代理认证;或者在线情况下客户端通过与集中认证服务器间进行心跳检测确认授权证书有效性。优选的,所述方法步骤O)当心跳检测失败时,集中认证服务器回收分配给客户端或代理认证服务器的授权证书。优选的,所述方法步骤(1)中所述集中认证服务器输入认证信息,比对客户端或代理认证服务器的硬件信息,确认是在线实时认证还是离线认证、许可代理认证的保护时间;若是离线方式,则会生成针对代理认证服务器唯一码的离线授权机程序;所述离线授权机程序进行离线情况下客户端的认证;如果进行实时认证则在有效性检测保护时间内, 集中认证服务器与请求许可证的客户端或代理认证服务器之间进行心跳检测,并在心跳检测失败时,集中认证服务器回收分配给客户端或代理认证服务器的许可证。优选的,所述方法客户端与集中认证服务器间以及集中认证服务器与代理认证服务器定期进行授权更新。本发明的安全认证无需一直在线,可以脱网进行,是一种远程集中和本地留备份的形式。在目前云计算的环境下,网格计算,多主机并行运行一个软件应用的情况越来越多见,而且服务的地理位置可能也不同,甚至在国外。为保护知识产权,在传统模式下,每个主机都要对该软件应用进行许可注册,管理和维护越来越麻烦,比如许可到期,服务器更换, 许可升级都需要远程登录管理。为此提出了一种软件许可集中认证的技术,通过该技术解决云计算或多主机环境下运行软件应用的软件许可的集中管理和代理授权管理功能,包括实现认证、注册、升级、代理授权生成、作废、扩充等功能。本发明中认证系统具有几个关键部分集中认证服务器、代理认证服务器和客户端。代理认证服务器和客户端可以同为一个。即客户端上有代理认证程序。集中认证服务器与代理认证服务器间、集中认证服务器与客户端间以及代理认证服务器和客户端间的认证码为随时间动态变化的认证码。集中认证服务器颁发给代理认证服务器的代理授权服务程序为离线客户端认证程序。集中认证服务器功能生产授权、发放授权、确认授权、维护授权、动态确认码生成和确认。而代理认证服务器(代理授权服务)功能获取主机信息、软件应用信息、发送代理认证服务器或客户端信息给认证服务器、动态确认码生成和确认。随时间动态变化的认证码要求客户端的时间戳和服务器的时间戳要一致,认证码会根据客户硬件信息每隔一段指定时间发送,每次都不同(防止认证消息被截取和伪造)。 另支持离线方式(代理授权方式),离线方式(代理授权方式)下,认证服务器会生成一个只能在该客户端运行的程序,在联网时会与服务器进行统一更新时间戳。与现有技术相比,本发明的有益效果为该发明可用于在分布式网络中确认用户对多个应用服务系统的访问权限,并生成服务凭证;同时支持离线认证、代理认证和在线认证,离线时生成针对客户端的认证程序/ 代理认证程序,在线认证为实时监测心跳方式。每次的认证码都不同,有个服务器时间戳概念。若是离线方式,客户端时间戳一般和服务器时间戳一致,若在线方式则需要不断更新客户端时间戳,保证和服务器一致(不修改客户端时间);不要求服务器端应用必须实时在线,若不在线则不会停止服务,对网络环境的要求不高。在远程端软件应用进行认证时消息进行加密,不容易被截取进行分析。认证服务器崩溃时,不会照成各客户端因无法检测认证服务,而照成服务中断。认证服务器技术升级时不会照成原有许可失效。认证客户端提供多种外部访问接口,如SOA、WEBSevice, DLL、 COM、SOCKET。同时支持离线和在线的授权要求,不容易在客户端伪造真实认证消息造成认证被攻破。


下面结合附图及实施例对本发明作进一步描述图1为本发明实施例的基于云计算可离线的软件许可集中安全认证系统的网络架构图;图2是基于云计算可离线的软件许可集中安全认证系统的注册流程图;图3是基于云计算可离线的软件许可集中安全认证系统的认证流程图。
具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规使用的条件。实施例如图1所示是基于云计算可离线的软件许可集中安全认证系统网络架构图,包括由集中认证服务器、代理认证服务器和客户端构成的互联网络,所述集中认证服务器负责生产授权证书,并向代理认证服务器或客户端发放授权证书;所述代理认证服务器负责接受集中认证服务器的授权代理认证并代理集中认证服务器进行客户端的离线授权服务;所述客户端离线情况下通过发送心跳检测信息给代理认证服务器的代理授权服务程序进行代理认证;或者在线情况下所述客户端通过与集中认证服务器间进行心跳检测确认授权证书有效性。所述心跳检测采用的心跳码包括客户端硬件信息和客户端时间戳;且心跳码进行传输前客户端硬件信息和客户端时间戳进行1 位DES加密。所述代理认证服务器和客户端在安全认证前需要向集中认证服务器进行注册程序;注册成功后进行安全认证。所述代理认证服务器设置有S0A、TOBSevice、DLL、C0M、S0CKET接口供客户端进行离线认证。所述客户端硬件信息能唯一标示客户端,所述客户端硬件信息选自网卡、硬盘的ID信息。以代理认证服务器和客户端为一体进行举例说明,具体进行注册和认证的过程如图2和图3所示,步骤如下注册步骤如下1、获取客户端服务器硬件码信息;2、1观位生成注册码(MD5);3输入认证信息(注册码),客户端信息加密成MD5码,比对;4输入认证方式(离线、在线)、许可保护时间;5若离线生成客户端离线认证程序。认证步骤如下1、获取客户端服务器硬件码信息;2、发送硬件码+时间戳的加密字符串;3生成该客户端的硬件码+时间戳的加密字符串;4比对字符串;5判端字符串,不一致则认证失败。本实施例在网络许可情况下可实时连接集中认证服务器进行许可验证;网络不许可的情况下,与代理认证服务进行许可验证;代理认证服务定期与集中认证服务器进行认证更新。其中客户端/代理认证服务认证程序获取服务器硬件码信息包括时间戳、网卡、 硬盘等能唯一标示的信息,获取客户端应用程序名称。这些信息(注册码)要通过1 位 MD5加密。进行注册时,认证服务器输入认证信息(注册码),比对客户端硬件信息,确认是在线实时认证还是离线认证、许可保护时间。若实时认证按照检测心跳的方式进行授权检测;若是离线方式,则会生成针对客户端唯一码的离线授权机程序。该程序需要运行在客户端。
授权检测包括实时认证方式和离线认证/代理认证方式。实时认证方式是指在有效性检测保护时间内,许可证服务器与请求许可证的客户端之间进行心跳检测,并在心跳检测失败时,许可证服务器回收分配给客户端的许可证。其中心跳码采用获取客户端硬件信息+客户端时间戳的方式进行,同时进行1 位DES加密。而离线认证/代理认证方式是指客户端发送心跳信息给本机的离线客户端认证程序/代理认证。若客户端硬件信息+客户端时间戳一致,则认为有效,否则无效。离线客户端/代理认证程序只能在指定的客户端服务器上运行,在其他服务器上无法运行,防止被非法执行。本实施例客户端应用程序提供丰富的外部接口,针对不同的客户端程序提供丰富的外部认证接口如如SOA、WEBSevice, DLL、COM、SOCKET。客户端认证 /代理认证程序定期与集中认证服务器进行授权更新(每次更新支持获取有限授权或全部授权)。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
权利要求
1.一种基于云计算可离线的软件许可集中安全认证系统,包括由集中认证服务器、代理认证服务器和客户端构成的互联网络,其特征在于所述集中认证服务器负责生产授权证书,并向代理认证服务器或客户端发放授权证书;所述代理认证服务器负责接受集中认证服务器的授权代理认证并代理集中认证服务器进行客户端的离线授权服务;所述客户端离线情况下通过发送心跳检测信息给代理认证服务器的代理授权服务程序进行代理认证;或者在线情况下所述客户端通过与集中认证服务器间进行心跳检测确认授权证书有效性。
2.根据权利要求1所述的基于云计算可离线的软件许可集中安全认证系统,其特征在于所述心跳检测采用的心跳码包括客户端硬件信息和客户端时间戳;且心跳码进行传输前客户端硬件信息和客户端时间戳进行1 位DES加密。
3.根据权利要求1所述的基于云计算可离线的软件许可集中安全认证系统,其特征在于所述代理认证服务器和客户端在安全认证前需要向集中认证服务器进行注册程序;注册成功后进行安全认证。
4.根据权利要求1所述的基于云计算可离线的软件许可集中安全认证系统,其特征在于所述代理认证服务器设置有S0A、TOBSevice、DLL、C0M、SOCKET接口供客户端进行离线认证。
5.根据权利要求1所述的基于云计算可离线的软件许可集中安全认证系统,其特征在于所述客户端硬件信息能唯一标示客户端,所述客户端硬件信息选自网卡、硬盘的ID信肩、ο
6.一种基于云计算可离线的软件许可集中安全认证方法,设置在具有集中认证服务器、代理认证服务器和客户端的互联网络中,其特征在于包括以下步骤(1)客户端或代理认证服务器向集中认证服务器进行认证前的注册;(2)离线情况下客户端通过发送心跳检测信息给代理认证服务器的代理授权服务程序进行代理认证;或者在线情况下客户端通过与集中认证服务器间进行心跳检测确认授权证书有效性。
7.根据权利要求6所述的方法,其特征在于所述方法步骤(2)当心跳检测失败时,集中认证服务器回收分配给客户端或代理认证服务器的授权证书。
8.根据权利要求6所述的方法,其特征在于所述方法步骤(1)中所述集中认证服务器输入认证信息,比对客户端或代理认证服务器的硬件信息,确认是在线实时认证还是离线认证、许可代理认证的保护时间;若是离线方式,则会生成针对代理认证服务器唯一码的离线授权机程序;所述离线授权机程序进行离线情况下客户端的认证;如果进行实时认证则在有效性检测保护时间内,集中认证服务器与请求许可证的客户端或代理认证服务器之间进行心跳检测,并在心跳检测失败时,集中认证服务器回收分配给客户端或代理认证服务器的许可证。
9.根据权利要求6所述的方法,其特征在于所述方法客户端与集中认证服务器间以及集中认证服务器与代理认证服务器定期进行授权更新。
全文摘要
本发明公开了一种基于云计算可离线的软件许可集中安全认证系统,包括由集中认证服务器、代理认证服务器和客户端构成的互联网络,其特征在于所述集中认证服务器负责生产授权证书,并向代理认证服务器或客户端发放授权证书;所述代理认证服务器负责接受集中认证服务器的授权代理认证并代理集中认证服务器进行客户端的离线授权服务;所述客户端离线情况下通过发送心跳检测信息给代理认证服务器的代理授权服务程序进行代理认证;或者在线情况下所述客户端通过与集中认证服务器间进行心跳检测确认授权证书有效性。该系统同时支持离线认证、代理认证和在线认证。
文档编号H04L29/06GK102497374SQ201110414819
公开日2012年6月13日 申请日期2011年12月13日 优先权日2011年12月13日
发明者谢清 申请人:方正国际软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1