【技术实现步骤摘要】
一种基于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在结构上新增了一个二进制分帧层,将所有传输的请求和响应数据分割为更小 ...
【技术保护点】
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)中...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。