一种基于背包体制的安全网络编码数据传输方法.pdf

上传人:奻奴 文档编号:4308792 上传时间:2018-09-13 格式:PDF 页数:11 大小:501.43KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210098308.5

申请日:

2012.04.05

公开号:

CN102611557A

公开日:

2012.07.25

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 9/32申请日:20120405授权公告日:20141203终止日期:20170405|||授权|||实质审查的生效IPC(主分类):H04L 9/32申请日:20120405|||公开

IPC分类号:

H04L9/32; H04L9/08; H04L1/00

主分类号:

H04L9/32

申请人:

电子科技大学

发明人:

陈洋; 冯钢; 周亮; 秦智

地址:

611731 四川省成都市高新区(西区)西源大道2006号

优先权:

专利代理机构:

电子科技大学专利中心 51203

代理人:

李明光

PDF下载: PDF下载
内容摘要

本发明提供一种基于背包体制的安全网络编码数据传输方法,利用背包体制为每个数据包生成安全的网络编码系数,将数据包所经过的路径标志序列进行背包加密,将加密后形成的密文作为对应数据包参与网络编码的系数,接收节点收到编码数据包后,不仅可以用密文进行编码数据包的解码,还能通过解密密文得到数据包传输的路径信息来验证数据来源的真实性以及判断数据包是否按正常路由传输,从而有效避免了数据污染和数据窃听的问题,不仅不影响网络编码带来的增益,还解决了采用网络编码带来的数据污染和数据窃听问题。

权利要求书

1.一种基于背包体制的安全网络编码数据传输方法,其特征在于,包括以下步骤:预处理步骤:为网络中每个节点配置本地节点ID、由路由协议确定的上一跳节点的节点ID以及用于背包加密的私钥,并且预设各节点ID与路径标志序列中各元素的对应关系,所述路径标志序列中元素总数为网络中节点总数;数据初始发送步骤:当节点为数据包的起始发送节点时,该节点先为每个数据包生成路径标志序列,将该起始发送节点ID对应在路径标志序列中的元素设置为1,其余元素为0;再构造背包加密的公钥,使用所述公钥加密路径标志序列得到该数据包参与网络编码的安全网络编码系数;将本地生成的数据包附上安全网络编码系数与偷听到的数据包一起进行网络编码生成编码数据包后发送;数据接收步骤:当节点接收到编码数据包后,从编码数据包中提取安全网络编码系数,使用本地的私钥解密安全网络编码系数,如能成功解密得到路径标志序列,且该节点的上一跳节点的节点ID对应在路径标志序列中的元素为1,则表明数据由可信任节点发出,利用安全网络编码系数解码编码数据包,存储解码得到的数据包,当接收节点不是目的节点时,还进入数据转发步骤;数据转发步骤:当节点为数据包的中间节点时,更新从接收到的数据包上恢复的路径标志序列,将该中间发送节点ID对应在路径标志序列中的元素更新为1;再构造背包加密的公钥,使用所述公钥加密路径标志序列得到数据包参与下次网络编码的安全网络编码系数;最后将本地接收的数据包附上对应的安全网络编码系数与偷听到的数据包一起进行网络生成编码数据包后发送。2.如权利要求1所述一种基于背包体制的安全网络编码数据传输方法,其特征在于,所述背包加密为加法背包加密或乘法背包加密。3.如权利要求2所述一种基于一种基于背包体制的安全网络编码数据传输方法,其特征在于,使用背包加密时,背包加密的私钥包括非超递增序列A和模数P,其中,A=(a1,a2,......,an),模数n为网络中的节点总数。4.如权利要求3所述一种基于背包体制的安全网络编码数据传输方法,其特征在于,所述非超递增序列为无冲突递增序列。5.如权利要求4所述一种基于背包体制的安全网络编码数据传输方法,其特征在于,构造背包加密的公钥的具体方法是:随机产生长度为n的正整数序列C=(c1,c2,......,cn),根据无冲突非超递增序列A=(a1,a2,......,an),模数P以及随机序列C构造公钥B=(b1,b2,......,bn),其中bi=ai+Pci(i=1,2,......,n);使用所述公钥加密数据包的路径标志序列得到该数据包的安全网络编码系数的具体方法是:安全网络编码系数解密安全网络编码系数得到对应数据包的路径标志序列的具体方法是:先对安全网络编码系数s进行模运算,得到模运算结果s′,s′=s(modP),再对将模运算结果s′与无冲突非超递增序列A中元素从an开始逐一进行判断,并逐一得到路径标志序列中的各元素,不断更新模运算结果s′的值:当模运算结果s′满足大于等于无冲突非超递增序列元素ai,或者模运算结果s′减去无冲突非超递增序列元素ai的差值大于a1时,将模运算结果s′减去无冲突非超递增序列元素ai的差值重新赋值给s′,并恢复ei为1,否则,保持当前的模运算结果s′,并恢复ei为0;之后,更新i为i-1,返回进行判断,直至i=1,恢复路径标志序列E=(e1,e2,......,en)。

