当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于HTTP/2传输特征的加密数据长度还原方法技术

技术编号:26976018 阅读:22 留言:0更新日期:2021-01-06 00:12
本发明专利技术公开了一种基于HTTP/2传输特征的加密数据长度还原方法,基于采集到的加密流量和部分明文数据,使用线性回归模型计算出TLS协议附加的头部长度,并训练卷积神经网络模型用以计算HTTP/2协议附加的信息长度;在对HTTP/2加密数据进行侧信道分析时,使用训练好的线性回归模型和神经网络模型,从加密流量中减去TLS协议和HTTP/2协议的附加信息长度,即可精确地还原出加密前的应用数据长度。本发明专利技术方法能够对使用HTTP/2协议进行传输的加密数据进行长度还原,弥补了目前密文长度还原工作在HTTP/2领域的空白,在HTTP/2逐渐普及的背景下,可很好地应用于以数据长度为关键特征的加密流量侧信道分析中。

【技术实现步骤摘要】
一种基于HTTP/2传输特征的加密数据长度还原方法
本专利技术属于计算机网络安全
,涉及一种加密数据的长度还原技术,尤其涉及一种基于HTTP/2传输特征的加密数据长度还原的方法。
技术介绍
随着人们网络安全意识的不断提高,越来越多的网络应用服务商开始对网络流量进行加密传输,这在一定程度上保护了用户的隐私,但也给网络的监管带来了一定的挑战。服务提供商为了评估用户对于应用的体验质量(QualityofExperience,QoE)或者出于可能的网络安全监测的需求,通常需要了解网络中所传输的应用数据。由于无法直接对加密流量进行解密,通常会使用侧信道分析的方式,以加密流量还原后的数据长度(即还原出明文数据长度)作为关键特征来研究加密流量的数据信息。在这种情况下,能否精确地从加密网络流量中还原出加密前的明文数据长度,将直接影响到侧信道分析工作的准确性。HTTP协议作为互联网中使用最为广泛的应用层协议,也是影响加密数据长度变化的关键因素之一。自从基于HTTP/1.1的HTTPS加密协议被提出以来,不少学者都围绕HTTP/1.1对加密数据的长度还原工作进行了研究。然而,网络的飞速发展使得HTTP/1.1协议在网络延迟和安全性上的问题日益凸显,为解决这些问题,HTTP/2协议应运而生并逐渐普及。HTTP/2并非是HTTP/1.1版本的简单更新,而是在其传输机制上的完全重构,尽管兼容了HTTP/1.1的语义,但在协议格式上已经有了极大的差别。HTTP/2在结构上新增了一个二进制分帧层,将所有传输的请求和响应数据分割为更小的帧,并且舍弃了HTTP/1.1基于文本的传输模式,而采用二进制形式进行传输,解析起来更为高效。此外,HTTP/2还采用多路复用技术,使得一个连接上可以承载多个HTTP请求,避免了连接的频繁创建和关闭,极大提高了传输性能。HTTP/2在显著降低延迟的同时提高了带宽利用率,因而被各大服务提供商所广泛采用。尽管HTTP/2协议本身并未要求必须基于TLS协议,但目前所有浏览器均只支持TLS上的HTTP/2访问,这也使得HTTP/2变为事实上新的HTTPS传输标准,基于HTTP/2进行传输的加密流量也越来越多。在目前公开的文献中,针对加密流量的长度还原方法主要应用于流媒体领域,一些研究根据密文长度相对于明文长度发生偏移的原因,计算加密传输过程中数据长度产生的偏移量,在此基础上实现长度还原。但现有方法大多是针对HTTP/1.1协议进行的,HTTP/2与HTTP/1.1之间显著的差异性,使得目前已有的加密流量长度还原方法都无法直接应用于HTTP/2协议下的加密数据,该部分的研究仍处于空白状态。
技术实现思路
为解决上述问题,本专利技术公开了一种基于HTTP/2传输特征的加密数据长度还原方法。该方法首先采集目标应用的流量数据,之后利用采集到的加密数据和部分明文数据,使用线性回归模型计算出数据加密传输时TLS协议附加的头部信息长度,并训练卷积神经网络模型用于计算HTTP/2协议所附加的信息长度。在需要进行长度还原时,利用训练好的线性回归模型和神经网络模型,可从加密流量中精准还原出加密前的明文数据的长度。为了达到上述目的,本专利技术提供如下技术方案:一种基于HTTP/2传输特征的加密数据长度还原方法,包括如下步骤:(1)采集目标应用的加密流量和相应的明文数据;(2)找到只使用单个TLS片段进行传输的加密响应数据和其对应的明文数据,使用线性回归模型计算TLS协议所附加的头部信息长度;(3)使用步骤(2)中所述线性回归模型从密文数据中提取出TLS负载长度数据集,并基于该数据集训练卷积神经网络模型,用于计算加密数据中所含的HTTP/2的帧数;(4)需要对目标应用的流量进行长度还原时,使用采集设备采集待还原的密文数据并保存;(5)利用训练好的线性回归模型和神经网络模型,从步骤(4)得到的密文数据中去除TLS协议和HTTP/2协议所附加的头部信息长度,还原出对应的明文长度。进一步的,所述步骤(1)具体包括如下子步骤:(1.1)选择使用HTTP/2协议进行数据传输的应用作为目标应用,将采集设备和装有目标应用的终端连接至同一无线网络,并使终端的网络流量在传输时能够经过采集设备;采集设备上安装代理应用和网络流量采集应用,分别用于明文数据和密文数据的采集工作;(1.2)根据目标应用,建立需要采集的内容列表,设置当前待采集的内容为列表中的第一个;(1.3)对终端所在的网络进行设置,禁用HTTP/2协议;(1.4)打开目标应用,启动采集设备上的代理应用,开始采集工作;(1.5)在目标应用中浏览当前所要采集的内容,浏览完毕后关闭应用;(1.6)停止代理应用的采集,存储当前采集的明文数据文件;(1.7)关闭对HTTP/2的禁用设置,打开目标应用,清除应用缓存数据;(1.8)启动采集设备上的流量采集应用,重复步骤(1.5)后,停止流量采集工作,存储当前采集的密文数据文件,该密文数据文件与步骤(1.6)中存储的明文数据文件相对应;(1.9)如果内容列表中还有未采集的内容,则设置当前待采集内容为下一个未采集内容,进入步骤(1.3),否则采集工作结束。进一步的,所述步骤(1.3)中,迫使目标应用使用基于HTTP/1.1的HTTPS进行传输,使得采集设备能够通过代理服务解析得到明文数据。进一步的,所述步骤(2)具体包括如下子步骤:(2.1)从明文数据文件中提取出每次响应数据的明文长度;(2.2)在密文数据文件中找到客户端发往服务器端的请求报文,将两个请求报文之间的所有服务器端响应报文作为前一个请求的响应数据,从密文数据文件中提取出这些响应数据的TCP负载部分;(2.3)找到只使用单个TLS片段进行传输的加密响应数据和其对应的明文数据,此时有:ADUlen=TCPloadlen-TLSheaderlen*1-framelen*1其中,ADUlen为还原后的应用数据长度,即对应的明文数据长度,TCPloadlen为对应的密文数据中所有TCP负载长度之和,TLSheaderlen为每个TLS片段附加的头部信息长度,framelen为HTTP/2帧头长度;根据(2.2)中得到的TCP负载部分计算出TCPloadlen,依序标记明文数据长度ADUlen,训练线性回归模型,得到TLSheaderlen。进一步的,对于只含有一个TLS片段的响应数据,该响应数据在传输时封装在一个HTTP/2帧中。进一步的,所述步骤(3)具体包括如下子步骤:(3.1)从密文数据的TCP负载中获取各TLS片段,利用步骤(2)中线性回归模型得到的TLS头部信息长TLSheaderlen,对每个TLS片段去除该附加长度,得到各TLS片段的负载长度;提取出每次响应数据中各TLS负载长度,汇总为数据集;(3.2)根据明文数据,使用如下公式计算出该响应数据的所有TLS片段中所含有的HTTP/2帧数,本文档来自技高网
...

