一种基于网络通信实现计算机软件保护的方法

文档序号:9667650阅读:273来源:国知局
一种基于网络通信实现计算机软件保护的方法
【技术领域】
[0001]本发明涉及一种计算机软件保护方法,具体涉及一种基于网络通信实现计算机软件保护的方法。
【背景技术】
[0002]密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。智能密钥装置是一种带有处理器和存储器的小型硬件装置,它可以通过计算机的数据通讯接口与计算机连接。其具有密钥生成功能,并可安全存储密钥、可预置加密算法功能。智能密钥装置与密钥相关的运算完全在装置内部运行,且智能密钥装置具有抗攻击的特性,安全性极高。USB Key是一种USB接口的智能密钥装置,它内置单片机或智能卡芯片可以存储用户的密钥或数字证书。在信息科技日益发达的今天,越来越多的包含数据信息和涉及个人隐私及商业秘密的软件在计算机中运行,而计算机中运行的软件或软件本身容易被人为非法篡改或者因为盗版而非法复制,给软件用户或开发商带来巨大的经济损失,同时也使进一步的工作无法继续进行。
[0003]实际应用中,已存在计算机中运行的软件与连接于计算机的智能密钥装置绑定,以提高计算机中运行的软件的安全性,然而,目前一些含有高保密信息的软件只能允许在特定计算机或特定范围内的计算机中运行,如果非法使用者通过不正当手段获取了软件和软件绑定的智能密钥装置,则可以在其它计算机上使用保密软件,给软件用户及保密信息带来巨大损失。
[0004]于是专利号为:200910083315.6,发明名称为:一种计算机软件保护方法,授权公告号:CN101539977B的发明专利提出了一种具体的解决方案,实现了客户端计算机软件通过其所处局域网服务端计算机与客户端计算IP地址的绑定,使得所保护软件只能在该IP地址或者一定数量的合法IP地址列表范围内的客户端计算机中运行,离开该客户端计算机则不能运行,提高了客户端软件的安全性,同时IP地址的传递需要智能密钥装置的加密,进一步提高了软件破解难度。
[0005]但是,由于所保护的计算机软件可以在一定数量的合法IP地址列表范围内运行,所以非法使用者如果自己携带笔记本电脑,将笔记本电脑接入合法的IP地址列表范围内,这样就可以复制运行该计算机软件。针对这种缺陷,有必要进一步研究从而寻找更加安全的计算机软件保护方法。

【发明内容】

[0006]本发明的目的在于提供一种基于网络通信实现计算机软件保护的方法,该方法主要为了解决以上缺陷。
[0007]为了实现以上目的,本发明所采用的技术方案是:一种基于网络通信实现计算机软件保护的方法,所述方法包括以下步骤:
[0008]步骤A:第一智能密钥装置连接于服务端计算机,第二智能密钥装置连接于客户端计算机;
[0009]步骤B:所述客户端计算机启动其内部安装的软件,然后,所述软件检测第二智能密钥装置是否被拔出,如果被拔出,则软件直接结束运行;如果没有被拔出,则所述软件发送获取IP地址请求给所述服务端计算机,同时所述软件内部的计时程序开始计时;
[0010]步骤C:所述服务端计算机分析所述获IP地址请求,得到所述客户端计算机IP地址,传递给所述第一智能密钥装置,所述第一智能密钥装置加密所述IP地址并发送给所述客户端计算机;
[0011]步骤D:所述客户端计算机接收所述加密的IP地址,传递给所述第二智能密钥装置,所述第二智能密钥装置解密所述加密的IP地址后,比较所述IP地址与第二智能密钥装置预置的合法IP地址列表,如果所述IP地址在所述合法IP地址列表范围内,则所述IP地址合法,所述第二智能密钥装置可用;否则所述IP地址不合法,所述第二智能密钥装置不可用,软件结束运行;
[0012]步骤E:所述软件内部的计时程序计时到X秒时,所述软件检测第二智能密钥装置是否被拔出,如果被拔出,则程序结束运行,否则,程序继续运行并且所述软件一直检测第二智能密钥装置是否被拔出;
[0013]步骤F: —旦检测到被拔出时,记录该拔出时刻计时程序计时的时间为m秒;程序继续运行同时计时程序清零并且重新开始计时;如果所述软件内部的计时程序计时到Y秒时,如果第二智能密钥装置仍未被拔出,则程序结束运行;
[0014]步骤G:所述软件内部的计时程序计时到X秒时,所述软件检测第二智能密钥装置是否已经连接客户端计算机,如果连接,则程序结束运行,否则,程序继续运行并且所述软件一直检测第二智能密钥装置是否接入;
[0015]步骤Η:—旦检测到被接入时,记录该接入时刻计时程序计时的时间为η秒;程序继续运行同时计时程序清零并且停止计时;如果所述软件内部的计时程序计时到Ζ秒时,第二智能密钥装置仍未接入,则程序结束运行;
[0016]其中,3彡X彡5,20彡Υ彡15,20彡Ζ彡15 ;
[0017]步骤1:所述软件采用第二智能密钥装置内的第二密钥加密m、η数值,然后向服务端计算机发送数值是否正确验证请求,所述服务端计算机接收数值是否正确验证请求,经所述第一智能密钥装置第一密钥解密后,将m、η与事先存储的数值范围进行比较,如果6<m<12且6<η<15 ;则服务端计算机向客户端计算机发送所述软件可以正常运行的命令,否则,所述软件结束运行的命令。
[0018]进一步,所述获取IP地址请求中还包括通信密钥,则在所述服务端计算机分析所述IP地址请求前,还包括:所述客户端计算机随机生成所述通信密钥并存储于第二智能密钥装置,所述第二智能密钥装置中的第二密钥加密所述包括通信密钥的获取IP地址请求发送服务端计算机;所述服务端计算机接收所述加密的包括通信密钥的获取IP地址请求,经所述第一智能密钥装置第一密钥解密后,存储所述通信密钥于第一智能密钥装置。
[0019]与现有技术相比,本发明的优点在于:即使非法使用者将本发明的软件复制到自带的笔记本电脑,自带的笔记本电脑接入合法的IP地址列表范围内仍然无法使用本发明的软件,原因在于本发明的软件通过检测第二智能密钥装置的接入和拔出时间实现了加密保护,也就是说第二智能密钥装置接入客户端计算机后一段时间(比如4s)必须拔出,拔出一段时间(比如6s)必须再次接入,只有操作者知道了这个时间密码才可以使得软件正常运行,否则软件会自动结束运行。
【附图说明】
[0020]图1是本发明一个实施例的方框示意图。
【具体实施方式】
[0021]下面结合附图对发明做进一步详细描述。
[0022]本发明的步骤A、步骤B、步骤C、步骤D未详细描述的内容请参阅【背景技术】部分所提到的专利文件。
[0023]实施例:基于网络通信实现计算机软件保护的方法,所述方法包括以下步骤:
[0024]步骤A:第一智能密钥装置连接于服务端计算机,第二智能密钥装置连接于客户端计算机;
[0025]步骤B:所述客户端计算机启动其内部安装的软件,然后,所述软件检测第二智能密钥装置是否被拔出,如果被拔出,则软件直接结束运行;如果没有被拔出,则所述软件发送获取IP地址
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1