[发明专利]基于加密锁的软件版权保护方法和系统及加密锁有效
| 申请号: | 200710308533.6 | 申请日: | 2007-12-29 |
| 公开(公告)号: | CN101216873A | 公开(公告)日: | 2008-07-09 |
| 发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思洛克数据保护中心 |
| 主分类号: | G06F21/22 | 分类号: | G06F21/22 |
| 代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 王一斌;王琦 |
| 地址: | 100086北京市海淀区中*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 加密 软件 版权 保护 方法 系统 | ||
技术领域
本发明涉及软件版权保护技术,特别涉及一种基于加密锁的软件版权保护方法、一种基于加密锁的软件版权保护系统、以及一种加密锁。
背景技术
软件由于其纯数字化的特征,一直遭受盗版的困扰。而使用加密锁是实现软件版权保护的一种主要手段。其中,加密锁是一个连接在计算机的并口或者通用串行总线(USB)接口上的硬件设备。在受保护软件发行之前,软件开发者将该软件中对应某一线程的部分代码移植到加密锁中,使得受保护软件在运行过程中,即受保护软件中的各线程运行过程中,必须调用连接在其所在计算机的加密锁,而加密锁作为一种硬件设备,复制的难度较大,从而起到防止盗版软件非法传播的作用。
具体来说,参见图1,基于加密锁的软件版权保护方法是基于查询-应答方式来实现的,包括:
步骤101,受保护软件基于其内部的代码运行某一线程,由于该线程对应的中间一部分代码被移植到了加密锁中,因此,受保护软件在该线程运行到移植在加密锁中的代码所对应的部分(该部分称为加密点)时,向加密锁发送调用指令,并暂停运行。
步骤102,接收到调用指令之后,加密锁基于移植在其内部的代码运行对应的线程对该调用指令进行对应处理,得到对应的处理结果并反馈给受保护软件,然后停止运行。
步骤103,如果判断出接收到的处理结果正确,则受保护软件根据接收到的处理结果继续运行在步骤101暂停运行的线程。
由上述流程可见,现有基于加密锁的软件版权保护方式,可看作在多个预设的加密点将线程分割为多段,其中的一部分由受保护软件运行、另一部分则由加密锁运行。因而只有在加密锁与受保护软件所在计算机相连时,受保护软件才能够在其线程运行到加密点时调用加密锁以实现正常运行;而如果未将加密锁连接至受保护软件所在的计算机,则受保护软件无法正常运行。
然而,上述方案虽然能够实现对软件版权的保护,但却存在以下问题:
1、现有基于加密锁的软件版权保护方法中,由于对应同一线程的代码被拆分至受保护软件和加密锁中,因此,必须由受保护软件和加密锁交替运行该线程,使得受保护软件每次发出调用指令后,都必须等待加密锁返回对应的处理结果才能够继续运行。而加密锁受到体积和成本等限制,处理能力远远不能与受保护软件所在计算机相比,限制了受保护软件的运行速度。
2、受保护软件需要基于其所在计算机的操作系统运行,而由于操作系统的开放性,因此,受保护软件的全部运行过程能够受到破解者的监控。换言之,破解者可以对受保护软件运行过程中的任何一个环节进行跟踪,包括受保护软件和加密锁之间的交互,以及调用加密锁并接收到对应处理结果之后的处理过程。而现有基于加密锁的软件版权保护方法中,受保护软件在各加密点与加密锁之间的交互,采用的是调用指令与处理结果一一对应的查询-应答方式,而且,各加密点之间无关联,从而使得破解者能够通过监控获知每一个加密点的调用指令和处理结果,且只需分别针对每一个加密点的调用指令和处理结果进行分析,即可获知每个加密点的调用指令及其对应处理结果所能够实现的功能,进而破解出移植在加密锁中的部分代码。
可见,现有基于加密锁的软件版权保护方案的可靠性不高,且使得受保护软件的运行速度较低。
发明内容
有鉴于此,本发明提供了一种基于加密锁的软件版权保护方法、一种基于加密锁的软件版权保护系统、以及一种加密锁,能够提高软件版权保护的可靠性,并提高受保护软件的运行速度。
本发明提供的一种基于加密锁的软件版权保护方法,包括:
本发明提供的一种基于加密锁的软件版权保护系统,包括:
本发明提供的一种加密锁,包括:
由上述技术方案可见,本发明将受保护软件中部分代码移植到加密锁中,并由受保护软件和加密锁分别基于内部的代码同时运行对应的完整线程,而不是基于现有查询-应答方式触发解密锁的运行,当受保护软件中某一线程的运行,需要运行移植在加密锁中的代码所对应线程以得到对应处理结果时,受保护软件才向加密锁发送调用指令。也就是说,本发明中的加密点设置在受保护软件中各线程间的关联处,而不是设置在同一线程中、将同一线程分割为多段并分别由受保护软件和加密锁交替运行,这样,受保护软件无需等待加密锁返回的对应处理结果,而是可以继续运行其他线程,从而提高了软件运行速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思洛克数据保护中心,未经北京深思洛克数据保护中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710308533.6/2.html,转载请声明来源钻瓜专利网。