说明书

一种基于背包体制的安全网络编码数据传输方法

技术领域

本发明涉及网络编码数据传输技术、以及背包加密技术。

背景技术

为提高无线传感器网络的吞吐量,保证数据传输可靠性,许多研究者提出在无线传感器
网络中使用网络编码技术。研究表明采用网络编码后,网络吞吐量和数据传输可靠性确实得
到了一定程度提升。

但由于无线传感器网络自身的特点,直接使用网络编码将带来很多安全问题。网络编码
方案需要中间转发节点将多个原始符号进行线性组合,形成一个编码包发送出去,这将带来
数据污染、数据窃听两类安全问题。

当中间转发节点进行网络编码时,攻击者损坏节点并注入新信息,中间节点将虚假信息
与可靠数据编码到一起形成新的编码包。受攻击的节点发出一个被污染的数据包,并进一步
影响到其他正常节点,造成污染数据包在网络中像瘟疫一样蔓延。目前抗数据包污染的一个
解决方案是使用异步高效率线性校验码,但这种技术严重影响吞吐量,减小了网络编码带来
的增益。

采用网络编码带来的另一个安全隐患是数据窃听。网络编码充分利用了无线传输的广播
特性,节点除了接收发给自己的数据包外,还要侦听邻居发往其他节点的数据包,将正常收
到的原始符号和偷听到的原始符号线性组合成编码包发送。这样,偷听来的数据包没有按确
定路由发送,很难确认数据包来源的可靠性,这个弱点极易被攻击节点利用。攻击节点偷听
到数据包后,修改数据包中携带的路由信息并以较大功率发出,让数据包反向传输到网络边
缘,增大数据传输延时甚至造成数据丢失。

如何在不影响网络编码增益的前提下,保证网络数据传输安全性是一个有待解决的问题。

发明内容

本发明要解决的技术问题是提供一种既不影响网络编码带来的增益,又能保证数据安全
性的,基于背包体制的安全网络编码数据传输方法。

本发明为解决上述技术问题所采用的技术方案是,一种基于背包体制的安全网络编码数
据传输方法,利用背包体制为每个数据包生成安全的网络编码系数,包括以下步骤:

预处理步骤:为网络中每个节点配置本地节点ID、由路由协议确定的上一跳节点的节点
ID以及用于背包加密的私钥,并且预设各节点ID与路径标志序列中各元素的对应关系,所
述路径标志序列中元素总数为网络中节点总数;

数据初始发送步骤:当节点为数据包的起始发送节点时,为数据包生成路径标志序列,
将该起始发送节点ID对应在路径标志序列中的元素设置为1,其余元素为0;再构造背包加
密的公钥,使用所述公钥加密路径标志序列得到该数据包参与网络编码的安全网络编码系数;
将本地生成的数据包附上安全网络编码系数与偷听到的数据包一起进行网络编码生成编码数
据包后发送;数据包对应的路径标志序列一旦产生,将伴随数据包整个传输过程,数据包每
经过一个节点,该节点在路径标志序列中对应的元素就被置1;

数据接收步骤:当节点接收到编码数据包后,从编码数据包中提取安全网络编码系数,
使用本地的私钥解密安全网络编码系数,如能成功解密得到路径标志序列,且该节点的上一
跳节点的节点ID对应在路径标志序列中的元素为1,则表明数据由可信任节点发出,解码编
码包并存储解码得到的数据包,当接收节点不是目的节点时,还进入数据转发步骤;

数据转发步骤:当节点为数据包的中间节点时,更新从接收到的数据包上恢复的路径标
志序列,将该中间发送节点ID对应在路径标志序列中的元素更新为1;再构造背包加密的公
钥,使用所述公钥加密路径标志序列得到数据包参与下次网络编码的安全网络编码系数;最
后将本地接收的数据包附上对应的安全网络编码系数与偷听到的数据包一起进行网络生成编
码数据包后发送。

具体的,所述背包加密为加法背包加密或乘法背包加密。

具体的,使用加法背包加密时,背包加密的私钥包括非超递增序列A和模数P,其中,
A=(a1,a2,......,an),n为网络中的节点总数。

进一步的,为了提高背包加密的安全性,所采用的非超递增序列为无冲突递增序列。

本发明的有益效果是,将数据包所经过的路径标志序列进行背包加密,将加密后形成的
密文作为对应数据包参与网络编码的系数,接收节点收到编码数据包后,不仅可以用密文进
行编码数据包的解码,还能通过解密密文得到数据包传输的路径信息来验证数据来源的真实
性以及判断数据包是否按正常路由传输,从而有效避免了数据污染和数据窃听的问题,不仅
不影响网络编码带来的增益,还解决了采用网络编码带来的数据污染和数据窃听问题。

附图说明

图1为实施例基本网络拓扑结构;

图2为实施例中网络中的数据包格式;

图3为实施例中节点7发出的第一个编码包内容;

图4为实施例中节点27发出的攻击包内容;

图5为实施例中本方案中网络编码部分对网络吞吐量的改善。

