基于同态线性子空间签名的抗万能攻击安全网络编码方法与流程

文档序号:11236593阅读:830来源:国知局
基于同态线性子空间签名的抗万能攻击安全网络编码方法与流程

本发明属于网络安全领域,尤其涉及一种基于同态线性子空间签名的抗万能攻击安全网络编码方法。



背景技术:

近年来,网络安全编码的研究受到较多关注,其目的是设计满足各种安全条件,且能够进行高效的数据传输的线性网络安全编码。从网络传输的角度看,现存的安全网络编码问题主要可以分为两类:第一类问题是传输的信息被敌人窃听(被动攻击),造成一些重要信息的泄露;第二类问题是网络中传输的信息被敌人恶意修改或者伪造(主动攻击),导致信息的原定接收者不能接收到原始信息。并且窃听攻击与污染攻击还有可能出现在同一网络中,具有此种能力的攻击者被称为万能攻击者,它对于网络系统拥有很强的攻击和破坏能力。赵慧等人在k.jain研究的基础上,提出一种安全性定理,并证明了在编码节点处使用伪随机函数更能确保信源消息不被恶意攻击者获取,然而,该算法不具有抗污染攻击的能力,并且需要知道整个网络的拓扑结构,不适宜用于大规模网络或无线网络。jaggi等提出分布式解决方法,该方法可在多项式时间内完成设计。然而,该方法不具有抗窃听能力,并且对于存储空间的需求较大。周亚军等基于子空间,给出了一种安全的纠错网络编码,然而,其在传输过程中需要一条秘密信道,针对万能攻击者,该算法安全性较差。



技术实现要素:

本发明的目的在于提供一种基于同态线性子空间签名的抗万能攻击安全网络编码方法,其可同时兼具抗窃听和污染攻击的能力,且编码可在多项式时间内完成。

本发明的目的通过以下技术方案实现:

基于同态线性子空间签名的抗万能攻击安全网络编码方法,具体包含如下步骤;

步骤1,信源节点对待传输的原始消息向量进行组合编码,进而得到一个新的待传输的消息向量;

步骤2,信源节点对新得到的待传输的消息向量进行加密,将加密后的待传输的消息向量进行网络编码,并将编码后的消息向量组成数据包,进而发送至中继节点;

步骤3,中继节点将收到的同属一个代的数据包进行译码和验证,若通过验证,则判定该原始消息向量在传输过程中既没有被窃听也没有被污染;反之,该数据包将会被丢弃,同时中继节点会要求信源节点重新发送数据包。

作为本发明基于同态线性子空间签名的抗万能攻击安全网络编码方法的进一步优选方案,所述步骤1具体包含如下步骤:

步骤1.1,设定参数m,n,r,q,id,在秘钥分配中心上生成一个(n-r)×n的秘密矩阵s,其中,m,n,r,q分别为素数,且r<n,id为代标识符,并在秘钥分配中心上利用秘钥分配协议通过安全信道为每个验证节点发送一个秘钥ks;

步骤1.2,利用步骤1.1中生成的私密矩阵s构造出一个私密线性方程组:s(x1,x2,...,xr,xr+1,...,xn)t=0,令x1,x2,...,xr=vi1,vi2,...,vir将其代入该私密线性方程组中,得到(ti,r+1,ti,r+2,...,ti,n)=(xr+1,xr+2,...,xn);其中(ti,r+1,ti,r+2,...,ti,n)表示当前代中第i个消息向量vi的n-r个消息认证标签;其中,i和γ为正整数;

步骤1.3,根据步骤1.2依次获取该代中其余待传输的原始消息向量的消息认证标签。

作为本发明基于同态线性子空间签名的抗万能攻击安全网络编码方法的进一步优选方案,所述步骤2具体包含如下步骤:

步骤2.1,通过步骤1.2获取当前代第i个待传输的消息向量其中,并将该代中的前r个消息向量利用流密码加密算法进行加密,并组合得到新的消息矩阵w,其中r<m;

步骤2.2,信源节点在有限域fq上生成一个非零元的且维数为m×m的可逆矩阵a,进而得到加密后的待传输消息向量c;其中,c=a·w;

步骤2.3,将步骤2.2中生成的可逆矩阵a利用流密码加密算法进行加密后与已加密后的待传输消息向量c一起进行打包传输,即

当i=1,2,...,r时,ci*=(e(id,ai1),e(id,ai2),...,e(id,ai,r+1),ci);

当i=r+1,r+2,...,m时,

其中,e(id,ai,r+1)为公共的流密码加密算法,

信源节点将每个传输给中继节点。

作为本发明基于同态线性子空间签名的抗万能攻击安全网络编码方法的进一步优选方案,所述步骤3具体包含如下步骤:

步骤3.1,当中继节点接收到m个合法的属于同一个代id线性独立的数据包wi时,其中,i=1,2,...,m;利用高斯消元法译出ci*,对前r+1个元素进行解密,依次构造出可逆矩阵a,并对可逆矩阵a译码得到消息矩阵w;

步骤3.2,根据消息矩阵w解密得到v1*,将vi*的前r个元素和最后n-r个元素生成一个新矩阵p,并验证ks·p=0,若上式成立,则vi通过抗万能安全网络编码的验证,在传输过程中既没有被污染也没有被窃听,否则,该消息向量将被丢弃,同时中继节点会要求信源节点重新发送数据包。

作为本发明基于同态线性子空间签名的抗万能攻击安全网络编码方法的进一步优选方案,在步骤2.3中,信源节点利用标准随机网络编码协议将每个传输给中继节点。

