Page 464 - 《软件学报》2025年第7期
P. 464

吴桦 等: 面向  HTTP/2  流量多路复用特征的加密视频识别方法                                             3385


                 训练阶段, 该阶段利用加密传输数据和明文指纹库中对应的标签, 根据                      TLS  和  HTTP/2  对数据进行加密封装和传
                 输的原理, 依次训练      TLS  修正模型和   HTTP/2  修正模型, 用于修正加密传输数据. 第        2  阶段是利用第    1  阶段训练好
                 的两个修正模型依次对加密视频传输数据进行精确修正还原, 从而构建出加密视频的修正指纹.

                                                         模型训练阶段

                                                            标签                    标签
                        PCAP
                                                流量      TLS 修正       合并       HTTP/2 修正
                     V 1 :                     预处理      模型训练        频繁项        模型训练        V 1 :
                                    训练集
                                                                                           V 2 :
                     V 2 :
                                                                                           V 3 :
                                                流量      TLS 修正       合并       HTTP/2 修正
                     V 3 :                                                                 A 1 :
                                               预处理        模型        频繁项         模型
                                    样本集
                     加密视频传输                                                  加密视频修正        视频明文指纹库
                        数据集                              指纹构建阶段                 指纹

                                               图 5 加密视频修正指纹构建框架

                 5.1   加密视频修正指纹构建基本思路
                    在使用明文指纹识别加密视频内容的过程中, 对加密传输数据还原的准确性直接影响到后续的识别效果, 而
                 干扰还原准确性的因素主要是数据传输时所采用的各种协议封装. 本节将根据音视频数据在实际网络环境中的传
                 输过程, 分析各种协议对所传输数据的影响, 从而确定干扰加密数据长度还原的主要因素, 并提出加密视频修正指
                 纹构建的基本思路.
                    如第  2.1  节所介绍, 基于  HTTP  协议的自适应流媒体技术为实现视频播放过程中的不同视频分辨率的自适应
                 切换, 使用  VBR  算法将视频编码为不同比特率的视频, 并将视频切分为时长相等的若干视频片段, 在实际视频播
                 放过程中, 视频客户端会依据网络环境依次请求不同质量的视频片段和音频片段. 通过在                             Chrome 浏览器开发者
                 界面和代理软件中观察, Facebook       和  Instagram  在实际播放视频时, 客户端会连续请求多个视频和音频片段                 (如
                 图  6  所示), 组合方式包括多个视频、多个音频, 以及多个音频和视频的组合, 这些请求会得到连续传输的响应数
                 据, 为方便后续介绍, 本文将这些连续传输的组合响应数据统称为组合数据单元                         CDU (chunk data unit). 由于使用
                 了多路复用技术, 这些       CDU  中的音频和视频分组加密后被混杂传输, 无法区分, 因此本文将                   CDU  作为一个整体
                 进行长度的修正还原.
                    加密视频修正指纹构建的基本思路是减去                 CDU  在封装过程中增加的控制信息长度. 图             6  为音视频数据
                 CDU  被封装的过程. 在进入网络链路传输时, 音视频数据              CDU  会依次被   HTTP/2、TLS  和  TCP  等协议处理, 进行
                 相应的切分、压缩、加密和填充等操作, 并添加对应的协议头部和控制信息, 以确保                           CDU  的稳定可靠传输. 为了
                 达到加密数据修正还原的目的, 需要从实际传输的负载长度中减去所有被添加的额外控制信息的长度, 可以得到
                 音视频数据    CDU  的修正还原公式为:

                       ]
                      CDU len = TCP_Payload len −TLS _θ len × N TLS − H2_HEADERS _Frame len − H2_Frame_Headers len × N H2  (1)
                      ]
                 其中,  CDU len  代表还原后的音视频    CDU  长度;  TCP_Payload len  代表传输该  CDU  数据的所有  TCP  报文段的有效
                 负载之和;   TLS _θ len  代表单个  TLS  记录在承载传输数据后引入的干扰量的均值, 即单个            TLS  记录对所承载的传输
                 数据的长度干扰值. 由于       TLS  协议具有数据压缩、填充和加密等机制             (压缩机制在     TLS 1.3  中已经被去除), 且会
                 添加  TLS  头部等额外信息, 在未知加密套件及秘钥的情况下无法对负载数据进行还原, 只能通过线性回归的方式
                 来整体评估    TLS  协议在负载数据前后引入的干扰量;            N TLS  表示  TLS  记录的个数;  H2_HEADERS _Frame len  是指
                 HTTP/2  协议中  HEADERS  帧的长度, HTTP/2  协议有首部压缩的机制, 其使用          HPACK  算法对  HTTP  头部数据进
   459   460   461   462   463   464   465   466   467   468   469