具体实施方式

背包加密为现有技术,现有的各种背包加密方法均可应用于现有的网络编码技术。同样
的,本发明通过使用背包加密路径信息来提供网络编码的安全性,也可基于现有的各种背包
加密方法以及网络编码方法。

由于无线传感器网络具有大规模以及自组织网络的特点,使用网络编码提高网络编码增
益是常用的数据传输方法。实施例以无线传感器网络为例进行说明。

在无线传感器网络中,为了不影响网络编码增益的前提下保证网络数据传输安全性的可
行,在开始数据传输前,网络中节点需要在本地配置如下参数:

(1)本地节点ID;网络中节点ID被分配为1至n的整数,n为网络中节点数量;

(2)无冲突非超递增序列A=(a1,a2,......,an)。序列满足条件:ai<ai+1,
a2+...+ai<ai+1<a1+a2+...+ai;

(3)模数 P = Σ i = 1 n a i + 1 ; ]]>

(4)由路由协议确定的上一跳节点ID。

其中,网络中各节点均配置有相同的无冲突非超递增序列A以及模数P,无冲突非超递
增序列A以及模数P作为各节点进行背包加密的私钥。

节点发送数据包包括以下步骤:

步骤一:节点感知环境数据,形成数据包x(节点为数据包x的初始发送节点)或节点收
到待发送的数据包x(节点为数据包x的中间节点);

步骤二:节点形成或更新数据包的路径标志序列,本实施例中节点ID对应路由明文E中
相同下标的元素ei,即i=ID(i=1,2,......,n),源节点负责为其生成的每个数据包生成对应的路
径标志序列,序列中与该节点对应的元素置1,其余为0;当节点为数据包的中间节点时,更
新从接收到的数据包上恢复的路径标志序列,将该中间发送节点ID对应在路径标志序列中的
元素ei更新为1;

步骤三:随机产生长度为n的正整数序列C=(c1,c2,......,cn),根据无冲突非超递增序列A,
模数P以及随机序列C构造公钥B=(b1,b2,......,bn),其中bi=ai+Pci(i=1,2,......,n);
步骤四:形成密文s,销毁随机正整数序列C;

步骤五:从本地内存中选择偷听到的数据包y,为减少数据包负载,默认偷听数据包的编
码系数为1,该系数不用附加在编码包中发送,形成编码包z=sx+y,在编码包z中附上安
全网络编码系数s发送。

节点接收数据包包括以下步骤:

步骤一:数据包收到编码包z;提取其中的安全网络编码系数s;

步骤二:对系数s进行模运算:

s′=s(mod P)

=(b1e1+b2e2+......+bnen)(mod P)

=((a1+Px1)e1+(a2+Px2)e2+......+(an+Pxn)en)(mod P)

=(a1e1+a2e2+......+anen)(mod P)

步骤三:对模运算结果s′进行解密运算,恢复路径标志序列E=(e1,e2,......,en):


即,将模运算结果s′与无冲突非超递增序列A中元素从an开始逐一进行判断,并逐一
得到路径标志序列中的各元素,并不断更新模运算结果s′的值:当模运算结果s′满足大于等
于路径标志序列元素ai,或者模运算结果s′减去作为私钥的无冲突非超递增序列元素ai的差
值大于a1时,将模运算结果s′减去作为私钥的无冲突非超递增序列元素ai的差值重新赋值给
s′,并恢复ei为1,否则,保持当前的模运算结果s′,并恢复ei为0;之后,更新i为i-1,
返回进行判断,直至i=1。

步骤四:若进行步骤三操作后,最终s′=0,说明成功解密安全网络编码系数,得到数据
包的路径标志序列,进入步骤五;否则,丢弃编码数据包;

步骤五:验证序列E=(e1,e2,......,en)中本节点的上一跳节点ID对应的元素是否为1,若
不满足,表明该数据包不是按正常路由传输,很可能遭受数据窃听攻击,丢弃编码数据包;

步骤六:若数据包没有遭受任何攻击,利用安全网络编码系数进行解码,将按正常路由
传输的原始数据与偷听到的数据分开存放,当本节点不是目的节点,则还需按本发明的数据
发送方法转发数据。

如图1所示的5×5网格网络,其中节点1为接收节点(sink),节点26和27是攻击节点,
其他节点是正常的无线传感器节点。每个正常节点的通信范围只能在x轴和y轴上与之相邻
的邻居,而攻击节点的通信范围可覆盖与之相邻的所有邻居。每个正常节点都已配置无冲突
非超递增序列A,根据模数P以及随机正整数序列C计算出公钥序列B。A和P作为私钥,
存储在正常节点中并且不会在网络中传播,因此攻击节点不能获取私钥。攻击节点周期性地
广播数据包,正常节点必须准确识别出攻击包并丢弃。

攻击节点和正常传感器节点都会形成数据包并发送,为模拟比较严重的攻击,假设攻击
数据包格式与正常数据包格式相同,如图2所示。各字段含义如下:

