基于数据包多层封装的隐秘通信方法

文档序号:7817177阅读:258来源:国知局
基于数据包多层封装的隐秘通信方法
【专利摘要】本发明公开了一种基于数据包多层封装的隐秘通信方法,利用本发明基于数据包多层封装的隐秘通信方法,通过分析TCP/IP协议族的冗余性,把隐藏信息化整为零隐藏在应用层HTTP、传输层TCP和网络层IP协议中,极大地增加了隐藏信道的可靠性和传输带宽。
【专利说明】基于数据包多层封装的隐秘通信方法

【技术领域】
[0001] 本发明涉及信息隐藏【技术领域】,特别是涉及一种基于数据包多层封装的隐秘通信 方法。

【背景技术】
[0002] 作为新兴的信息安全技术,信息隐藏近年来得到了迅速的发展。它将秘密信息隐 藏到公开的载体信息中,通过载体信息的发送将秘密信息发送出去而被对手察觉。信息隐 藏技术实施的隐藏通信,具有较好的安全性和隐蔽性,被应用于军事、商业保密通信等领 域。
[0003] 随着互联网的蓬勃发展,TCP/IP协议族报文,广泛存在于网络海量的数据包中,这 就给TCP/IP协议本身作为隐藏信息的载体提供了基础。而且由于报文结构的固定格式及 其冗余性,给隐藏信息嵌入创造了机会。现有的基于TCP/IP协议的隐信道主要分为存储型 隐信道和时序型隐信道两种。其中,存储型隐信道主要是基于某些协议头部的冗余字段隐 藏信息,是一种TCP/IP协议下比较成熟的隐藏信道技术。
[0004] 当前的TCP/IP协议存储型隐信道主要通过修改TCP/IP数据包首部内容实现传输 隐藏信息,例如Rowland提出了基于TCP/IP协议头部单个域的隐信道(Covert channels in the TCP/IP protocol suite,1996),C. Abad 提出了基于校验和域的隐信道(IP Checksum Covert Channels and Selected Hash Collision,2001)等等。这种方式会影 响隐藏字段域的统计特征,从而很容易被检测出隐信道,所以这种信道的隐蔽性受到了很 大的约束。同时,代理服务器等安全设备被局域网广泛使用,这更加要求隐信道寻求新的发 展。


【发明内容】

[0005] 本发明的目的是提出一种基于数据包多层封装的隐秘通信方法,该方法解决了现 有基于单层协议的隐信道可靠性和带宽不高的问题,可以使隐藏信息的通信具有更好的抗 检测性,同时在信息隐藏技术的应用及普及上有着广泛的市场前景。
[0006] 为解决上述技术问题,本发明采用的一个技术方案是: 提供一种基于数据包多层封装的隐秘通信方法,其步骤包括: (1) 分别在发送端和接收端上约定使用的加密方法,并设置通信时所使用的应用层 HTTP的隐藏方法以及传输层TCP和网络层IP的隐藏位置; (2) 在发送端的隐秘通信发送方法的步骤包括: (2. 1)发送方对原始密文Μ进行二进制编码并加密,得到密文信息Mk,并按照顺序将密 文信息Mk分片,生成密文序列(Mkl,Mk2, Mk3),Mkl、Mk2和Mk3即为隐藏信息; (2. 2)发送方在应用层伪造正常数据包、隐藏信息,即伪造 HTTP报文头部,将密文序列 中Mkl隐藏在HTTP首部中,然后封装成应用层数据包,向下层的传输层传输; (2. 3)传输层接收到应用层数据包时,将隐藏信息Mk2隐藏在TCP协议首部,然后将传 输层的所有数据封装成传输层数据包,并向下层的网络层传输; (2. 4)网络层接收到传输层数据包时,将隐藏信息Mk3隐藏在IP协议首部,然后将网络 层的所有数据封装成网络层数据包; (2. 5)用以太网帧对网络层数据包封装成正常数据包,将正常数据包经网络发送到接 收方; (3)在接收端的隐秘信息接收方法的步骤包括: (3. 1)接收方在指定端口监听,当接收到发送端发来的正常数据包后,获取去除以太网 的首部和尾部后的链路层数据包,并将链路层数据包提交给网络层; (3. 2)网络层接收到链路层数据包时,解析IP报文的首部信息,提取出隐藏信息Mk3,然 后获取去除IP首部的数据包包体,并提交给传输层; (3. 3)当传输层接收到网络层提交的数据包时,解析TCP报文首部信息,提取出隐藏信 息Mk2,然后获取去除TCP首部的传输层数据包包体,并提交给应用层; (3. 4)当接收端的应用层接收到传输层提交的数据包时,解析HTTP报文首部信息,提 取出隐藏信息Mkl,并丢弃包体; (3. 5)重复循环步骤(2.1)- (2. 5)和(3.1)- (3. 4),直到接收端接收到全部的密文信 息Mk便完成传输; (3. 6)接收方根据发送方对隐藏信息Μ采用的加密方法,对密文信息Mk解密并解码,恢 复出原始的原始密文M。
[0007] 在本发明一个较佳实施例中,在应用层HTTP使用的隐藏方法包括空格法、大小写 编码法或自定义关键字法中的一种或多种。
[0008] 在本发明一个较佳实施例中,在传输层TCP和网络层IP协议中使用的隐藏位置包 括ISN字段、ACK字段、ID和校验和字段中的一种或多种。
[0009] 在本发明一个较佳实施例中,所述步骤(2)和步骤(3)中的隐藏信息提取方法与 发送方采用的隐藏信息的嵌入方法为相对应的可逆过程。
[0010] 本发明的有益效果是:通过分析TCP/IP协议族的冗余性,把隐藏信息化整为零隐 藏在应用层HTTP、传输层TCP和网络层IP协议中,极大地增加了隐藏信道的可靠性和传输 带宽。

