[发明专利]一种软件保护系统及其保护方法无效
申请号: | 201310263414.9 | 申请日: | 2013-06-28 |
公开(公告)号: | CN103294937A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 孙小雁;朱晓姝 | 申请(专利权)人: | 玉林师范学院 |
主分类号: | G06F21/16 | 分类号: | G06F21/16 |
代理公司: | 广西南宁公平专利事务所有限责任公司 45104 | 代理人: | 黄永校 |
地址: | 537000 广西*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 保护 系统 及其 方法 | ||
技术领域
本发明属于软件保护领域,具体是一种涉及软件版权信息的生成、变换、软件水印的生成以及软件盗版源追踪的软件保护系统及其保护方法。
背景技术
网络的飞速发展为信息交换提供了巨大的便利,同时也为软件的保护带来了严峻的挑战。在过去的数十年里,软件盗版和非法使用是软件产业面临的最关键的问题之一,造成了巨大的经济损失。软件出现的早期,程序员只是在软件中简单加入个人信息即视之为一种软件水印。由于这些信息易于被获取、篡改,鲁棒性低,所以并没有受到重视,发展一直比较缓慢。直到1999年Collberg提出动态软件水印模型,它才得以迅速发展。动态图水印的核心思想是将水印信息转化为一个大整数,并将此整数转化成某种图的拓扑结构,然后将该拓扑结构嵌入到软件程序代码里。若程序的版权所有者能从中有效提取该整数,则可证明对该程序拥有知识产权。
典型的动态图软件水印有PPCT编码、排列图编码和基数编码。PPCT编码是在二叉树的基础上加了一个右指针指向根节点的生成节点,生成结点的左指针指向最右叶结点,叶结点的左指针指向自己左边最近的叶结点,右结点指向自己。最左边叶结点的左指针指向生成节点。所有结点通过指针链接在一起,构成一个循环链表。按照树的大小比较结果对每种PPCT编号,就可以将PPCT与其可表示范围内的整数序列一一对应,完成编码。图1是具有3个叶节点的PPCT编码图,代表整数4。排列图编码是用数字0,1,2,…,n-1的一个全排列的序号来表示一个整数,如列<1,2,3,4,5>对应整数0,<1,2,3,5,4>对应整数1,以此类推。然后用一个循环链表来编码该整数。图2代表29的排列图,其中节点数为5.基数编码由有k-1个结点的循环链表和1个头指针组成,循环链表中的每个结点包含两个指针:左指针和右指针,其中左指针起编码作用,右指针指向下一个节点。根据左指针的所指向的节点编号确定指数,将各节点代表的指数相加即得水印值。一种排列图编码方案如图3所示,其中k的值取6,拓扑图代表的水印值是4458。虽然以上动态图可以方便高效的嵌入到软件代码当中,对软件水印的鲁棒性有明显改善,但是当水印拓扑图受到攻击时,就失去了证明版权的能力,因此软件水印的安全性、鲁棒性仍存在不足,同时,当软件水印被攻击者提取后,有可能冒充版权所有者发布其它软件,导致版权所有者的利益和名誉受到损害,不利于软件产业的良性发展。
发明内容
本发明的目的在于针对现有的软件水印会被第三方提取并冒充的问题,提出一种隐藏版权所有者信息的软件水印的软件保护系统及其保护方法,能够为证明版权提供证据,又具备在盗版事件发生后起到追踪盗版源的功能,而且在软件水印受到攻击后能在一定程度上重建水印拓扑图进而证明版权的归属,具有很强的鲁棒性。
为达到上述目的,本发明所采取的技术方案是:一种软件保护系统,包括以下模块:版权信息生成模块、版权信息加密模块、拓扑图转换模块A、拓扑图生成模块A、用户信息生成模块、随机数生成模块、拓扑图转换模块B、拓扑图生成模块B和拓扑图嵌入模块;
所述的版权信息生成模块,用于将软件版权所有者的身份信息转换成软件版权信息,其输入为软件版权所有的身份信息,输出为软件版权信息;
所述的版权信息加密模块,以版权信息生成模块的输出为输入,通过加密算法计算版权信息对应的密文,并输出密文;
所述的拓扑图转换模块A:以版权信息加密模块的输出为输入,由密文计算拓扑图应包含的节点数;
所述的拓扑图生成模块A:根据拓扑图转换模块A计算的节点数和版权信息加密模块所得的密文,生成与密文等价的拓扑图;
所述的用户信息生成模块:根据用户购买软件时提供的个人信息,转换为计算机能算直接处理的二进制序列;
所述的随机数生成模块:用于生成一个随机序列;
所述的拓扑图转换模块B:以用户信息生成模块和随机数生成模块的输出序列相加后的结果为输入,用于计算拓扑图应包含的节点数;
所述的拓扑图生成模块B:根据拓扑图转换模块B中计算的节点数,生成与用户信息生成模块和随机数生成模块的输出序列相加后的结果相等价的拓扑图;
拓扑图嵌入模块:将拓扑图生成模块A和拓扑图生成模块B生成的拓扑图嵌入到源程序的代码中。
所述的软件保护系统的保护方法,包括以下步骤:
步骤1:将版权所有者的身份信息转换为版权信息,转换的方法为直接将版权所有者的身份信息逐个按字母转换为ASCII码;
步骤2:将软件版权信息进行加密处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于玉林师范学院,未经玉林师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310263414.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种检测木马程序的方法及装置
- 下一篇:便携式远程多功能医疗服务装置