分布式信息隐藏传输系统及其传输方法

文档序号:7552993阅读:198来源:国知局
专利名称:分布式信息隐藏传输系统及其传输方法
技术领域
本发明属于数据安全传输技术领域,具体涉及一种分布式信息隐藏传输系统及其传输方法。
背景技术
随着各国安全部门对信息传输安全性要求的提高,用于信息隐蔽传输的信息隐藏技术逐步成为了信息安全领域的研究热点。传统的信息隐藏技术一般作用于文本、图像等可靠性和完整性能够得到充分保障的静态媒体,但是随着检测技术的逐步提高,传统静态媒体下的信息隐藏技术发展日趋缓慢,因此,基于网络协议等动态媒体的信息隐藏技术已经成为了一个新的研究兴奋点。基于协议的信息隐藏主要分为延迟型信息隐藏和存储型信息隐藏。延迟型信息隐藏主要是利用网络协议数据包之间的发送间隔时间进行数据编码,而存储型信息隐藏主要是利用网络协议报文内容中有缺省值的字段或者留待扩展尚未使用的字段进行直接或间接的数据嵌入。延迟型信息隐藏方法兴起于二十世纪末期,曾一度被寄予厚望,但是多年的研究和摸索证明了它并不实用。由于网络抖动无处不在,发送方的延迟编码信息根本无法准确到达接收方,其编码传输的可靠性只能在单层次的本地网络中得到保障,跨越多层次复杂网络之后,会产生高得惊人的误码率。因此,在保证隐蔽传输可靠性的需求下,对于存储型信息隐藏技术的研究逐渐成为主流。随着电子商务、网页游戏和社交网络等新技术的快速发展和普及,在当代的网络流量中,HTTP (超文本传输协议)报文已经无处不在,因此,HTTP成为了信息隐藏研究者眼中天然的、良好的隐藏载体。现有的基于HTTP的存储型信息隐藏技术主要有添加头部、直接填充、头部参数排序、线性空格填充、关键字排序以及大小写编码。这些方法都利用了 HTTP报文内容的松散性和冗余性,利用RFC2616中松散的未严格确定的文本特征进行秘密信息的编码。针对这些隐藏方法,研究者们提出了基于协议的检测方法、基于应用数字签名的检测方法以及基于应用指纹的检测方法等多种模式判别和统计检测方法来对载密信息流进行检测,并且这些方法在所有的信息隐藏方法上都取得了非常好的检测效果。因此,在正向的隐藏方向上,基于HTTP的信息隐藏技术的发展已经逐步停滞,没有取得更进一步的进展。然而,随着分布式应用的发展和普及,现有的针对基于HTTP信息隐藏的检测方法的不足也逐步体现出来。现有的检测方法都是基于单流的检测,即针对一个TCP四元组的HTTP会话或者一对通信IP间HTTP会话的检测,所有的统计和识别过程都是在这个单一的会话流上,所以,采用多机器的分布式传输结构可以有效稀释现有基于HTTP的信息隐藏方法的隐藏特征,从而达到抗检测的目的。本发明因此而来。

