一种基于数字签名的防污染网络编码方法
【专利摘要】本发明涉及网络编码领域,特别是一种基于数字签名的防污染网络编码方法。该方法结合网络编码和同态签名哈希函数两者的优势提出了一个基于数字签名的网络编码方法,在该方法中,源节点利用Schnorr签名对发送的扩展消息进行签名,中间节点对收到的消息进行签名转发,目的节点对接收的消息进行解码并且验证是否被篡改。若被篡改,则通过发送该消息的节点ID标识进行定位,并且删除网络中的污染节点。本方法不仅能够在较低的计算量下抵抗污染攻击和窃听攻击,而且能有效地确定出污染攻击源的位置,从而降低污染攻击对网络造成的影响并提升网络的健壮性。
【专利说明】一种基于数字签名的防污染网络编码方法
【技术领域】
[0001]本发明涉及网络编码领域,特别涉及一种基于数字签名的防污染网络编码方法。【背景技术】
[0002]2000年Ahlswede等首次提出了网络编码理论,与传统单一的存储转发路由功能不同的是:它允许中间节点在转发数据消息之前对来自不同链路上的消息数据进行编码,进而提高网络的吞吐量和鲁棒性。由于网络编码在提高网络吞吐量、减少时延、改善负载均衡、节省节点能耗和增强网络鲁棒性等方面均显示出其优越性,所以其可广泛应用于AdHoc网络、传感器网络、P2P内容分发和网络安全等领域。但同时也带来了不可忽视的安全问题,如污染攻击。
[0003]污染攻击是网络编码安全领域的热点研究问题,由于网络编码中的每一个节点不仅具有路由功能而且具有编码功能,如果某个中间节点被敌手捕获利用,并向网络中注入恶意的数据包,由于网络编码是要对信息进行编码混合操作,那么经过它所编码转发的数据包会进一步地转发到其它的下游节点进行编码混合,因此攻击者只需要注入少量的恶意数据包就可以达到污染全局的目的。在网络编码的网络环境下,此类攻击完全可以导致污染像瘟疫一样在网络中蔓延,具有很大的破坏性。目前基于密码学的方案在抵抗污染攻击中得到了较好的应用。基于同型哈希函数的机制,让源节点为每一个原始的数据包计算哈希值,并通过可靠信道传输到各中间节点。由于其具有同态的性质,所以中间节点可以独立地计算出哈希值,进而达到验证的目的。但同时存在着计算量大的缺点。最近研究学者提出了一种改进的基于同态哈希函数的方案, 该方案通过增加一条额外的安全信道用来传输原始消息的哈希值,实现了中间节点对信源节点发送的消息进行完整性验证功能,从而判断网络中的消息是否被篡改。以往的方法都可以较好检测污染攻击,但是很难定位被污染的节点,因而性能上存在着缺陷。
[0004]因此,针对污染攻击中的攻击者位置定位问题,提出一种降低污染攻击对网络造成的影响并提升网络的健壮性的方法已成为本领域技术人员亟待解决的技术课题。
【发明内容】
[0005]本发明要解决的技术问题是提供一种无线网络中基于数字签名的防污染网络编码方法,该方法基于Schnorr签名的计算量小,速度快等优点,提出了一种防污染的网络编码方法,并且能定位出攻击者位置。
[0006]本发明采用以下方案实现:一种基于数字签名的防污染网络编码方法,其特征在于包括以下步骤:
[0007](I)建立签名算法(Sch NC)参数:由源节点和一个可信的第三方节点TAN (TrustAuthentication Node)完成,首先它们共同协商选择一个大素数/K/P > 21024, q >
2160, q| (p-1);生成一个g, geZ〗,是一个本原元,且满足gq = I (modp);[0008](2)源节点和中间节点分别使用signV(SK,v/ , kt)和signU(SK,u',kid)作为签名输入函数,(Vi',(CilCli))和(u',(cid, did), id)作为签名输出函数,完成对源节点和中间节点的签名算法;
[0009](3)接收节点对收到的消息签名进行验证,如果验证通过,则节点接收签名和消息,否则拒绝。
[0010]所述步骤I)中源节点和中间节点分别选择一个大素数,建立签名算法(Sch NC)参数,具体过程为:
[0011](1&)源节点选择一个参数1,0<1<^/-1^2;;,作为源节点签名的私钥。并计算:
[0012]y = g_xmod p。
[0013],计算:尺=g~(mod;7),其中每个Ici是源节点为每一个件
块建立的系统秘密参数。然后计算:
[0014]Ci = H (Ri, V11 , y), (Ii = (kj+Cjx) (modq),
[0015]最后生成消息-签名对:(v/ , (ci; (Ii))
[0016](Ib)中间节点随机选择A eZ;,i表示第i个中间节点。计算:yt =gx'(^odp)。
[0017]设Aw e <—!,/ =,先计算:Rid (modp),其中每个kid是源节点为每一
个中间节点建立的系统秘密参数,i表示第i个中间节点。再计算:
[0018]cid = H (Rid, u' , Yi), did = (kid+cidXi) (modq),
[0019]最后生成消息-签名对:(u',(cid,did))
[0020]所述的中间节点,每个都有一个唯一的标识身份id G {0,I}*。私钥SK = (x,Xi))为签名私钥,PK = (p,q, g, Yi, H)为公钥。由TAN公开参数{PK, H,id, k” kid}。
[0021]所述步骤2)中,源节点和中间节点的签名算法如下:
[0022](2a)源节点计算签名:Ri = gk: (mod p) ,Ci = H (Ri, Vi ' ,j), Ai= (kj+Cjx)(modq),源节点输出签名后的消息:(v/,(Ci, (Ii))
[0023]中间节点对接收到的消息做线形编码组合:
【权利要求】
1.一种基于数字签名的防污染网络编码方法,其特征在于包括以下步骤: 1)建立签名算法参数:由源节点和一个可信的第三方节点TAN完成,首先它们共同协商选择一个大素数p'qeZ;Y> 21024, q > 216°’ q | (p_l);生成一个g,g e 是一个本原元,且满足 gq = I (modp); 2)源节点和中间节点分别使用signV(SK,v/,10和signU(SK,u',kid)作为签名输入函数,(Vi',(CilCli))和(u',(cid, did), id)作为签名输出函数,完成对源节点和中间节点的签名算法; 3)接收节点对收到的消息签名进行验证,如果验证通过,则节点接收签名和消息,否则拒绝。
2.根据权利要求1所述的一种基于数字签名的防污染网络编码方法,其特征在于:所述步骤I)中源节点和中间节点分别选择一个大素数,建立签名算法参数,具体过程为: (Ia)源节点选择一个参数x,0<x<q-1,.V e Z;,作为源节点签名的私钥,并计算: y = g_xmodp,设A eZ-—= 1,2,…,' 计算:Ri = f (mod"),其中每个ki是源节点为每一个文件块建立的系统秘密参数,然后计算:
Ci = H (Ri, v/ , y), (Ii = (^+CiX) (modq), 最后生成消息-签名对:(v/,(C^di)); (Ib)中间节点随机选择巧^ zI ^ i表示第i个中间节点,并计算:= gx (mod p),设Kd £4—13_ = 1,2,...,1先计算:Rid = #(modp),其中每个kid是源节点为每一个中间节点建立的系统秘密参数,i表示第i个中间节点,再计算:
Cid — H (Rid, u , Yi)? did — (kjjj+Cj^Xj) (modq), 最后生成消息-签名对:(u',(cid, did))。
3.根据权利要求2所述的一种基于数字签名的防污染网络编码方法,其特征在于:所述的中间节点每个都有一个唯一的标识身份id e {0,1}%私钥SK= (xi,x))为签名私钥,PK = (p,q, g, Yi, H)为公钥,并由 TAN 公开参数{PK, H,id, ki; kid}。
4.根据权利要求1所述的一种基于数字签名的防污染网络编码方法,其特征在于:所述步骤2)中源节点和中间节点的签名算法,具体如下:
(2a)源节点计算签名:Ri = g1'' (mod p) f Ci = H (Ri, Vi' , y), (Ii = (VciX) (modq),源节点输出签名后的消息:(Vi',(Cpdi)),中间节点对接收到的消息做线形编码组合:
5.根据权利要求1所述的一种基于数字签名的防污染网络编码方,其特征在于:所述步骤3)中接收节点对收到的消息签名进行验证,只需判断Cid是否等于
【文档编号】H04L9/32GK103746813SQ201410017184
【公开日】2014年4月23日 申请日期:2014年1月15日 优先权日:2014年1月15日
【发明者】许力, 周赵斌, 黄欣沂, 李世唐, 罗晓晴 申请人:福建师范大学