一种面向流量测试的网络流水印标记和溯源方法

文档序号:9435895阅读:631来源:国知局
一种面向流量测试的网络流水印标记和溯源方法
【技术领域】
[0001] 本发明涉及一种面向流量测试的网络流水印标记和溯源方法,属于网络安全技术 领域。
【背景技术】
[0002] 在大型网络系统正式发布之前,通常使用网络测试床对其性能进行全方位的评 估。随着云计算的出现,网络测试床需要支持大规模用户进行在线测试,这给网络测试床的 性能和功能提出了更多的要求。首先,用户希望实现测试流量的溯源功能,因为在很多测试 用例中,测试流量与用户没有建立关联会导致测试床无法获知测试流量的发起者。其次,用 户想要将某些信息附着在测试流量中。
[0003] 然而,传统的网络测试床在设计和实现的时候,重点都放在真实的流量模拟和网 络环境控制等方面,很少考虑对测试流量进行标记和溯源以实现上述功能。传统的方法,例 如在数据包中加入这些信息会带来额外开销,不仅如此,若直接将这些信息放在数据包中, 一方面在公共网络测试环境下缺乏安全性,另一方面,数据包的空间有限导致可容纳的信 息有限。
[0004] 在实际的网络流量测试中,测试流量的来源是各种各样的,它们的源信息和其他 一些测试信息对于整体的测试过程是十分关键的,因此需要一种有效的对测试流量进行标 记和溯源的方法来进行高效的效果验证。

【发明内容】

