一种利用加密狗对软件进行鉴权的方法

文档序号:6340430阅读:768来源:国知局
专利名称:一种利用加密狗对软件进行鉴权的方法
技术领域
本发明涉及软件知识产权的保护方法技术领域,尤其涉及一种利用加密狗对软件 进行鉴权的方法。
背景技术
一项软件的成功开发是由软件研发人员经过艰苦努力工作的结果。然而,当软件 所有者将软件投放市场后不久,即出现大量的盗版软件或者未经授权的拷贝软件,严重影 响了软件所有者的利益,给其带来巨大的损失。造成这种局面的原因是多方面的,其中一种 重要的原因就是开发者对软件本身的保护措施不到位,致使软件发行后使用者可以任意使 用。加密狗的出现从一定程度上解决了上述问题。加密狗是一种对数据进行加密以保证数 据安全的硬件设备。加密狗通过计算机通用接口与计算机设备连接,并在软件执行过程中 与计算机设备交换数据并对数据进行加密。现有的加密狗在使用时,如初次使用加密狗进 行授权后,加密狗的授权信息有可能被备份,则以后的使用者在使用软件时,无需再使用加 密狗,因此也会存在软件被重复使用,被盗版的风险;同时常规的加密狗不具有时间限制功 能,即使通过添加硬件的方法使其具有时间限制功能但其制作成本高。

发明内容
本发明的目的在于解决现有技术的上述问题,提供一种利用加密狗对软件进行鉴 权的方法。本发明实现其目的采用的技术方案是一种利用加密狗对软件进行鉴权的方法, 该方法包含制作加密狗时,为加密狗写入经过加密后的相关鉴权数据;在受保护软件中写入鉴权程序,所述鉴权程序利用杂凑算法对加密狗的动态链接 库进行验证以调用加密狗的API,若验证失败,则受保护软件中止运行;若验证成功,则受保护软件继续运行;且鉴权程序通过加密连接读取加密狗中的相关鉴权数据,并对读取的各种鉴权数 据进行分别分析处理,分别获得各自鉴权结果,再合并获得综合鉴权结果,根据综合鉴权结 果,判断是否鉴权成功,若鉴权失败,则受保护软件中止运行;若鉴权成功,则受保护软件继续运行;且鉴权程序生成新的相关鉴权数据,通过加密连接重新写入加密狗,覆盖加密狗 中原有的相关鉴权数据,作为下一次鉴权的鉴权数据。上述技术方案中,所述的鉴权数据包括但不限于软件功能鉴权数据和时间鉴权数 据,所述时间鉴权数据包括授权起始时间和授权终止时间。所述杂凑算法是MD5和CRC结合型算法。所述加密连接是以加密狗API内部集成的加密算法为基础而建立。所述的加密算法为AES算法。
采用本发明所述的技术方案,加密狗的鉴权数据是动态更新的,因此即使旧的鉴 权数据被备份,也无法作为下一次鉴权使用;同时,在不改变常规加密狗现有硬件的条件下 通过写入时间鉴权数据,达到时间限制功能。因此,本发明从根本上解决了软件因鉴权信息 被备份而重复使用或者被盗版的问题,保护软件所有者的利益。


