加密狗装置及其软件保护方法制造方法及图纸

技术编号:7467530 阅读:220 留言:0更新日期:2012-06-29 16:33
本发明专利技术提供了一种加密狗装置及其软件保护方法。此软件保护方法包含下列步骤:当计算机因执行一程序而传递一加密数据至加密狗装置时,对加密数据进行解密;用解密后的数据执行一加密狗代码,并对加密狗代码执行后的结果进行加密;把加密后的结果返回给计算机,使计算机对加密结果进行解密,进而用此结果执行后续之程序。采用本发明专利技术,不仅可藉由密文通讯,保证了数据的安全性,还可调用外部动态链接库,增进软件代码的整体执行效率,而且提升了监控端口数据破解的难度。

【技术实现步骤摘要】

本专利技术涉及一种加密技术,尤其涉及一种。技术背景随着科学技术高速发展、人力成本的提升,要求系统的自动化程度也越来越高,系统越智能,人力成本就越少。系统的智能程度除了取决于硬件之外,主要取决于智能系统的大脑——软件程序。软件的最大特点就是可移植性,这为开发者带来方便的同时也使得软件的版权得不到保护,容易被拷盗,从而对软件开发商造成经济损失,如何保护软件开发商的权益就成了软件开发商重中之重。为了保护软件开发商的权益,减少软件开发商的损失,除了软件加密技术不断更新之外,硬件加密技术也在不断的发展,从早期的8位单片机加密狗发展到现在的32位智能卡加密狗,随着加密狗硬件处理能力的不断增强,计算机USB端口的普及,对软件的保护逐渐开始依赖于通用的加密算法,而不再只依赖于加密软件的加密编程技巧,功能也越来越复杂,从早期单纯的存入保密数据到现在的代码移植,动态链接库和控件调用。加密狗丰富的功能为我们保护软件版权提供更多方式,如何充分利用加密狗现有的技术来降低软件被非法使用的可能性?图1为现有典型的使用加密狗进行代码移植加密的方法,把计算机端程序代码部分移植到加密狗内部,如果没有加密狗,计算机端程序缺少加密狗代码而使得计算机端程序无法执行或者执行结果出错,从而只需要管控加密狗授权就可以保护软件不会被非法使用。虽然计算机程序码移植到加密狗内部,但是受加密狗自身容量以及代码执行速度的限制,加密狗代码不可能太复杂,否则容易造成软件执行速度的降低,影响计算机软件的质量。由图1可以看出,计算机端程序运行到需要调用加密狗代码时,需要将数据传递给加密狗,然后将加密狗代码执行结果返回给计算机端程序,计算机端程序根据返回结果执行后续代码。计算机程序调用加密狗程序是通过通讯接口(比如USB接口)实现的,加密狗程序执行结果也是由接口返回的,在与加密狗进行数据交换时,数据可以通过接口监视软件获取。由于加密狗代码复杂度比较低,破解者可以根据监控获取的数据进行破解加密狗代码,从而将加密狗代码还原达到破解的目的,最终造成软件开发商利益受损。
技术实现思路
因此,本专利技术的目的之一是在于,提供一种。依据本专利技术一实施例,提供了一种软件保护方法,适用于一加密狗装置,加密狗装置连接一计算机,该软件保护方法包含下列步骤(a)当计算机因执行一程序而传递一加密数据至加密狗装置时,对加密数据进行解密;(b)用解密后的数据执行一加密狗代码,并对加密狗代码执行后的结果进行加密;(C)把加密后的结果返回给计算机,使计算机对加密结果进行解密,进而用结果执行后续之该程序。计算机利用一第一加密算法对数据加密,步骤(b)可包含利用一第二加密算法对加密狗代码执行后的结果进行加密,其中第一、第二加密算法不同。步骤(b)可包含在执行该加密狗代码时,调用该计算机一动态链接库。上述自计算机传递之数据可包含至少一授权码,步骤(b)包含验证授权码;当授权码通过验证时,执行授权码所对应的加密狗代码。 依据本专利技术另一实施例,加密狗装置包含一通讯接口、一解密单元、一处理单元与一加密单元。加密单元耦接处理单元,处理单元耦接解密单元,解密单元耦接通讯接口,通讯接口用于连接一计算机。当计算机因执行一程序而传递一加密数据至加密狗装置时,解密单元用于对加密数据进行解密;处理单元用于利用解密后的数据执行一加密狗代码;加密单元用于对加密狗代码执行后的结果进行加密,把加密后的结果透过通讯接口返回给计算机,使计算机对加密结果进行解密,进而用结果执行后续之程序。计算机利用一第一加密算法对数据加密,加密单元利用一第二加密算法对加密狗代码执行后的结果进行加密,其中第一、第二加密算法不同。处理单元可以在执行该加密狗代码时,调用该计算机的一动态链接库。上述自计算机传递之数据包含至少一授权码,加密狗装置包含一验证单元。验证单元耦接解密单元与处理单元,用于验证授权码。当授权码通过验证时,由处理单元执行授权码所对应的加密狗代码。上述通讯接口可为USB接口。综上所述,本专利技术的技术方案与现有技术相比具有明显的优点和有益效果。藉由上述技术方案,可达到相当的技术进步,并具有产业上的广泛利用价值,其至少具有下列优点1.藉由密文通讯,保证了数据的安全性;2.调用外部动态链接库,不仅增进软件代码的整体执行效率,而且提升了监控端口数据破解的难度。附图说明读者在参照附图阅读了本专利技术的具体实施方式以后,将会更清楚地了解本专利技术的各个方面。其中,图1为现有典型的使用加密狗进行代码移植加密的方法;图2是依照本专利技术一实施例的使用加密狗代码移植的流程图3是依照本专利技术一实施例的使用加密狗调用外部动态链接库的流程图4是依照本专利技术一实施例的使用加密狗调用外部动态链接库的详细流程图5是依照本专利技术一实施例的使用加密狗授权后的软件流程图;以及图6是依照本专利技术一实施例的加密狗装置的方块图。主要组件符号说明100 计算机200 加密狗装置210:通讯接口220 解密单元230:处理单元240 加密单元250 验证单元300 动态链接库具体实施方式为了使本申请所揭示的
技术实现思路
更加详尽与完备,可参照附图以及本专利技术的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本专利技术所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。在本申请中,涉及“耦接(coupled with) ”的描述,其可泛指一组件透过其他组件而间接连接至另一组件,或是一组件无须透过其他组件而直接连接至另一组件。在本申请中,除非内文中对于冠词有所特别限定,否则“一”与“该”可泛指单个或多个。本文中所使用的“约”、“大约”或“大致”用于修饰任何可些微变化的数量,但这种些微变化并不会改变其本质。于实施方式中若无特别说明,则代表以“约”、“大约”或“大致”所修饰数值的误差范围一般是容许在百分之二十以内,较佳地是于百分之十以内,而更佳地则是于百分之五以内。由图2可以看出,针对图1因通讯数据不安全而造成软件安全性降低问题,图2做了一些额外的保护措施,来解决图1暴露的问题。在需要调用加密狗代码时,计算机100中的程序首先将需要传递给加密狗装置200的数据进行数据加密,加密算法采用自定义的第一加密算法,然后将加密后的数据经过通讯接口传递给加密狗装置200 ;加密狗首先对接收到数据进行解密,然后用解密后的数据执行加密狗代码,最后把代码执行结果再次使用自定义的第二加密算法进行加密,然后把加密后的结果返回给计算机100中的程序;计算机100再次把返回后的密文进行解密,并用返回后的结果执行后续之程序。与图1比较而言,图2通过加密与加密狗装置200通讯的数据,保证通过通讯接口的所有数据为加密后的密文,即密文通讯,这样保证了数据的安全性,即使获取到了通讯端口的数据,由于没有解密算法,也无法推算出正确的数据,更加无法根据获取的数据破解加密狗代码,从而保证了加密狗内部数据和内部代码的安全性。为了增加通讯数据的安全性,可以对传递给加密狗装置200数据与加密狗装置 200返回数据采用两套完全不同的自定义算法,并且加密算法完全自定义,包括加密狗厂商在内的任何人无法得知,大大增加了通过监控端口通讯数据来破解软件的难度,保证了软件开发商的利益。由本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:吴拥军颜良益杨彦龙商福进
申请(专利权)人:台达电子企业管理上海有限公司台达电子工业股份有限公司中达光电工业吴江有限公司
类型:发明
国别省市:

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

1
相关领域技术