【技术保护点】
1.一种基于HTTP/2传输特征的加密数据长度还原方法,其特征在于,包括如下步骤:/n(1)采集目标应用的加密流量和相应的明文数据;/n(2)找到只使用单个TLS片段进行传输的加密响应数据和其对应的明文数据,使用线性回归模型计算TLS协议所附加的头部信息长度;/n(3)使用步骤(2)中所述线性回归模型从密文数据中提取出TLS负载长度数据集,并基于该数据集训练卷积神经网络模型,用于计算加密数据中所含的HTTP/2的帧数;/n(4)需要对目标应用的流量进行长度还原时,使用采集设备采集待还原的密文数据并保存;/n(5)利用训练好的线性回归模型和神经网络模型,从步骤(4)得到的密文数据中去除TLS协议和HTTP/2协议所附加的头部信息长度,还原出对应的明文长度。/n

【技术特征摘要】
1.一种基于HTTP/2传输特征的加密数据长度还原方法,其特征在于,包括如下步骤:
(1)采集目标应用的加密流量和相应的明文数据;
(2)找到只使用单个TLS片段进行传输的加密响应数据和其对应的明文数据,使用线性回归模型计算TLS协议所附加的头部信息长度;
(3)使用步骤(2)中所述线性回归模型从密文数据中提取出TLS负载长度数据集,并基于该数据集训练卷积神经网络模型,用于计算加密数据中所含的HTTP/2的帧数;
(4)需要对目标应用的流量进行长度还原时,使用采集设备采集待还原的密文数据并保存;
(5)利用训练好的线性回归模型和神经网络模型,从步骤(4)得到的密文数据中去除TLS协议和HTTP/2协议所附加的头部信息长度,还原出对应的明文长度。


