![(电路与系统专业论文)嵌入式系统软件水印方案研究实现[电路与系统专业优秀论文].pdf_第1页](http://file.renrendoc.com/FileRoot1/2019-12/13/9324f0ba-b79c-4867-81d3-74b77cf7bfc1/9324f0ba-b79c-4867-81d3-74b77cf7bfc11.gif)
![(电路与系统专业论文)嵌入式系统软件水印方案研究实现[电路与系统专业优秀论文].pdf_第2页](http://file.renrendoc.com/FileRoot1/2019-12/13/9324f0ba-b79c-4867-81d3-74b77cf7bfc1/9324f0ba-b79c-4867-81d3-74b77cf7bfc12.gif)
![(电路与系统专业论文)嵌入式系统软件水印方案研究实现[电路与系统专业优秀论文].pdf_第3页](http://file.renrendoc.com/FileRoot1/2019-12/13/9324f0ba-b79c-4867-81d3-74b77cf7bfc1/9324f0ba-b79c-4867-81d3-74b77cf7bfc13.gif)
![(电路与系统专业论文)嵌入式系统软件水印方案研究实现[电路与系统专业优秀论文].pdf_第4页](http://file.renrendoc.com/FileRoot1/2019-12/13/9324f0ba-b79c-4867-81d3-74b77cf7bfc1/9324f0ba-b79c-4867-81d3-74b77cf7bfc14.gif)
![(电路与系统专业论文)嵌入式系统软件水印方案研究实现[电路与系统专业优秀论文].pdf_第5页](http://file.renrendoc.com/FileRoot1/2019-12/13/9324f0ba-b79c-4867-81d3-74b77cf7bfc1/9324f0ba-b79c-4867-81d3-74b77cf7bfc15.gif)
已阅读5页,还剩63页未读, 继续免费阅读
(电路与系统专业论文)嵌入式系统软件水印方案研究实现[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 嵌入式系统产品正不断渗透各个行业。嵌入式软件作为包含在这些硬件产品 中的特殊软件形态,其产业增幅不断加大,而且在整个软件产业的比重日趋提高。 随着硬件技术的不断革新,硬件成本不断下降,硬件平台的处理能力不断增强, 嵌入式软件已成为产品的数字化改造的关键性技术。网络技术的迅速发展使数字 产品的传播范围和传播速度大为提高,这为数字产品的传播带来了巨大的便利, 但同时也给软件的版权保护问题带来了巨大的隐患。对软件产品而言,盗版使用、 逆向工程、恶意篡改己构成对软件产业的巨大威胁。嵌入式软件的版权问题也逐 渐成为关注的焦点,而近年来一种新型的软件版权保护技术软件水印技术可 以应用于嵌入式软件中,成为嵌入式软件版权保护的有力武器。这种技术也成为 人们研究的热点。 本文对软件水印技术及其相关技术做了一个概要的介绍,讲解了它的定义和 分类;着重分析了软件水印技术的两种分类:动态数据结构软件水印和动态执行 路径软件水印,详细说明它们的算法、数据结构和相关技术;对现有的3 种基于 软件水印的版权保护系统做了较为详细的介绍。分析了嵌入式系统的软硬件环 境,详细介绍了一种鲁棒性好的基于分支的动态执行路径水印,并提出了一种以 其为基础的嵌入式系统软件水印。提出了几种对该水印的防篡改建议。在分析了 其硬件形式识别器所采取的实现形式,对它们做出了性能分析和比较的情况下, 选取了总线模块形式的实现方式,这样方案可以通过其接口,使得集成度和指纹 水印生成模块可以根据具体水印方案来加载。本文对硬件形式识别器进行了 v l s i 实现。通过改进文献1 中的算法,使得该硬件识别器内置智能识别f b f 函 数的算法。最后针对所支持的指令集进行了仿真测试,并进行了逻辑综合。最后 对水印的性能从执行时间、效率、代码空间和抗攻击性等方面做出了分析。 关键字: 软件水印;嵌入式系统;防篡改;动态路径软件水印;v l s i 实现 浙江大学硕士学位论文 a b s t r a c t p r o d u c t sw i t he m b e d d e ds y s t e mi n s i d ea r ei n f i l t r a t i n ge v e r yf i e l do fi n d u s t r i e s a sas p e c i a l f o r mi n c l u d e di nt h e s eh a r d w a r ep r o d u c t s ,e m b e d d e ds o f t w a r ei n d u s t r yh a sb e e ng r o w i n gl a r g e r a n dl a r g e r , a n d g a i n i n gm o r ea n dm o r ei m p o r t a n c e i nt h ew h o l es o f r w a r e i n d u s t r y w i t h c o n t i n u o u si n n o v a t i o n si nh a r d w a r et e c h n o l o g y , a n dt h ed o w ng o i n gc o s to f h a r d w a r e s ,h a r e w a r e p l a t f o r m sc a nd om a n ym o r ej o b s ;e m b e d d e ds o f t w a r eh a sb e c o m eav i t a lt e c h n o l o g yf o rp r o d u c t s d i g i t i z a t i o n t h em p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g i e sa g r e e sah i g h e rp r o m p t i n gt ot h e s p r e a do f d i g i t a lp r o d u c t sb o t hi ns p e c t r u ma n ds p e e d ,t h i sb r i n g sg r e a tc o n v e n i e n c et ot h es p r e a d o fd i g i t a lp r o d u c t s ,b u te n d a n g e r sc o p y r i g h t so ft h o s ep r o d u c t s s oc o p y r i g h t sp r o b l e m sh a v e g r a d u a l l yg e t f o c u s e do n an e wk i n d o f c o p y r i g h t s p r o t e c t i o nt e c h n o l o g yo ft h er e c e n t y e 扣争_ s 0 r w a w a t e r m a r k i n gt e c h n o l o g yc a nb ea p p l i e dt oe m b e d d e ds o l , w a r e s , b e c o m i n ga p o w e r f u lw e a p o n r yt ot h ec o p y r i g h t sp r o t e c t i o no fe m b e d d e ds o f t w a r e t h i st e c h n o l o g yi s b e c o m i n gh o ts p o to f t h er e s e a r c h t h i sa r t i c l eg i v e sa l l s u m m a r i z i n gi n t r o d u c t i o nt os o f t w a r ew a t e r m a r k i n ga n di t s c o r r e l a t i v et e c h n o l o g y , e x p l a i n si t sd e f i n i t i o na n dc l a s s i f i c a t i o n ;t w ok i n d so ft h et e c h n o l o g yi s e m p h a s i z e d :d y n a m i cd a t as t r u c t u r es o f t w a r ew a t e r m a r k i n ga n dd y n a m i ce x e c u t i o np a t hs o f t w a r e w a t e r m a r k i n g , ad e t a i l e de x p l a n a t i o na b o u tt h e i ra l g o r i t h m s ,d a t as t r u c t u r ea n ds o m ec o r r e l a t i v e t e c h n o l o g y ;a n dt h r e es o f t w a r ew a t e r m a r k i n gb a s e dc o p y r i g h t sp r o t e c t i o ns y s t e mo ft h ei n d u s t r y h a v eb e e ng i v e n p a r t i c u l a r i n t r o d u c t i o n s t h i sa r t i c l ea l s o a n a l y z e s e m b e d d e ds y s t e m e n v i r o n m e n t sb o t hf r o ms o f t w a r ea n dh a r d w a r e , ak i n do f b r a n c h - b a s e dd y n a m i ce x e c u t i o np a t h s o f t w a r ew a t e r m a r k i n gw i t he x c e l l e n tr o b u s t n e s si si n t r o d u c e d , a n df i g u r e so u ta ne m b e d d e d s y s t e ms o f t w a r ew a t e r m a r k i n gs c h e m ew h i c hb a s e do ni t , s o m et a m p e r - p r o o f i n gt e c h n i q u e sh a v e b e e np r o p o s e dt ot h es c h e m e a f t e ra n a l y s i si n i m p l e m e n t a t i o nf o r m so fh a r d w a r e - f o r m e d r e c o g n i z e ra n dc o m p a r e so np e r f o r m a n c eo ft h e s ef o r m s ,b u s - b a s e dm o d u l eh a sb e e nc h o s e n , m a k i n gi tp o s s i b l ef o rt h es c h e m et ol o a dm o d u l e sf o ri n t e g r i t ya n df i n g e r p r i n tg e n e r a t i o n a c c o r d i n g t o s p e c i f i cw a t e r m a r ks c h e m e sb yi t si n t e r f a c e av l s li m p l e m e n t a t i o no f h a r d w a r e - f o r m e dr e c o g n i z e ri sm a d e b yi m p r o v i n ga l g o r i t h m si nr e f e r e n c e 口7 1 ,t h er e c o g n i z e rc a n h a v ea l la r t i f i c i a lr e c o n g n i t i o na l g o r i t h mi nf b ff u n c t i o n f i n n a l l y , as i m u l a t i o nh a sb e e nr u nd u e t os u p p o r t e di n s t r c t i o ns e t ,a n dl o g i cc o m p i l a t i o ni sd o n e a n a l y s e so fp e r f o r m a n c er a n g i n gf r o m e x e c u t i o nt i m e ,e f f i c i e n c y , c o d es i z et oa n t i a t t a c ka b i l i t ya ”g i v e n k e yw o r d s : s o f t w a r ew a t e r m a r k i n g ;e m b e d d e ds y s t e m ;t a m p e r - p r o o f i n g ;d y n a m i ce x e c u t ep a t hs o f t w a r e w a t e r m a r k i n g ;v l s ii m p l e m e n t a t i o n 浙江大学硕士学位论文 图表 图2 1s w i t c h 选择语句编码1 2 图2 2p p c t 结构图( 叶子数目为5 ) 1 5 图2 3p p c t 树结构的枚举一1 6 图2 4 水印图的p y t h o n 语言实现例子1 7 图2 5 一个简单的基于执行路径水印( 嵌入水印信息0 1 0 1 0 1 1 0 ) 1 8 图2 6 路径b i b 2 b 1 8 2 示例一1 9 图2 7 利用中国剩余定理切割水印信息 图2 , 8 基于循环的水印代码插入2 1 图2 9 基于简单条件测试的水印代码插入2 2 图3 1 嵌入式图像采集系统 图3 2 一个典型嵌入式操作系统架构3 2 3 3 图3 3 替换代码中的u b s 为f b f 图3 , 4 嵌入式系统软件水印识别器整体架构图3 5 图4 1 程序函数关系图 图4 , 2 应用框图 图4 3 将硬件形式水印识别器嵌入处理器的流水级 图4 4 添加硬件形式识别器的车载m p 3 播放系统 3 7 3 8 图4 5 模块w m r 与模块i n t e 接口4 3 图4 , 6 模块w m r 与模块g 接1 :3 。 图4 7w m r 模块硬件结构图。 图5 1 测试基准框图4 6 图5 2 部分仿真波形图4 8 图5 3 随机测试程序形式5 l 图5 4 嵌入水印的测试程序形式5 1 表2 1 软件水印的特性要求 表4 1 指令集3 9 表4 2 寄存器3 9 表4 3 硬件形式识别器实现方式比较4 2 表5 1 测试指令序列4 6 表5 2 水印对执行时间效率的影响5 2 表5 - 3 水印对代码空间的影响5 2 表5 4 加攻击后的测试指令序列5 3 表5 5 实验程序分支数统计 表5 6 形变变换攻击后的测试指令序列5 4 浙江大学硕士学位论文 1 1 前言 第1 章引言 信息科学与技术在人类的生活中扮演了越来越重要的角色。信息科学与技术 的发展促进信息产业的发展,大大地提高了生产效率,同时也大大地改变了人们 的生活方式。而信息技术的一种现代网络技术的飞速发展,改变了人类获取 信息的模式,新的科学发现和技术发明能够通过网络迅速传播到世界上的许多地 方,公众能够以前所未有的深度和广度接受从前难以企及的教育,参与现代社会 中的科学技术活动。他们能够享受现代科学技术的成果,也能够在现代科学技术 领域做出自己的发现和发明。随着网络技术的快速发展,信息安全问题就变得亟 待解决,并受到了人们的关注。信息安全是一个交叉学科领域,综合了人类科学 技术中的多门学科及分支,涉及到数学、计算机科学、密码学、人工智能等学科 领域的研究,是近几年发展迅速的一个热点研究领域。信息安全技术有建立网络 防火墙、计算机病毒防治、抵御恶意攻击以及保护软件知识产权等方面的应用。 网络技术的迅速发展使得软件产品版权保护难度增大,如何通过技术手段有效地 保护软件版权,特别是嵌入式系统软件的版权,已经成为人们研究的热点。 1 2 研究背景 网络技术的迅速发展使数字产品的传播范围和传播速度大为提高,这为数字 产品的传播带来了巨大的便利,但同时也给软件的版权保护问题带来了巨大的隐 患。对软件产品而言,盗版使用、逆向工程、恶意篡改己构成对软件产业的巨大 威胁,因此而造成的经济损失不可忽视。商业软件联盟发布的一份最新调查结果 显示“) ,2 0 0 5 年全球软件业因盗版而遭受的损失高达3 4 0 亿美元,比2 0 0 4 年增 加1 6 亿美元。法律手段可以用于遏制盗版行为,世界各国都制定了相应的软件 保护法,美国于1 9 8 0 年首先明文规定用著作权保护软件,我国于2 0 0 2 年颁布了 新的计算机软件保护条例,开始以立法的手段对软件实施保护。1 。条例规定 禁止除了制作替代副本之外对程序的任何复制和未经许可的任何使用。虽然法律 可以在一定程度上遏制了软件盗版的蔓延趋势,但是应该结合技术的手段使软件 产品不可被非法复制、使用和修改。 对软件产品而言,盗版使用、逆向工程、恶意篡改己构成对软件产业的 巨大威胁。保护软件产品版权的技术手段主要有注册码数据库及软件加密“、迷 乱技术、防篡改技术以及软件水印技术。目前软件版权保护方面的技术主要通过 浙江大学硕士学位论文 软件加密的方式进行,许多共享软件使用序列号的方式来达到区别付费用户的目 的,而大量游戏和商用软件采用软件狗,y b o x ,s o f t s e n t r y ,s e c u r o m 和s a f e d i s c 等”1 更加安全可靠的商用软件加密系统。真正实用的系统应该综合使用这些技 术。a r i z o n a 大学的c o l l b e r g 和t o w n s e n d 实现”1 的s a n d m a r k 系统中除了采用软 件水印技术外,就还结合使用了迷乱、防篡改等技术。 1 2 1 软件加密技术 软件水印技术出现之前,软件加密技术“”是软件保护的主要手段。在d o s 时 代,主要是依靠发行d e m o 版本的软件或者加入磁盘防拷贝来保护软件版权。进 入w i n d o w s 9 5 时代1 ,从d o s 到w i n d o w s 的转变太大,包括软件加解密技术。这 时候共享软件盛行起来,采用序列号保护的软件逐渐增加,加密算法和保护质量 也大大加强,各种成熟的密码算法也大量地被应用到软件加密技术中。加密是通 过隐藏信息的内容保护机密信息的。采用传统密码学理论开发出来的加密系统通 过加密算法将明文转换成密文,使得非法拦截者难以在传播过程中获取机密信息 而达到软件保护的目的。随着对加密技术认识的不断深入,加密技术存在的安全 隐患也表现出来: ( 1 ) 一般情况下加密算法是公开的,安全性主要通过增加密钥长度来获得。 但随着硬件技术的迅速发展和基于网络的并行计算能力的提高,对加密算法的安 全性带来很大威胁: ( 2 ) 经典的加密技术将有意义的明文转换为密文,因语义不明确反而会引 起信道监控者的好奇和注意,从而导致根本上的不安全。当攻击者无法破译机密 信息时,也许会彻底破坏密文而使合法接收者也无法获取机密信息: ( 3 ) 即使盗版发生也难以证明软件所有者的版权,更无法追踪盗版者。 在此背景下,通过隐藏信息的存在而保护信息的隐藏技术引起学界的广泛关 注,而软件水印技术作为信息隐藏技术的一个分支用于软件产品的知识产权保 护。美国在软件水印方面己经申请了4 项专利,目前,国内外详细而全面地介绍 软件水印的论文鲜见,这与多媒体水印的研究热潮形成了鲜明的对比。 1 2 2 迷乱技术 软件迷乱技术“2 是对程序中的数据、代码或控制流等实施保持语义的变换, 得到与原程序功能等价、形式更为复杂的程序。迷乱技术既可作为水印攻击手段 又可作为软件保护手段:在无法准确定位水印的情况下,攻击者可对整个程序实 施保持语义的迷乱变换攻击,达到篡改或移去水印的目的:而软件所有者可利用 该技术增加攻击者实施逆向工程以盗用关键模块的难度。同时,利用迷乱变换也 2 浙江大学硕士学位论文 可嵌入动态执行轨迹水印。这里讨论迷乱变换是角度是将其作为抵抗逆向工程攻 击的技术手段。代码迷乱技术最初主要是用来保护软件产品的不正当再处理,它 能被用来在可执行文件中存储额外的信息。这种技术试图把一个程序变换成一个 功能等价的程序,而后者相对更难以阅读和理解,对其进行逆向工程也就更困难。 在技术的角度上说,代码迷乱技术和代码优化技术( c o d eo p t i m i z a t i o n ) 的基本 原理相似,只是二者的应用方向相反,代码优化是使程序的结构更加合理,执行 效率和阅读性更高。被代码迷乱技术处理过的程序代码执行结果与被处理前一 样。只是被处理后的程序代码变得无规则,难以进行逆向工程,即使程序被成功 反编译,也更难以分析和理解。 代码迷乱技术可以结合软件水印技术有效地抵御合谋攻击。在不同的产品拷 贝中嵌入不同的指纹信息,然后对每份拷贝进行全面的代码迷乱,这使通过合谋 比较各拷贝中的不同之处来发现水印和指纹信息变的毫无意义。 1 2 3 防篡改技术 篡改者通过对软件本身的恶意修改来达到改变其性质的目的,对软件的篡改 “”通常有以下情况: ( 1 ) 软件代码中的敏感信息被修改,或是保护该敏感信息的代码被篡改或 破坏; ( 2 ) 对软件功能的修改、增加; ( 3 ) 病毒程序附着或破坏; ( 4 ) 网络传输过程中造成的数据错误等等。 防篡改技术就是为了尽力阻止以上情况的发生而出现的。在软件水印技术 中,软件防篡改技术用于防止软件的修改或水印的移去。如果攻击者试图通过篡 改软件而使水印失去作用时,防篡改技术应能够及时感知并立即终止程序的运 行,制止篡改行为的发生。 1 2 4 软件水印技术介绍 数字水印”1 就是通过在原始数据中嵌入秘密信息( 即水印) ,这些秘密信息通 常是一段文字、标识、序列号等,以此证实对该数据的所有权。好的水印与原始 数据媒体( 如图像、音频、视频、软件程序等) 紧密结合并隐藏其中,成为这些媒 体不可分离的一部分。第一种数字水印“1 作为一种图像版权保护技术于1 9 9 0 年 问世。流行的图像处理软件p h o t o s h o p 、p h o t o p a i n t 等都提供了直观的为图像 增加水印的方法。软件水印则是一个更加新型的技术,它是密码学、图论、软件 工程、计算机算法等学科的交叉领域,目前主要是新西兰的a u c k l a n d 大学,美 浙江大学硕士学位论文 国的a r i z o n a 大学在做这方面的研究。 所谓软件水印,就是嵌入一个结构( 通常是版权信息和用户身份信息等) 于程序p 中,具有以下性质: ( 1 ) w 能从p 中可靠地被查找和抽取,即嵌入对解水印攻击是可恢复的; ( 2 ) w 足够大,即嵌入有较高的数据率; ( 3 ) 将嵌入p 不会影响p 的功能: ( 4 ) 将嵌入p 不会改变p 的任何静态特性,即嵌入是隐秘的; ( 5 ) w 有一种数字特性,用此我们可以证明在p 中的存在是人为的结果。 软件保护技术受到国际普遍的关注,并得到了商业利益驱动,其各方面的研 究也逐渐深入。在这样的环境下,一种新的软件版权保护技术软件水印技术 诞生了。软件水印技术逐渐引起了人们的注意,也在一定的程度上得到了业界的 认可。它是一种新型的软件版权保护技术,可以植入“1 版权水印( a u t h o r s h i p m a r k ) 、验证水印( v a l i d a t i o nm a r k ) 、使用许可水印( l i c e n s i n gm a r k ) 、指纹 水印( f i n g e r p r i n t i n gm a r k ) ,以证明软件的作者、发布者、使用者以及所有者, 甚至可以追踪盗版者。传统软件加密方式被攻破之后,软件的程序段、算法等信 息就完全被攻击者知晓,这时秘密嵌入的软件水印信息就能成为作者版权的有力 证明。 1 2 5 嵌入式系统与软件水印技术 嵌入式系统在人类活动的方方面面得到了广泛的应用。嵌入式系统是指操作 系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系 统的硬件一体化,类似于b i o s 的工作方式。具有软件代码小,高度自动化,响 应速度快等特点。特别适合于要求实时的和多任务的体系。它在制造工业、过程 控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等 方面都有广泛的应用。嵌入式系统软件的版权问题也逐渐受到人们的关注,采用 软件水印这样一种新型的手段,可以为嵌入式软件提供版权保护和防篡改的有效 手段。 由于技术的发展,特别是v l s i 设计和制造技术日新月异,嵌入式系统的硬 件规模也日趋庞大,促使嵌入式软件产业发展迅猛,已成为软件体系的重要组成 部分。嵌入式系统产品正不断渗透各个行业,嵌入式软件作为包含在这些硬件产 品中的特殊软件形态,其产业增幅不断加大,而且在整个软件产业的比重日趋提 高。资料显示“,2 0 0 3 年中国嵌入式软件市场规模达到1 9 0 亿元人民币,2 0 0 5 年则为3 0 8 5 亿元,预计到2 0 0 6 年,嵌入式软件市场规模将达到4 3 2 5 亿元。 赛迪顾问预测,从2 0 0 6 年至2 0 1 0 年,中国嵌入式软件产业规模仍将保持快速 4 浙江大学硕士学位论文 增长态势,年均复合增长率为2 5 8 ,到2 0 1 0 年将达到3 3 3 9 6 亿元的规模。 随着硬件技术的不断革新,硬件平台的处理能力不断增强,硬件成本不断下降, 嵌入式软件已成为产品的数字化改造、智能化增值的关键性、带动性技术。嵌入 式软件的版权问题也逐渐成为关注的焦点,而将新型的软件版权保护技术软 件水印技术应用于嵌入式系统中,可以为嵌入式软件版权保护提供有力武器。 1 3 研究目的和意义 现有对软件水印的研究大都倾向于目标代码为j a v a 等具有平台无关性的软 件水印技术,而且现有解决方案几乎都采用纯软件实现。业界初具规模的软件水 印系统大多是针对动态图软件水印的实现系统,分别是由a r i z o n a 大学的 c o l l b e r g 和t o w n s e n d 实现”1 的s a n d m a r k 系统,p u r d u e 大学的p a l s b e r g 实现”1 的j a v a w i z 系统和w i s c o n s i n m a d i s o n 大学的研究人员实现”1 的u w s t e g o 系统。 其中s a n d m a r k 是比较成熟的系统,而j a v a w i z 则是一个实验系统,没有结合其 他保护技术,几乎没有任何实用价值。针对动态执行路径或者其他软件水印技术 的实现系统也鲜有见闻。大多数软件水印方面的算法和构思都只是停留在理论的 阶段,如何能够把软件水印技术做出实现,并结合其他软件版权保护技术,形成 一套有实用价值的版权保护系统,成为了软件水印技术研究中需要解决的问题。 嵌入式平台上的应用软件多少都具有平台相关的特性,因此研究专门针对嵌 入式平台的软件水印方案就成为了该领域的迫切需要,同时也可以利用这些特性 用以增强软件水印的抗攻击能力。例如可以结合嵌入式平台的以下特点来设计一 套完整的解决方案: ( 1 ) 指令集“”: 嵌入式系统的指令集与系统的体系结构密切相关,如果采用冯诺依曼 系统结构的指令集,利于将程序视为数据进行处理,方便水印程序的添 加。另外,某些基于指令统计分布的软件水印方案“”将水印信号分散在 整个代码的指令统计分布上,依赖于对程序指令集中不相交的基数相等 的子集的选取。 ( 2 ) 程序指针( p c ) 、堆栈指针( s p ) 、指令字( 册等; 利用嵌入式c p u 引出的程序指针敝堆栈指针5 尸以及指令字伊等信号, 可以在嵌入式平台上对指令进行计数、存取堆栈、取指令字等操作,这 些是实现水印系统关键数据来源。例如,某些机器的程序返回地址是放 置在堆栈中的,而某些软件水印方案需要对程序的返回地址及指令进行 操作。 ( 3 ) 系统工作方式等。 浙江大学硕士学位论文 可以利用系统中的总线来完善水印方案的功能或者使方案更加容易实 现,例如可以将水印模块v i s i 实现后挂载在总线上,并为其增加d m a 访问能力,完全变为c p u 总线中的一个i 0 设备。 基于嵌入式平台可扩展的特点,用硬件实现某种特定水印技术中全部或者部 分功能,可以方便水印信息的生成和识别、提高生成或者识别的速度以及防止软 件或者至少具有该部分水印功能的程序被篡改。 1 4 设计内容和目标 本课题主要研究内容是嵌入式系统中的软件水印方案,采用一种基于分支的 软件水印技术为基础,利用嵌入式系统的体系结构特点,结合防篡改技术实现了 该方案。 本文全面介绍了目前的软件版权保护技术,特别是软件水印技术,详细介绍 了当代软件水印系统,重点解释了基于分支软件水印技术的基本概念、研究现状 及相关算法。在充分研究软件水印相关技术的基础上,针对一种基于分支的软件 水印技术进行了详细的研究,将其应用于嵌入式系统时,分析了实现形式的选取, 改进了该技术中识别指纹分支函数的算法,使该技术更适合运用于嵌入式系统和 v l s i 实现,并结合硬件防篡改等技术对方案进行分析设计,对实现做了仿真和 s m l cl o g i c 1 8 u m 的综合,进行了性能测试,分析了方案对代码的执行时间、 执行效率、代码大小的影响,以及方案的抗攻击能力,最后对上述工作做了全局 回顾和展望。 1 5 论文组织结构 全文总体上分为五个部分: ( 1 ) 第一部分结合国内外研究的现状和发展趋势,全面介绍了本课题的 研究背景、意义以及设计目标; ( 2 ) 第二部分全面而详细的阐释了软件水印技术的概念、分类、研究现 状以及针对软件水印的攻击技术。给出了现有软件实现的水印系统 的分析和说明。详细解释了基于分支软件水印技术的基本概念、研 究现状及相关算法; ( 3 )第三部分分析基于分支软件水印技术在嵌入式系统中的应用、该技 术v l s l 实现的设想、对所需对算法的改进以及方案中结合使用的 其他技术: 6 浙江大学硕士学位论文 ( 4 )第四部分完成对方案的结构设计,对其中一些结构的候选方案做了 比较,提出了一些改进方案: ( 5 )第五部分是仿真、综合和性能、抗攻击测试结果。最后对本论文所 做的工作进行了总结和展望。 7 浙江大学硕士学位论文 第2 章当代软件水印技术 软件水印技术是新型的软件版权保护技术,国内外对该技术的研究处于起步 阶段。本章对软件水印技术的作了比较全面的介绍。 2 1 软件水印概念、定义和分类 数字水印就是被永久嵌入在其他数据媒体( 可以是图像、音频、视频、软件 等) 中具有可鉴别性的数字信号或模式,而且不影响宿主数据的可用性。通常不 易于察觉,用途也有多种,例如作为标签或者版权保护标识。软件水印是数字 水印的一种,就是把程序的版权信息、来源信息、用户身份信息。1 等嵌入到程序 中,来标识程序的所有者、发布者、拥有者和使用者。 数字水印是信息隐藏技术的一个重要的分支。它可为网络上传输的多媒体数 据版权保护等问题提供一种潜在的解决方法。在绝大多数情况下,希望添加的水 印信息是不易察觉的或不可见的,但在某些特定场合,版权保护标志是可见的, 作为一个显式的版权声明,并且寄希望于攻击者在不破坏数据本身质量的情况下 无法将水印去掉。目前国际学术界研究地比较多的是针对图像、音视频的数字水 印,在软件产品中通过数字水印保护版权的技术也成为人们关注的内容“”。 为了使软件水印的定义更加精确,下面给出了关于软件水印技术的形式化定 义: 定义2 1 ( 软件水印) :设p 为一个程序集合,将水印w 、加入p p 的过程 叫做水印的嵌入;嵌入水印后的程序为n ,叫做水印程序,这时p 为水印的 宿主程序;将水印从水印程序p 。中取出的过程叫做水印的提取。 定义2 2 ( 程序) :定义d o r a ( p ) 为程序p 接受的输入序列,o u t 仍为程序尸 输入j 后的输出,定义s 以矽为程序p 在输入为,后的内部状态,令i s ( p ,j ) i 为 这一状态的尺度。 定义2 3 ( 程序变换) :变换t 是将一个程序从种形式变化到另一种形式 的变换集合,包括保持语义的变换兀。c t ,保持内部状态的变换c t ,以及 裁减变换l ,c t 。其中: z = t :t i p p ,d o m ( p ) ,d o m ( p ) = d o m ( t ( p ) ) ,o u t ( p ,) = o u t ( t ( p ) ,) = t :t l p p ,d o m ( p ) ,d o m ( p ) = d o m ( t ( p ) ) ,s ( p ,j ) = s ( f ( p ) ,j ) z 0 中= ,:丁i j p p ,3 1 d o m ( p ) ,1 芒d o m ( t ( p ) ) v o u t ( p ,) o u t ( t ( p ) ,) ) 定义2 - 4 ( 水印识别) :程序中软件水印w w 的识别,如果存在在一个识 8 浙江大学硕士学位论文 别器:r r :( p x s ) 寸矿和一个输入厶满足 v t t :p ( 月r ( ,( j p _ v ) ,s ( ,( 尸w ) ,) ) ) = p ( w ) 那么就认为,程序加p 中的软件水印w w 是可识别的。 根据定义2 4 可以区分一系列的识别器: ( 1 ) 月,( a ,s ( a ,聊是脆弱水印识别器,如果存在任何针对r 的变换, 它不保证对w 的识别。 ( 2 ) r ( r ,s ( a ,) ) 是健壮水印识别器,能经受任何语义保持变换。 ( 3 ) r r ( p ,s ( a ,) ) 是理想水印识别器,能经受任何变换。 ( 4 ) r r ( a ,妒) 是静态水印识别器,只能通过检查r 的程序代码来识别 水印,而不是检查r 的执行态。 ( 5 ) r r ( 妒,s ( ,聊是纯动态水印识别器,只能通过r 的执行状态识别 水印。 软件水印另外一个重要性能指标是它的鲁棒性( r o b u s t n e s s ) 1 4 ,鲁棒性又 分为三种:空间鲁棒性( s p a c er o b u s t n e s s ) 、尺度鲁棒性( s i z er o b u s t n e s s ) 和运行期鲁棒性( r u n t i m er o b u s t n e s s ) 三类。假设水印程序r 遭受了变换兀 有以下定义: 定义2 - 5 ( ,一空问鲁棒性) :当对水印程序r 进行动态分析时,如果存在一个识 别器肼和输入厶使得: v t t :( p ( r r ( t ( p w ) ,s ( ,( j p w ) ,) ) ) p ( w ) ) 则称r 中的水印w 具有y 一空间鲁棒性。 s ( p w ,i ) , 定义2 - 6 ( y 一尺度鲁棒性) :当水印程序r 遭受静态分析攻击,则称r 中的水 印w 具有,一尺度鲁棒性,如果存在一个水印识别器r r 和输入l 使得: v ,n ( p ( 肼( ,( a ) ,s ( ,( a ) ,) ) ) p ( ,) ) j 1 斜, 定义2 7 ( y - 运行期鲁棒性) :攻击者通过增加水印程序r 的运行时间来对水印 9 浙江大学硕士学位论文 w 进行攻击,如果存在一个水印识别器船和输入厶使得: v ,:( p ( 月r ( ,( p w ) ,s ( ,( p w ) ,) ) ) p ( w ) ) = ,j f c 如朋( 尸) 三;:;: 笔爰宝笋y 则称r 中的水印w 具有y 一运行期鲁棒性。 软件水印还有一些其他的性质“:可见性( v i s i b i l i t y ) 、保真性( f i d e l i t y ) 、 效率( e f f i c i e n c y ) 、开发时间损耗( d e v e l o p e rt i m ec o s t s ) 、嵌入提取时间 损耗( e m b e d d i n g r e c o g n i t i o nt i m ec o s t s ) 以及运行时间损耗( r u n t i m ec o s t s ) 等。 软件水印有多种分类标准。“1 。按照软件水印的功能“1 可以将其分为下面几 种: 版权水印( a u t h o r s h i pm a r k ) :这种水印隐藏于软件中,用以标识作者的身 份。它不但可以标识单一作者身份,也可以在一个有限的范围内标识多个拥有者。 验证水印( v a l i d a t i o nm a r k ) :用来验证软件的源代码、可执行文件、安装 文件和资源文件等信息仍然与作者发布时的一样,而没有经过篡改,通常用来验 证发布者的真实性。 许可水印( l i c e n s i n gm a r k ) :许可水印主要用于表明软件规定的使用方式, 以配合验证软件是否被盗用或误用,用来验证是否为合法的使用者。 指纹水印( f i n g e r p r i n t i n gm a r k ) :这种水印必须包含一个在一定范围内独 一无二的身份信息,通常用来标识拥有者( 客户) 的身份。 按照水印嵌入的时刻0 1 可以分为静态水印( s t a t i cw a t e r m a r k ) 和动态水印 ( d y n a m i cw a t e r m a r k ) 。静态水印的存在不依赖于软件的运行状态,嵌入时完全 将程序视为数据媒体。这种水印在软件编制时或编制完成后被直接加入到软件程 序中。只要对软件本身有足够的认识,就可以最终识别出该水印信息。根据水印 存放位置的不同,又可以把静态软件水印进一步分为静态代码水印( s t a t i cc o d e w a t e r m a r k ) 和静态数据水印( s t a t i cd a t aw a t e r m a r k ) 。与静态水印不同的是, 动态水印的识别依赖于软件的输入和运行状态,通常是在一类特殊的输入下才会 产生水印信息,其验证也必须在特定情况下完成。动态软件水印可分为三 类:e a s t e re g g 、动态执行路径水印( d y n a m i ce x e c u t i o np a t hw a t e r m a r k ) 和动 态数据结构水印( d y n a m i cd a t as t r u c t u r ew a t e r m a r k ) ,动态数据结构水印又称 为动态图水印( d y n a m i cg r a p hw a t e r m a r k ) 。 针对不同的应用,上述各种水印在鲁棒性和可见性方面也有不同的要求。按 照功能分类的软件水印的特性要求见表2 1 。 表2 1 软件水印的特性要求 l 水印类型( 按功能分类) l 鲁棒性要求 | 可见性要求 l l o 浙江大学硕士学位论文 版权水印强不可见 验证水印脆弱可见 许可水印脆弱不可见 指纹水印强不可见 2 2 静态水印技术 静态软件水印将水印信息隐藏在可执行程序代码中。比较典型的是把水印信 息放在安装模块部分,或者是指令代码中。对于j a v a 程序的水印,也可以将水 印信息隐藏在类文件的常量池表、方法表、行号表等任何部分中。上节提到静态 水印又可以分为静态代码水印和静态数据水印。 2 2 1 静态代码水印 静态代码水印的嵌入原理和多媒体数字水印的嵌入原理相似,一般是加载在 目标代码的冗余信息当中。通过调整目标代码的排列、编码、循环方式等手段, 可以对目标代码嵌入水印信息,此时嵌入的信息即为静态代码水印。在微软公司 的p e ( p o r t a b l ee x e c u t a b l e ) 文件格式中“”,从其文件结构可以看出其中有许 多的冗余空间和结构。因此可以用这些冗余空间和冗余结构来嵌入静态代码水 印,这些嵌入在p e 文件中的信息并不影响p e 文件的加载和运行。对于大多数的 p e 文件来说,嵌入水印信息的p e 文件同未嵌入信息的p e 文件在外观和行为上 完全一致,可大大地减小被攻击的可能性,从而保证嵌入水印信息的安全。 利用两条不相关语句的顺序可以嵌入1 位的信息。类似的有很多方法可以在 目标代码的冗余信息中嵌入一定的水印信息。例如,通过对含有n 个分支的 s w i t c h 选择语句进行重排列,就可以将l o g2 ( n ! ) * l o g :( 2 x 丽( n e ) = o ( n l o g n ) 位 的水印信息嵌入到目标代码中。d a v i d s o n “”描述了一种类似的静态代码水印,它 在程序的控制流图的一些基本模块中对软件的序列号进行编码。m o s k o w i t z “” 提出了一种具有防篡改功能的水印算法,通过使用多种成熟的数字媒体水印( 图 像水印、音频水印等) ,它把软件水印信息隐藏在代码的资源( 图片、音视频等) 中,这样信息就是存在于代码的静态数据区域了。图2 1 是一个s w i t c h 选择语 句编码的例子。 浙江大学硕士学位论文 枷e f i n ew m v m d m a r e ( m ra r g o ,c h a r a r g v l d i mw i r f w m f f a r g v l 3 l = w m ) s w j t , j w m ) c a 蛾 b n 麓k c a s k b r c j d 【 c a g 乇 b r e a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客服礼仪考试题及答案
- 考试题及答案语文
- 会展设计师成本控制考核试卷及答案
- 无人机测绘操控员三级安全教育(车间级)考核试卷及答案
- 电器接插件制造工适应性考核试卷及答案
- 今日会计考试题及答案
- 形象设计师技能比武考核试卷及答案
- 横机工基础考核试卷及答案
- 球团焙烧工新员工考核试卷及答案
- 电解槽操作工设备维护与保养考核试卷及答案
- 过程装备与控制工程专业导论
- 2022版义务教育数学新课程标准新课标重点知识整理
- 第26届北京市高中力学竞赛决赛试题
- 中成药合理应用专家讲座
- 清梳联设备及工艺流程
- 手性新药的注册要求
- 图形创意设计的课件完整版
- SH/T 0660-1998气相防锈油试验方法
- GB/T 4956-2003磁性基体上非磁性覆盖层覆盖层厚度测量磁性法
- 第三、四章-证据的分级、来源与检索课件
- 《计算机系统结构(第二版)》配套教学课件
评论
0/150
提交评论