flag:1bit,用于区分是否为正常数据包;为0表示数据包由正常节点发出;为1表示数
据包是由攻击节点发出。本字段只用于仿真时验证统计节点是否区分出了所有攻击包,实际
实施方案时不会有该字段。

Grads:3bit,表示节点到sink的跳数,在基于背包体制的安全网络编码方案中,假设数
据流向sink汇聚,因此节点只会转发grads比节点自身grads大的数据包。

Ciphertext:4bytes,数据包的路径标志序列进行加密后的结果,同时也是数据包参与网
络编码的系数;

Degree:4bit,表示编码包中包含的原始符号个数;

Source_id1:2bytes,第一个参与编码的原始符号的始发节点ID,共有degree个;

Seq_id1:1byte,第一个参与编码的原始符号的序列号,共有degree个;

Data:长度可自定义,携带编码包的数据。

其中,Grads、Degree、Source_id1、Seq_id1、Data均为现有网络编码需要使用的字段。
首先,假设节点7的发送定时器到期,节点7感知环境数据形成原始数据包(未经编码的),
该原始数据包需要与偷听到的其他原始符号形成编码包后发送。由于该数据包由节点7始发,
因此路径标志序列E=(0000001000000000000000000),只有e7=1,说明该数据包只经过了节
点7。根据背包加密方法,生成安全网络编码系数存储于ciphertext字段。同时节
点7从自己的内存空间中选择偷听到的其他数据包与自己产生的原始符号进行编码,假设选
择了节点6发出的第一个数据包,为减少额外开销,假设偷听到的原始符号参与网络编码的
系数为固定的已知值,不需要携带在编码包中。最后节点7形成如图3所示的编码包。

根据前面定义的通信范围,节点7的数据包可能会被节点3,6,8或11接收到,但由于节
点3和6的grads大于编码包中携带的grads,因此节点3和6不会接收编码包,只有节点11
或8会接收。假设节点8收到编码包,首先判断包中的grads大于自己的grads(节点8的
grads=1),然后解密ciphertext。由于网络中私钥A只存储于正常节点中,根据背包解密算法,
如果能正常解密,说明该编码包很可能是由正常节点发出的。再验证解出的路径标志序列中
为1的元素是否代表了自己的邻居,如果两个条件都满足表明编码包没有遭受任何攻击,可
以进行解码操作了。

如果攻击节点27伪造节点2的信息发出了一个如图4所示的攻击包。为方便验证,flag=1
表明发出的是攻击包(在实际应用中不会有该字段)。包中的编码信息显示该编码包中包含了
节点2的第1个原始符号和节点6的第1个原始符号,但实际上这些信息都是节点27窃取了
节点2的某些信息后伪造的。由于私钥不会在网络中传输,因此节点27无法窃取网络私钥,
无法伪造ciphertext信息,所以节点7收到该伪造编码包后首先对ciphertext字段进行背包解
密。由于背包加密的安全性与序列选择有很大关系,如果序列安全性不高,有可能伪造的密
文也能正确被背包解密。但在此方案中,还要验证解密后的路径标志序列是否包含了正确路
径信息。如果伪造包的ciphertext字段不能通过这两步验证,说明该包由攻击节点发出,应该
丢弃。

使用本实施例方法在不同网络环境(TX/RX,当前的发送/接收的数据流量)的仿真测试
结果如下:


从上面的结果表明,使用了本实施例方法在数据传输中能检测出所有的攻击,其中由于
序列选择的安全性不高(也是为了模拟较严重的攻击),背包体制只检测出了少量攻击包,通
过鉴定路径标志序列中的路径信息检测出了大量攻击包。

图5展示了在不同链路质量下,本实施例的网络编码的数据传输相对于不采用网络编码
的数据传输对网络吞吐量有较大改善,表明了使用背包加密路径标志序列的方案几乎不影响
现有网络编码对网络吞吐量的改善效果。理论和实验已经证明了采用本发明基于背包体制的
安全网络编码方案不仅不影响网络编码带来的增益,还可解决网络编码带来的安全问题。以
增加少量节点计算量为代价获取网络数据安全快速地传输。

一种基于背包体制的安全网络编码数据传输方法.pdf_第1页
第1页 / 共11页
一种基于背包体制的安全网络编码数据传输方法.pdf_第2页
第2页 / 共11页
一种基于背包体制的安全网络编码数据传输方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种基于背包体制的安全网络编码数据传输方法.pdf》由会员分享,可在线阅读,更多相关《一种基于背包体制的安全网络编码数据传输方法.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102611557 A (43)申请公布日 2012.07.25 C N 1 0 2 6 1 1 5 5 7 A *CN102611557A* (21)申请号 201210098308.5 (22)申请日 2012.04.05 H04L 9/32(2006.01) H04L 9/08(2006.01) H04L 1/00(2006.01) (71)申请人电子科技大学 地址 611731 四川省成都市高新区(西区)西 源大道2006号 (72)发明人陈洋 冯钢 周亮 秦智 (74)专利代理机构电子科技大学专利中心 51203 代理人李明光 (54) 发明名称 一种基于背。

