学位论文 > 优秀研究生学位论文题录展示

基于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

相似论文

  1. 基于指令词的软件特征技术研究,TP311.10
  2. 静态软件水印的研究与实现,TP309.7
  3. 基于动态图的软件水印及其相关技术研究,TP309.7
  4. 软件篡改检测的脆弱水印的研究,TP309.7
  5. Symbian平台上J2ME应用运行环境的设计与实现,TP311.52
  6. 基于动态图的软件水印研究与实现,TP309.7
  7. 基于代码混淆的零水印方案的设计与研究,TP309.7
  8. 基于EPPCT的嵌入式软件保护研究,TP368.1
  9. 基于防篡改技术的动态图软件水印算法研究,TP309.7
  10. 基于B/S架构的协作型项目管理系统设计与实现,TP311.52
  11. 基于常量编码的防篡改软件水印技术,TP309.7
  12. 基于PE文件的软件水印研究,TP309.7
  13. 基于混沌的动态图软件水印算法研究,TP309.7
  14. 一种基于类树的静态数据结构软件水印方法,TP309.7
  15. 电子万能材料试验机测控系统的软件开发,TH87
  16. 基于代码混淆的软件水印方案的设计与实现,TP309.7
  17. 基于代码加密的防篡改软件水印技术的研究与实现,TP309.7
  18. 基于PDG水印的软件盗用鉴定方法和原型实现,TP309.7
  19. 基于扩频水印的软件版权保护研究,TP309.7
  20. 基于混淆和水印的Java字节码安全技术的研究,TP309

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密 > 加密与解密
© 2012 www.xueweilunwen.com