1.一种利用信息熵和哈希函数进行网络数据流零水印提取的方法,其特征在于,包括:在发送端原始流量中,通过对数据流按时间进行分片,统计数据包大小的分布情况并计算香农熵,利用哈希函数对其进行零水印的提取;在接收端,利用同样的方法再次对接收到的流量进行零水印提取;通过对两端提取的零水印的比较来确认发送端和接收端是否存在明显的网络通信关系;
所述网络数据流零水印的提取的步骤为:
A1、获得发送端的原始数据流t,选取合适的偏移量o,按照一定的时间片大小T对数据流进行分片,得到l个时间片;
A2、在每一个时间片大小内,统计数据包大小的分布状况;计算每个时间间隔内,不同包大小出现的次数Nij(i△t);
A3、计算每个时间间隔内,不同大小包出现的概率:
sum
Pij(i△t)=Nij(i△t)/∑ j=1Nij(i△t)其中,Nij(i△t)代表第i个时间间隔内,不同大小的包出现的次数;∑sumj=1Nij(i△t)代表同一时间间隔内,不同大小的包出现的总次数,sum代表该时间间隔内不同大小包的和;
A4、以随机变量X代表每个时间间隔中不同大小包的取值情况,利用香浓公式,计算各个时间片内的香农熵:H(X)’=-∑nj=1p(xj)logp(xj)p(xj)代表随机变量中某一特定值时的概率;
A5、对信息熵H(X)’进行量化处理:
H(X)=H(X)’*a
其中,a是量化单位;
A6、输入一组秘钥Key,与量化后的香农熵H(X)进行哈希,得到所需的水印:Wi=HASH(Keyi,H(Xi))
其中,Wi是最终要求的水印,也是该数据流的特征量,Keyi是第i个秘钥,H(Xi)是第i个时间片的熵,HASH()是求水印所需的哈希函数。
2.根据权利要求1所述的一种利用信息熵和哈希函数进行网络数据流零水印提取的方法,其特征在于:在发送端的边界路由收集来自发送端的数据流信息,对其进行零水印的提取,并将提取的零水印W及提取参数转存到第三方代理。
3.根据权利要求2所述的一种利用信息熵和哈希函数进行网络数据流零水印提取的方法,其特征在于:在接收端的边界路由收集发送给接收端的数据流信息,从第三方代理获得零水印提取所需的各种参数,利用零水印的提取的步骤提取接收端接收的数据流所携带的零水印W’,并发送到第三方代理;由第三方代理比较发送端和接收端的零水印是否相同。
4.一种进行IP回溯的方法,基于权利要求1至3中任意一项所述的利用信息熵和哈希函数进行网络数据流零水印提取的方法,其特征在于:包括如下步骤:B1、在被攻击方,首先利用网络流零水印,确定攻击流来自于边界路由;
B2、使用零水印提取和网络通信关系确认的方法确认攻击流流经的上一个路由的位置;
B3、重复步骤B2直到将攻击流锁定在某一特定局域网内;
B4、当锁定某一路由器或局域网时,按照零水印提取的方法来确定攻击流流经的主机路线,最终将攻击源锁定在某台或某几台物理机上,以此实现IP回溯。