2、包体制的安全网络编码数据传输 方法 (57) 摘要 本发明提供一种基于背包体制的安全网络编 码数据传输方法,利用背包体制为每个数据包生 成安全的网络编码系数,将数据包所经过的路径 标志序列进行背包加密,将加密后形成的密文作 为对应数据包参与网络编码的系数,接收节点收 到编码数据包后,不仅可以用密文进行编码数据 包的解码,还能通过解密密文得到数据包传输的 路径信息来验证数据来源的真实性以及判断数据 包是否按正常路由传输,从而有效避免了数据污 染和数据窃听的问题,不仅不影响网络编码带来 的增益,还解决了采用网络编码带来的数据污染 和数据窃听问题。 (51)Int.Cl. 权利要求书2页 说明书6页。

3、 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 6 页 附图 2 页 1/2页 2 1.一种基于背包体制的安全网络编码数据传输方法,其特征在于,包括以下步骤: 预处理步骤:为网络中每个节点配置本地节点ID、由路由协议确定的上一跳节点的节 点ID以及用于背包加密的私钥,并且预设各节点ID与路径标志序列中各元素的对应关系, 所述路径标志序列中元素总数为网络中节点总数; 数据初始发送步骤:当节点为数据包的起始发送节点时,该节点先为每个数据包生成 路径标志序列,将该起始发送节点ID对应在路径标志序列中的元素设置为1,其余元素为 0;再构造背包加密的公。

4、钥,使用所述公钥加密路径标志序列得到该数据包参与网络编码的 安全网络编码系数;将本地生成的数据包附上安全网络编码系数与偷听到的数据包一起进 行网络编码生成编码数据包后发送; 数据接收步骤:当节点接收到编码数据包后,从编码数据包中提取安全网络编码系数, 使用本地的私钥解密安全网络编码系数,如能成功解密得到路径标志序列,且该节点的上 一跳节点的节点ID对应在路径标志序列中的元素为1,则表明数据由可信任节点发出,利 用安全网络编码系数解码编码数据包,存储解码得到的数据包,当接收节点不是目的节点 时,还进入数据转发步骤; 数据转发步骤:当节点为数据包的中间节点时,更新从接收到的数据包上恢复的路径 标志。

5、序列,将该中间发送节点ID对应在路径标志序列中的元素更新为1;再构造背包加密 的公钥,使用所述公钥加密路径标志序列得到数据包参与下次网络编码的安全网络编码系 数;最后将本地接收的数据包附上对应的安全网络编码系数与偷听到的数据包一起进行网 络生成编码数据包后发送。 2.如权利要求1所述一种基于背包体制的安全网络编码数据传输方法,其特征在于, 所述背包加密为加法背包加密或乘法背包加密。 3.如权利要求2所述一种基于一种基于背包体制的安全网络编码数据传输方法,其 特征在于,使用背包加密时,背包加密的私钥包括非超递增序列A和模数P,其中,A(a 1 , a 2 ,a n ),模数n为网络中的节点总数。。

6、 4.如权利要求3所述一种基于背包体制的安全网络编码数据传输方法,其特征在于, 所述非超递增序列为无冲突递增序列。 5.如权利要求4所述一种基于背包体制的安全网络编码数据传输方法,其特征在于, 构造背包加密的公钥的具体方法是:随机产生长度为n的正整数序列C(c 1 ,c 2 , c n ),根据无冲突非超递增序列A(a 1 ,a 2 ,a n ),模数P以及随机序列C构造公钥B (b 1 ,b 2 ,b n ),其中b i a i +Pc i (i1,2,n); 使用所述公钥加密数据包的路径标志序列得到该数据包的安全网络编码系数的具体 方法是:安全网络编码系数 解密安全网络编码系数得到对应数据。

7、包的路径标志序列的具体方法是:先对安全网络 编码系数s进行模运算,得到模运算结果s,ss(modP),再对将模运算结果s与无冲 突非超递增序列A中元素从a n 开始逐一进行判断,并逐一得到路径标志序列中的各元素, 不断更新模运算结果s的值:当模运算结果s满足大于等于无冲突非超递增序列元素 a i ,或者模运算结果s减去无冲突非超递增序列元素a i 的差值大于a 1 时,将模运算结果 s减去无冲突非超递增序列元素a i 的差值重新赋值给s,并恢复e i 为1,否则,保持当前 权 利 要 求 书CN 102611557 A 2/2页 3 的模运算结果s,并恢复e i 为0;之后,更新i为i-1,返。

8、回进行判断,直至i1,恢复路 径标志序列E(e 1 ,e 2 ,e n )。 权 利 要 求 书CN 102611557 A 1/6页 4 一种基于背包体制的安全网络编码数据传输方法 技术领域 0001 本发明涉及网络编码数据传输技术、以及背包加密技术。 背景技术 0002 为提高无线传感器网络的吞吐量,保证数据传输可靠性,许多研究者提出在无线 传感器网络中使用网络编码技术。研究表明采用网络编码后,网络吞吐量和数据传输可靠 性确实得到了一定程度提升。 0003 但由于无线传感器网络自身的特点,直接使用网络编码将带来很多安全问题。网 络编码方案需要中间转发节点将多个原始符号进行线性组合,形成一个。