【专利附图】

【附图说明】
[0011] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它 的附图,其中: 图1为TCP/IP分层结构及配套协议; 图2为数据包进入协议栈的多层封装流程; 图3为基于多层封装的隐藏通信流程图; 图4为基于数据包多层封装的信息隐藏实例结构图。

【具体实施方式】
[0012] 下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施 例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范 围。
[0013] 请参阅图1-4,本发明实施例包括: 一种基于数据包多层封装的隐秘通信方法,其步骤包括: (1) 分别在发送端和接收端上约定使用的加密方法,并设置通信时所使用的应用层 HTTP的隐藏方法以及传输层TCP和网络层IP的隐藏位置; (2) 在发送端的隐秘通信发送方法的步骤包括: (2. 1)发送方对原始密文Μ进行二进制编码并加密,得到密文信息Mk,并按照顺序将密 文信息Mk分片,生成密文序列(Mkl,Mk2, Mk3),Mkl、Mk2和Mk3即为隐藏信息; (2. 2)发送方在应用层伪造正常数据包、隐藏信息,即伪造 HTTP报文头部,将密文序列 中Mkl隐藏在HTTP首部中,然后封装成应用层数据包,向下层的传输层传输; (2. 3)传输层接收到应用层数据包时,将隐藏信息Mk2隐藏在TCP协议首部,然后将传 输层的所有数据封装成传输层数据包,并向下层的网络层传输; (2. 4)网络层接收到传输层数据包时,将隐藏信息Mk3隐藏在IP协议首部,然后将网络 层的所有数据封装成网络层数据包; (2. 5)用以太网帧对网络层数据包封装成正常数据包,将正常数据包经网络发送到接 收方; (3) 在接收端的隐秘信息接收方法的步骤包括: (3. 1)接收方在指定端口监听,当接收到发送端发来的正常数据包后,获取去除以太网 的首部和尾部后的链路层数据包,并将链路层数据包提交给网络层; (3. 2)网络层接收到链路层数据包时,解析IP报文的首部信息,提取出隐藏信息Mk3,然 后获取去除IP首部的数据包包体,并提交给传输层; (3. 3)当传输层接收到网络层提交的数据包时,解析TCP报文首部信息,提取出隐藏信 息Mk2,然后获取去除TCP首部的传输层数据包包体,并提交给应用层; (3. 4)当接收端的应用层接收到传输层提交的数据包时,解析HTTP报文首部信息,提 取出隐藏信息Mkl,并丢弃包体; (3. 5)重复循环步骤(2.1)- (2. 5)和(3.1)- (3. 4),直到接收端接收到全部的密文信 息Mk便完成传输; (3. 6)接收方根据发送方对隐藏信息Μ采用的加密方法,对密文信息Mk解密并解码,恢 复出原始的原始密文M。
[0014] 在应用层HTTP使用的隐藏方法包括空格法、大小写编码法或自定义关键字法中 的一种或多种。
[0015] 在传输层TCP和网络层IP协议中使用的隐藏位置包括ISN字段、ACK字段、ID和 校验和字段中的一种或多种。
[0016] 所述步骤(2)和步骤(3)中的隐藏信息提取方法与发送方采用的隐藏信息的嵌入 方法为相对应的可逆过程。
[0017] 具体实施例: 发送方Alice : 步骤1 :发送方Alice和接收方Bob约定使用应用层HTTP connection大小写编码法、 TCP初始序列号低16位字段和IP ID低8位字段作为隐藏位置;发送方对隐藏信息Μ进行 二进制编码并加密,得到密文信息Mk,然后将密文信息按8bit,16bit,8bit大小依次分片, 生成(M kl,Mk2,Mk3)序列。
[0018] 步骤2 :Alice在应用层伪造正常数据包,隐藏信息。伪造 HTTP报文头部,将密文 序列中Mkl隐藏在connection字段前8位中,1代表大写,0代表小写,封装数据包,向下层 传输; 步骤3 :传输层接收到应用层传递的数据包时,将隐藏信息Mk2隐藏在TCP协议初始序 列号低16位字段中,封装数据包,向下层传输; 步骤4 :网络层接收到传输层传递的数据包时,将隐藏信息Mk3隐藏在IP协议ID字 段低8位字段中,封装数据包。图4所示为采用此发明的信息隐藏实例结构,二进制信息 01101001隐藏在HTTP connection字段前8位大小写中,0011100100011000隐藏在TCP初 始序列号的低16位字段中,01100011隐藏在IP ID的低8位字段中。
[0019] 再加上以太网封装,这样含有Mkl+Mk2+Mk3* 32bit隐藏信息的正常数据包封装伪 造完成,经网络发送到Bob。
[0020] 接收方 Bob : 步骤1 :接收方Bob在指定端口监听,当接收到发送方Alice传递的数据包时,去除以 太网首部尾部,提交给网络层; 步骤2 :网络层接收到链路层提交的数据包时,解析IP报文首部信息,提取ID低8位 字段信息,得到隐藏信息Mk3,然后去除IP首部,提交给上层协议; 步骤3 :传输层接收到网络层提交的数据包时,解析TCP报文首部信息,提取初始序列 号低16位字段信息,得到隐藏信息Mk2,然后去除TCP首部,提交给应用层; 步骤4:应用层接收到传输层提交的数据包时,解析HTTP报文首部信息,分析 Connection字段得到隐藏信息Mkl,丢弃包体。这样,32bit隐藏信息从发送方传输到接收 方。重复循环,全部密文信息M k便可传输完成; 步骤5 :接收方根据约定的加密方法对接收到的密文信息Mk,解密并解码,恢复出原始 的隐藏信息Μ。
[0021] 此时,接收方成功接收了发送方传输的秘密文件,隐藏通信完成。
[0022] 在TCP/IP体系结构中,因为用户数据发送时要自上而下,经过TCP/IP协议族5 层协议的处理,层层封装,才被发送,并且应用程序用在应用层协议打包数据时,数据被送 入协议栈中,然后逐层添加封装信息进行封装,直到物理层转为一串比特流发送到网络中。 数据接收时自下而上,层层解码,去掉每层协议对应的首部信息,解码出用户数据。在此协 作通信过程中,基于数据包多层封装流程构建隐信道,即在TCP/IP体系结构中选定多层封 装协议构建隐信道,在每层协议中实现部分信息的隐藏,化整为零,从整体上建立一个可靠 的、高效的隐信道。
[0023] 通过多层封装协议过程中隐藏信息,建立起一条基于多层封装的隐藏信道。在发 送和接收隐藏数据时,网络环境对隐藏信息传输质量有一定的影响。基于实验网络的实际 情况,本实施例在网络丢包率小于10%的环境下进行。
[0024] 实施例测试实验采用了 4组不同类型的文件进行隐藏信息传输来测试本发明的 性能,在这里秘密文件分别是是普通文本、pdf、jpg和doc格式文件。由测试结果得出,在 实施例的条件下,隐信道的平均传输速率约为800 B/s,如表1所示,为该隐藏实例通信的 测试结果。
[0025] 表1实施例隐藏信息通信的测试结果

