一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于软加密狗装置的软件版权加密保护方法与流程

2022-02-23 01:04:20 来源:中国专利 TAG:


1.本发明涉及软件加密技术领域,尤其涉及一种基于软加密狗装置的软件版权加密保护方法。


背景技术:

2.随着软件和互联网技术的发展,软件版权的保护问题越来越重要。当黑客从授权的计算机中成功获取到一个软件之后,可以把该软件复制到其它没有经过授权的计算机上运行,这就给软件厂商带来了经济上的巨大损失。
3.在现有技术中,一般使用软件加密和硬件加密两种方式来保护软件产品的版权。
4.软件加密:在发布被保护的软件时,在该软件的外层,通过软件加密工具增加一层保护,然后分发给授权用户。当授权用户获取到带有保护层的软件之后,通过软件解密工具,还原出被保护的软件,然后再运行软件。这样的软件加密方式,由于受到计算机操作系统的限制,很容易被黑客通过“脱壳”的方式进行破解,从而使被保护的软件被复制、运行在其他没有授权的计算机中。
5.硬件加密:在授权运行软件的计算上,通过usb或其它接口,连接一个硬件加密狗,然后在被保护的软件产品中,添加一些代码,与硬件加密狗进行通信。硬件加密狗通过硬件的各种加密措施,来保证硬件加密狗的不可复制性和唯一性,进而间接地来保证需要保护的软件产品的唯一性。但是,硬件加密狗的方式需要增加额外的硬件成本,存在便携性、后期维护等问题,而且对软件产品的分发流程提出了更高的要求。
6.因此,急需一种技术来解决该问题。


技术实现要素:

7.本发明的目的在于克服上述现有技术的问题,提供了一种基于软加密狗装置的软件版权加密保护方法,首先接收被授权计算机中的硬件设备信息解密后的授权请求文件,然后根据硬件设备信息生成唯一的授权文件,之后将授权文件、软加密狗、被保护软件和rsa非对称加解密的公钥部署到被授权的计算机中,被保护软件在运行时不定期地检测软加密狗的指纹信息,并通过软加密狗中的api接口函数,验证授权文件的是否存在、授权文件中的硬件信息是否与计算机中实际的硬件信息是否匹配,从而确定被保护软件是否运行在被授权的计算机上,可有效遏制被保护软件的恶意复制和传播问题。
8.上述目的是通过以下技术方案来实现:
9.一种基于软加密狗装置的软件版权加密保护方法,包括:
10.接收被授权计算机硬件设备信息,使用aes对称加密算法对所述硬件设备信息进行加密,生成授权请求文件;
11.对所述授权请求文件进行aes解密算法,得到所述硬件设备信息,并生成唯一的授权文件;
12.将所述授权文件、软加密狗、被保护软件和用于rsa非对称解密需要的公钥文件部
署到所述被授权计算机中;
13.所述被保护软件在运行的时候,不定期地与所述软加密狗进行通信,以便进行安全验证,所述安全验证包括:
14.验证所述软加密狗的md5指纹信息是否与预设的md5指纹信息匹配,若否,则所述被保护软件随即停止运行;若是,则继续运行;
15.验证所述授权文件是否存在,若否,则所述被保护软件随即停止运行;若是,则继续运行;
16.验证所述授权文件中的硬件信息是否与此计算机的实际硬件信息匹配,若否,则所述被保护软件随即停止运行;若是,则继续运行。
17.进一步地,所述硬件设备信息具有唯一标识,包括但不限于cpu id、主板序列号、bios序列号、硬盘序列号、网卡地址。
18.进一步地,所述软加密狗以动态链接库的形式存在于所述被授权计算机的系统中,当所述被保护软件接收到所述软加密狗的返回结果之后,立刻将所述软加密狗动态链接库从内存中卸载。
19.进一步地,所述生成授权请求文件,具体为:获取所述授权计算机的具有唯一标识的所述硬件设备信息,对所述硬件设备信息进行aes对称加密算法进行加密,将密文存储到所述授权请求文件中。
20.进一步地,所述生成唯一的授权文件,具体为:读取所述授权请求文件中的内容,使用软件厂商预先设定的aes秘钥对所述硬件设备信息的密文进行解密;
21.若解密失败,则说明所述授权请求文件非法;若解密成功,则说明授权请求文件合法;然后对所述硬件设备信息再次进行aes加密,把密文存放在所述授权文件中,并且对此次使用的aes秘钥,使用所述被保护软件相应的rsa私钥进行非对称加密,得到的密文也存放在所述授权文件中。
22.进一步地,所述授权文件包含两部分信息:所述硬件设备信息经过aes对称加密算法处理之后的密文,和对aes对称加密算法所使用的秘钥进行rsa非对称加密算法处理之后的密文。
23.进一步地,在所述授权文件中,添加安全策略,对所述硬件设备信息中每一个硬件设备赋予不同的权重;
24.在所述授权文件中,不存储硬件设备信息的明文,采用aes对称加密算法对所述硬件设备信息进行加密,然后把得到的密文存放在所述授权文件中;
25.在所述授权文件中,对所述硬件设备信息进行aes加密时所使用的秘钥,采用rsa非对称加密算法再次进行加密,生成的密文存放在所述授权文件中;
26.在所述授权文件中,以明文的方式存放所述授权文件所保护的软件识别码,所述软加密狗利用此软件识别码来管理存放在所述被授权计算机中的所有所述授权文件。
27.进一步地,所述验证所述软加密狗的md5指纹信息是否与预设的md5指纹信息匹配,具体为:所述软加密狗部署到所述被授权计算机时,计算所述软加密狗的md5指纹信息,并配置到所述被保护软件中,所述被保护软件在加载所述软加密狗之前,首先计算所述软加密狗的md5指纹信息,然后与预先配置的md5指纹信息进行比对;若二者相同,则认为所述软加密狗合法;若二者不相同,则认为所述软加密狗不合法。
28.进一步地,所述验证所述授权文件是否存在,具体为:所述软加密狗读取所述授权文件中的aes秘钥的密文,使用所述被授权计算机中预先部署的rsa解密公钥进行解密,得到aes秘钥的明文;所述软加密狗利用所述aes秘钥的明文对所述硬件设备信息的密文进行aes解密,得到所述授权文件中的硬件设备信息;所述软加密狗在比对所述硬件设备信息时,根据所述授权文件中设置的安全策略级别,对所述硬件设备信息按照不同的权重进行匹配计算,得到一个最终匹配结果。
29.进一步地,所述验证所述授权文件中的硬件信息是否与此计算机的实际硬件信息匹配时,可根据所述授权文件中的安全策略级别,对不同的硬件设备赋予不同的权重;具体为:所述软加密狗在比对所述授权文件中的硬件信息与计算机中实际硬件设备信息时,根据所述授权文件中设置的安全策略级别,对不同的硬件设备赋予不同的权重,经过权重计算之后,得到一个最终的硬件匹配结果,然后返回给所述被保护软件。
30.进一步地,所述软加密狗将将安全验证结果返回给所述被保护软件,所述被保护软件根据所述安全验证结果做出执行或停止软件运行。
31.有益效果
32.本发明所提供的一种基于软加密狗装置的软件版权加密保护方法,利用软加密狗的指纹信息来确保软加密狗的唯一性、计算机中的硬件设备信息来确保授权文件的合法性、rsa非对称加密算法对硬件设备信息的加密算法中所使用的秘钥进行二次加密保护来提高软加密狗的灵活性和安全性,可有效解决现有软件加密方式中,被“加壳”之后的软件非常容易被黑客破解,硬件加密方式中需要额外的硬件加密狗才能保护软件的问题。本方法可有效对被保护软件所运行的计算机环境的合法性进行保证,进而有效遏制被保护软件的恶意传播。
附图说明
33.图1为本发明所述一种基于软加密狗装置的软件版权加密保护方法的流程图;
34.图2为本发明所述一种基于软加密狗装置的软件版权加密保护方法中授权文件的内容结构图;
35.图3为本发明所述一种基于软加密狗装置的软件版权加密保护方法中被保护软件验证软密狗指纹信息的流程示意图;
36.图4为本发明所述一种基于软加密狗装置的软件版权加密保护方法中被保护软件加载软加密狗的流程示意图;
37.图5为本发明所述一种基于软加密狗装置的软件版权加密保护方法中软加密狗对授权文件的验证流程示意图。
具体实施方式
38.下面根据附图和实施例对本发明作进一步详细说明。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
39.如图1所示,一种基于软加密狗装置的软件版权加密保护方法,包括如下步骤:
40.接收被授权计算机硬件设备信息,使用aes对称加密算法对所述硬件设备信息进
行加密,生成授权请求文件;
41.对所述授权请求文件进行aes解密算法,得到所述硬件设备信息,并生成唯一的授权文件;
42.将所述授权文件、软加密狗、被保护软件和用于rsa非对称解密需要的公钥文件部署到所述被授权计算机中;
43.所述被保护软件在运行的时候,不定期地与所述软加密狗进行通信,以便进行安全验证,所述安全验证包括:
44.验证所述软加密狗的md5指纹信息是否与预设的md5指纹信息匹配,若否,则所述被保护软件随即停止运行;若是,则继续运行;
45.验证所述授权文件是否存在,若否,则所述被保护软件随即停止运行;若是,则继续运行;
46.验证所述授权文件中的硬件信息是否与此计算机的实际硬件信息匹配,若否,则所述被保护软件随即停止运行;若是,则继续运行。
47.具体的,本方案中包括4个核心:授权请求文件、授权文件、软加密狗和ras非对称加密公钥,其中:
48.授权请求文件通过aes对称加密算法来保证被授权计算机的合法性;
49.授权文件中通过aes对称加密算法来保证硬件信息的保密性,通过rsa非对称加密算法来保证aes秘钥的保密性;
50.软加密狗通过md5指纹信息来保证唯一性。
51.本实施例中,所述被授权计算机中包含多个不同的硬件设备信息,包括但不限于cpu id、主板序列号、bios序列号、硬盘序列号、网卡地址等唯一标识,在生成所述授权请求文件时,采用aes对称加密算法对所述授权文件的合法性进行保证。
52.所述生成授权请求文件,具体为:获取所述授权计算机的具有唯一标识的所述硬件设备信息,对所述硬件设备信息进行aes对称加密算法进行加密,将密文存储到所述授权请求文件中。
53.具体的,为了利于硬件设备信息的收集,本方案设计了一个用于在被授权计算机中执行硬件设备信息收集的硬件设备信息收集模块工具,获取计算机中的cpu、主板、bios序列号等硬件设备信息;然后对硬件设备信息进行aes对称加密算法进行加密,把密文存储到授权请求文件。
54.如图2所示,本实施例中所述授权文件包含两部分信息:所述硬件设备信息经过aes对称加密算法处理之后的密文,和对aes对称加密算法所使用的秘钥进行rsa非对称加密算法处理之后的密文。
55.所述生成唯一的授权文件的步骤具体为:读取所述授权请求文件中的内容,使用软件厂商预先设定的aes秘钥对所述硬件设备信息的密文进行解密;若解密失败,则说明所述授权请求文件非法;若解密成功,则说明授权请求文件合法;然后对所述硬件设备信息再次进行aes加密,把密文存放在所述授权文件中,并且对此次使用的aes秘钥,使用所述被保护软件相应的rsa私钥进行非对称加密,得到的密文也存放在所述授权文件中。
56.具体的,本方案还设计了一个授权文件生成模块工具,用于解密所述授权请求文件,确认所述授权计算机的合法性,并生成一个与所述硬件设备信息相关联的唯一授权文
件。在软件厂商的服务器中,执行授权文件生成模块工具,读取授权请求文件的内容,使用软件厂商预先设定的aes秘钥对硬件设备信息的密文进行解密;如果解密失败,说明授权请求文件非法;如果解密成功,说明授权请求文件合法。然后对硬件设备信息、安全策略再次进行aes加密,把密文存放在授权文件中,并且对此次使用的aes秘钥,使用被保护软件相应的rsa私钥进行非对称加密,得到的密文也存放在授权文件中。
57.作为本方案中所述授权文件的优化:
58.在所述授权文件中,添加安全策略,对所述硬件设备信息中每一个硬件设备赋予不同的权重;
59.在所述授权文件中,不存储硬件设备信息的明文,采用aes对称加密算法对所述硬件设备信息进行加密,然后把得到的密文存放在所述授权文件中;
60.在所述授权文件中,对所述硬件设备信息进行aes加密时所使用的秘钥,采用rsa非对称加密算法再次进行加密,生成的密文存放在所述授权文件中;
61.在所述授权文件中,以明文的方式存放所述授权文件所保护的软件识别码,所述软加密狗利用此软件识别码来管理存放在所述被授权计算机中的所有所述授权文件。
62.在本实施例中,所述软加密狗以动态链接库的形式存在于所述被授权计算机的系统中,当所述被保护软件接收到所述软加密狗的返回结果之后,立刻将所述软加密狗动态链接库从内存中卸载。具体的,被保护软件在使用软加密狗时,采用动态加载的方式把软加密狗加载到内存中,当使用完毕之后立刻把软加密狗从内存中卸载掉。
63.如图4所示,被保护软件通过软加密狗中的api函数来检测授权文件是否合法时,通过动态加载的方式把软加密狗加载到内存中,然后调用软加密狗中的api函数;当被保护软件接收到软加密狗的返回结果后,立刻把软加密狗从内存中卸载。
64.作为本实施例中安全验证的实现,主要包括如下3种验证方法:
65.验证方法一,验证所述软加密狗的md5指纹信息是否与预设的md5指纹信息匹配,具体为:如图3所示,所述软加密狗部署到所述被授权计算机时,计算所述软加密狗的md5指纹信息,并配置到所述被保护软件中,所述被保护软件在加载所述软加密狗之前,首先计算所述软加密狗的md5指纹信息,然后与预先配置的md5指纹信息进行比对;若二者相同,则认为所述软加密狗合法;若二者不相同,则认为所述软加密狗不合法。
66.验证方法二,验证所述授权文件是否存在,具体为:如图5所示,所述软加密狗读取所述授权文件中的aes秘钥的密文,使用所述被授权计算机中预先部署的rsa解密公钥进行解密,得到aes秘钥的明文;所述软加密狗利用所述aes秘钥的明文对所述硬件设备信息的密文进行aes解密,得到所述授权文件中的硬件设备信息;所述软加密狗在比对所述硬件设备信息时,根据所述授权文件中设置的安全策略级别,对所述硬件设备信息按照不同的权重进行匹配计算,得到一个最终匹配结果。
67.验证方法三,验证所述授权文件中的硬件信息是否与此计算机的实际硬件信息匹配,可根据所述授权文件中的安全策略级别,对不同的硬件设备赋予不同的权重;具体为:所述软加密狗在比对所述授权文件中的硬件信息与计算机中实际硬件设备信息时,根据所述授权文件中设置的安全策略级别,对不同的硬件设备赋予不同的权重,经过权重计算之后,得到一个最终的硬件匹配结果,然后返回给所述被保护软件。
68.所述软加密狗将将安全验证结果返回给所述被保护软件,所述被保护软件根据所
述安全验证结果做出执行或停止软件运行。具体为:所述被保护软件在得到软加密狗返回的硬件匹配结果时,如果硬件设备信息匹配,被保护软件继续运行;如果硬件设备信息不匹配,被保护软件可以立刻停止运行,并输出异常提示信息。
69.为了防止黑客通过探测异常提示信息来破解被保护软件中调用软加密狗的函数调用点,被保护软件在接收到软加密狗返回的硬件设备信息不匹配结果时,间隔一段随机的时间之后再停止运行,并输出异常提示信息。
70.以上所述仅为说明本发明的实施方式,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献