2.根据权利要求1所述的基于HTTP/2传输特征的加密数据长度还原方法,其特征在于,所述步骤(1)具体包括如下子步骤:
(1.1)选择使用HTTP/2协议进行数据传输的应用作为目标应用,将采集设备和装有目标应用的终端连接至同一无线网络,并使终端的网络流量在传输时能够经过采集设备;采集设备上安装代理应用和网络流量采集应用,分别用于明文数据和密文数据的采集工作;
(1.2)根据目标应用,建立需要采集的内容列表,设置当前待采集的内容为列表中的第一个;
(1.3)对终端所在的网络进行设置,禁用HTTP/2协议;
(1.4)打开目标应用,启动采集设备上的代理应用,开始采集工作;
(1.5)在目标应用中浏览当前所要采集的内容,浏览完毕后关闭应用;
(1.6)停止代理应用的采集,存储当前采集的明文数据文件;
(1.7)关闭对HTTP/2的禁用设置,打开目标应用,清除应用缓存数据;
(1.8)启动采集设备上的流量采集应用,重复步骤(1.5)后,停止流量采集工作,存储当前采集的密文数据文件,该密文数据文件与步骤(1.6)中存储的明文数据文件相对应;
(1.9)如果内容列表中还有未采集的内容,则设置当前待采集内容为下一个未采集内容,进入步骤(1.3),否则采集工作结束。


3.根据权利要求1所述的基于HTTP/2传输特征的加密数据长度还原方法,其特征在于,所述步骤(1.3)中,迫使目标应用使用基于HTTP/1.1的HTTPS进行传输,使得采集设备能够通过代理服务解析得到明文数据。


4.根据权利要求1所述的基于HTTP/2传输特征的加密数据长度还原方法,其特征在于,所述步骤(2)具体包括如下子步骤:
(2.1)从明文数据文件中提取出每次响应数据的明文长度;
(2.2)在密文数据文件中找到客户端发往服务器端的请求报文,将两个请求报文之间的所有服务器端响应报文作为前一个请求的响应数据,从密文数据文件中提取出这些响应数据的TCP负载部分;
(2.3)找到只使用单个TLS片段进行传输的加密响应数据和其对应的明文数据,此时有:
ADUlen=TCPloadlen-TLSheaderlen*1-framelen*1
其中,ADUlen为还原后的应用数据长度,即对应的明文数据长度,TCPloadlen为对应的密文数据中所有TCP负载长度之和,TLSheaderlen为每个TLS片段附加的头部信息长度,framelen为HTTP/2帧头长度;
根据(2.2)中得到的TCP负载部分计算出TCPloadlen,依序标记明文数据长度ADUlen,训练线性回归模型,得到TLSheaderlen。


5.根据权利要求4所述的基于HTTP/2传输特征的加密数据长度还原方法,其特征在于,对于只含有一个TLS片段的响应数据,该响应数据在传输时封装在一个HTTP/2帧中。


6.根据权利要求1所述的基于HTTP/2传输特征的加密数据长度还原方法,其特征在于,所述步骤(3)具体包括如下子步骤:
(3.1)从密文数据的TCP负载中获取各TLS片段,利用步骤(2)中...

【专利技术属性】
技术研发人员:吴桦李欣程光
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1