首页> 中国专利> 基于HTTP协议的秘密信息隐藏传输方法

基于HTTP协议的秘密信息隐藏传输方法

摘要

本发明公开了一种基于HTTP协议的秘密信息隐藏传输方法,其特征在于所述方法包括以下步骤:(1)发送方构造HTTP GET请求数据报文后,向接收方发送HTTP GET请求报文;(2)接收方收到发送方发送的HTTPGET请求报文后,在本地预先存储的页面数据中随机选择一个作为返回页面返回HTTP响应报文,并根据其返回的页面建立BWT权重转换表;(3)发送方从响应报文中提取返回的页面信息,并根据返回的页面建立BWT权重转换表,然后用BWT权重转换表对待传输的秘密信息进行编码,将编码过的秘密信息附加到HTTP POST请求的实体数据中传送给接收方;(4)接收方收到HTTP POST请求后,读取实体数据,根据BWT权重转换表进行解码,提取HTTP POST请求的实体数据中所隐藏的秘密信息。该方法中接收方在正常的HTTP报文数据外不需要添加任何额外的交互信息,从而达到在隐蔽传输中接收方静默的目的。

著录项

  • 公开/公告号CN102857514A

    专利类型发明专利

  • 公开/公告日2013-01-02

    原文格式PDF

  • 申请/专利权人 中国科学技术大学苏州研究院;

    申请/专利号CN201210351516.1

  • 发明设计人 黄刘生;王飞;杨威;陈志立;

    申请日2012-09-20

  • 分类号H04L29/06;H04L29/08;

  • 代理机构苏州创元专利商标事务所有限公司;

  • 代理人范晴

  • 地址 215123 江苏省苏州市工业园区独墅湖高教区仁爱路166号

  • 入库时间 2024-02-19 17:23:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-03

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20150107 终止日期:20160920 申请日:20120920

    专利权的终止

  • 2015-01-07

    授权

    授权

  • 2013-02-20

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20120920

    实质审查的生效

  • 2013-01-02

    公开

    公开

说明书

技术领域

本发明属于信息安全技术领域,具体涉及一种基于HTTP协议的秘密信 息隐藏传输方法。

背景技术

基于HTTP(超文本传输协议)报文的信息隐藏技术一直是协议隐藏技 术的一大研究热点。它充分利用了HTTP请求与响应在WEB应用中的普遍 性特点,将隐秘信息和HTTP报文很好地结合在了一起。由于鲜有禁用HTTP 应用或深入扫描分析HTTP应用层实体数据的防火墙,所以利用HTTP报文 嵌入或伪装隐秘信息可以轻松地绕过防火墙的阻截从而达到隐蔽传输的目 的。

HTTP隐藏主要分为HTTP报头隐藏和HTTP报文内容隐藏。由于 HTTP报头的结构清晰,内容通常较为固定,在其中嵌入隐藏信息较为困难, 针对其信息嵌入的检测技术也非常成熟,所以HTTP报头隐藏技术在近几年 逐渐淡出了研究人员的视野。随着WEB应用的不断发展,在HTTP报文中 进行的信息交互量不断增加,交互信息也越来越复杂,这就间接地否定了普 通防火墙对于HTTP实体数据进行深入分析和过滤的可能性,这就为HTTP 报文内容隐藏提供了良好的条件。

HTTP协议的主要隐藏方法为HTTP Tunnel,HTTP Tunnel在二十世纪 末开始兴起,由于HTTP应用层实体数据的复杂性,至今仍然没有一种有效 的检测方法问世,大多的检测手段可能只适合某类特定的应用环境,不具有 普适性。针对HTTP Tunnel,现在的主流检测方法是模式匹配,检测是否存 在隐蔽信道,即用大量的各种应用类型的数据包作为训练集对检测系统进行 分类训练,得出不同应用模式数据包的数据特征,如疑似头部长度、疑似数 据长度、疑似特征字段等,然后将待检测样本输入系统中检测,如果发现某 种应用类型数据包与待检测样本的模式相似度达到或超过某一阈值,则可认 为待检测样本中搭建有隐蔽信道。此外,Manuel Crotti等人在2007年提出 了一种基于协议通信中的自相似性和潜在模式的概率统计方法[Manuel  Crotti,Maurizio Dusi,Francesco Gringoli,Luca Salgarelli,“Detecting  HTTP Tunnels with Statistical Mechanisms”,2007IEEE],首先建立HTTP 协议的“特征指纹”(以报文长度为行、报文间隔时间为列的统计矩阵,矩 阵元素表示HTTP协议报文具有相应长度和间隔的概率),再针对某一待检 测的HTTP协议报文流中的所有报文查询矩阵中的概率值,概率异常小的报 文则赋予其较大的可疑值,最后进行可疑值累加,若可疑值超过某一阈值, 则说明有隐蔽信道存在。这个方法充分利用了协议通信中自相似性所形成的 潜在模式,对存储型和时序型信道均可检测。在实验中,针对HTTP协议中 携带的隐蔽应用数据包的检测有着非常优异的表现,检测准确率能够达到 99.78%。即便针对HTTP Tunnel的检测工具在不断进步和完善,针对HTTP  Tunnel的检测方法无法做到以一盖全,不具有明显模式特征的隐蔽传输依然 能够有效渗透检测系统,因此,基于HTTP Tunnel的隐蔽传输方法在未来 很长时间内仍然具有可预见的强大生命力。

