分离式计算机软件保护器及保护方法技术

技术编号:21273844 阅读:39 留言:0更新日期:2019-06-06 08:09
本发明专利技术请求保护一种分离式计算机软件保护器及保护方法,属于计算机控制领域。本发明专利技术提出了一种分离式计算机软件保护器及应用软件保护方法,将应用系统软件中的一部分作为检测软件,从中提取部分指令、数据存储在位于主机外的存储器中,安装在主机内的程序为缺失指令的应用系统软件,只有当主机内模块提供的加密因子对主机外模块中存储的指令、数据进行加密并返回主机内模块解密,进行合法性检验通过后,才允许用户使用相应的应用系统软件,从而保证了应用系统软件的安全性。本发明专利技术可广泛用于各种计算机应用程序的加密。

【技术实现步骤摘要】
分离式计算机软件保护器及保护方法
本专利技术涉及计算机控制领域,尤其涉及对计算机应用系统软件的加密技术。
技术介绍
目前市场上使用的计算机软件保护主要采用软件保护锁,软件保护锁硬件内置CPU,主要是利用算法功能对计算机程序进行加密。但采用软件保护锁对计算机程序进行加密有以下几方面的缺陷,锁内的变换算法在出厂时已经固定,软件保护者只能设置算法的参数,这样就限制了厂商对算法的使用。对于软件厂商来说,要么预先记录算法结果然后在软件运行时使用码表核对,要么在软件中至少变换两次然后比较结果是否一致;这些信息很容易被破译,达不到保密的效果。对于一些"可编程"保护锁,用户可自行设计专用算法对软件进行加密,但硬件也很容易被模仿,并且,由于使用通用单片机等器件,没有提供有针对性的防范物理攻击手段,因此比较容易通过电子探测(SPA和DPA)攻击直接读出存储器内的数据,或者通过测试探头读取存储器内容;通过厂家测试点等接口对存储器或处理器进行直接数据存取,再激活单片机的测试功能等,从而对软件进行破译。
技术实现思路
本专利技术所要解决的技术问题是,针对现有技术中采用软件保护锁对计算机程序进行保护中安全性和保密性不强,容易被解密的缺陷,本专利技术设计一种分离式计算机软件保护串接器用于对计算机应用软件的加密,只有通过软件合法性检验,用户才可以使用相应的应用系统软件,从而保证了应用系统软件的安全性。本专利技术解决上述技术问题的技术方案是,设计一种分离式计算机软件保护器,包括位于微机主机内的模块和微机主机外的模块,将应用系统软件中的一部分作为检测软件,从中提取部分指令、数据存储在位于主机外的存储器中,安装在主机内的程序为缺失指令的应用系统软件,只有当主机内模块提供的加密因子对主机外模块中存储的数据进行加密并返回主机内模块解密,并进行合法性检验通过后,才允许用户使用相应的应用系统软件。该计算机软件保护串接器具体包括:软件检测模块、软件启用模块、控制单元、存储器、接口模块。其中软件检验模块和软件启用模块设置在微型计算机主机内,构成主机内模块;控制单元、存储器和接口模块组成主机外围设备,构成主机外模块。软件启用模块:为控制单元提供加密因子,并在对控制单元返回的信息进行解密后,将解密后的信息补充给软件检测模块;软件检测模块由部分可执行文件的数据和解密后的数据组成,收集计算机信息并提供给软件启用模块,接收软件启用模块发送的解密信息,将其填入应用系统程序中缺失信息(指令、数据)的相应位置,并对其进行合法性检验;只有通过软件检测模块的合法性检验,才能使应用系统软件完整,以允许用户运行程序进入应用系统;控制单元:从存储器中提取数据,采用软件启用模块提供的加密因子对数据进行加密;存储器:用于存储从应用系统程序中提取的指令、数据以及加密因子等;通信接口模块:用于控制单元与软件启用模块之间的通信连接,以此实现主机内模块和主机外模块的连接。本专利技术还提出一种计算机应用系统软件保护方法,包括以下步骤,系统初始化,建立算法模块,该模块主要完成加密因子的计算,信息的加密、解密,存储器地址指针的计算,加密因子与计算机的相关信息满足一次函数关系;加密信息或解密信息与加密因子满足二元函数关系;从应用系统软件中提取部分信息,将其存储在存储器指令数据区;当检测到计算机运行上述提取了信息的缺失指令、数据的应用系统软件时,软件检测模块收集计算机的相关信息(包括执行应用系统软件的次数,系统时间)发送到软件启用模块,软件启用模块调用算法模块计算加密因子,并将加密因子发送到控制单元;控制单元根据加密因子对从存储器中提取的信息进行加密得到加密信息,并将加密信息返回软件启用模块进行解密得到解密信息;软件检测模块将解密信息填入应用系统软件缺失信息的相应位置,并进行校验。本专利技术的有益效果:由于微机主机内软件检验模块由自身数据和解密后数据组成,离开外围设备或只有外围设备而更换了微机主机都无法正常运行,只有主机外模块与主机内模块配合,通过合法性检验后,才允许用户使用相应的应用系统软件,从而保证了应用系统软件的安全性。附图说明图1所示为本专利技术系统结构框图图2所示为本专利技术模块结构框图具体实施方式下面针对附图和具体实例对本专利技术的实施进行具体说明。图1为本专利技术系统结构图,该分离式计算机软件保护器包括:软件检测模块、软件启用模块、控制单元、存储器及接口模块。其中,软件检测模块和软件启用模块内置于计算机主机内构成主机内模块,控制单元和存储器模块位于计算机主机外构成主机外模块,主机内模块和主机外模块通过接口模块进行连接和数据通信。软件启用模块为该计算机软件保护器提供加密因子,通过通信接口将加密因子发送到位于主机外的控制单元,控制单元接收到软件启用模块提供的加密因子后从存储器加密因子区中提取加密因子与启用软件模块提供的加密因子进行对比,对比正确后从存储器指令数据区中读出指令、数据并采用加密因子,调用算法模块中的加密公式对指令、数据进行加密得到加密信息(加密后的指令、数据),加密后的指令、数据再写回存储器指令数据区中的相应位置,覆盖掉被读出数据的区域,以保证存储器指令数据区中的指令、数据每次读取都不同。控制单元返回加密信息到软件启用模块,在对控制单元返回的信息进行解密后,软件启用模块将解密信息补充给软件检测模块;软件检测模块接收软件启用模块发送的解密信息,将其填入应用系统软件中缺失信息的相应位置,并对其进行合法性检验,只有通过了软件检测模块的合法性检验,应用系统软件才将其接收为合法信息,在信息缺失位置填充了相应信息的软件才是一个完整的应用系统软件,用户才能正常使用;接口模块负责主机外控制单元与主机内启用软件模块之间的通信连接,实现了主机内模块和主机外模块之间的数据及指令的传送,该接口模块可选用满足RS-232国际标准电平的专用RS-232接口,也可选用其他计算机接口。现结合附图2说明该计算机软件保护器的工作过程。图2为本专利技术模块结构框图,在图中标出了本专利技术实施对应用系统软件加密处理过程的顺序。系统安装时,在初始化阶段,使用专用的白噪声生成设备生成白噪声加密因子数据,加密因子S的确定与计算机信息E相关,建立算法模块,设立加密因子、地址指针、加解密算法单元,遵循算法S=Y(E)的一次函数关系生成加密因子S,遵循算法F=Z(S)的一次函数关系确定地址指针F;遵循二元函数K(S,M)的关系构建加密算法单元确定加密数据X,遵循二元函数L(X,S)的关系构建解密算法单元确定解密数据X’。在编程设计应用系统软件时,就从中提取出一部分指令或数据,而安装在主机内的应用系统软件的指令或数据是不完整,有缺失的。将应用系统软件中的部分程序作为软件检测模块的检验程序,并从中提取出部分指令和/或数据信息,将其存放在位于主机外的存储器指令数据区中,当软件检测模块检测到计算机运行上述有缺失信息的应用系统软件时,软件检测模块收集执行该软件的计算机的相关信息E,如:第几次执行该应用软件、计算机系统时间等,然后将这些信息E发送到软件启用模块(图2中步骤①)。软件启用模块调用算法模块,根据加密因子算法S=Y(E)生成加密因子,将生成的加密因子同时分别存储在主机内软件启用模块中的加密因子区和主机外存储器中的加密因子区(这两块区域中的加密因子数据是完全一致的)。本文档来自技高网...

