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

技术编号:5511128 阅读:205 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种利用加密狗对软件进行鉴权的方法。该方法包括:制作加密狗时,为加密狗写入经过加密后的相关鉴权数据;受保护软件利用杂凑算法对该加密狗动态链接库进行验证;受保护软件与该加密狗通过加密连接读取数据;受保护软件对读取数据进行分析处理,对分析结果的功能和时间数据进行鉴权;受保护软件与该加密狗通过加密连接写入下次鉴权数据。本发明专利技术用于软件版权保护,实现了在现有加密狗上对授权进行时间控制和安全性大幅提高。由于利用具有高安全性、灵活性的杂凑算法验证,动态更新鉴权数据,提高了加密狗对软件授权的鉴权安全性和可靠性,同时具有鉴权效率快,灵活性高的特性。

【技术实现步骤摘要】

本专利技术涉及软件知识产权的保护方法
,尤其涉及一种利用加密狗对软件 进行鉴权的方法。
技术介绍
一项软件的成功开发是由软件研发人员经过艰苦努力工作的结果。然而,当软件 所有者将软件投放市场后不久,即出现大量的盗版软件或者未经授权的拷贝软件,严重影 响了软件所有者的利益,给其带来巨大的损失。造成这种局面的原因是多方面的,其中一种 重要的原因就是开发者对软件本身的保护措施不到位,致使软件发行后使用者可以任意使 用。加密狗的出现从一定程度上解决了上述问题。加密狗是一种对数据进行加密以保证数 据安全的硬件设备。加密狗通过计算机通用接口与计算机设备连接,并在软件执行过程中 与计算机设备交换数据并对数据进行加密。现有的加密狗在使用时,如初次使用加密狗进 行授权后,加密狗的授权信息有可能被备份,则以后的使用者在使用软件时,无需再使用加 密狗,因此也会存在软件被重复使用,被盗版的风险;同时常规的加密狗不具有时间限制功 能,即使通过添加硬件的方法使其具有时间限制功能但其制作成本高。
技术实现思路
本专利技术的目的在于解决现有技术的上述问题,提供一种利用加密狗对软件进行鉴 权的方法。本专利技术实现其目的采用的技术方案是, 该方法包含制作加密狗时,为加密狗写入经过加密后的相关鉴权数据;在受保护软件中写入鉴权程序,所述鉴权程序利用杂凑算法对加密狗的动态链接 库进行验证以调用加密狗的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算法。全文摘要本专利技术公开了。该方法包括制作加密狗时,为加密狗写入经过加密后的相关鉴权数据;受保护软件利用杂凑算法对该加密狗动态链接库进行验证;受保护软件与该加密狗通过加密连接读取数据;受保护软件对读取数据进行分析处理,对分析结果的功能和时间数据进行鉴权;受保护软件与该加密狗通过加密连接写入下次鉴权数据。本专利技术用于软件版权保护,实现了在现有加密狗上对授权进行时间控制和安全性大幅提高。由于利用具有高安全性、灵活性的杂凑算法验证,动态更新鉴权数据,提高了加密狗对软件授权的鉴权安全性和可靠性,本文档来自技高网
...

【技术保护点】
一种利用加密狗对软件进行鉴权的方法,其特征在于:该方法包括:制作加密狗时,为加密狗写入经过加密后的相关鉴权数据;在受保护软件中写入鉴权程序,所述鉴权程序利用杂凑算法对加密狗的动态链接库进行验证以调用加密狗的API,若验证失败,则受保护软件中止运行;若验证成功,则受保护软件继续运行;且鉴权程序通过加密连接读取加密狗中的相关鉴权数据,并对读取的各种鉴权数据进行分别分析处理,分别获得各自鉴权结果,再合并获得综合鉴权结果,根据综合鉴权结果,判断是否鉴权成功,若鉴权失败,则受保护软件中止运行;若鉴权成功,则受保护软件继续运行;且鉴权程序生成新的相关鉴权数据,通过加密连接重新写入加密狗,覆盖加密狗中原有的相关鉴权数据,作为下一次鉴权的鉴权数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:李建来
申请(专利权)人:东莞市创锐电子技术有限公司
类型:发明
国别省市:44[中国|广东]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1