[发明专利]一种基于国密算法的动态链接库保护方法及其系统有效
申请号: | 202010370716.6 | 申请日: | 2020-05-06 |
公开(公告)号: | CN111611551B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 张建成;郭峰;鹿全礼;任强;宁伟;马晓红;宋丽华;许志国;刘鲲鹏;朱瑞新;于小苇;张圆圆;张硕 | 申请(专利权)人: | 山东正中信息技术股份有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/16 |
代理公司: | 合肥晨创知识产权代理事务所(普通合伙) 34162 | 代理人: | 康培培 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 算法 动态 链接 保护 方法 及其 系统 | ||
本申请实施例提供一种基于国密算法的动态链接库保护方法,包括:使用国密SM2算法生成公钥a和对应的私钥aa,使用所述私钥aa对目标动态链接库进行加密;判断目标应用程序是否为由授权开发工具开发的合法应用程序,所述授权开发工具用于编写和编译合法的应用程序,所述合法的应用程序运行时将调用所述目标动态链接库;确定所述目标应用程序为由授权开发工具开发的合法应用程序后,使用init函数获取所述目标应用程序的公钥a’,当所述公钥a’与所述公钥a相同时,使用所述公钥a解密所述目标动态链接库,运行所述目标应用程序,当所述公钥a’与所述公钥a不相同时,退出所述目标应用程序的运行。
技术领域
本申请涉及互联网软件保护技术领域,特别是涉及一种基于国密算法的动态链接库保护方法及其系统。
背景技术
随着移动互联网的发展,信息流通和信息分享越来越快捷,各种应用软件百花齐放,但软件版权被侵犯的案例却层出不穷,屡禁不止。为了保护原创软件版权,企业会通过授权Licence的方式对软件的使用进行限制,比较常见的如Microsoft推出的Office办公软件,Oracle公司推出的数据库产品等。但利用授权Licence的方法无法解决动态链接库文件被拷贝的风险,而且该方式不适合大规模物联网终端设备的部署。除此之外,单纯对动态链接库源码进行代码混淆、加密以及加壳处理也是比较常用的保护方法,能够防止动态库被反编译,保护源码。但代码混淆、加密和加壳处理只对动态库进行加固,没有体现唯一身份识别与Licence授权的作用,而且该方法也会直接影响动态库所调函数的执行速度,不同平台,不同系统,其兼容性也不尽相同。
目前方案存在的缺点主要体现在以下几个方面:
对开发工具采用licence授权方式,只能保证开发工具使用者的唯一性,无法阻止第三方开发者拷贝核心库。由于第三方开发者可以通过直接调用的方式使用核心库函数,所以该方法容易导致核心库被盗版使用。
对动态库源代码混淆、加密和加壳保护,虽然能够增加第三方反编译的难度,起到一定的保护效果,但在离线情况下不具备licence授权功能,无法对软件版权进行付费保护,从而导致版权被滥用。
除此之外,也有方法通过重新定义动态库加载地址,改变动态库在内存中的入口地址,在每次加载前进行动态库身份验证,实现动态库、开发工具和应用程序三者间的绑定。该方法虽然达到保护动态库的目的,但每个应用程序所安装的平台以及平台配置的资源不同,导致内存空间大小各异,因此,该方法需要根据平台进行定制化配置操作,不适合应用程序的大规模部署。
因此,目前继续一种对动态链接库的保护方法,能够合理有效的进行软件版权的保护。
发明内容
本申请实施例中一种基于国密算法的动态链接库保护方法及其系统,,能够合理有效的进行软件版权的保护。
第一方面,提供一种基于国密算法的动态链接库保护方法,包括:使用国密SM2算法生成公钥a和对应的私钥aa,使用所述私钥aa对目标动态链接库进行加密;判断目标应用程序是否为由授权开发工具开发的合法应用程序,所述授权开发工具用于编写和编译合法的应用程序,所述合法的应用程序运行时将调用所述目标动态链接库;确定所述目标应用程序为由授权开发工具开发的合法应用程序后,使用init函数获取所述目标应用程序的公钥a’,当所述公钥a’与所述公钥a相同时,使用所述公钥a解密所述目标动态链接库,运行所述目标应用程序,当所述公钥a’与所述公钥a不相同时,退出所述目标应用程序的运行。
结合第一方面,在第一方面的第一种可能的实现方式中,所述判断目标应用程序是否为授权开发工具开发的合法应用程序,包括:使用国密SM2算法生成公钥c和对应的私钥cc;获取所述授权开发工具的序列号文件;使用国密SM3算法对所述序列号文件进行摘要处理,生成对应的第一摘要文件,使用私钥cc分别对所述公钥a、所述序列号文件和所述第一摘要文件进行加密;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东正中信息技术股份有限公司,未经山东正中信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010370716.6/2.html,转载请声明来源钻瓜专利网。