发明内容
本发明提供了一种可靠的抗检测的基于HTTP的分布式存储型信息隐藏方法,在完成秘密信息隐蔽传输的同时,保证传输的绝对正确性,并且同时确保传输的抗检测性。通过本发明的技术方案,秘密信息的发送方可以在一个逻辑可靠的秘密信道上进行隐蔽传输,并且可以有效地抵抗现有各种检测方法的检测,达到安全隐蔽传输的目的。为了解决现有技术中的这些问题,本发明提供的技术方案是:一种分布式信息隐藏传输系统,包括作为发送方的发送控制主机和作为接收方的接收控制主机,其特征在于所述发送控制主机设置有编码器,数据分片器和发送选择器,并与2"个可发送HTTP请求的HTTP客户机网络连接,所述接收控制主机设置有数据拼接器和解码器,且与可接收HTTP请求的服务器连接,所述服务器与每个HTTP客户机均网络连接;所述编码器将秘密文件编码后通过数据分片器将编码文件分解成若干个秘密片段,并按照在秘密文件中的比特顺序被送往发送选择器;根据秘密片段的具体值,所述发送选择器选择相应的HTTP客户机向服务器发送一次HTTP请求;所述服务器接收HTTP客户机发送的HTTP请求,解析出秘密片段,向HTTP客户机进行正常的HTTP响应,并将解析出的秘密片段按序发送给接收控制主机;所述接收控制主机通过数据拼接器对秘密片段进行拼接,然后通过解码器进行解码,得到秘密文件;其中η为大于等于I的整数。优选的,所述发送方按照如下步骤将秘密文件传输给接收方:(I)发送控制主机通过编码器将秘密文件编码后,由数据分片器分解成若干个η比特的秘密片段,且秘密片段按照在秘密文件中的比特顺序被送往发送选择器;(2)发送选择器根据秘密片段的具体值,安排与其值相对应的客户机在HTTP请求报文中嵌入该秘密片段,并将嵌入秘密片段的HTTP请求报文发送给服务器;客户机在发送一个HTTP请求后,将等待服务器的反馈,当客户机收到服务器的相应响应后,将通知发送选择器发送下一个秘密片段;如此循环,直至服务器接收完所有嵌入秘密片段的HTTP请求报文;(3)服务器接收到客户机发来的HTTP请求后,将HTTP请求中的秘密片段解析出来,并按序发送给接收控制主机;同时,服务器按照HTTP协议规则正常响应每一个HTTP请求,(依此保证HTTP通信的完整性和合法性);(4)接收控制主机通过数据拼接器将若干个秘密片段按序拼接,通过解码器解码得到秘密文件。优选的,所述发送选择器维护一个队列存储由数据分片器发送过来的秘密片段,在与客户机交互确认前一个嵌入秘密片段的HTTP请求已经被服务器接收到后,再对下一个片段进行发送。优选的,所述客户机在HTTP报文中嵌入秘密片段的方法是报文头部格式变换法。在2n个客户机中,对于每一个客户机,令其发送带有某一固定格式的HTTP请求给服务器,此固定格式即表示某一固定的η比特片段;其中,客户机所带有的报文头部格式必须是唯一的,互不相同的,这样,2η个客户机就可以嵌入所有的2nfn比特片段。http报文头部的固定格式即表示某一固定的η比特片段;其中,客户机所带有的报文头部格式必须是唯一的,互不相同的,2η个客户机就可以嵌入所有的2nfn比特片段本发明的另一目的在于提供一种分布式信息隐藏传输方法,其特征在于所述方法中作为发送方的发送控制主机设置有编码器,数据分片器和发送选择器,并与2η个可发送HTTP请求的HTTP客户机网络连接,作为接收方的接收控制主机设置有数据拼接器和解码器,且与可接收HTTP请求的服务器连接,所述服务器与每个HTTP客户机均网络连接,其中η为大于等于I的整数;所述方法包括以下步骤:(I)发送控制主机通过编码器将秘密文件编码后,由数据分片器分解成若干个η比特的秘密片段,且秘密片段按照在秘密文件中的比特顺序被送往发送选择器;(2)发送选择器根据秘密片段的具体值,安排与其值相对应的客户机在HTTP请求报文中嵌入该秘密片段,并将嵌入秘密片段的HTTP请求报文发送给服务器;客户机在发送一个HTTP请求后,将等待服务器的反馈,当客户机收到服务器的相应响应后,将通知发送选择器发送下一个秘密片段;如此循环,直至服务器接收完所有嵌入秘密片段的HTTP请求报文;(3)服务器接收到客户机发来的HTTP请求后,将HTTP请求中的秘密片段解析出来,并按序发送给接收控制主机;同时,服务器按照HTTP协议规则正常响应每一个HTTP请求,保证HTTP通信的完整性和合法性;(4)接收控制主机通过数据拼接器将若干个秘密片段按序拼接,通过解码器解码得到秘密文件。优选的,所述方法中发送选择器维护一个队列存储由数据分片器发送过来的秘密片段,在与客户机交互确认前一个嵌入秘密片段的HTTP请求已经被服务器接收到后,再对下一个片段进行发送。优选的,所述方法步骤(2 )中客户机在HTTP报文中嵌入秘密片段的方法是报文头部格式变换法。在2n个客户机中,对于每一个客户机,令其发送带有某一固定格式的HTTP请求给服务器,此固定格式即表示某一固定的η比特片段。其中,客户机所带有的报文头部格式必须是唯一的,互不相同的。这样,2η个客户机就可以嵌入所有的2"个η比特片段。相对于现有技术中的方案,本发明的优点是:本发明技术方案可靠的分布式HTTP信息隐藏方法通过多机传送的分布式结构有效稀释了现有的报文头部格式变换信息隐藏方法的隐藏特征,从而能够有效抵御现有的针对HTTP信息隐藏的检测方法,达到安全隐蔽传输的目的。