发明内容

本发明的目的在于提供一种基于HTTP协议的秘密信息隐藏传输方法, 解决现有HTTP协议隐藏技术中具有明显模式特征的隐蔽传输会被基于模 式特征搜索的检测工具检测到等问题。

为了解决现有技术中的这些问题,本发明提供的技术方案是:

一种基于HTTP协议的秘密信息隐藏传输方法,其特征在于所述方法包 括以下步骤:

(1)发送方构造HTTP GET请求数据报文后,向接收方发送HTTP GET 请求报文;

(2)接收方收到发送方发送的HTTP GET请求报文后,在本地预先存 储的页面数据中随机选择一个作为返回页面返回HTTP响应报文,并根据其 返回的页面建立BWT权重转换表;

(3)发送方提取返回的页面信息,并根据返回的页面建立BWT权重 转换表,然后用BWT权重转换表对待传输的秘密信息进行编码,将编码过 的秘密信息附加到HTTP POST请求的实体数据中传送给接收方;

(4)接收方收到HTTP POST请求后,读取实体数据,根据BWT权重 转换表进行解码,提取HTTP POST请求的实体数据中所隐藏的秘密信息。

优选的,所述方法步骤(2)或步骤(3)中根据页面建BWT权重转 换表按照如下步骤进行:

(A)将返回的页面中的所有“<>”标签内容和空格去除,留下纯文字数 据,将该纯文字数据按照每n个二进制为一个位串单位划分成t个位串单位, 得到t个长度为n的二进制位串S=[S1,S2,S3,…,St],Si=b1b2b3…bn, i=1,2,3,...,t;

(B)将每个二进制位串视为经过BWT算法压缩后的数据,然后进行 BWT线性解压,恢复成n*n的二进制位矩阵,矩阵中的每一行代表一个二 进制位,第1行代表20,第2行代表21,…,第n行代表2n-1,则n*n的矩 阵表示n个二进制位,为t个矩阵建立一张权重转换表,则S表示t*n个二 进制位。

优选的,所述方法步骤(2)或步骤(3)中当纯文字数据转换到最后, 遇到剩余二进制位不足n时,直接丢弃最后的剩余二进制位。

优选的,所述方法步骤(3)中在待传输的秘密信息中读取m个长度为 n的二进制位串,在页面剩余的纯文字数据中先丢弃末尾不足n的二进制位 剩余,再在其中随机选择m个长为n的二进制位串作为BWT压缩数据,按 照与接收方相同的BWT权重转换方法,为隐藏信息生成m*n2个二进制位, 其中只对非“0”位进行填充,再加上m值及对应的m个选择位置信息,最 后将整个数据块作为HTTP POST请求的附加数据发送给接收方。

优选的,所述方法步骤(4)中接收方首先提取m和m个二进制位串的 位置,然后用对应的m个n*n的矩阵进行解码,首先读入每个长度为n的 二进制位串中“1”的个数C,再读入C个长度为n的二进制位串,与矩阵中 的每一行进行匹配,将对应的C个二进制权重位置为“1”,其它位为“0”,即 通过解码提取到了m*n个二进制位的秘密信息。

具体的,本发明提供一种基于HTTP协议的秘密信息隐藏传输方法,该 方法包括以下步骤:

步骤一:隐蔽信道的发送方向接收方发送HTTP GET请求报文,端口 为8080,该HTTP请求报文与正常请求报文一样,不用任何附加信息。

