如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第五章5.1基于网络层协议的信息隐藏【实验目的】【实验环境】【原理简介】多媒体数据中存在大量的信息冗余,网络协议数据包中的冗余显然要少许多;多媒体有着复杂的数据结构,任取其中的一个数据(像素、视频帧等)进行数值改写,几乎不会对它的感官效果产生影响,而网络协议的数据包中的各个首部字段都是最简单的“01”比特串,对首部字段取值的改写不但彻底改变了数据包的类型,而且有可能使得这个数据包由于畸形而被丢弃。网络协议信息隐藏(协议隐写)是一种利用数据包作为掩护载体,将秘密信息隐匿在网络协议的数据包之中的信息隐藏技术,它可以通过网络协议数据包中的保留、可选、未定义等字段和数据包的顺序、数量、到达时间、特定时间流量以及其它可被利用的特征,在网络中不同的主机之间建立隐蔽通信。【实验步骤】1.算法描述2.数据结构3.算法实现【实验结果】【思考题】5.2基于传输层协议的信息隐藏【实验目的】【实验环境】【原理简介】【实验步骤】【实验结果】TCP隐写的提取程序【思考题】5.3基于应用层协议的信息隐藏【实验目的】【实验环境】【原理简介】HTTP概述协议机制分析HTTP报文构造试验第一行是HTTP请求报文的请求行,指明了该请求采用的是GET方法,后续的行是首部行,分别指明了客户端浏览器接受的媒体类型、语言、编码方式和浏览器版本、远端主机、连接选项。上述每个字段都有明确的用途,似乎不存在冗余。②向服务器发送自定义HTTP请求在得到标准GET请求的数据内容后,开始以此内容为基础模拟IE向Web服务器发送请求报文,报文构造试验的原理如图所示。利用自编CovertHTTP_Sender产生与IE的标准请求一样的HTTP报文,然后将报文中数据段的首部行不断减少,发现服务器的响应报文全部正常。经过数次试验,发现上述数据报文可简化到请求行,在只剩“GET/HTTP/1.1”的情况下仍可从服务器正常返回网页,实验效果如图所示。【实验步骤】1.算法描述下面以示例请求报文为例说明隐写过程,为方便显示,以[SP]表示Space,[HT]表示Tab(HorizontalTab),[CRLF]表示回车换行。大小写混排编码HTTP报文由普通ASCII文本书写,因此它只能表示英文字母、数字和简单标点符号,请求报文的请求行严格区分英文字母的大小写,但首部行对大小写的变化却不敏感。这种大小写无关意味着HTTP报文提供了近12.5%的空间隐藏秘密信息。例如:非默认首部字段值上文提到的HTTP请求报文仅用一句“GET/HTTP/1.1”就可替代,原因在于特定浏览器发送请求报文的报头域参数都有默认值,如果报文中没有此报头域,服务器端就会认为浏览器使用相应的默认选项。比如Windows2000下IE5.0的GET请求头数据中,Accept的默认值是“*/*”,而实际上该值还可以为“image/gif,text/html,application/vnd.ms-excel”等。例如:微调URI特殊符号URI即统一资源标识符(UniformResourceIdentifiers),它用于唯一地标识元素或属性的数字或名称,常用的URL就是一种特殊的URI。HTTP程序在实现时屏蔽了用户之间可能存在的差异,包括用户的错误输入、简化输入等。最明显的例子在“/”、默认端口和单双引号上,比如“http://bsalsa.com/”、“http://bsalsa.com:/”、“http://bsalsa.com:80”在HTTP中代表同样的含义。而在查询资源Cookie时报头域要用到的If-None-Match默认使用双引号来标识资源哈希值,如:If-None-Match:"0c41a86ad11c11:1aec"HTTP报头中还有几种标点符号——括号、冒号、逗号、分号和等于号,它们本身不具有冗余性,但它们对周围的空格变化不敏感。前四种在每一个首部行都中有使用,等于号在短时间内再次发送同样资源请求的HTTP报头中存在。举例如下:自定义消息报头域HTTP报文首部行常用字段接近20种,请求报文常用字段共9种。HTTP程序的多样化,使新版本客户端发送的HTTP报头经常出现服务器端无法识别的情况(如HTTP/1.1的请求报文发送到了只支持HTTP/1.0的服务器上),此时服务器会忽略这样的字段,只提供可识别字段所对应的服务,HTTP代理也会原样转发这样的字段。因此,可以通过自定义消息报头域来隐藏秘密信息,例如:二进制对象排序隐藏排序隐藏最早由KamranAhsan提出,它是在IPSec中的认证头(AH)和安全封装负载(ESP)中通过将带有不同序列号的数据包进行排序来编码隐藏信息,这种算法实际上是通过排序对某些不可再分的原子对象进行映射以实现隐写编码。该方法的优点是只通过原有的多个参数的不同排序来隐