本发明采用上述信源编码方案以及接收节点能否正确通过安全验证,提出了一种能够抗万能攻击的安全网络编码方案。相比大多数现有的网络编码防御方案只能够针对一类恶意攻击,本发明能够同时防御多类恶意攻击,并且与已有的同类解决方法相比,该方法的优势是需要很少的源秘钥,并且一个中间结点仅需要分配一个秘钥。

附图说明

图1为本发明方法所适用的网络拓扑图;

图2为使用本发明信源节点与中继节点工作流程图;

具体实施方式

为使本发明的目的,技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。但本发明的保护范围不限于下述的实例示例。

本发明所述的基于同态线性子空间签名的抗万能安全网络编码方法关注的是单源多播无环网络,如图1所示,用有限域fq来表示编码域,其中q为一个素数或素数的幂,表示编码域的大小。并且本发明中的原始消息消息将用一个m×n的矩阵来表示,其中vi=(vi1,vi2,...,vin)∈fq(i=1,2,...,m)表示m个待传输的原始消息向量,并且每个原始消息向量中的值均取自于有限域fq。该抗万能攻击安全网络编码方法的信源编码分为两个阶段,如图2所示,第一个阶段为了实现该安全网络编码方法抗污染攻击的功能,采用一种基于同态子空间签名的消息认证方案,也就是在每一个消息向量中加入一定的消息认证编码生成一个新的消息向量。第二个阶段为了实现该安全网络编码方法抗窃听攻击的功能,对第一阶段新生成的消息向量进行加密操作后使其与全局编码向量一起打包传输给中继节点。

信宿或中继结点译码为一个阶段,信宿或中继结点进行抗万能安全网络编码的验证,若通过验证,则代表在传输过程中消息向量既没有被污染也没有被窃听。否则,该消息向量将被丢弃,信宿或者中继节点会要求信源节点重新传输该消息向量。

其中信源编码第一阶段包括如下步骤:

步骤1.1、给定系统参数m,n,q,并在系统原先就存在的秘钥分配中心kdc上生成一个(n-r)×n(r<n)的秘密矩阵s=(s1t,s2t......srt)t=(sij)t其中sij∈fq,这里的si可以通过公共的伪随机函数生成器g:{0,1}*→fq利用一个取自有限域fq的随机种子sdi生成。然后kdc将用于生成私密矩阵的r个秘钥种子sdi通过认证过的加密信道发送给信源。最后kdc通过安全信道为每个非信源验证节点计算并发送一个单独的秘钥其中编码系数βi(i=1,2,3,...,r)均随机取自编码域fq。

步骤1.2、利用步骤a中生成的私密矩阵s构造出一个私密线性方程组:s(x1,x2,...,xr,xr+1,...,xn)t=0,令(x1,x2,...,xr)=(vi1,vi2,...,vir)将其代入该线性方程组中,可以得到(ti,r+1,ti,r+2,...,ti,n)=(xr+1,xr+2,...,xn),其中(ti,r+1,ti,r+2,...,ti,n)表示当前代中第i个消息向量的mac认证标签。并且按照该步骤,可以求出代中其余消息向量的mac认证标签。

步骤1.3,依次按照步骤1.2获取该代中其余待传输的原始消息向量的消息认证标签;

其中信源编码第二阶段包括如下步骤:

步骤2.1、经过步骤b的签名算法后,可以编码组合得到一个新的当前代的第i个待传输的消息向量(该消息向量有2n-r个元素),并将该代中前r(r<m)个消息向量利用一种公共的流密码加密算法e(分组密码)进行随机化加密。对于每一个i∈{1,2,...,r},都有

其中hij和hi,j都是由流加密算法e生成的在有限域fq内随机符号。并得到一个新的消息矩阵w,其中w矩阵的前r个向量是根据流密码加密后的消息向量。

步骤2.2、信源在有限域fq上生成一个用来作为全局编码向量的非零元的维数为m×m的可逆随机矩阵a(m,r)=(a1,a2),其中a1=(aij)(i=1,2,...,m,j=1,2,...,r,aij∈fq),a2是一个如下形式的维数为m×(m-r)的矩阵

其中a2这个矩阵里面的任何元素ai,r+1,ajj(i=1,2,...,r,j=r+1,r+2,...,m)均随机取自fq,其余元素均为0。信源按照下式进行计算

步骤2.3、为了达到防窃听攻击,则步骤2.2中生成的可逆矩阵a要利用流密码加密算法进行加密后与步骤2.2中生成的已加密编码后的消息向量c一起进行打包传输。当i=1,2,...,r时,ci*=(e(id,ai1),e(id,ai2),...,e(id,ai,r+1),ci);

当i=r+1,r+2,...,m时,最后信源将每个利用标准随机网络编码协议将其传输给中继节点。

其中信宿或中继节点译码包括如下步骤:

步骤3.1、当信宿节点或者中继节点接收到m个合法的属于同一个代id线性独立的数据包wi(i=1,2,...,m)时,可利用高斯消元法译出ci*(i=1,2,...,m),然后对的前面r+1个元素进行解密,依次构造出可逆矩阵a,译码表达式为

步骤3.2最后对解密恢复出将vi*(i=1,2,...,m)的前r个元素和最后的n-r个元素生成一个新矩阵p=(v1,v2,...,vr,xr+1,...,xn)t,并验证ks·p=0,若上式成立,则vi通过抗万能安全网络编码的验证,在传输过程中既没有被污染也没有被窃听。否则,该消息向量将被丢弃,信宿或者中继节点会要求信源节点重新传输该消息向量。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1