步骤二:隐蔽信道的接收方在收到HTTP请求报文后,返回HTTP响 应报文,该响应报文中的实体数据就是接收方所保存的众多页面中的一个, 在具体选择返回哪一个页面的问题上,采用随机选择返回的方法,在所存储 的众多页面文件中随机选择一个进行返回。在返回之后,接收方需要根据返 回的页面建立一张BWT权重转换表。

首先,将页面中的所有“<>”标签内容和空格去除,留下纯文字数据,这 样的数据不具备任何模式,在不考虑大量语料下可学习的文字概率特性时, 具有很高的随机性;随后,将留下的整个文字数据看成二进制位串,以每n 个(n为8的整数倍)二进制位作为BWT压缩数据的最后一列;最后,进 行BWT压缩数据的恢复,将每n个二进制位恢复成n个长为n的二进制位 串,把这n个二进制位串赋予20~2n-1这n个权重,从而用这n个二进制位 串组成的n2个二进制位表示n位的隐藏信息。如果转换到最后遇到剩余不 足n的二进制位,那直接丢弃。

步骤三:隐蔽信道的发送方收到接收方返回的响应报文,取出当中的页 面数据,同样去除掉所有“<>”标签内容和空格,留下纯文字数据。发送方此 时从需要发送的隐藏信息中读取m*n个二进制位的数据(可以通过页面数 据的设计保证留下的纯文字二进制位串长度要远大于m*n),在页面剩余的 纯文字数据中先丢弃末尾不足n的二进制位剩余,再在其中随机选择m个 长为n的二进制位串作为BWT压缩数据,按照与接收方相同的BWT权重 转换方法,为隐藏信息生成m*n2个二进制位,然后作为HTTP POST请求 的附加数据发送给接收方。

首先,在附加数据的开始写上4个字节长度单位的整型变量m,表示这 一次传输中有m个长度为n的二进制位串的隐藏信息(如果剩余量不足m, 按实际大小写入,如果不是n的整数倍,后续用全“0”填充,在接收方会剔 除全“0”字节);随后,在附加数据中写入m个4个字节长度单位的整型变 量,表示在页面的纯文字数据中选择的m个长度为n的压缩数据的位置; 然后,对于每个长度为n的二进制位串的隐藏信息,先计算其中有多少个 “1”,将“1”的个数以单字节长度写在起始位置,在进行权重转换填充时,只 填充二进制位为“1”所对应权重的n位二进制串,为“0”的均不填充,所以最 终传输的实体数据实际上不足m*n2个二进制位。

步骤四:隐蔽信道接收方收到发送方的HTTP POST请求,将其中的附 加数据提出,按照先读取m,再读取m个长度为n的压缩数据的位置,再 读取“1”的个数,最后读取二进制位串对相应权重位赋“1”的顺序进行处理。 在读取二进制位串赋值时,可以采用hash表的方式采用位运算快速赋值。 这样就可以得到POST请求附加数据中提取出隐藏信息进行相应处理。

本发明引入BWT数据块压缩算法作为权重转换表的生成算法。BWT 算法是国际上公认的最巧妙的数据压缩算法之一,它利用循环移位数据块字 典序排列的相关特性,将二维的数据通过线性算法压缩为一维数据,在另一 端同样通过线性算法进行解压,将一维数据恢复为二维数据,在此过程中, 信息保存完整,不会有任何丢失。数据隐藏算法就是通过BWT算法中的线 性解压过程实现的,通过解压出来的二维数据块建立权重转换表。将长度为 n的数据解压恢复后就成了n2的数据块,那么就可以得到n个长度为n的数 据,对这n个长度相同的数据分别赋予相应二进制位的权重,那么就可以通 过这n2的数据块来表示n比特的数据,从而实现在n2的数据中隐藏n比特 的隐秘信息。

下面简要介绍一下BWT的压缩和解压过程:BWT的压缩过程就是针 对一个长度为n的字符串进行循环移位轮转之后再进行字典序排序,得到一 个n*n的字符矩阵,再取其最后一列,得到最终的长度为n的压缩数据。 BWT的解压过程比较巧妙,以“01”字符串举例。假设有一个“01”字符串 “10001”,则经过循环移位轮转和字典序排序之后的矩阵为:

00011

00110

01100

10001

11000