[0005] 针对现有技术中存在的无法有效解决对测试流量进行标记和溯源的问题,本发明 提出了一种面向流量测试的网络流水印标记和溯源的方法。
[0006] 本发明在生成测试流量时,首先把水印内容转换成0-1比特序列,然后将0-1比特 序列转换成流中数据包发送的时间间隔从而实现对流量的标记。当接收测试流量时,该方 法通过将流中数据包的时间间隔转换成0-1比特序列,进而获取对应的水印内容,从而实 现有效的对测试流量的溯源。
[0007] 本发明涉及的一些具体概念如下:
[0008] 非盲参数:接受、发送两方事先协商好并知道其具体数值的参数。
[0009] 数据流中一组自然时间段山=[o+iT,o+(i+l)T],i= 0, 1,…,N,其中T表示时 间段长度,〇是数据流的起始时间。
[0010] 包模式乃…卜其中PiSIi内对应的数据包时间分布,CSi表示数据包 的个数。
[0011] map( ?):私有映射,可以将任意字符串转化为0-1比特序列。
[0012]Sblt:Sblt=map(S) ={b|b= 0, 1},字符串S的 0-1 比特序列的形式。
[0013] map( ?)的逆:map1 (Sblt) =S
[0014] Ls:字符串长度。
[0015] LH:固定的头部长度,限制了字符串长度的最大值。
[0016] 字符串长度信息:H= {buh,…,btH},字符串长度Ls的二进制表示,也是一个比特 序列。
[0017] 伪时间戳:厂H= /~味⑷)==妁办,…,其中lpts为固定长度,《是标记方当 前时间,Hash()是哈希函数。
[0018] 水印内容:DSraw=PTS| |H| |Sblt,其中| |表示连接算符。
[0019]头部f目息长度:Lhead=LPTS+LH
[0020] 字符串长度信息置换函数:t(/?) = ||/K|| /gmocU〃,其中h表示原 字符串长度比特位置,< 表示H中比特1的数量,Kt是安全密钥,Hash( ?)是一个安全哈 希函数。
[0021] 字符串比特序列置换函数:T⑶=//-斤1^||/||61丨&)010(11^,其中j表示原 字符串比特序列位置,%表示Sblt中比特1的数量,Kt是安全密钥,Hash(_)是一个安全 哈希函数。
[0022] 经过置换函数变换之后的字符串比特序列:S"
[0023] 尖角符号(图5右边字母上方的尖角符号):代表接收方还原的信息,可能与发送 方发出时的信息不同。
[0024] 最终被标记的水印内容:DSW=PST| |H" | |S",其中| |表示连接算符。
[0025] 区块:将时间段L分成R个子段/:,r= 1,…,R,每个子段(称作一个区块,其中 R是区块数量。
[0026] 区块号:给定时间^显然可以得到该时间所处的区块号彳 〇
[0027] 区块位图:将每个区块按照一定规则赋予一个属性值0或1,一个记录每个子段属 性值的字典称为区块位图,记为M,其中所有属性值为0的区块集合记为M。,相应的,属性值 为1的集合记为吣。
[0028] 口。和?1:时间段11中,存在包模式乃={?,...,4,卜则有:
[0029]
[0030] 其中1( ?)是二值化符号,如果括号内条件为真,其值为1,为假则为0。
[0031] 包模式到比特的转换函数
小写的Pc、Pl分别表示比特〇和 1对应的包模式。
[0032] 比特到包模式的转换函数:
[0033] 区块选择函数:
rand( ?)表示从对应区块集合中随机 选择一个区块。
[0034]a:时间刻度参数。
[0035] 单个数据包时间
其中:rand( ?]表示从 左开右闭区间中随机选择一个数值。
[0036] 7tC印时间序列:即所有时间段内的包樟式
[0037]
?L.he'ad'L.S
[0038]PS":满足条件A^(I^rf+4)x;£GS,的标记方按照Seq.中的时间序列发送的 数据流PS= {pt。,ph,…,ptN}。
[0039] 数据包时间选择函数
其中nowtime表示当前时 间。
[0040] 本发明提供的一种面向流量测试的网络流水印标记和溯源方法,该方法的处理步 骤如下
[0041] 标记过程:其流程如图3所示。
[0042] 步骤1 :将被标记的信息S通过私有映射map()转化为0-1比特序列,并得到长度 为1^的字符串比特序列Sblt;
[0043] 步骤2:将字符串比特序列长度的值Ls转化为LH位的二进制比特序列H;
[0044] 步骤3:得到系统当前时间的安全哈希值PTS;
[0045] 步骤4 :得到字符串比特序列Sblt和二进制比特序列H中比特1的个数g神
[0046] 步骤5 :对Sbl^H使用置换函数Jr(h)和Jr(j)得到位置变换后的比特序列S" 和H";
[0047] 步骤6:合成待标记的水印比特序列DSW=PTS| |H" | |S";
[0048] 步骤7:对于待标记的水印比特序列DSW中的每一位比特bi,生成其对应的包模式 Pi,其包模式内的CS^时间值4位于从该比特bi对应的区块集合中随机选择的区块,其具 体数值为被选中区块范围内的随机值的二分之一;最终得到一组时间序列Seq.;
[0049] 图2(a)、2(b)、2(c)为包模式的表示与识别示意图,其中图2(a)为L内时间分布 表示P1=p。;图2 (b)为Ii内时间分布表示Pp1;图2 (c)为相邻的两个时间段IJPI1+1 代表Pi=P:和Pi+1=P。;
[0050] 步骤8:判断此时需要被标记的数据流PS中数据包的个数,如果小于时间序列 Seq.的长度,则返回错误,否则继续下面的步骤;
[0051] 步骤9:对于数据流PS中的第一个数据包,将其发送时间设置为标记方当前的时 间,剩余数据包的发送时间按照时间序列Seq.进行设置,最终得到含有水印的数据流PS";
[0052] 步骤10:标记方将被标记好的数据流PSW发送,完成整个标记过程。
[0053] 溯源过程:其流程如图4所示。
[0054] 步骤1 :溯源方记录下捕获的数据流中第一个数据包的到达时间〇,以及之后的数 据包到达时间;
[0055] 步骤2 :将之后数据包的到达时间转化为与〇的相对时间,从而达到与标识方的相 对同步,如图1所示;之后溯源方得到相对时间序列Seq.;
[0056] 步骤3:在前Lhead个时间段中,每个时间段内数据包落入哪个区块集合的数量占 优,那么这个区块集合的属性值就是该时间段内包模式所表示的比特值,依次计算每个时 间段内的包模式对应的比特值,得到头部信息的比特流;
[0057] 步骤4:提取头部信息比特流中的前LPTS个字节得到伪时间戳PTS,剩余的LH比特 为经过置换的乱序字符串长度信息H";
[0058] 步骤5:根据置换函数Jr (h)将H"还原为正序的字符串长度信息H,将其转化为十 进制数,从而计算出字符串长度Ls;
[0059] 步骤6 :在前Lhead个时间段之后Ls个时间段中,重复步骤2,得到经过置换的乱序 的字符串比特序列S";
[0060] 步骤7:根据置换函数31 (1)将S"还原为正序的字符串比特序列Sblt;
[0061]步骤8 :根据据私有映射map()的逆map1 ()将字符串比特序列Sblt还原为字符串 信息S,完成整个溯源过程。
[0062] 与现有技术相比,本发明的有益效果如下:
[0063] 1.首次将流水印技术应用到流量测试领域当中;
[0064] 2.将0-1比特信息与基于时间间隔的流水印结合起来,可以达到标记任意信息的 目的;
[0065] 3.将时间戳与哈希置换结合起来,大大提高的流水印的安全性和隐私性。
【附图说明】
[0066] 图1为标记方和溯源方的相对同步示意图。
[0067] 图2 (a)、图2 (b)、图2 (c)为包模式的表示与识别示意图。
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1