9、编码包发送出去, 这将带来数据污染、数据窃听两类安全问题。 0004 当中间转发节点进行网络编码时,攻击者损坏节点并注入新信息,中间节点将虚 假信息与可靠数据编码到一起形成新的编码包。受攻击的节点发出一个被污染的数据包, 并进一步影响到其他正常节点,造成污染数据包在网络中像瘟疫一样蔓延。目前抗数据包 污染的一个解决方案是使用异步高效率线性校验码,但这种技术严重影响吞吐量,减小了 网络编码带来的增益。 0005 采用网络编码带来的另一个安全隐患是数据窃听。网络编码充分利用了无线传输 的广播特性,节点除了接收发给自己的数据包外,还要侦听邻居发往其他节点的数据包,将 正常收到的原始符号和偷听到的原始。

10、符号线性组合成编码包发送。这样,偷听来的数据包 没有按确定路由发送,很难确认数据包来源的可靠性,这个弱点极易被攻击节点利用。攻击 节点偷听到数据包后,修改数据包中携带的路由信息并以较大功率发出,让数据包反向传 输到网络边缘,增大数据传输延时甚至造成数据丢失。 0006 如何在不影响网络编码增益的前提下,保证网络数据传输安全性是一个有待解决 的问题。 发明内容 0007 本发明要解决的技术问题是提供一种既不影响网络编码带来的增益,又能保证数 据安全性的,基于背包体制的安全网络编码数据传输方法。 0008 本发明为解决上述技术问题所采用的技术方案是,一种基于背包体制的安全网 络编码数据传输方法,利。

11、用背包体制为每个数据包生成安全的网络编码系数,包括以下步 骤: 0009 预处理步骤:为网络中每个节点配置本地节点ID、由路由协议确定的上一跳节点 的节点ID以及用于背包加密的私钥,并且预设各节点ID与路径标志序列中各元素的对应 关系,所述路径标志序列中元素总数为网络中节点总数; 0010 数据初始发送步骤:当节点为数据包的起始发送节点时,为数据包生成路径标志 序列,将该起始发送节点ID对应在路径标志序列中的元素设置为1,其余元素为0;再构造 背包加密的公钥,使用所述公钥加密路径标志序列得到该数据包参与网络编码的安全网络 说 明 书CN 102611557 A 2/6页 5 编码系数;将本地生。

12、成的数据包附上安全网络编码系数与偷听到的数据包一起进行网络编 码生成编码数据包后发送;数据包对应的路径标志序列一旦产生,将伴随数据包整个传输 过程,数据包每经过一个节点,该节点在路径标志序列中对应的元素就被置1; 0011 数据接收步骤:当节点接收到编码数据包后,从编码数据包中提取安全网络编码 系数,使用本地的私钥解密安全网络编码系数,如能成功解密得到路径标志序列,且该节点 的上一跳节点的节点ID对应在路径标志序列中的元素为1,则表明数据由可信任节点发 出,解码编码包并存储解码得到的数据包,当接收节点不是目的节点时,还进入数据转发步 骤; 0012 数据转发步骤:当节点为数据包的中间节点时,更。

13、新从接收到的数据包上恢复的 路径标志序列,将该中间发送节点ID对应在路径标志序列中的元素更新为1;再构造背包 加密的公钥,使用所述公钥加密路径标志序列得到数据包参与下次网络编码的安全网络编 码系数;最后将本地接收的数据包附上对应的安全网络编码系数与偷听到的数据包一起进 行网络生成编码数据包后发送。 0013 具体的,所述背包加密为加法背包加密或乘法背包加密。 0014 具体的,使用加法背包加密时,背包加密的私钥包括非超递增序列A和模数P,其 中,A(a 1 ,a 2 ,a n ),n为网络中的节点总数。 0015 进一步的,为了提高背包加密的安全性,所采用的非超递增序列为无冲突递增序 列。 0。

14、016 本发明的有益效果是,将数据包所经过的路径标志序列进行背包加密,将加密后 形成的密文作为对应数据包参与网络编码的系数,接收节点收到编码数据包后,不仅可以 用密文进行编码数据包的解码,还能通过解密密文得到数据包传输的路径信息来验证数据 来源的真实性以及判断数据包是否按正常路由传输,从而有效避免了数据污染和数据窃听 的问题,不仅不影响网络编码带来的增益,还解决了采用网络编码带来的数据污染和数据 窃听问题。 附图说明 0017 图1为实施例基本网络拓扑结构; 0018 图2为实施例中网络中的数据包格式; 0019 图3为实施例中节点7发出的第一个编码包内容; 0020 图4为实施例中节点27发。