【技术保护点】
1.一种分离式计算机软件保护器,包括软件检测模块、软件启用模块、控制单元、存储器、通信接口模块,其特征在于,软件检测模块:收集计算机信息并提供给软件启用模块,接收软件启用模块发送的解密信息,并对其进行合法性检验;软件启用模块:生成加密因子,并将其提供给控制单元,对控制单元返回的加密信息进行解密,并将解密信息发送到软件检测模块;控制单元:采用加密因子对从存储器中读取的信息进行加密;存储器:存储从软件检测模块的检验程序中提取的信息和加密因子;通信接口模块:完成控制单元与软件启用模块之间的通信连接;所述软件启用模块和软件检测模块位于计算机主机内,控制单元和存储器位于计算机主机外;所述检验程序中提取的信息为计算机系统应用程序中缺失的指令和/或数据。

【技术特征摘要】
1.一种分离式计算机软件保护器,包括软件检测模块、软件启用模块、控制单元、存储器、通信接口模块,其特征在于,软件检测模块:收集计算机信息并提供给软件启用模块,接收软件启用模块发送的解密信息,并对其进行合法性检验;软件启用模块:生成加密因子,并将其提供给控制单元,对控制单元返回的加密信息进行解密,并将解密信息发送到软件检测模块;控制单元:采用加密因子对从存储器中读取的信息进行加密;存储器:存储从软件检测模块的检验程序中提取的信息和加密因子;通信接口模块:完成控制单元与软件启用模块之间的通信连接;所述软件启用模块和软件检测模块位于计算机主机内,控制单元和存储器位于计算机主机外;所述检验程序中提取的信息为计算机系统应用程序中缺失的指令和/或数据。2.根据权利要求1所述的分离式计算机软件保护器,其特征在于,所述存储器包括加密因子区和指令数据区,加密因子区存储加密因子,指令数据区存储应用程序中缺失的指令和/或数据。3.一种计算机应用系统软件保护方法,其特征在于,包括以下步骤,系统初始化,建立算法模块;从应...

【专利技术属性】
技术研发人员:翟路海
申请(专利权)人:西安玖诚玖谊实业有限公司
类型:发明
国别省市:陕西,61

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

1