[发明专利]基于考拉兹猜想的软件水印方法有效
申请号: | 201910192448.0 | 申请日: | 2019-03-14 |
公开(公告)号: | CN109933962B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 马昊玉;贾春福;李士佳;杨超 | 申请(专利权)人: | 西安电子科技大学;南开大学 |
主分类号: | G06F21/16 | 分类号: | G06F21/16 |
代理公司: | 天津耀达律师事务所 12223 | 代理人: | 侯力 |
地址: | 710126 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 考拉 猜想 软件 水印 方法 | ||
1.基于考拉兹猜想的软件水印方法,其特征在于所述方法利用考拉兹猜想将整数域内的每个元素对应至一个独一无二的冰雹序列的特点,结合基于考拉兹猜想的程序控制流混淆方法以同时实现软件水印的良好隐蔽性和强抗攻击性,而冰雹序列的独特规则还使得该方法所嵌入的水印难以被破坏;所述的软件水印方法的嵌入过程如下:
A1)预处理宿主程序,监测宿主程序执行过程,并从宿主程序的多条执行路径上获取一定数量的能够作为水印嵌入点的条件分支结构;
A2)对步骤A1)所提供的嵌入点施加基于考拉兹猜想的控制流混淆;
A3)在步骤A2)所构造的混淆结构基础上,引入专门构造的控制函数,向混淆结构内的考拉兹猜想计算逻辑输入受控于宿主程序输入参数的整数数值以引导其控制流行为,由此形成用于表达水印的代码组件;
A4)在步骤A3)基础上,将宿主程序中受控于一对秘密输入参数的两条不同执行路径上所嵌入的水印组件进行配对,使得这些水印组件内的考拉兹猜想计算逻辑在宿主程序被给予各自执行路径所对应的秘密输入参数时被控制函数引导计算同一整数所对应的冰雹序列并因此按同样的控制流行为执行,从而通过两条执行路径上水印组件在秘密输入参数影响下出现的控制流行为耦合现象将嵌入至宿主程序中的原始水印表现出来;
A5)对经过步骤A2)至A4)修改的宿主源代码进行编译,得到已嵌入软件水印的最终程序实例。
2.根据权利要求1所述的基于考拉兹猜想的软件水印方法,其特征在于,所述的软件水印嵌入过程中,步骤A3)所述的控制函数被设计为在宿主程序被给予秘密输入参数时以整数形式返回水印信息的相应数值,使得受控混淆结构内的考拉兹猜想计算逻辑被该整数所引导并引发不同执行路径上的控制流行为耦合现象。
3.根据权利要求1所述的基于考拉兹猜想的软件水印方法,其特征在于,步骤A3)所述秘密输入参数是一个由多组不同输入参数构成的输入序列,且宿主程序在被给予不同特定输入参数时将按照不同的执行路径运行。
4.根据权利要求1所述的基于考拉兹猜想的软件水印方法,其特征在于,所述的软件水印方法的识别和提取过程如下:
B1)向被检测程序输入权利要求1之步骤A3)中所预定的秘密输入参数后,执行被检测程序,并监视被检测程序对应的执行流;
B2)通过对使用秘密输入参数经步骤B1)所产生的执行流中的控制转移序列进行匹配,识别出存在于所产生执行流中的共有控制序列模式,从而发现由水印组件引发的控制流行为耦合现象;
B3)根据考拉兹函数的定义,对步骤B2)所识别出的共有控制序列模式进行合法性检查以排除不属于冰雹序列的模式;
B4)根据考拉兹猜想的定义,对经由步骤B2)识别出且未被步骤B3)所排除的控制序列模式进行回溯计算,还原出导致该序列的整数数值,由此获得所嵌入的水印。
5.根据权利要求4所述的基于考拉兹猜想的软件水印方法,其特征在于,所述的软件水印方法的识别和提取过程中,步骤B1)中通过动态代码插桩的方式实现对执行流的监视;步骤B2)中所识别出的共有控制序列模式仅包括那些同时出现在由秘密输入参数集合中的不同输入所引起的执行流中的序列模式,而不包括那些仅仅在单一执行流中反复出现的序列模式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学;南开大学,未经西安电子科技大学;南开大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910192448.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件加固方法和系统
- 下一篇:一种针对用户行为轨迹特征识别的方法