[发明专利]一种基于HTTP/2传输特征的加密数据长度还原方法有效
申请号: | 202011012391.0 | 申请日: | 2020-09-23 |
公开(公告)号: | CN112187774B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 吴桦;李欣;程光 | 申请(专利权)人: | 东南大学 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/1004 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 叶涓涓 |
地址: | 211189 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 http 传输 特征 加密 数据 长度 还原 方法 | ||
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),否则采集工作结束;
(2)找到只使用单个TLS片段进行传输的加密响应数据和其对应的明文数据,使用线性回归模型计算TLS协议所附加的头部信息长度;具体包括如下子步骤:
(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;
(3)使用步骤(2)中所述线性回归模型从密文数据中提取出TLS负载长度数据集,并基于该数据集训练卷积神经网络模型,用于计算加密数据中所含的HTTP/2的帧数;具体包括如下子步骤:
(3.1)从密文数据的TCP负载中获取各TLS片段,利用步骤(2)中线性回归模型得到的TLS头部信息长TLSheaderlen,对每个TLS片段去除头部信息长度,得到各TLS片段的负载长度;提取出每次响应数据中各TLS负载长度,汇总为数据集;
(3.2)根据明文数据,使用如下公式计算出该响应数据的所有TLS片段中所含有的HTTP/2帧数,将计算出的帧数作为TLS负载长度数据集的标签:
Nh2=(TLSloadlen-ADUlen)/framelen
其中,Nh2为计算出的HTTP/2帧数,TLSloadlen为该响应数据中所有TLS片段的负载长度之和,ADUlen为该响应数据对应的明文长度,framelen为HTTP/2帧头长度;
(3.3)使用该数据集对一维卷积神经网络进行训练,训练得到的卷积神经网络模型能够根据加密数据中TLS片段的负载长度,计算出所含有的HTTP/2帧数;
(4)需要对目标应用的流量进行长度还原时,使用采集设备采集待还原的密文数据并保存;具体包括如下子步骤:
(4.1)将采集设备和装有目标应用的终端连接至同一无线网络,并使终端的网络流量在传输时能够经过采集设备;采集设备上安装网络流量采集应用;
(4.2)确立待还原的密文数据,建立需要采集的内容列表,设置当前待采集的内容为列表中的第一个;
(4.3)打开目标应用,清除应用缓存数据,启动采集设备上的流量采集应用,开始采集工作;
(4.4)在目标应用中浏览当前所要采集的内容,浏览完毕后关闭应用;
(4.5)停止流量采集工作,存储当前采集的密文数据文件;
(4.6)如果内容列表中还有未采集的内容,则设置当前待采集内容为下一个未采集内容,进入步骤(4.3),否则采集工作结束;
(5)利用训练好的线性回归模型和神经网络模型,从步骤(4)得到的密文数据中去除TLS协议和HTTP/2协议所附加的头部信息长度,还原出对应的明文长度;本步骤中采用以下公式对密文数据进行长度还原:
ADUlen=TCPloadlen-TLSheaderlen*NTLS-framelen*Nh2
其中,ADUlen为还原后的应用数据长度,即明文数据长度,TCPloadlen为该应用数据传输时的所有TCP负载长度之和,TLSheaderlen为每个TLS片段附加的头部信息长度,NTLS为该应用数据传输时的TLS片段个数,framelen为HTTP/2帧头长度,Nh2为该应用数据在传输时被分装的HTTP/2帧数;
具体的长度还原步骤为:
(5.1)在待还原的密文数据中找到客户端发往服务器端的请求报文,将两个请求报文之间的所有服务器端响应报文作为前一个请求的响应数据,提取出这些响应数据的TCP负载部分;
(5.2)计算响应数据中所有TCP负载数据的长度之和TCPloadlen,并获取这些负载中所包含的TLS片段个数NTLS和各TLS片段信息;根据步骤(2)的线性回归模型中得到的TLS片段的头部信息长度TLSheaderlen,用TCP负载长度之和减去所有TLS片段的附加长度,即可得到所有TLS片段的负载长度之和,即
TLSloadlen=TCPloadlen-TLSheaderlen*NTLS
其中,TLSloadlen是所有TLS片段的负载长度之和,也是所有HTTP/2数据帧的总长度;
(5.3)从各TLS片段长度中减去附加的头部信息长,得到每个TLS片段的负载长度;使用步骤(3)中训练好的卷积神经网络模型计算这些TLS片段中所含有的HTTP/2帧数Nh2;
(5.4)从TLS负载长度中去掉HTTP/2帧头所占的长度,得到还原后的明文数据长度,即:
ADUlen=TLSloadlen-framelen*Nh2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011012391.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电梯门机用电机性能一致性测试装置
- 下一篇:一种企业办公室用资料柜