对于此矩阵,取其最后一列“10010”即为压缩后的数据。现在要对其进 行解压,第一列为“0”的分别是第2、3、5行,由于在未移位前此三行是字 典序,那么移位后由于首位没变,所以此三行必然还是字典序,那么第2、3、 5行末位移位后就对应于原来矩阵中的第1、2、3行。由此特征来恢复原矩 阵中的第1行,那么就知道第1行的第1列为“0”,第2列必然是第2行的 第1列(从对应关系很容易知道第2行右移1位即为第1行),那么再找第3 列,第3列即对应这第2行的第2列,那么第2行的第2列就对应于第3行 第1列,相应的第3行的第2列对应于第5行的第1列,依此类推(“1”也 是一样),分“0”和“1”两个关系递推,记录一个next位置标记来推导第1行 下一列的位置,因为第1列即为每行首位,且从末列的字典序可以推得,所 以递推时只要拿首位依次读取即可。

相对于现有技术中的方案,本发明的优点是:

在本发明所采用的隐藏方法中,服务器端不需要在协议本身通信之外额 外添加交互信息,因为HTTP协议中返回的页面就是一个良好的天然的压缩 数据集,可以把整个页面除空格和标签外的有效数据集合作为BWT算法压 缩后的压缩数据,以长度n为单位。这样,在服务器端可以实现正常通信下 的信息隐藏而不附加任何交互信息,有效伪装了隐蔽传输接收方的实际行 为,从而对其实现了高质量的流量掩护,从而达到了接收方静默的目的。再 加上引入BWT现行解压算法对秘密信息进行变长编码,使得协议通信中的 自相似性和潜在模式特征大大减弱,直接消灭了通过协议通信模式特征的搜 索来进行检测的可能,从而能够顺利地通过现在主流检测系统的检测。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为本发明基于HTTP协议的秘密信息隐藏传输方法的流程图。

具体实施方式

以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是 用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以 根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的 条件。

实施例

本实施例的HTTP协议下的信息隐藏方法,利用BWT压缩算法的线性 解压过程,将秘密信息接收方返回的正常页面数据解压为权重转换表,对需 要传输的秘密信息进行权重编码,再伪装成HTTP实体数据进行传输,从而 实现秘密信息的隐蔽传输过程。在这样的传输过程中,发送方与接收方的数 据流都不具有潜在的模式特征,也不具有较高的自相似性,因此可以通过现 在主流的信息隐藏检测系统。

具体来说,在隐蔽传输的接收方收到发送方发送的HTTP GET请求报 文之后,整个信息隐藏过程就分为了三个阶段,步骤二,步骤三和步骤四各 为一个阶段。第一阶段是隐蔽传输的接收方用自己发送的页面数据建立一张 BWT权重转换表(此表的建立方法与发送方是一致的),用来为秘密信息解 码。在这一阶段中,接收方首先得到经过处理的纯文字页面数据,然后按照 每n个二进制位为一个单位划分成t个单位,得到t个长度为n的二进制位 串S=[S1,S2,S3,…,St],Si=b1b2b3…bn,i=1,2,3,…,t。对于每一个位串,将它 视为经过BWT算法压缩后的数据,然后进行BWT线性解压,恢复成n*n 的二进制位矩阵,矩阵中的每一行代表一个二进制位,第1行代表20,第2 行代表21,…,第n行代表2n-1,这样n*n的矩阵就可以表示n个二进制位, 为t个矩阵建立一张权重转换表,则S可以表示t*n个二进制位。

第二个阶段是隐蔽传输的发送方将编码过的秘密信息附加到HTTP POST请求的实体数据中传送给接收方。在这一阶段中,发送方收到接收方 的页面数据,在处理过的纯文字页面数据中随机选择m个长度为n的二进 制位串(分割方法与接收方一致),用与接收方一致的方法生成m个n*n的 矩阵,那么就可以表示m*n个二进制位的信息。在待传输的秘密信息中读 取m个长度为n的二进制位串(如果不足m个,m就为实际的剩余位串数, 不足n位的在后面补0),将m以及随机选择的m个长度为n的二进制位串 的位置填充入POST的实体数据中。对于每个二进制位串,先填充入位串中 “1”的个数,随后用对应的矩阵进行编码,对于二进制位串A=a1a2a3…an, 若ai=1(i=1,2,3,…,n),则填充入n*n矩阵中相应权重位所对应的二进制位串; 否则,不填充。这样,就得到了POST请求的最终实体数据,发送给接收方。

