学位论文 > 优秀研究生学位论文题录展示
基于Java的软件水印及其相关技术研究
作 者: 巩道福
导 师: 刘粉林
学 校: 解放军信息工程大学
专 业: 计算机软件与理论
关键词: Java软件 Class文件 常量重排 软件水印 软件特征 程序分解 代码迷乱
分类号: TP309.7
类 型: 硕士论文
年 份: 2009年
下 载: 88次
引 用: 1次
阅 读: 论文下载
内容摘要
本文在总结软件水印及其相关技术研究现状的基础上,首先提出了一种基于常量重排的Java软件水印算法;其次,结合程序分解的思想,给出了一种Java软件特征;最后,在软件特征的基础上,提出了一种基于代码迷乱的软件水印算法,具体而言包括以下3个方面:首先,通过对Java可执行文件――class文件的结构分析,得出class文件中对常量存储及使用规则存在的数据冗余,基于该数据冗余并结合扩频水印的思想,提出一种基于常量重排的Java软件水印算法。该算法通过重排常量的顺序来嵌入信息,水印信息的嵌入不改变程序的大小,同时不会影响软件的性能,对软件的执行具有较好的不可感知性。其次,针对基于指令序列等长机械分割的k-gram软件特征提取算法,不能体现程序语义的缺点,结合程序分解的思想,给出了一种针对Java指令的分解算法,并在此基础上提出一种Java软件特征。通过对Java虚拟机指令的分析,得到指令间以操作数栈为中心进行数据处理所产生的依赖关系,基于该依赖关系给出一种程序分解算法,对程序指令序列进行不等长分割,得到程序的分解碎片集,并将该碎片集作为软件的特征。该特征反映了程序的语义,能够抵抗代码重排,添加冗余代码等攻击,具有较高的鲁棒性与可信赖性。再次,在基于程序分解的Java软件特征的基础上,结合代码迷乱技术,提出了一种Java软件水印算法。该算法将水印信息编码为水印代码,并应用代码迷乱技术将水印代码嵌入到程序的分解碎片中,使得水印代码实际参与程序的执行。水印嵌入的过程就是代码迷乱的过程,水印提取以软件特征的提取为基础,该算法有效利用了代码迷乱、软件特征技术的优势,具有较高的鲁棒性。最后,对本文工作进行了总结,对今后的工作做了进一步的展望。
|
全文目录
表目录 6-7 图目录 7-8 摘要 8-9 ABSTRACT 9-10 第一章 绪论 10-16 1.1 课题背景及意义 10-11 1.2 软件水印及相关技术简介 11-14 1.2.1 软件水印技术 11-12 1.2.2 软件特征技术 12-13 1.2.3 代码迷乱技术 13-14 1.3 本文的主要工作及结构安排 14-16 第二章 一种基于常量重排的Java软件水印算法 16-25 2.1 引言 16 2.2 class文件分析 16-18 2.2.1 文件结构分析 16-17 2.2.2 数据冗余分析 17-18 2.3 嵌入和提取算法 18-21 2.3.1 嵌入算法 19 2.3.2 提取算法 19 2.3.3 水印扩频 19-20 2.3.4 (?) 到排列P 的映射 20-21 2.3.5 转换函数(?) 21 2.4 算法实现与分析 21-24 2.4.1 嵌入比率 21-23 2.4.2 算法密钥空间 23 2.4.3 遇到的问题及解决方案 23-24 2.5 本章小结 24-25 第三章 一种基于程序分解的Java软件特征 25-33 3.1 引言 25 3.2 特征提取 25-28 3.2.1 基于栈的指令间依赖关系 25-27 3.2.2 程序分解算法 27-28 3.2.3 特征提取算法 28 3.3 特征相似性描述 28-30 3.3.1 碎片相似性 28-29 3.3.2 PDB相似性 29-30 3.4 实验分析 30-32 3.4.1 可信赖性实验 30-31 3.4.2 鲁棒性实验 31-32 3.5 本章小结 32-33 第四章 一种基于代码迷乱的Java软件水印算法 33-41 4.1 引言 33 4.2 算法原理 33-35 4.2.1 基本思想 33-34 4.2.2 代码迷乱Dτs 34-35 4.3 嵌入与提取算法 35-37 4.3.1 水印生成 35-36 4.3.2 水印嵌入 36 4.3.3 水印提取 36-37 4.4 算法分析 37-39 4.4.1 水印性能分析 37-38 4.4.2 水印嵌入对程序性能的影响 38-39 4.5 实验仿真 39-40 4.6 本章小结 40-41 结束语 41-43 参考文献 43-48 作者简历 攻读硕士学位期间完成的主要工作 48-49 致谢 49
|
相似论文
- 基于指令词的软件特征技术研究,TP311.10
- 静态软件水印的研究与实现,TP309.7
- 基于动态图的软件水印及其相关技术研究,TP309.7
- 软件篡改检测的脆弱水印的研究,TP309.7
- Symbian平台上J2ME应用运行环境的设计与实现,TP311.52
- 基于动态图的软件水印研究与实现,TP309.7
- 基于代码混淆的零水印方案的设计与研究,TP309.7
- 基于EPPCT的嵌入式软件保护研究,TP368.1
- 基于防篡改技术的动态图软件水印算法研究,TP309.7
- 基于B/S架构的协作型项目管理系统设计与实现,TP311.52
- 基于常量编码的防篡改软件水印技术,TP309.7
- 基于PE文件的软件水印研究,TP309.7
- 基于混沌的动态图软件水印算法研究,TP309.7
- 一种基于类树的静态数据结构软件水印方法,TP309.7
- 电子万能材料试验机测控系统的软件开发,TH87
- 基于代码混淆的软件水印方案的设计与实现,TP309.7
- 基于代码加密的防篡改软件水印技术的研究与实现,TP309.7
- 基于PDG水印的软件盗用鉴定方法和原型实现,TP309.7
- 基于扩频水印的软件版权保护研究,TP309.7
- 基于混淆和水印的Java字节码安全技术的研究,TP309
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密 > 加密与解密
© 2012 www.xueweilunwen.com
|