法律状态公告日
法律状态信息
法律状态
2010-06-09
授权
授权
2008-01-02
实质审查的生效
实质审查的生效
2007-11-07
公开
公开
技术领域
本发明涉及通信领域,更具体而言,涉及一种许可认证方法、认证中心和认证系统。
背景技术
现在许多软件,都采用License(许可)来控制软件授权的颁发。只有通过了对License的认证,才允许运行这些软件。
目前很多软件的License控制,均采用硬件狗。基于硬件狗的License控制方案由硬件提供License并固化在硬件中。软件在启动时或者在运行过程中会从硬件狗中读取License数据并进行检查,一旦硬件狗中的License过期则禁止软件运行。
需要为每一个用户提供硬件狗,这增加了成本。同时在软件发行时,因为需要软件和硬件狗一起发给用户,所以无法有效地利用INTERNET(互联网)迅速发布软件。
另一种方法是采用软件的方式进行License控制方案。License跟随软件一起发行并通过加密算法进行保护。在运行过程中,软件会首先对软件进行解密,从License文件中读取出相关信息并进行认证。一旦软件License过期或不合法则禁止软件运行。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:虽然软件的加密技术可以确保License文件不被轻易破解,但是通过修改系统时间就可以欺骗软件从而达到破解的目的。
发明内容
本发明实施例旨在提供一种许可认证方法、认证中心和认证系统,用于解决现有技术中通过修改系统时间骗取许可的问题。
本发明的一个实施例提供了一种许可认证方法,包括:认证中心接收认证请求者通过CDMA移动终端提交的许可;认证中心从CDMA(Code Division Multiple Access,码分多址)移动终端获取CDMA时间;判断CDMA时间是否处于许可中所指示的许可期限内;如果是,则关于许可期限的认证是成功的;如果不是,则认证失败。
本发明的另一实施例提供了一种认证中心,包括:接收模块,用于接收认证请求者通过CDMA移动终端提交的许可;第一获取模块,用于从CDMA移动终端获取CDMA时间;第一判断模块,用于判断CDMA时间是否处于许可中所指示的许可期限内;如果是,则关于许可期限的认证是成功的;如果不是,则认证失败。
本发明的另一实施例提供了一种许可认证系统,包括:认证请求者,用于提交许可;认证中心,用于对许可进行认证,其包括:接收模块,用于接收认证请求者通过CDMA移动终端提交的许可;第一获取模块,用于从CDMA移动终端获取CDMA时间;第一判断模块,用于判断CDMA时间是否处于许可中所指示的许可期限内;如果是,则关于许可期限的认证是成功的;如果不是,则认证失败。
上述技术方案由于利用CDMA时间进行时间认证,以及利用CPU标识进行硬件认证,所以解决了通过修改系统时间,修改注册表,重新安装系统软件,格式硬盘,低级格式化硬盘等骗取许可的问题。本发明实施例避免了采用硬件狗方案的License控制所带来的成本上升以及发行困难,同时也避免了纯粹软件License控制容易被破解的弱点,提升了对软件的保护能力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的许可认证方法的流程图;
图2示出了根据本发明实施例的认证中心的方框图;
图3示出了根据本发明实施例的许可认证系统的示意图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明实施例的许可认证方法的流程图,包括以下步骤:
步骤S10,认证中心接收认证请求者通过CDMA移动终端提交的许可;
步骤S20,认证中心从CDMA移动终端获取CDMA时间;
步骤S30,判断CDMA时间是否处于许可中所指示的许可期限内;如果是,则关于许可期限的认证是成功的;如果不是,则认证失败。
CDMA时间是CDMA系统的当前网络时间,从1980年1月6日0时0分0秒开始,和GPS(全球定位系统)时间同步,目前无法被人恶意修改。在上述的许可认证方法中,利用CDMA时间进行时间认证,所以解决了通过修改系统时间骗取许可的问题。
进一步的,认证中心获取认证请求者的CPU ID(标识);判断CPU标识是否处于许可中所指示的CPU标识集合内;以及如果是,则关于许可硬件的认证是成功的;如果不是,则认证失败。
CPU是硬件系统的核心部件,从而CPU标识可以唯一地标识硬件且不容易被替换修改。上述的实施例中利用CPU标识进行认证,所以解决了通过修改注册表,重新安装系统软件,格式硬盘,低级格式化硬盘等骗取许可的问题。
可以将上述的认证方法应用于软件授权许可中。例如,认证请求者是请求获得目标软件的运行授权的客户端,那么当客户端运行目标软件时,可利用目标软件获取客户端的CPU标识。显然,该客户端可以是CDMA移动终端本身,也可以不是,而是利用外部的CDMA移动终端来发送许可。
在上述的许可认证方法中,还可包括以下步骤:在发布目标软件时,将客户端许可生成工具一起发布给客户端;客户端许可生成工具取得客户端提供的CPU标识,并反馈给作为软件授权者的认证中心;认证中心生成许可并返回给客户端,许可中包含客户端提供的CPU标识。认证中心可使用加密方式将许可返回给客户端。
利用上述的许可认证方法,本发明还提供了一种认证中心,如图2所示,包括:
接收模块10,用于接收认证请求者通过CDMA移动终端提交的许可;
第一获取模块20,用于从CDMA移动终端获取CDMA时间;
第一判断模块30,用于判断CDMA时间是否处于许可中所指示的许可期限内;如果是,则关于许可期限的认证是成功的;如果不是,则认证失败。
在上述的认证中心中,还可包括:
第二获取模块40,用于获取认证请求者的CPU标识;
第二判断模块50,用于判断CPU标识是否处于许可中所指示的CPU标识集合内;如果是,则关于许可硬件的认证是成功的;如果不是,则认证失败。
认证请求者可以是请求获得目标软件的运行授权的客户端。
本发明实施例还提供了一种许可认证系统,如图3所示,其包括:
认证请求者100,用于提交许可;
认证中心200,用于对许可进行认证,其包括:接收模块,用于接收认证请求者通过CDMA移动终端提交的许可;第一获取模块,用于从CDMA移动终端获取CDMA时间;第一判断模块,用于判断CDMA时间是否处于许可中所指示的许可期限内;如果是,则关于许可期限的认证是成功的;如果不是,则认证失败。
在上述的许可认证系统中,认证中心200还可包括:第二获取模块,用于获取认证请求者的CPU标识;第二判断模块,用于判断CPU标识是否处于许可中所指示的CPU标识集合内;如果是,则关于许可硬件的认证是成功的;如果不是,则认证失败。
认证请求者可以是请求获得目标软件的运行授权的客户端。
下面具体说明该系统的认证流程:
1.在软件分发时,将客户端License生成工具和目标软件一起发布。
2.通过客户端License生成工具取得CPU ID,通过客户热线,EMAIL或者WEB网络将CPU ID反馈给软件开发商。
3.软件开发商根据CPU ID,客户的License许可日期或者许可次数,通过强加密算法(如DES,生MD5等)生成License文件并返回给客户。
4.License生成工具将得到的License安装到目标系统中。
5.在目标软件运行时,取CPU ID并和License文件中的CPUID进行比较,如果两者不匹配,则退出运行。
6.在CPU ID匹配完成之后,目标软件和CDMA(Code DivisionMultiple Access,码分多址)移动终端(例如CDMA手机)进行通讯,获取CDMA当前时间。
7.目标软件使用CDMA时间对License中的使用期限进行认证,从而实现License控制目的。
上述实施例通过CDMA时间来对License的时间范围进行控制,确保License在一段时间之内有效;通过CPU ID来限制软件的发行范围,可以实现对特定用户采用特定的License控制算法。因此本发明上述的实施例能够克服采用软件License控制容易被破解的难题,同时也避免了采用硬件狗的成本增加和带来的不便。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。应该明白,这些具体实施中的变化对于本领域的技术人员来说是显而易见的,不脱离本发明的精神保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 具有许可证认证功能的输出系统,输出设备,数据认证设备,设计资源输出程序,数据认证程序和许可证认证输出方法
机译: 认证许可系统,认证许可服务器,认证方法和程序
机译: 许可证认证装置,许可证认证方法和许可证认证程序