15、出的攻击包内容; 0021 图5为实施例中本方案中网络编码部分对网络吞吐量的改善。 具体 实施方式 0022 背包加密为现有技术,现有的各种背包加密方法均可应用于现有的网络编码技 术。同样的,本发明通过使用背包加密路径信息来提供网络编码的安全性,也可基于现有的 各种背包加密方法以及网络编码方法。 0023 由于无线传感器网络具有大规模以及自组织网络的特点,使用网络编码提高网络 编码增益是常用的数据传输方法。实施例以无线传感器网络为例进行说明。 0024 在无线传感器网络中,为了不影响网络编码增益的前提下保证网络数据传输安全 说 明 书CN 102611557 A 3/6页 6 性的可行,在开始。

16、数据传输前,网络中节点需要在本地配置如下参数: 0025 (1)本地节点ID;网络中节点ID被分配为1至n的整数,n为网络中节点数量; 0026 (2)无冲突非超递增序列A(a 1 ,a 2 ,a n )。序列满足条件:a i a i+1 , a 2 +.+a i a i+1 a 1 +a 2 +.+a i ; 0027 (3)模数 0028 (4)由路由协议确定的上一跳节点ID。 0029 其中,网络中各节点均配置有相同的无冲突非超递增序列A以及模数P,无冲突非 超递增序列A以及模数P作为各节点进行背包加密的私钥。 0030 节点发送数据包包括以下步骤: 0031 步骤一:节点感知环境数据,。

17、形成数据包x(节点为数据包x的初始发送节点)或 节点收到待发送的数据包x(节点为数据包x的中间节点); 0032 步骤二:节点形成或更新数据包的路径标志序列,本实施例中节点ID对应路由明 文E中相同下标的元素e i ,即iID(i1,2,n),源节点负责为其生成的每个数 据包生成对应的路径标志序列,序列中与该节点对应的元素置1,其余为0;当节点为数据 包的中间节点时,更新从接收到的数据包上恢复的路径标志序列,将该中间发送节点ID对 应在路径标志序列中的元素e i 更新为1; 0033 步骤三:随机产生长度为n的正整数序列C(c 1 ,c 2 ,c n ),根据无冲突非 超递增序列A,模数P以及。

18、随机序列C构造公钥B(b 1 ,b 2 ,b n ),其中b i a i +Pc i (i 1,2,n);步骤四:形成密文s,销毁随机正整数序列C; 0034 步骤五:从本地内存中选择偷听到的数据包y,为减少数据包负载,默认偷听数据 包的编码系数为1,该系数不用附加在编码包中发送,形成编码包zsx+y,在编码包z中 附上安全网络编码系数s发送。 0035 节点接收数据包包括以下步骤: 0036 步骤一:数据包收到编码包z;提取其中的安全网络编码系数s; 0037 步骤二:对系数s进行模运算: 0038 ss(mod P) 0039 (b 1 e 1 +b 2 e 2 +b n e n )(mo。

19、d P) 0040 (a 1 +Px 1 )e 1 +(a 2 +Px 2 )e 2 +(a n +Px n )e n )(mod P) 0041 (a 1 e 1 +a 2 e 2 +a n e n )(mod P) 0042 步骤三:对模运算结果s进行解密运算,恢复路径标志序列E(e 1 ,e 2 , e n ): 0043 说 明 书CN 102611557 A 4/6页 7 0044 即,将模运算结果s与无冲突非超递增序列A中元素从a n 开始逐一进行判断,并 逐一得到路径标志序列中的各元素,并不断更新模运算结果s的值:当模运算结果s满 足大于等于路径标志序列元素a i ,或者模运算结。

20、果s减去作为私钥的无冲突非超递增序 列元素a i 的差值大于a 1 时,将模运算结果s减去作为私钥的无冲突非超递增序列元素a i 的差值重新赋值给s,并恢复e i 为1,否则,保持当前的模运算结果s,并恢复e i 为0;之 后,更新i为i-1,返回进行判断,直至i1。 0045 步骤四:若进行步骤三操作后,最终s0,说明成功解密安全网络编码系数,得 到数据包的路径标志序列,进入步骤五;否则,丢弃编码数据包; 0046 步骤五:验证序列E(e 1 ,e 2 ,e n )中本节点的上一跳节点ID对应的元素 是否为1,若不满足,表明该数据包不是按正常路由传输,很可能遭受数据窃听攻击,丢弃编 码数据包。

21、; 0047 步骤六:若数据包没有遭受任何攻击,利用安全网络编码系数进行解码,将按正常 路由传输的原始数据与偷听到的数据分开存放,当本节点不是目的节点,则还需按本发明 的数据发送方法转发数据。 0048 如图1所示的55网格网络,其中节点1为接收节点(sink),节点26和27是攻 击节点,其他节点是正常的无线传感器节点。每个正常节点的通信范围只能在x轴和y轴 上与之相邻的邻居,而攻击节点的通信范围可覆盖与之相邻的所有邻居。每个正常节点都 已配置无冲突非超递增序列A,根据模数P以及随机正整数序列C计算出公钥序列B。A和 P作为私钥,存储在正常节点中并且不会在网络中传播,因此攻击节点不能获取私钥。

