[发明专利]一种软件保护方法及装置有效
| 申请号: | 202011459474.4 | 申请日: | 2020-12-11 |
| 公开(公告)号: | CN112559981B | 公开(公告)日: | 2021-09-17 |
| 发明(设计)人: | 孙吉平;杜浩浩 | 申请(专利权)人: | 北京深思数盾科技股份有限公司 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12 |
| 代理公司: | 北京金信知识产权代理有限公司 11225 | 代理人: | 韩岳松 |
| 地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 软件 保护 方法 装置 | ||
本申请公开了一种软件保护方法及装置。其中方法包括:接收针对被保护软件的认证操作;其中,所述被保护软件为被加壳后的第一软件,所述被保护软件的壳中存储有认证数据和目标认证算法对应的虚拟码,所述认证数据用于表示第一软件的使用凭证;响应于所述认证操作,将所述被保护软件的壳中的所述虚拟码以及所述认证数据发送至硬件加密锁;获取硬件加密锁反馈的认证结果;其中,所述认证结果由所述硬件加密锁基于与所述虚拟码对应的目标认证算法对所述认证数据进行认证获得的;所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式;基于所述认证结果确定所述认证操作的合法性。采用本申请中能够提高被保护软件的安全性。
技术领域
本申请涉及软件保护领域,特别涉及一种软件保护装置及方法。
背景技术
随着互联网技术的发展,各种软件应运而生。同时也出现了软件被盗版的问题。软件盗版严重扰乱社会的经济秩序,并极大的阻碍了整个软件行业的发展。因此,必须采取相应的技术措施来防御软件的破解。
在目前的软件保护技术中,硬件加密锁是最常用,也是比较安全的一种。硬件加密锁是一种采用高强度智能卡芯片和先进的密码学技术,具有一定的运算和存储能力的硬件系统。软件开发者在使用硬件加密锁对开发的软件进行保护时,可以将软件中的一部分功能转移到硬件加密锁中实现,在软件运行时调用这些功能。但是硬件加密锁容易被逆向破解,容易造成软件被非法操作、使用,无法保证软件的安全。
发明内容
本发明实施例的目的在于提供一种软件保护方法及装置,用于解决现有技术中的硬件加密锁容易被逆向破解、造成软件被非法使用问题。
为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种软件保护方法,包括如下步骤:
接收针对被保护软件的认证操作;其中,所述被保护软件为被加壳后的第一软件,所述被保护软件的壳中存储有认证数据和目标认证算法对应的虚拟码,所述认证数据用于表示第一软件的使用凭证;
响应于所述认证操作,将所述被保护软件的壳中的所述虚拟码以及所述认证数据发送至硬件加密锁;
获取硬件加密锁反馈的认证结果;其中,所述认证结果由所述硬件加密锁基于与所述虚拟码对应的目标认证算法对所述认证数据进行认证获得的;所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式;
基于所述认证结果确定所述认证操作的合法性。
可选的,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件;所述加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认证算法中的任意一种。
可选的,所述的所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式,具体包括:
所述硬件加密锁中预先存储有用于实现所述目标转换方式的第一虚拟机的代码,以基于所述虚拟机代码对所述虚拟码进行转换,获得所述目标认证算法。
为了解决上述技术问题,本申请提供一种软件保护方法,包括如下步骤:
接收终端发送的被保护软件的壳中的目标认证算法的虚拟码以及认证数据;其中,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件,所述认证数据用于表示软件开发者是否允许指定的软件用户使用第一软件;
基于预先存储的目标转换方式对所述虚拟码进行转换,以获得与所述虚拟码对应的目标认证算法;
基于所述目标认证算法对所述认证数据进行认证,获得认证结果;
将所述认证结果发送给所述终端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技股份有限公司,未经北京深思数盾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011459474.4/2.html,转载请声明来源钻瓜专利网。





