基于时隙的多重冗余流指纹模型

文章信息

论文题目:基于时隙的多重冗余流指纹模型
期刊(会议):网络与信息安全学报
时间:2023
级别:CCF C

概述

为确保内生网络流量安全可信,本文在研究流水印及其扩展的流指纹机制的基础上,提出了一种改进型的基于时隙的多重冗余流指纹模型,设计实现了一个基于内核的流指纹原型系统,并阐述了该流指纹模型的应用场景。

相关工作

根据流标记的嵌入位置(或称载 波特征),流水印或流指纹机制可划分为三大类: 基于数据包内容、基于流速率、基于时间。典型 流水印/流指纹载波特征如表1所示。
image.png

指纹模型设计与实现

模型设计

冗余编码:每一比特的指纹都连续重复n次,如当n为3时,0重复为 000,1重复为111,由于数据流在传输过程会遭受自然的抖动或恶意的攻击,所以在接收端提取指纹时,认为连续的两个相同的比特即最终结果,如001、100、000都解码为0,110、011、 111都解码为1。
除了考虑每一比特的冗余外,为了防止重复比特之间的干扰,还可以考虑将整个比特重复r次,如指纹比特若为1001,当r为3时,则编码为1001 1001 1001。

流指纹嵌入过程如图1所示。
image.png

在嵌入端,用随机函数生成指纹序列后,对每一位指纹比特进行处理。在流的时间偏移量起始处,将流的一部分划分为连续的多个相同的时间间隔,依次每3个连续的时间间隔T对应一位指纹比特,操作每3个时间间隔的前两个,实现比特嵌入,如指纹比特为“0”时,只需将第一个时间间隔内的数据包延迟到第二个时间间隔内发送;指纹比特为“1”时,需将第二个时间间隔内的数据包延迟到第3个时间间隔发送。值得注意的是,由于网络中自然的抖动等影响,引入冗余编码r来提高指纹的健壮性。

在提取端,遵循流指纹嵌入方案,按照与发送端相同的时间偏移以及时间间隔划分接收到的流,再比较第一个时间间隔和第二个时间间隔内的数据包数量,如果第一个间隔内的数据包数量大于第二个时间间隔内的数据包,则解码为1,反之应解码为0。