下面结合附图及实施例对本发明作进一步描述:图1是本发明分布式信息隐藏传输系统的系统架构图;图2是本发明分布式信息隐藏传输方法的方法流程图。
具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。实施例本发明技术方案的需求是:发送方现有一份二进制秘密文件需要传送给一个可作为HTTP服务器的接收方,由于发送方被严格监控,所以任何显式的传输行为都会被禁止。作为日常使用的HTTP应用不会被封堵,但是HTTP会话会被检测以确定其是否含有可疑信息流。在此条件下,发送方通过一种可靠的分布式HTTP信息隐藏方法进行秘密文件的传输,从而达到安全隐蔽传输的目的。如图1所示,为本发明可靠的分布式信息隐藏系统的系统架构图。该系统整体上分为发送方和接收方。发送方由编码器,数据分片器和发送选择器和2n fHTTP客户机组成[C1, C2,…,C2n],其中编码器,数据分片器和发送选择器可以集成在发送控制主机上。接收方由服务器、数据拼接器和解码器组成,其中数据拼接器和解码器可以集成在接收控制主机上。发送方通过编码器对秘密文件编码,将编码后的文件分成t个长度均为η比特的片段,并通过发送选择器为每个片段选择合适的HTTP客户机进行发送。接收方通过服务器从HTTP请求中解析分散的信息片段,将这些片段经过有序拼接后再通过解码,从而得到秘密文件。在发送方的客户机上,本发明采用现有的基于HTTP的存储型信息隐藏方法进行信息嵌入。从现有的信息隐藏方法来看,能够通过分布式结构对信息隐藏特征进行稀释的主要是基于文本特征的报文头部格式变换隐藏方法,因此这里以其中的关键字排序算法为例进行说明。对于客户机Ci,我们令它发送固定的某一格式的HTTP请求用来代表第i个η比特片段匕此&㈦=^=]11)。例如:“00”是第I个2比特片段,“01”是第2个2比特片段,“10”是第3个2比特片段,“11”是第4个2比特片段。具体来说,在HTTP协议内容的众多关键字中选取g个,g和η满足关系式:g! ^ 2n。为此g个关键字建立一个偏序关系:^〈!^〈…〈扎。这个偏序关系在发送方和接收方上是严格固定的,共享的且一致的。当接收方接收到一个HTTP请求时,接收方将提取这g个头部关键字的一个排列:H’ 1; H’ 2,…,H’ g。接下来,可以进一步地通过康托展开式:k = a[l]*(g_l) !+a[2]*(g_2) ! +...+a[g]*0!+l计算该排列是该偏序关系的第k个排列,那么该HTTP请求就编码了 n_segk片段。其中,a[u]表示在该排列中满足H’」〈H’ u并且j>u的H’ j的个数。那么Ci发送的HTTP请求的报文格式就固定地保持该偏 序关系的第i个排列,从而达到分布式传输数据分片的目的。这样的隐藏和解析方式可以最大程度地保持编码和提取的独立性和准确性。其中,l<=i, j, u, k〈=2n。例如按照如下隐藏方法分别可以编码二进制的“O”与“I”。“O”表示为HTTP请求报文中关键字为这样:GET/HTTP/1.1Accept: */*Accept-Language:en-gbAccept-Encoding:gzip, deflateUser-Agent:MoziIla/4.0(compatible;MSIE6.0)Host:www.google, comConnection:Keep-Alive ;“I”表示为HTTP请求报文中关键字为这样:GET/HTTP/1.1Accept:氺/*Accept-Language:en-gbAccept-Encoding:gzip, deflate
Host:www.google, comUser-Agent:Mozilla/4.0 (compatible;MSIE6.0) Connection:Keep-Alive。其中关键字“HosCUser-Agent”的排序不同。在发送方和接收方分别有编码和解码的过程,这一对过程是互逆的,可以釆用AES或DES等对称加密技术或者RSA等公开密钥加密技术。在对称加密技术下,双方密钥是共享一致的;在公开密钥加密技术下,此对密钥就是一对公钥和私钥。采用该加密技术过程可以进一步保证秘密文件的安全性,但是最重要的是平均化各个数据分片出现的次数,从而均衡各个发送客户机的HTTP请求发送负载。如图2所示,为本方信息隐藏传输方法的工作流程图,发送方选取一台具有较高配置的计算机作为发送控制主机(SCH),SCH内集成文件编码、数据分片和发送选择功能;选取2n个可以发送HTTP请求的普通计算机作为HTTP客户机。接收方选取一台HTTP服务器(S),用以接收发送方的HTTP请求;选取一台普通计算机作为接收控制主机(RCH),RCH内集成数据拼接和文件解码功能。SCH与每一个客户机都有一个直接的双向通信信道,用以交互控制信息。S到RCH有一条 直接的单向通信信道用以发送从HTTP请求中解析的秘密信息片段。每一个客户机将与S的80端口建立一条TCP连接,用以进行HTTP通信。具体包括以下步骤:步骤一:在SCH中,秘密文件经过编码器编码后被分解成t个η比特片段[S1, S2,…st],这t个η比特片段按照在秘密文件中的比特顺序被送往发送选择器。步骤二:对于每一个η比特片段,发送选择器首先判断此片段是第几个η比特片段。不妨设此片段为第k个η比特片段n_segk,那么发送选择器将安排Ck发送一个具有其唯一的固定格式的HTTP报文给S(l〈=k〈=2n)。在发送过程中,发送选择器将维护一个队列存储由分片器发送过来的片段,在与客户机交互确认前一个嵌入秘密片段的HTTP请求已经被S接收到后,再对下一个片段进行发送,从而保证片段在接收端的绝对有序和正确性。步骤三:客户机在发送一个HTTP请求后,将等待S的反馈,当它收到第一个ACK后,将通知发送选择器发送下一个秘密片段。此后,客户机将继续完成接收该HTTP请求的响应的过程。步骤四:S接收到客户机发来的HTTP请求后,将请求中的t个秘密片段解析出来,按序发送给RCH。同时,S对每个HTTP请求都会发送对应的响应报文,维持HTTP通信交互行为的完整性。步骤五:在RCH中,t个秘密片段被按序拼接,最终通过解码得到秘密文件。—种可靠的分布式HTTP信息隐藏方法。通过多机发送的分布式结构有效稀释隐藏特征,抵御现有的检测方法。通过停等传输方式来确保隐蔽信道上数据传输的正确有序。通过确保该隐藏方法的可靠性和抗检测性来保证秘密信息的安全隐蔽传输。具体来说,在系统技术准备完毕后,该隐藏方法可以分为三个阶段。第一阶段为秘密文件嵌入阶段,包括步骤一和步骤二 ;第二阶段是秘密信息发送和接收阶段,包括步骤三和步骤四;第三阶段是秘密信息解析阶段,为步骤五。下面我们以一个具体的实施例来解释该方法的工作过程。在该实例中,我们需要用该方法传送一个大小为IKB的文本文件。我们将η取值为4,即将秘密文件划分为长为4比特的数据片段,有16个客户机参与发送。在HTTP协议中,我们选取4个头部关键字建立偏序关系:“Accept,,〈 “User-Agent”〈 “Host,,〈 “Connection”。那么 C1 的 HTTP 请求具有固定关键字排列格式:Accept, User-Agent, Host, Connection ;C2的HTTP请求具有固定关键字排列格式:Accept, User-Agent, Connection, Host ;…;C16的HTTP请求具有固定关键字排列格式!Connection, Host, User-Agent, Accept。第一阶段:1KB的文本文件通过一个DES加密过程得到一个IKB的加密文件,将其用二进制位表示,并被分解为2048个4比特片段。这2048个4比特片段将被有序地交给发送选择器[S1, S2,…,S2tl48]。Sk表示具体的文件被分成的η比特片段,而4_segK表示第k个η比特片段,比如“00” “01” “10” “11”分别为第1、2、3、4个2比特片段。但是文件分成的片段是由这些片段杂乱组合的序列,如000011100101,就是6个2比特片段组成的序列,其中l〈=k〈=2n。第二阶段:发送选择器按照顺序提取4比特片段,并根据片段选择客户机发送HTTP请求。具体来说,如4比特片段“0110”需要发送,发送选择器首先识别“0110”为第六个4比特片段,即4_seg6。随后,发送选择器给C6传递发送指令,那么C6将向S发送一个HTTP请求。在C6确认该HTTP请求已经被S接收后,会反馈给发送选择器一个确认信息,通知发送选择器可以继续发送下一个分片。接收方S接收到C6的HTTP请求后,提取其中的关键字排列:Accept, Connection, Host, User-Agent。根据这个排列我们通过康托展开式计算可得到该排列是偏序关系的第6个排列:0*3!+2*2!+1*1!+0*0!+1 = 6。得到该排列为第6个排列后,S即可解析出“0110”这个4比特片段,将它传送给RCH。第三阶段:RCH将从S接收到的2048个秘密信息片段有序拼接后得到IKB的加密文件,通过DES解密过程得到IKB的文本文件。参数设置:
在具体实施中,SCH、RCH、S和所有客户机都采用普通个人计算机,采用Windows764-bit的系统平台,Intel Core2Duo2.94GHZ处理器和4GB内存的硬件平台,IOMbps的网络出口带宽条件。在整个隐藏方法的运行当中,η的取值直接影响到隐蔽传输的速度,我们将η分别取1,2,3,4,5,6,发送IKB的文本文件,其传输所需时间如表I所示。从表中的数据可以看到η值越大,传输效率越高。但是,η值的增大意味着我们所需的发送客户机也在呈指数型增长,所以具体的η的取值需要做多方面的权衡来确定,该值并不是固定不变的。
权利要求
1.一种分布式信息隐藏传输系统,包括作为发送方的发送控制主机和作为接收方的接收控制主机,其特征在于所述发送控制主机设置有编码器,数据分片器和发送选择器,并与2n个可发送HTTP请求的HTTP客户机网络连接,所述接收控制主机设置有数据拼接器和解码器,且与可接收HTTP请求的服务器连接,所述服务器与每个HTTP客户机均网络连接;所述编码器将秘密文件编码后通过数据分片器将编码文件分解成若干个秘密片段,并按照在秘密文件中的比特顺序被送往发送选择器;根据秘密片段的具体值,所述发送选择器选择相应的HTTP客户机向服务器发送一次HTTP请求;所述服务器接收HTTP客户机发送的HTTP请求,解析出秘密片段,向HTTP客户机进行正常的HTTP响应,并将解析出的秘密片段按序发送给接收控制主机;所述接收控制主机通过数据拼接器对秘密片段进行拼接,然后通过解码器进行解码,得到秘密文件;其中η为大于等于I的整数。
2.根据权利要求1所述的系统,其特征在于所述发送方按照如下步骤将秘密文件传输给接收方: (O发送控制主机通过编码器将秘密文件编码后,由数据分片器分解成若干个η比特的秘密片段,且秘密片段按照在秘密文件中的比特顺序被送往发送选择器; (2)发送选择器根据秘密片段的具体值,安排与其值相对应的客户机在HTTP请求报文中嵌入该秘密片段,并将嵌入秘密片段的HTTP请求报文发送给服务器;客户机在发送一个HTTP请求后,将等待服务器的反馈,当客户机收到服务器的相应响应后,将通知发送选择器发送下一个秘密片段;如此循环,直至服务器接收完所有嵌入秘密片段的HTTP请求报文; (3)服务器接收到客户机发来的HTTP请求后,将HTTP请求中的秘密片段解析出来,并按序发送给接收控制主机;同时,服务器按照HTTP协议规则正常响应每一个HTTP请求; (4)接收控制主机通过数据拼接器将若干个秘密片段按序拼接,通过解码器解码得到秘密文件。
3.根据权利要求2所述的系统,其特征在于所述发送选择器维护一个队列存储由数据分片器发送过来的秘密片段,在与客户机交互确认前一个嵌入秘密片段的HTTP请求已经被服务器接收到后,再对下一个片段进行发送。
4.根据权利要求2所述的系统,其特征在于所述客户机用报文头部格式变换法在HTTP报文中嵌入秘密片段;在2n个客户机中,对于每一个客户机,令其发送带有某一固定头部格式的HTTP请求给服务器,此固定格式表示某一固定的η比特片段;其中每个客户机所带有的报文头部格式唯一,通过HTTP报文的固定格式,2n个客户机嵌入秘密文件所有的2n个η比特片段。
5.一种分布式信息隐藏传输方法,其特征在于所述方法中作为发送方的发送控制主机设置有编码器,数据分片器和发送选择器,并与2η个可发送HTTP请求的HTTP客户机网络连接,作为接收方的接收控制主机设置有数据拼接器和解码器,且与可接收HTTP请求的服务器连接,所述服务器与每个HTTP客户机均网络连接,其中η为大于等于I的整数;所述方法包括以下步骤: (O发送控制主机通过编码器将秘密文件编码后,由数据分片器分解成若干个η比特的秘密片段,且秘密片段按照在秘密文件中的比特顺序被送往发送选择器; (2)发送选择器根据秘密片段 的具体值,安排与其值相对应的客户机在HTTP请求报文中嵌入该秘密片段,并将嵌入秘密片段的HTTP请求报文发送给服务器;客户机在发送一个HTTP请求后,将等待服务器的反馈,当客户机收到服务器的相应响应后,将通知发送选择器发送下一个秘密片段;如此循环,直至服务器接收完所有嵌入秘密片段的HTTP请求报文;(3)服务器接收到客户机发来的HTTP请求后,将HTTP请求中的秘密片段解析出来,并按序发送给接收控制主机;同时,服务器按照HTTP协议规则正常响应每一个HTTP请求; (4)接收控制主机通过数据拼接器将若干个秘密片段按序拼接,通过解码器解码得到秘密文件。
6.根据权利要求5所述的方法,其特征在于所述方法中发送选择器维护一个队列存储由数据分片器发送过来的秘密片段,在与客户机交互确认前一个嵌入秘密片段的HTTP请求已经被服务器接收到后,再对下一个片段进行发送。
7.根据权利要求5所述的方法,其特征在于所述方法步骤(2)中客户机用报文头部格式变换法在HTTP报文中嵌入秘密片段;在2n个客户机中,对于每一个客户机,令其发送带有某一固定头部格式的HTTP请求给服务器,此固定格式表示某一固定的η比特片段;其中每个客户机所带有的报文头部格 式唯一,通过HTTP报文的固定格式,2n个客户机嵌入秘密文件所有的2"个η比特片段。
全文摘要
本发明公开了一种分布式信息隐藏传输系统,通过编码器将秘密文件编码后通过数据分片器将编码文件分解成若干个秘密片段,并按照在秘密文件中的比特顺序被送往发送选择器;根据秘密片段的具体值,发送选择器选择相应的HTTP客户机向服务器发送一次HTTP请求;服务器接收HTTP客户机发送的HTTP请求,解析出秘密片段,向HTTP客户机进行正常的HTTP响应,并将解析出的秘密片段按序发送给接收控制主机;所述接收控制主机通过数据拼接器对秘密片段进行拼接,然后通过解码器进行解码,得到秘密文件。该系统可以有效地抵抗现有各种检测方法的检测,达到安全隐蔽传输的目的。
文档编号H04L29/08GK103118139SQ201310068699
公开日2013年5月22日 申请日期2013年3月5日 优先权日2013年3月5日
发明者黄刘生, 王飞, 杨威, 陈志立 申请人:中国科学技术大学苏州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1