【权利要求】
1. 一种基于数据包多层封装的隐秘通信方法,其特征在于,步骤包括: (1) 分别在发送端和接收端上约定使用的加密方法,并设置通信时所使用的应用层 HTTP的隐藏方法以及传输层TCP和网络层IP的隐藏位置; (2) 在发送端的隐秘通信发送方法的步骤包括: (2. 1)发送方对原始密文Μ进行二进制编码并加密,得到密文信息Mk,并按照顺序将密 文信息Mk分片,生成密文序列(Mkl,Mk2, Mk3),Mkl、Mk2和Mk3即为隐藏信息; (2. 2)发送方在应用层伪造正常数据包、隐藏信息,即伪造 HTTP报文头部,将密文序列 中Mkl隐藏在HTTP首部中,然后封装成应用层数据包,向下层的传输层传输; (2. 3)传输层接收到应用层数据包时,将隐藏信息Mk2隐藏在TCP协议首部,然后将传 输层的所有数据封装成传输层数据包,并向下层的网络层传输; (2. 4)网络层接收到传输层数据包时,将隐藏信息Mk3隐藏在IP协议首部,然后将网络 层的所有数据封装成网络层数据包; (2. 5)用以太网帧对网络层数据包封装成正常数据包,将正常数据包经网络发送到接 收方; (3) 在接收端的隐秘信息接收方法的步骤包括: (3. 1)接收方在指定端口监听,当接收到发送端发来的正常数据包后,获取去除以太网 的首部和尾部后的链路层数据包,并将链路层数据包提交给网络层; (3. 2)网络层接收到链路层数据包时,解析IP报文的首部信息,提取出隐藏信息Mk3,然 后获取去除IP首部的数据包包体,并提交给传输层; (3. 3)当传输层接收到网络层提交的数据包时,解析TCP报文首部信息,提取出隐藏信 息Mk2,然后获取去除TCP首部的传输层数据包包体,并提交给应用层; (3. 4)当接收端的应用层接收到传输层提交的数据包时,解析HTTP报文首部信息,提 取出隐藏信息Mkl,并丢弃包体; (3. 5)重复循环步骤(2.1)- (2. 5)和(3.1)- (3. 4),直到接收端接收到全部的密文信 息Mk便完成传输; (3. 6)接收方根据发送方对隐藏信息Μ采用的加密方法,对密文信息Mk解密并解码,恢 复出原始的原始密文M。
2. 根据权利要求1所述的基于数据包多层封装的隐秘通信方法,其特征在于,在应用 层HTTP使用的隐藏方法包括空格法、大小写编码法或自定义关键字法中的一种或多种。
3. 根据权利要求1所述的基于数据包多层封装的隐秘通信方法,其特征在于,在传输 层TCP和网络层IP协议中使用的隐藏位置包括ISN字段、ACK字段、ID和校验和字段中的 一种或多种。
4. 根据权利要求1所述的基于数据包多层封装的隐秘通信方法,其特征在于,所述步 骤(2)和步骤(3)中的隐藏信息提取方法与发送方采用的隐藏信息的嵌入方法为相对应的 可逆过程。
【文档编号】H04L29/06GK104283888SQ201410557039
【公开日】2015年1月14日 申请日期:2014年10月20日 优先权日:2014年10月20日
【发明者】黄刘生, 沈瑶, 陆潇榕, 杨威, 陈志立 申请人:中国科学技术大学苏州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1