22、。攻击 节点周期性地广播数据包,正常节点必须准确识别出攻击包并丢弃。 0049 攻击节点和正常传感器节点都会形成数据包并发送,为模拟比较严重的攻击,假 设攻击数据包格式与正常数据包格式相同,如图2所示。各字段含义如下: 0050 flag:1bit,用于区分是否为正常数据包;为0表示数据包由正常节点发出;为1 表示数据包是由攻击节点发出。本字段只用于仿真时验证统计节点是否区分出了所有攻击 包,实际实施方案时不会有该字段。 0051 Grads:3bit,表示节点到sink的跳数,在基于背包体制的安全网络编码方案中, 假设数据流向sink汇聚,因此节点只会转发grads比节点自身grads大的数。

23、据包。 0052 Ciphertext:4bytes,数据包的路径标志序列进行加密后的结果,同时也是数据包 参与网络编码的系数; 0053 Degree:4bit,表示编码包中包含的原始符号个数; 0054 Source_id1:2bytes,第一个参与编码的原始符号的始发节点ID,共有degree 个; 0055 Seq_id1:1byte,第一个参与编码的原始符号的序列号,共有degree个; 0056 Data:长度可自定义,携带编码包的数据。 0057 其中,Grads、Degree、Source_id1、Seq_id1、Data均为现有网络编码需要使用的字 段。首先,假设节点7的发送。

24、定时器到期,节点7感知环境数据形成原始数据包(未经编码 的),该原始数据包需要与偷听到的其他原始符号形成编码包后发送。由于该数据包由节点 7始发,因此路径标志序列E(0000001000000000000000000),只有e 7 1,说明该数据包 只经过了节点7。根据背包加密方法,生成安全网络编码系数存储于ciphertext 说 明 书CN 102611557 A 5/6页 8 字段。同时节点7从自己的内存空间中选择偷听到的其他数据包与自己产生的原始符号进 行编码,假设选择了节点6发出的第一个数据包,为减少额外开销,假设偷听到的原始符号 参与网络编码的系数为固定的已知值,不需要携带在编码包。

25、中。最后节点7形成如图3所 示的编码包。 0058 根据前面定义的通信范围,节点7的数据包可能会被节点3,6,8或11接收到,但 由于节点3和6的grads大于编码包中携带的grads,因此节点3和6不会接收编码包,只有 节点11或8会接收。假设节点8收到编码包,首先判断包中的grads大于自己的grads(节 点8的grads1),然后解密ciphertext。由于网络中私钥A只存储于正常节点中,根据 背包解密算法,如果能正常解密,说明该编码包很可能是由正常节点发出的。再验证解出的 路径标志序列中为1的元素是否代表了自己的邻居,如果两个条件都满足表明编码包没有 遭受任何攻击,可以进行解码操作。

26、了。 0059 如果攻击节点27伪造节点2的信息发出了一个如图4所示的攻击包。为方便验 证,flag1表明发出的是攻击包(在实际应用中不会有该字段)。包中的编码信息显示 该编码包中包含了节点2的第1个原始符号和节点6的第1个原始符号,但实际上这些信 息都是节点27窃取了节点2的某些信息后伪造的。由于私钥不会在网络中传输,因此节点 27无法窃取网络私钥,无法伪造ciphertext信息,所以节点7收到该伪造编码包后首先对 ciphertext字段进行背包解密。由于背包加密的安全性与序列选择有很大关系,如果序列 安全性不高,有可能伪造的密文也能正确被背包解密。但在此方案中,还要验证解密后的路 径标。

27、志序列是否包含了正确路径信息。如果伪造包的ciphertext字段不能通过这两步验 证,说明该包由攻击节点发出,应该丢弃。 0060 使用本实施例方法在不同网络环境(TX/RX,当前的发送/接收的数据流量)的仿 真测试结果如下: 0061 说 明 书CN 102611557 A 6/6页 9 0062 从上面的结果表明,使用了本实施例方法在数据传输中能检测出所有的攻击,其 中由于序列选择的安全性不高(也是为了模拟较严重的攻击),背包体制只检测出了少量 攻击包,通过鉴定路径标志序列中的路径信息检测出了大量攻击包。 0063 图5展示了在不同链路质量下,本实施例的网络编码的数据传输相对于不采用网 络编码的数据传输对网络吞吐量有较大改善,表明了使用背包加密路径标志序列的方案几 乎不影响现有网络编码对网络吞吐量的改善效果。理论和实验已经证明了采用本发明基于 背包体制的安全网络编码方案不仅不影响网络编码带来的增益,还可解决网络编码带来的 安全问题。以增加少量节点计算量为代价获取网络数据安全快速地传输。 说 明 书CN 102611557 A 1/2页 10 图1 图2 图3 图4 说 明 书 附 图CN 102611557 A 10 2/2页 11 图5 说 明 书 附 图CN 102611557 A 11 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1