图1是本发明一种实施例鉴权方法的流程图。
具体实施例方式下面结合具体实施例和附图对本发明进一步说明。如图1所示,本实施例鉴权方法的实现过程如下S101,在制作加密狗时,为加密狗写入经过加密后的鉴权数据;本发明实施例中,该加密狗已经事先写入软件的相关功能的授权,不同的功能数 据对应软件的不同功能授权,为授权提供极大的灵活性。同时写入的数据还有授权的起始 时间、失效时间,达到时间限制,实现时间授权的目的。S102,受保护软件利用杂凑算法对该加密狗动态链接库进行验证;S103,当用户启动上述受保护软件时,程序利用杂凑算法(作为举例而非限定,本 发明实施例中,使用MD5和CRC双结合的改进型算法提取出192bit特征值作为对比参考基 础)对该加密狗动态链接库进行验证,确保调用加密狗的API安全可靠,若验证失败则上述 受保护软件中止执行;S104,受保护软件与该加密狗通过加密连接读取数据;受保护软件在确认API安全的情况下,通过API内部集成的算法(作为举例而非 限定,本发明实施例中,使用AES(AdvancedEncrypti0n Mandard,高级加密标准)算法作 为加密通信基础)和加密狗建立加密连接,读取数据。通过加密连接的方式可以有效的防 止通信内容被窃取,提供鉴权过程的安全性和可靠性。S105,受保护软件对读取数据进行分析处理,对分析结果的功能和时间数据进行 鉴权;受保护软件从读取数据中分析出鉴权的相关参数功能数据和时间数据。功能数 据与受保护软件预设参数双匹配,生成本授权所具有的功能鉴权结果。把时间数据分解成 起始时间和实效时间,受保护软件获取当前系统时间与之比较,产生时间鉴权结果。把功能 鉴权和时间鉴权合并后,得出受保护软件鉴权结果。当满足预定条件时,生成所述受保护软 件授权鉴权正确信息,否则受保护软件中止执行。S106,受保护软件与该加密狗通过加密连接写入下次鉴权数据。受保护软件在鉴权成功后,结合获取的时间生成下一次鉴权数据,通过加密连接 重新写入加密狗。通过每次鉴权后都动态更新加密狗的鉴权数据,可有效的避免因为机械 式鉴权带来录制加密狗信息的破解途径。通过上述手段更有效的提高受保护软件的授权安 全。至此一次完整的受保护软件授权鉴权成功。本发明用于软件版权保护,实现了在现有加密狗上对授权进行时间控制和安全性大幅提高。由于利用具有高安全性、灵活性的杂凑算法验证,动态更新鉴权数据,提高了加 密狗对软件授权的鉴权安全性和可靠性,同时具有鉴权效率快,灵活性高的特性。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都 应涵盖在本发明的保护范围之内,因此,本发明的保护范围应该以权利要求的保护范围为 准。
权利要求
1.一种利用加密狗对软件进行鉴权的方法,其特征在于该方法包括制作加密狗时,为加密狗写入经过加密后的相关鉴权数据;在受保护软件中写入鉴权程序,所述鉴权程序利用杂凑算法对加密狗的动态链接库进 行验证以调用加密狗的API,若验证失败,则受保护软件中止运行;若验证成功,则受保护软件继续运行;且鉴权程序通过加密连接读取加密狗中的相关鉴权数据,并对读取的各种鉴权数据进 行分别分析处理,分别获得各自鉴权结果,再合并获得综合鉴权结果,根据综合鉴权结果, 判断是否鉴权成功,若鉴权失败,则受保护软件中止运行;若鉴权成功,则受保护软件继续运行;且鉴权程序生成新的相关鉴权数据,通过加密连接重新写入加密狗,覆盖加密狗中原 有的相关鉴权数据,作为下一次鉴权的鉴权数据。
2.根据权利要求1所述的一种利用加密狗对软件进行鉴权的方法,其特征在于所述 的鉴权数据包括但不限于软件功能鉴权数据和时间鉴权数据,所述时间鉴权数据包括授权 起始时间和授权终止时间。
3.根据权利要求1所述的一种利用加密狗对软件进行鉴权的方法,其特征在于所述 杂凑算法是MD5和CRC结合型算法。
4.根据权利要求1所述的一种利用加密狗对软件进行鉴权的方法,其特征在于所述 加密连接是以加密狗API内部集成的加密算法为基础而建立。
5.根据权利要求4所述的一种利用加密狗对软件进行鉴权的方法,其特征在于所述 的加密算法为AES算法。
全文摘要
本发明公开了一种利用加密狗对软件进行鉴权的方法。该方法包括制作加密狗时,为加密狗写入经过加密后的相关鉴权数据;受保护软件利用杂凑算法对该加密狗动态链接库进行验证;受保护软件与该加密狗通过加密连接读取数据;受保护软件对读取数据进行分析处理,对分析结果的功能和时间数据进行鉴权;受保护软件与该加密狗通过加密连接写入下次鉴权数据。本发明用于软件版权保护,实现了在现有加密狗上对授权进行时间控制和安全性大幅提高。由于利用具有高安全性、灵活性的杂凑算法验证,动态更新鉴权数据,提高了加密狗对软件授权的鉴权安全性和可靠性,同时具有鉴权效率快,灵活性高的特性。
文档编号G06F21/22GK102063597SQ20101061250
公开日2011年5月18日 申请日期2010年12月29日 优先权日2010年12月29日
发明者李建来 申请人:东莞市创锐电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1