指纹的嵌入和提取步骤可概括为:嵌入端收到流 F i F_{i} Fi,根据该条流的信息用随机函数生成指纹序列 f i f_{i} fi,然后通过操作 F i F_{i} Fi中数据包的发送时间将指纹 f i f_{i} fi嵌入流中。指纹的提取端在收到数据流的第一个数据包开始,记录每个数据包到达的时间,从含有指纹的流 F i ′ F_{i}^{'} Fi中,解码出指纹信息 f i ′ f_{i}^{'} fi,从嵌入指纹 f i f_{i} fi所用的编码时隙中计算得到 Y ˉ r f i ′ \bar{Y}_{r}^{f_{i}^{'}} Yˉrfi的值,将其和0进行比较,得到 Y ˉ r f i ′ \bar{Y}_{r}^{f_{i}^{'}} Yˉrfi为正值表明指纹位是0,若得到负值表明指纹位是1。 Y ˉ r f i ′ \bar{Y}_{r}^{f_{i}^{'}} Yˉrfi表示第二个时隙中数据包数目和3个时间间隔总数据包均值之间的差值在冗余度为r时的均值。

后续通过一些计算表明,增加冗余度r能够提高检测率,以及对恶意干扰(时间延迟干扰、垃圾数据包干扰、丢包干扰)的抵抗能力。

系统实现

指纹系统实现包括应用层和内核层,应用层主要作为交互的界面,进行参数的增加、查询等以及相应流的指纹生成和指纹的冗余编码,内核与应用层之间利用ioctl函数进行交互。流指纹原型系统模块层次如图8所示,具体如下:

  1. 系统初始化:包括设定模块运行模式、初始化参数。
  2. 参数设置模块:流指纹的参数应该在嵌入端和提取端协商共享参数,本文设计时简化了双方的协商,在两端分别设定同样的参数。
  3. 指纹编解码模块:设定参数后,设定不同的运行模式,对流进行指纹的编码和解码。
  4. 数据包管理模块:按照指定的规则对数据包进行捕获,发送给指纹的嵌入/提取模块。
  5. 指纹的嵌入/提取模块:根据生成的指纹序列,更改数据包发送的时间。

image.png

模型评估与应用

模型评估

为对模型进行评估,本文搭建如图9所示的网络拓扑进行实验。用户1、用户2为两个实体笔记本终端,分别运行iperf3软件,从而在两端产生交互的流量以用于流指纹的嵌入和提取;其余路由器节点使用VMware搭建的虚拟节点;各个路由器节点之间运行OSPF路由协议。在接入网关1上实施指纹的嵌入,接入网关2、3上进行指纹的提取。中间路由器R322在实验中利用TC(traffic control)模拟网络中的延迟丢包等干扰行为。
在两个终端上使用iperf3进行TCP流量的传输,用户1是发送端,用户2和用户2’是接收端。iperf3通过不同端口发送10条流,带宽为60 Mbit/s。 在实验评估中,测试了两种场景。场景1中流指纹传递跨越一个路由器(不包含嵌入端和提取端,标记为 R=1),即只在图9中的区域1内传递。场景2中流指纹传递跨越4个路由器(标记为 R=4),即从区域1传递到区域 2。在两种场景下,启用与嵌入提取无关的背景流(用 bf 表示)验证,其中有6条VLC播放器的流,4条SSH流,图9中红色箭头表示背景流和iperf3测试流的混合流。
image.png
得到实验结果如下图所示:
image.pngimage.png

image.pngimage.png

image.pngimage.png

image.png

模型应用

用于检测中间人攻击,如下图所示:
image.png

总结

为了支持内生安全的数据可信,本文在基于流水印/指纹机制研究的基础上,设计了一种基于时隙的多重冗余流指纹模型,并对该模型进行了在网络典型干扰(如丢包、延迟等)环境下的评估,设计实现了一个流指纹原型系统,在系统的内核层进行了指纹的编解码、嵌入和提取,并对本文的流指纹模型系统的应用场景进行了阐述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/218173.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Robots 元标签与 X-Robots 标签

Robots Meta Tag 和 X-Robots-Tag 是两个常用的 HTML 标签,它们对观察机动爬虫和其他网络机器人很有启发性。这些标签可以控制您的网页如何被记录和显示。 什么是机器人元标记? 机器人元标记是一个 HTML 标签,它提供信息来查看电机爬虫和其…

[图片来源BZhan]最小生成树(Prim➕Kruskal)、最短路径(Dijkstra➕Floyd)

文章目录 0.基础知识0.1图的存储结构0.2算法复杂度1.BFS和DFS2.Prim和Kruskal 1.最小生成树1.1Prim算法1.算法思想2.Prim代码实现 1.2Kruskal算法1.算法思想2.Kruskal代码实现[demo] 2.最短路径2.1问题抽象:2.2两种常见的最短路径问题:1.Dijkstra: 单源最短路径O(N^2)2.Floyd: …

c语言刷题12周(1~5)

输入年月日,显示这一天是这一年的第几天,保证输入日期合法。 题干输入年月日,显示这一天是这一年的第几天,保证输入日期合法。输入样例2022 1 1 2022 12 31 2024 12 31 2022 4 5输出样例2022-1 2022-365 2024-366 2022-9…

Unity UGUI的自动布局-LayoutGroup(水平布局)组件

Horizontal Layout Group | Unity UI | 1.0.0 1. 什么是HorizontalLayoutGroup组件? HorizontalLayoutGroup是Unity UGUI中的一种布局组件,用于在水平方向上对子物体进行排列和布局。它可以根据一定的规则自动调整子物体的位置和大小,使它们…

⑧【HyperLoglog】Redis数据类型:HyperLoglog [使用手册]

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Redis HyperLoglog ⑧Redis HyperLoglog基本操…

03_MySQL基本SQL语句讲解

#课程目标 能够创建、删除数据表能够对表里的数据记录进行增加、删除、修改、查询操作能够创建、删除用户能够给用户授权并回收权限了解delete和truncate语句的区别 #一、数据库基本操作 ##1、查看数据库相关信息 mysql> show databases; 查看所有数据库 mysql>…

基于单片机压力传感器MPX4115检测-报警系统proteus仿真+源程序

一、系统方案 1、本设计采用这51单片机作为主控器。 2、MPX4115采集压力值、DS18B20采集温度值送到液晶1602显示。 3、按键设置报警值。 4、蜂鸣器报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 /*********************************…

LED面板显示屏驱动芯片

一、基本概述 TM1638是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU数字接口、数据锁存器、LED驱动、键盘扫描等电路。本产品质量可靠、稳定性好、抗干扰能力强。 二、主要应用场合 主要适用于家电设备(智能热水器、微波炉…

postman自动化运行接口测试用例

做过接口测试的人,应该都知道postman ,我们在日常的时候都可以利用postman做接口测试,我们可以把接口的case保存下来在collection里面,那么可能会有这样的需求,我们怎么把collection的用例放到jenkins中定时执行呢&…

【数据结构实验】排序(一)冒泡排序改进算法 Bubble及其性能分析

文章目录 1. 引言2. 冒泡排序算法原理2.1 传统冒泡排序2.2 改进的冒泡排序 3. 实验内容3.1 实验题目(一)输入要求(二)输出要求 3.2 算法实现 4. 实验结果5. 实验结论 1. 引言 排序算法是计算机科学中一个重要而基础的研究领域&…

模拟退火算法应用——求解二元函数的最小值(极小值)

仅作自己学习使用 一、问题 二、代码 clear clcT1 cputime; xmax 5; xmin -5; ymax 5; ymin -5; L 20; % 马尔科夫链长度 dt 0.998; % 降温系数 S 0.02; % 步长因子 T 200; % 初始温度 TZ 1e-8; % 容差 Tmin 0.01;% 最低温度 P 0; % Metropolis接受…

MATLAB 之 M 文件和程序控制结构(顺序、选择、循环)

文章目录 一、M 文件1. M 文件的建立与打开1.1 建立新的 M 文件1.2 打开已有的 M 文件 2. M 文件的分类 二、 程序控制之顺序结构1. 数据的输入2. 数据的输出3. 程序的暂停 三、程序控制之选择结构1. if 语句2. switch 语句3. try 语句 四、程序控制之循环结构1. for 语句2. wh…