基于数据包间隔的网络流水印及其检测方法
技术领域
本发明涉及一种基于数据包间隔的网络流水印及其检测方法。
背景技术
随着网络攻击的频度越来越平凡,攻击者采用了很多的方法来隐藏自身的位置,避免被网络监管设备定位。其中普遍被采用的方法之一是采用多跳攻击,即攻击者将自己的攻击网络流量通过一系列的跳板主机进行转发,从而使得被攻击者仅能看到攻击流量来自最后一跳的网络主机,却无法获知真正的攻击者。更有甚者,网络攻击者通过一个匿名P2P网路来转发攻击网络流量,利用匿名网络的天然匿名特性,即使被攻击者想要追踪,也无法入手。为了对这类攻击者进行定位,业界已经普遍采用网络流水印技术来实现定位。网络流水印技术借鉴了多媒体内容的水印技术,通过网络数据包的传输特征来携带水印信息。通过在网络接收端对水印信息进行侦测来确定网络主机之间的通信关系。
现阶段最常用的网络流水印技术包括三种,基于数据包载荷,基于流速率和基于数据包时间。三种方法各有局限性。基于包载荷的方法,需要修改数据包的内容,在加密环境下难以实现。基于流速率的方法,需要大量的数据包来获得速率统计特征,对于存在时间较短的攻击行为无法进行准确分析。基于数据包时间的方法具有需要数据包数量少,不受加密环境影响的优点,因此被广泛采用。
基于数据包时间的网络流水印技术存在的缺陷在于容易受到网络延迟的干扰,一些攻击者已经采用主动添加网络延迟的技术来进一步干扰基于数据包时间的网络流水印技术。Zheng Pan等人提出了基于数据包间隔IPD(Inter Package Delay)的主动网络流水印方法(Zheng Pan,etc.,A Watermarking-based Host Correlation Detection Scheme,2009International Conference on Management of e-Commerce and e-Government),目前来讲是最成熟的主动网络流水印技术。
发明内容
本发明的目的是提供一种基于数据包间隔的网络流水印,能够提高网络流水印的检测能力,提升其作为一种电子证据的说服力,并且能够被用于网络攻击取证。
本发明的目的之二是提供一种上述基于数据包间隔的网络流水印的检测方法。
一种基于数据包间隔的网络流水印,其特别之处在于:在基于数据包间隔的网络流水印算法基础上,对用于嵌入网络流水印的数据包组引入冗余,具体是当需要嵌入m位的网络流水印时,提取2m组数据包,其中相邻的2组数据包用于产生1位网络流水印,相邻2组中的前1组按照基于数据包间隔的网络流水印算法产生1位网络流水印,后1组按照校验规则产生当前网络流水印位的校验信息。
其中校验规则采用m位的2进制校验码来决定每1位网络流水印,即校验码和网络流水印长度相同,1位对应1位,当校验码为0,校验信息位和网络流水印位相同,当校验码为1,校验信息位和网络流水印位相反。
一种基于数据包间隔的网络流水印检测方法,其特别之处在于:
1)将n个数据包分成2m组,其中m表示待嵌入的二进制网络流水印的长度;
2)将2m个组,按照时间先后顺序,每相邻的2组数据包提出用于嵌入网络流水印及其校验信息位;
3)提取2m组中的第1组r个数据包,其中r=4s,按照2s为间隔提取数据包对(p
i,p
i+2s),这样的数据包对一共有2s对,将2s对数据包,随机分成2组,分别记为A组和B组,A组数据包对的平均间隔时间定义为
同样的B组数据包对的平均时间间隔为
然后用
和
的关系来表示网络流水印位,用表示网络流水印的1位,其中k取1到m,则的取值为
如果,、
和
符合上述关系,则该组数据包时间间隔不用调整;如果,不符合上述关系,当=1,但
令
则在A组数据包中,按照如下的方式调整数据包的发送时间:
在B组数据包中,按照如下的方式调整数据包的发送时间:
通过以上的调整,使得、
和
符合公式(1)的关系,从而完成网络流水印的嵌入;
4)提取2m个分组中第2组的r个数据包,其中r=4s,按照2s为间隔提取数据包对(p
i,p
i+2s),这样的数据包对一共有2s对,将2s对数据包,随机分成2组,分别记为A组和B组,A组数据包对的平均间隔时间定义为
同样的B组数据包对的平均时间间隔为
用
和
的关系来表示校验信息位,用h
k来表示第k为校验信息,定义为
其中rk表示预先选定的长度为m的二进制校验码的第k位;
如果,h
k、
和
符合上述关系,则该组数据包时间间隔不用调整;如果不符合上述关系,当h
k=1,但
令
则在A组数据包中,按照如下的方式调整数据包的发送时间:
在B组数据包中,按照如下的方式调整数据包的发送时间:
通过以上的调整,使得h
k、
和
符合公式(2)的关系,从而完成信息校验位的嵌入;
5)重复3)和4)直到嵌入所有2m位的网络流水印和校验信息码;
6)在检测端,恢复所有的m位网络流水印和m位校验信息,利用掌握的校验码和m位校验信息串对恢复后的网络流水印进行校验,通过校验,则继续判别恢复网络流水印和原网络流水印的相似性,无法通过校验,则表明受到的干扰较大,需要进行重传。
本发明在Zheng Pan等人提出的基于数据包间隔的方法基础上,发明了一种带有校验信息的新型网络流水印,可以进一步提高这类网络流水印对抗攻击者主动添加的网络延迟的鲁棒性。本发明通过对用于嵌入和提取网络流水印的数据包引入一定的冗余,并且采用一定的规则进行校验,从而使得网络流水印的嵌入和提取增加了确定性,进一步使该技术能够被用于网络攻击取证。本技术发明的有益效果是,方法简单,网络流水印的嵌入和检测方法采用成熟的技术。同时通过引入冗余,结合校验信息位,确保恢复出的网络流水印的有效性。能够提高网络流水印的检测能力,提升其作为一种电子证据的说服力。
附图说明
附图1为本发明方法的流程图。
具体实施方式
现有的基于数据包间隔的网络流水印算法采用等距算法来提取数据包间隔。假如有N个网络数据包,将其分为m组,每一组用于生成一位网络流水印,这样总共可以生成m位的网络流水印。其中每一组中有r个数据包,根据算法,r应该为4的倍数。令r=4s。在每一个分组中所提取的成对数据包间隔为2s。这样每组可以获得2s对这样的数据包。然后这2s对数据包随机分成A组和B组两个组。通过统计A组和B组中的平均包间隔来嵌入和提取网络流水印。
这种基于一组网络数据包的统计上的平均间隔时间的网络流水印对于抵抗网络自然产生的延迟或者攻击者故意引入的延迟所带来的干扰具有较好的特性,但是仍然会带来一定的误检率。特别是对于网络数字取证工作,往往需要百分之百确信这种关联性才能成为一个合格的电子证据。
本发明通过对用于嵌入和提取网络流水印的数据包引入一定的冗余,并且采用一定的规则进行校验,从而使得网络流水印的嵌入和提取增加了确定性,进一步使该技术能够被用于网络攻击取证。
一种基于数据包间隔的网络流水印,在基于数据包间隔的网络流水印算法基础上,对用于嵌入网络流水印的数据包组引入冗余,具体是当需要嵌入m位的网络流水印时,提取2m组数据包,其中相邻的2组数据包用于产生1位网络流水印,相邻2组中的前1组按照基于数据包间隔的网络流水印算法产生1位网络流水印,后1组按照校验规则产生当前网络流水印位的校验信息。其中校验规则采用m位的2进制校验码来决定每1位网络流水印,即校验码和网络流水印长度相同,1位对应1位,当校验码为0,校验信息位和网络流水印位相同,当校验码为1,校验信息位和网络流水印位相反。
一种基于数据包间隔的网络流水印检测方法,包括如下步骤:
1)将n个数据包分成2m组,其中m表示待嵌入的二进制网络流水印的长度;
2)将2m个组,按照时间先后顺序,每相邻的2组数据包提出用于嵌入网络流水印及其校验信息位;
3)提取2m组中的第1组r个数据包,其中r=4s,按照2s为间隔提取数据包对(p
i,p
i+2s),这样的数据包对一共有2s对。将2s对数据包,随机分成2组,分别叫做A组和B组。A组数据包对的平均间隔时间定义为
同样的B组数据包对的平均时间间隔为
我们用
和
的关系来表示网络流水印位。我们用l
k表示网络流水印的1位,其中k取1到m,则l
k的取值为
假设,、
和
符合上述关系,则该组数据包时间间隔不用调整。假如不符合上述关系,比如l
k=1,但
令
则在A组数据包中,按照如下的方式调整数据包的发送时间
在B组数据包中,按照如下的方式调整数据包的发送时间
通过以上的调整,使得、
和
符合公式(1)的关系,从而完成网络流水印的嵌入。
4)提取2m个分组中第2组的r个数据包,其中r=4s。按照2s为间隔提取数据包对(p
i,p
i+2s),这样的数据包对一共有2s对。将2s对数据包,随机分成2组,分别叫做A组和B组。A组数据包对的平均间隔时间定义为
同样的B组数据包对的平均时间间隔为
这里我们用
和
的关系来表示校验信息位。我们h
k来表示第k为校验信息,定义为
其中rk表示预先选定的长度为m的二进制校验码的第k位。
假设,h
k、
和
符合上述关系,则该组数据包时间间隔不用调整。假如不符合上述关系,比如h
k=1,但
令
则在A组数据包中,按照如下的方式调整数据包的发送时间
在B组数据包中,按照如下的方式调整数据包的发送时间
通过以上的调整,使得h
k、
和
符合公式(2)的关系,从而完成信息校验位的嵌入。
5)重复3)和4)直到嵌入所有2m位的网络流水印和校验信息码。
6)在检测端,恢复所有的m位网络流水印和m位校验信息,利用掌握的校验码和m位校验信息串对恢复后的网络流水印进行校验,通过校验,则继续判别恢复网络流水印和原网络流水印的相似性,无法通过校验,则表明受到的干扰较大,需要进行重传。
在实际操作中,由于基于数据包时间间隔的网络流水印方法所需的数据包数量很少,因此可以一次性多重复操作几次,然后选择通过校验的一组数据来判断网络流水印的存在性。
通过对500组随机选择的网络数据包、网络流水印和校验信息位的实验,本发明的技术方法比原先的基于数据包时间间隔的算法要提升2-4%左右的检测率。具体的实验数据如表1所示。
表1网络流水印检测率比对
网络延迟(ms) |
2 |
4 |
6 |
8 |
10 |
12 |
原IPD方法 |
95.2 |
92.3 |
90.0 |
87.1 |
84.5 |
80.2 |
本发明 |
97.0 |
95.6 |
93.1 |
90.7 |
88.0 |
84.9 |
图1表示一种采用本发明实现网络流水印的系统实现框图。网络数据包缓存区用于存储将要发送的数据包,按照本发明内容嵌入m位网络流水印,应该存储2m组的数据包。在网络数据包间隔时间调制模块中,按照本发明的技术内容,分别调用网络水印码时间间隔调整模块和校验码时间间隔模块对2m组的网络数据包时间进行调整,使得其数据包间隔统计特征符合将要发送的网络流水印码及其校验信息码。在网络流水印提取及检验模块,分别调用网络流水印提取和校验码提取的功能模块。最后基于共享的原始网络流水印和校验码来验证网络主机间的通信关系。