【技术实现步骤摘要】
一种基于压缩短零向量的抵抗网络编码中污染攻击的方法
本专利技术涉及网络通信安全领域,特别涉及一种基于压缩短零向量抗网络编码中污染攻击的方案设计。
技术介绍
网络编码是一种融合了路由和编码的信息交换技术,它的核心思想是在网络中的各个结点上对各条信道上收到的信息进行线性或者非线性的处理,然后转发给下游结点,中间结点扮演着编码器或信号处理器的角色。网络编码主要特征是允许结点对数据包进行编码操作。该思想的提出,引起了学界广泛关注,主要体现在其相较于传统存储转发机制,在吞吐量、数据机密性、数据流的不可追踪性、鲁棒性等性能上的显著优势。目前大多数研究集中于线性网络编码。虽然网络编码的引入能带来很多好处,但如果网络中存在恶意结点发起污染攻击(pollutionattacks),那么,整个系统的各方面性能将会大大下降。污染攻击是主动攻击中的一种,这种攻击方式通常也会被称为干扰攻击(jammingattacks)或拜占庭攻击(byzantineattacks)。这种攻击方式的特点是,恶意结点作为攻击者通过篡改或伪造数据包来生成污染数据包,并将这些污染包传播到网络中,经由其它结点编码达到污染整个系统的目的。正确的数据包和错误的数据包经由合法的结点的编码操作会生成新的污染包,导致污染的扩散。如果不对数据包进行错误检测或纠错,那么宿结点(即,接收结点)将很难解码以恢复原数据。针对污染攻击,已有的方案可大致分为2大类:1.端到端的错误检测与纠错;2.实时污染检测。由于第一大类方案的检测存在滞后性,在攻击者较多或网络较大时无法有效控制污染的扩散,同时会浪费系统带宽及计算资源,所以主要 ...
【技术保护点】
一种基于压缩短零向量的抵抗网络编码中污染攻击的方法,采用网络编码的数据传输系统中包括有源结点、中间结点和宿结点,其特征在于,网络中数据传输的方法包括:(1)源结点向网络分发数据包及验证信息;源结点分发的数据包及验证信息主要通过初始化、生成数据包和用作验证数据的压缩零向量、同态哈希压缩零向量三个子步骤得到;(2)中间结点对收到的包进行检测和编码传输操作;所述收到的包包括数据包形式的包和压缩零向量形式的包,中间结点对收到的数据包及压缩零向量分别进行检测和编码;当收到的包是压缩零向量时,利用同态哈希函数的同态性检测压缩零向量的正确性,如正确则进行保存,不正确则丢弃;当收到的包是数据包形式时,利用向量的正交性质通过该结点已有的通过检测的压缩零向量检测该数据包,若此时本结点并无一通过验证的数据包,则直接检测收到的数据包;若本结点已有通过验证的数据包,则检测该数据包的前m个元素构成的向量和已通过验证的各数据包的前m个元素构成的向量组的线性相关性,m为2到100间的整数,若相关则直接丢弃收到的数据包,若不相关再用该结点已通过验证的压缩零向量检测收到的数据包;如果该结点没有任何通过检测的压缩零向量存在 ...
【技术特征摘要】
1.一种基于压缩短零向量的抵抗网络编码中污染攻击的方法,采用网络编码的数据传输系统中包括有源结点、中间结点和宿结点,其特征在于,网络中数据传输的方法包括:(1)源结点向网络分发数据包及验证信息;源结点分发的数据包及验证信息主要通过初始化、生成数据包和用作验证数据的压缩零向量、同态哈希压缩零向量三个子步骤得到;(2)中间结点对收到的包进行检测和编码传输操作;所述收到的包包括数据包形式的包和压缩零向量形式的包,中间结点对收到的数据包及压缩零向量分别进行检测和编码;当收到的包是压缩零向量时,利用同态哈希函数的同态性验证压缩零向量的正确性,如正确则进行保存,不正确则丢弃;当收到的包是数据包形式时,利用向量的正交性质通过该结点已有的通过验证的压缩零向量检测该数据包,若此时本结点并无一通过验证的数据包,则直接检测收到的数据包;若本结点已有通过验证的数据包,则检测该数据包的前m个元素构成的向量和已通过验证的各数据包的前m个元素构成的向量组的线性相关性,m为2到100间的整数,若相关则直接丢弃收到的数据包,若不相关再用该结点已通过验证的压缩零向量检测收到的数据包;如果该结点没有任何通过验证的压缩零向量存在,则默认该包通过检测;中间结点对正确的数据包及压缩零向量分开进行随机线性网络编码操作,再进行传输;(3)宿结点对收到的包进行检测,检测方法与步骤(2)相同;同时,当收到m个线性无关的通过检测的数据包时,宿结点进行解码操作。2.根据权利要求1所述的基于压缩短零向量的抵抗网络编码中污染攻击的方法,其特征在于:步骤(1)中所述初始化包括:①选定q,m,n,u,seedini的值,其中,q是一个长度大于等于256bit的大素数,用于确定执行随机线性网络编码操作和数据包的检测操作所使用的素数域m和n为正整数,且n远大于m;u为正整数,且满足seedini是伪随机发生器的种子;②生成B,是m个原始数据块组成的m×n的矩阵;③选定伪随机发生器rand1,rand2,并用seedini初始化rand2。3.根据权利要求2所述的基于压缩短零向量的抵抗网络编码中污染攻击的方法,其特征在于:步骤(1)中所述生成数据包和用作验证数据的压缩零向量的方法是:V是数据包构成的m×(m+n)的矩阵,T是验证数据的压缩零向量构成的的矩阵,Seed是包含u个种子的1×u向量:即,在矩阵B前面附加一个m×m的单位阵I,并将新生成的矩阵记作V,处于矩阵V中第i行第j列的元素记作vi,j,处于矩阵V中第i行的向量记作vi,vi即为原始数据包;V'是一个m×(m+n)的矩阵,将其最左侧的m×m子矩阵赋值为单位阵,矩阵中其他元素的取值任意;V'的形式为:处于矩阵V'中第i行第j列的元素记作v′i,j,其中标识为xi,j的元素表示处于矩阵中第i行第j列的元素取值为中的任意值;将矩阵T中最顶部的子矩阵赋值为单位阵,矩阵中其他元素的取值任意;T的形式为:其中标识为x′i,j的元素取值为中的任意值;Sw是一个向量,记录u种位置集合,原数据包中的元素将根据这些位置信息构造在网络中传输的数据包,网络中传输的数据包中的元素将根据这些位置信息参与验证,对于对于生成m×(m+|Sw|)的矩阵Pw,其中|Sw|表示向量Sw的长度,即Sw所含的元素个数;针对每个矩阵Pw,将Pw中的第k列赋值为V中的第Sw,k列,Sw,k表示Sw中的第k个元素的值,Pw的形式为:以下十一步操作使各Pw满秩化,并生成矩阵T;对于Pw,第一步,将m×m的矩阵T1赋值为Pw最右侧的m×m子矩阵;T1的形式为:第二步,m×m的矩阵T2等于T1;第三步,seed=Inf,选取Inf为不在rand2的输出范围中的一个数;第四步,如果T2满秩,则执行操作第五步;如果T2不满秩,执行操作seed=rand2(),srand1(seed),srand1(seed)表示以seed作为种子生成一个随机数,并且对于T2中的每个元素T2[i,j],T2[i,j]表示位于T2中第i行第j列的元素,执行操作该加法是有限域上的加法,其中,T1[i,j]表示位于T1中第i行第j列的元素,最后继续执行操作第四步;第五步,更新V';对于将Pw中的第k列赋值给V'中的第Sw,k列;对于将T2中的第k-|Sw|+m列赋值给V'中的第Sw,k列;第六步,Seed[k]=seed,其中Seed[k]表示Seed中的第k个元素;第七步,P′w是一个m×|Sw|的矩阵;将Pw中的前|Sw|-m列赋值给P′w的前|Sw|-m列,将T2中的m列赋值给P′w剩下的m列;即P′w的形式为:第八步,T3是一个|Sw|×(|Sw|-m)的矩阵;求解得到中的|Sw|-m个基向量;将T3中|Sw|-m个列向量赋值为|Sw|-m个基向量;第九步,通过高斯消元法对T3做列变换,使得T3的顶部的(|Sw|-m)×(|Sw|-m)子矩阵成为单位阵;第十步,如果nmodu≠0且w≤u-nmodu,则对T3做列填充,即,在T3的最左侧填充一个全部元素为零的列向量,使得T3=[0,T3];第十一步,对于将T3中的第行赋值给T中的第行;最后,将V'赋值给V,所得的V即为源结点将分发的数据包所构成的矩阵。4.根据权利要求3所述的基于压缩短零向量的抵抗网络编码中污染攻击的方法,其特征在于:步骤...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。