【技术实现步骤摘要】
一种基于协同验证的软件保护机制及数据交换方法
本专利技术涉及软件保护
,更具体涉及一种基于协同验证的软件保护机制及数据交换方法。
技术介绍
软件作为智能系统的大脑,具有决定性的作用。软件的最大特点就是可移植性,为开发者带来方便的同时,也使得软件的版权得不到保护,容易被拷盗,从而对软件开发商造成经济损失,如何保护软件开发商的权益就成了软件开发商需要解决的问题。在目前众多商用软件保护方案中,软件加密狗方案因其操作简单、保护能力强、性能稳定的特点从各应用方案中脱颖而出,被市场所广泛接受和认可。从第一代软件加密狗发展到如今,已经经历了多次技术换代,目前以单片机芯片为核心器件,其保密性能更强,并支持内置算法程序,可对读出的秘钥数据进行计算交换。但对软件加密狗进行破解的方法也在不断更新,主要包括硬件分析破解、软件模拟破解、跟踪法破解三种。破解者能够将软件加密狗代码还原,或通过编写拦截程序修改软件和加密狗之间的通讯,或通过SoftICE等Debug工具调试跟踪解密,来达到破解的目的,导致单独的软件加密狗保护方案在如今会面临各种各样的风险,对软件开发商的利益造成损害。
技术实现思路
本专利技术需要解决的技术问题是提供一种基于协同验证的软件保护机制及数据交换方法,以解决单独的软件加密狗保护方案在如今会面临各种各样的风险的问题,以利用软件加密狗与从设备验证结合的保护机制以及对受保护软件内置的初始密码进行每次动态更新的方法,使得软件加密狗无法被跟踪破解,以提高受保护软件被破解的难度和安全性。 >为解决上述技术问题,本专利技术所采取的技术方案如下。一种基于协同验证的软件保护机制及数据交换方法,包括以下步骤:S1、在受保护软件、从设备、软件加密狗三方之间约定一个加解密算法机制;S2、将软件加密狗插入到受保护软件运行的主设备中;S3、受保护软件和软件加密狗对同一个随机数加密,验证其中密文是否一致,来判断软件加密狗的合法性;S4、若软件加密狗为合法授权的软件加密狗,将受保护软件内置初值密码传给软件加密狗,生成基于内置初值密码的加密序列,并返回给受保护软件;同时进行硬件机器码校验,判断是否为已授权的硬件设备;若为已授权的硬件设备,生成基于设备机器码生成的加密序列,并返回给受保护软件合成密文,进行解密验证,进而来控制是否启动受保护软件;S5、当受保护软件运行启动后,会随机生成数列传给软件加密狗,软件加密狗将收到的序列经过加密算法运算生成加密序列后,回传给受保护软件,对受保护软件的内置密码初值进行修改。进一步优化技术方案,所述步骤S3包括以下步骤:S31、受保护软件生成随机数初值,并使用加密算法对所述随机初值进行加密运算,生成加密序列;同时将所述随机数初值传送给软件加密狗,软件加密狗经过加密算法进行加密运算,传回受保护软件;S32、将接收到的软件加密狗的加密运算序列与受保护软件生成的加密序列进行校验,通过验证结果来判断软件加密狗的合法性。进一步优化技术方案,所述随机数初值是通过受保护软件随机函数发生器生成,随机数初值作为算法初值传给受保护软件内置算法序列生成模块;经过算法序列生成模块产生基于随机函数发生器产生的随机数的加密序列,传入算法序列验证模块;软件加密狗将算法初值进行算法运算后产生的加密算法序列,传入算法序列验证模块。进一步优化技术方案,所述步骤S4中,硬件机器码校验的方法为:将硬件的机器码传给从设备,进行硬件机器码校验。进一步优化技术方案,所述步骤S4中,合成密文的方法为:将基于内置初值密码的加密序列与基于设备机器码生成的加密序列在受保护软件密文融合模块内进行融合。进一步优化技术方案,所述受保护软件、从设备、软件加密狗内都安装有加解密算法驱动。进一步优化技术方案,还包括:受保护软件的硬件机器码获取机制;硬件机器码包括当前硬件的各种参数和状态描述。由于采用了以上技术方案,本专利技术所取得技术进步如下。本专利技术用于软件加密保护以及对从设备进行访问授权,判断所运行的硬件可信度,以对从设备进行访问,本专利技术利用软件加密狗与从设备验证结合的保护机制以及对受保护软件内置的初始密码进行每次动态更新,使得无法被跟踪破解,大大提高受保护软件被破解难度和安全性。本专利技术利用加密算法对从设备、软件加密狗与受保护软件进行通信数据进行加密,利用内置软件密码以及硬件设备作为初值进行加解密验证,而后对内置软件密码进行更新,提升防破解能力。本专利技术通过在受保护软件、软件加密狗、从设备间制定一个加解密算法,并通过算法的传递,最后将回传的解密数据和存储的数据进行对比验证,若验证成功,则认为该次软件运行为已授权行为,允许受保护软件对从设备进行访问,软件的保护性能大大提高,同时也能保护从设备的安全。附图说明图1为本专利技术的架构流程图;图2为本专利技术的实现流程示意图。具体实施方式下面将结合附图和具体实施例对本专利技术进行进一步详细说明。一种基于协同验证的软件保护机制及数据交换方法,用于软件加密保护以及对从设备进行访问授权,判断所运行的硬件可信度,以对从设备进行访问,结合图1至图2所示,包括以下步骤:S1、在受保护软件、从设备、软件加密狗三方之间约定一个加解密算法机制。受保护软件、从设备、软件加密狗内都安装有加解密算法驱动。S2、将软件加密狗插入到受保护软件运行的主设备中,完成USB设备枚举,使得受保护软件的启动基于算法加密与协同验证的软件保护机制。S3、受保护软件和软件加密狗利用加密算对同一个随机数加密,验证其中密文是否一致,来判断软件加密狗的合法性,保证所使用的软件加密狗为合法、有效、经过授权的软件加密狗。步骤S3包括以下步骤:S31、受保护软件生成随机数初值,并使用加密算法对随机初值进行加密运算,生成加密序列,即生成256个参照密文;同时将随机数初值传送给软件加密狗,软件加密狗经过加密算法进行加密运算,生成256个混沌密文,传回受保护软件。随机数初值是通过受保护软件随机函数发生器生成,随机数初值作为算法初值传给受保护软件内置算法序列生成模块,由算法序列生成模块生成256个参照密文。S32、将接收到的软件加密狗的加密运算序列与受保护软件生成的加密序列进行校验,通过验证结果来判断软件加密狗的合法性及授权情况。如果未授权的软件加密狗将不执行下面步骤。具体地,经过算法序列生成模块产生基于随机函数发生器产生的随机数的加密序列,传入算法序列验证模块(即图1中的序列对比程序)。软件加密狗将算法初值进行算法运算后产生的加密算法序列,传入算法序列验证模块。算法序列验证模块对软件加密狗的加密运算序列与生成的加密序列进行校验。S4、若软件加密狗为合法授权的软件加密狗,即软件加密狗合法性验证通过,则将受保护软件内置初值密码传给软件加密狗,使用加密算法生成基于内置初值密码的加密序列,并返回给受保护软件;同时进行硬件机器本文档来自技高网...
【技术保护点】
1.一种基于协同验证的软件保护机制及数据交换方法,其特征在于,包括以下步骤:/nS1、在受保护软件、从设备、软件加密狗三方之间约定一个加解密算法机制;/nS2、将软件加密狗插入到受保护软件运行的主设备中;/nS3、受保护软件和软件加密狗对同一个随机数加密,验证其中密文是否一致,来判断软件加密狗的合法性;/nS4、若软件加密狗为合法授权的软件加密狗,将受保护软件内置初值密码传给软件加密狗,生成基于内置初值密码的加密序列,并返回给受保护软件;同时进行硬件机器码校验,判断是否为已授权的硬件设备;/n若为已授权的硬件设备,生成基于设备机器码生成的加密序列,并返回给受保护软件合成密文,进行解密验证,进而来控制是否启动受保护软件;/nS5、当受保护软件运行启动后,会随机生成数列传给软件加密狗,软件加密狗将收到的序列经过加密算法运算生成加密序列后,回传给受保护软件,对受保护软件的内置密码初值进行修改。/n
【技术特征摘要】
1.一种基于协同验证的软件保护机制及数据交换方法,其特征在于,包括以下步骤:
S1、在受保护软件、从设备、软件加密狗三方之间约定一个加解密算法机制;
S2、将软件加密狗插入到受保护软件运行的主设备中;
S3、受保护软件和软件加密狗对同一个随机数加密,验证其中密文是否一致,来判断软件加密狗的合法性;
S4、若软件加密狗为合法授权的软件加密狗,将受保护软件内置初值密码传给软件加密狗,生成基于内置初值密码的加密序列,并返回给受保护软件;同时进行硬件机器码校验,判断是否为已授权的硬件设备;
若为已授权的硬件设备,生成基于设备机器码生成的加密序列,并返回给受保护软件合成密文,进行解密验证,进而来控制是否启动受保护软件;
S5、当受保护软件运行启动后,会随机生成数列传给软件加密狗,软件加密狗将收到的序列经过加密算法运算生成加密序列后,回传给受保护软件,对受保护软件的内置密码初值进行修改。
2.根据权利要求1所述的一种基于协同验证的软件保护机制及数据交换方法,其特征在于,所述步骤S3包括以下步骤:
S31、受保护软件生成随机数初值,并使用加密算法对所述随机初值进行加密运算,生成加密序列;同时将所述随机数初值传送给软件加密狗,软件加密狗经过加密算法进行加密运算,传回受保护软件;
S32、将接收到的软件加密狗的加密运算序列与受保护软件生成的加密序列进...
【专利技术属性】
技术研发人员:林天锦,文韵逑,张旭东,
申请(专利权)人:上海宝通汎球电子有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。