第三个阶段是隐蔽传输的接收方提取POST请求的实体数据中所隐藏 的秘密信息。在这一阶段中,接收方首先提取m和m个二进制位串的位置, 然后用对应的m个n*n的矩阵进行解码,首先读入每个长度为n的二进制 位串中“1”的个数C,再读入C个长度为n的二进制位串,与矩阵中的每一 行进行匹配,将对应的C个二进制权重位置为“1”,其它位为“0”,在匹配中 可以采用hash表进行加速,这样就通过解码提取到了m*n个二进制位的秘 密信息。

参数设置:

在参数设置中,要进行一系列的测试来选择最优参数,测试均在 Windows 732-bit操作系统、Intel Core2 Duo 2.94GHZ处理器和2GB内存 的平台上完成。

在运算过程中要设置两个参数,即n和m。对于n的设置,要综合考 虑计算机的处理效率、报文长度波动和数据重复概率。采用控制变量法,将 所需传送的隐藏信息固定为10KB,网络带宽设定为2Mbps,m设定为256, 计算机的处理效率以实际的隐蔽传输速度来衡量,报文长度波动以传送不同 文件时报文长度的方差来衡量,分别传送20个10KB的文件,如表1所示:

表1不同n值下各参考量的值

由表1可以看到,n=16时,四个参考量的表现均比较理想,在2Mbps 的网络带宽下,12.7KB/s的隐蔽传输速度比较可观;报文长度波动非常理想, 足够干扰检测系统的模式匹配工作;虽然重复概率为1/232,要远远大于n=24 和48时的值,但是对于一般性的隐蔽传输数据已经足够,这样的重复概率 完全可以接受。因此,综合下来,选择参数n=16。

对于m的设置即对缓冲区大小的设置,要综合考虑计算机的处理速度 和内存调度与配合,同样采用控制变量法,令n=16,网络带宽为2Mbps, 引入计算机处理效率和报文长度波动这两个参考量,分别传送20个20KB 文件,如表2所示:

表2不同m值下各参考量的值

表2的结果已经非常明显,从报文长度波动和处理效率上来看,m的最 佳取值为512。

所以综上,可以确定在所选平台下的最优参数值,即n=16,m=512。

下面为本方法的具体执行结果。

隐蔽传输的接收方存有1000个不同的页面数据,发送方需要传输四个 文件,大小分别为10KB,100KB,1MB,10MB。双方均在Windows 732-bit 操作系统、Intel Core2 Duo 2.94GHZ处理器和2GB内存的平台以及2Mbps 的网络带宽下执行本发明的各个步骤,在执行中会利用前文提及的Manuel  Crotti等人提出的综合概率指标统计方法[Manuel Crotti,Maurizio Dusi, Francesco Gringoli,Luca Salgarelli,“Detecting HTTP Tunnels with  Statistical Mechanisms”,2007IEEE]对收发两端的HTTP数据包进行检测, 传输时间和检测结果如表3所示:

表3本信息隐藏方法的具体执行结果

如表3所示,本发明所设计的基于HTTP协议的信息隐藏方法在 Manuel Crotti等人提出的检测准确率高达99.78%的概率检测方法下 [Manuel Crotti,Maurizio Dusi,Francesco Gringoli,Luca Salgarelli, “Detecting HTTP Tunnels with Statistical Mechanisms”,2007IEEE]计算出 的相似值远远低于存在隐蔽信道的判定值“1”,即使传输的隐蔽信息量达到 10MB,最终的可疑值也只有0.37,所以本发明所设计的方法既不具备潜在 的模式特征,也不具有较高的自相似性,在自身的隐蔽性和抗检测方面有着 非常优异的表现。从数据传输速度来看,待传输的隐藏数据量在1MB以下 时,本发明的传输速度还是可以接受的,但是在传输1MB以上的较大数据 时,速度就显得比较缓慢,这是由于每隐藏16位的信息就需要填充扩展到 256位,造成理论编码效率只有1/16(由于舍弃“0”位填充,实际编码效率 会提高60%左右,约为1/10)。

通过上述分析可见,本发明设计的方法在进行隐蔽传输时,可以很好 地隐藏自身的计算模式,可以有效抵抗目前主流的基于模式特征搜索的检测 方法,达到隐蔽传输的目的,在小型数据隐蔽传输方面具有良好的应用前景。 由于在大多数情况下,需要进行隐蔽传输的数据量都极为有限,很少会超过 1MB,所以本发明所设计的方法足够用于一般环境下的信息隐藏,在HTTP Tunnel隐藏方面具有很高的实用价值。

上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技 术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护 范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的 保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号