用于无线传感器网络数据采集的网络编码方法

文档序号:7845553阅读:241来源:国知局
专利名称:用于无线传感器网络数据采集的网络编码方法
技术领域
本发明涉及网络编码技术,属于无线传感器网络通信领域,具体涉及ー种用于无线传感器网络数据采集的网络编码方法。
背景技术
无线传感器监测区域内通常高密度地部署多个无线传感器,这样就构成了无线传感器网络,用于获取该网络区域中的事件信息以及进行数据的传输。由于传感器的部署密 度较高,通常位于事件发生区域附近的传感器节点都能获取到所发生的事件。为了实现传感器网络与外部网络的互联,可引入汇聚(Sink)节点,Sink节点具有较强的处理、存储和通信能力,Sink节点可直接从无线传感器网络节点中,随机选取一定数量的传感器节点并提取其所获取的信息。但是,由于传感器节点的存储空间有限,为了能够进一歩降低Sink节点在数据采集过程中的通信开销,同时保证在较少的通信开销下,传感器节点尽量多地获取信息,文iK D- Wang, Q. Zhang and J. Liu,“Partial network coding concept, performance, andapplication for continuous data collection in sensor networks^ACM Transactionson Sensor Networks, vol. 4, no. 3, pp. 1-22,2008.给出了一种可更新的部分网络编码方法,虽然该方法利用网络编码技术能够有效降低Sink节点的通信量,但由于传感器节点向Sink节点传送编码数据和编码向量时,采用明文的传递方式,这样在Sink节点进行数据采集过程中,很容易被攻击者窃听。为了实现数据的安全采集,有必要提出ー种方法,以提高传感器节点与Sink节点之间进行数据传输的安全性。

发明内容
有鉴于此,本发明提供了ー种用于无线传感器网络数据采集的网络编码方法,能够达到提高数据传输安全性的目的。采用本发明所提供的方法所涉及的无线传感器网络中设有无线传感器和Sink节点,进行安全网络编码的过程如下所述I)数据初始化。在所述传感器网络中,所有传感器节点都共享ー个全局密钥GK,同时Sink节点分别与每个传感器节点共享ー个会话密钥,各会话密钥两两不同,每个传感器节点有B个存储单元Sx, X为存储单元序号,x = 0,..., B-1,姆个存储单元用于存储编码包、编码初始值和编码系数,其中,编码包用于根据编码初始值,选取相应的有效数据包,将该有效数据包与相应的编码系数进行加权求和,得到该编码包值;随机分配编码初始值k给传感器节点各存储单元,k的取值范围为
的整数,N为编码周期;当编码初始值k确定后,每个传感器节点在域内进行编码系数cx的选取,编码系数Cx的选取原则为对于同一传感器节点,在其任意两个存储单元中,若两个编码初始值相同,则所选取的两个存储单元的编码系数必须不同;所述为伽罗瓦域GFQt1)。
2)传感器节点获取事件信息并进行编码更新。传感器网络中的所有传感器节点开始获取事件信息并生成数据包,当所有传感器开始进行事件信息获取后,每个传感器节点对所生成的有效数据包进行过时与否的判定,判定规则为若所获取的有效数据包共N个,依次为bfbj…Iv1,当该传感器节点再获取一个有效数据包bN时,则认为有效数据包Idci过时,N > B。基于所述判定规则,每个传感器节点对自身的编码包进行编码更新的过程为①当每个传感器节点获取到的有效数据包为bj_1;j SN时,有效数据包未过时,判断j-Ι是否为当前编码初始值k中的一个,如果是,对编码初始值k ( j-Ι的编码包进行更新给每个编码包fx;否则,仅对编码初始值k < j-Ι的编码包进行更新给每个编码包fx加上C1Ip。②当传感器节点获取到的有效数据包为bj_1; j > N时,将当前有效数据包的编号j-Ι减去N,判断(j-1) -N是否为当如编码初始值k中的一个,如果是,则将编码初始值为(j-1) -N的编码包形式替换为Iv1,并对编码初始值(j-1) -N加N,同时对其他存储单元的编码包形式进行更新给每个编码包fx加上;否则,对所有的编码包形式进行更新 给每个编码包fx加上C1Ip。3) Sink节点进行编码包解码。S00、Sink节点随机地选择η个传感器节点进行数据采集。S01、被选中的传感器节点在自身的多个存储单元中随机选择一个编码包fx,并对该编码包中的编码初始值进行加密并生成包头,将该编码包以及其包头发送至Sink节点;所述包头包含的信息包括相应编码包初始值k、编码系数Cx和各传感器节点已生成的有效数据包个数I, I彡N。对编码系数进行加密并生成的包头为
权利要求
1.一种用于无线传感器网络数据采集的网络编码方法,该方法所涉及的无线传感器网络中设有无线传感器和Sink节点,其特征在于,该方法的具体步骤如下 1)数据初始化; 在所述传感器网络中,所有传感器节点都共享一个全局密钥GK,同时Sink节点分别与每个传感器节点共享一个会话密钥,各会话密钥两两不同,每个传感器节点有B个存储单元Sx,χ为存储单元序号,X = O,..., B-1,每个存储单元用于存储编码包、编码初始值和编码系数,其中,编码包用于根据编码初始值,选取相应的有效数据包,将该有效数据包与相应的编码系数进行加权求和,得到该编码包值;随机分配编码初始值k给传感器节点各存储单元,k的取值范围为
的整数,N为编码周期;当编码初始值k确定后,每个传感器节点在域内进行编码系数Cx的选取,编码系数Cx的选取原则为对于同一传感器节点,在其任意两个存储单元中,若两个编码初始值相同,则所选取的两个存储单元的编码系数必须不同;所述K为伽罗瓦域GF⑵); 2)传感器节点获取事件信息并进行编码更新; 传感器网络中的所有传感器节点开始获取事件信息并生成数据包,当所有传感器开始进行事件信息获取后,每个传感器节点对所生成的有效数据包进行过时与否的判定,判定规则为若所获取的有效数据包共N个,依次为bybj…Iv1,当该传感器节点再获取一个有效数据包bN时,则认为有效数据包k过时,N > B ; 基于所述判定规则,每个传感器节点对自身的编码包进行编码更新的过程为 ①当每个传感器节点获取到的有效数据包为by,j( N时,有效数据包未过时,判断j-Ι是否为当前编码初始值k中的一个,如果是,对编码初始值j-1的编码包进行更新给每个编码包fx加上:;否则,仅对编码初始值k < j-Ι的编码包进行更新给每个编码包fx加上!; ②当传感器节点获取到的有效数据包为bj_1;j > N时,将当前有效数据包的编号j-Ι减去N,判断(j-1) -N是否为当如编码初始值k中的一个,如果是,则将编码初始值为(j-1) -N的编码包形式替换为Iv1,并对编码初始值(j-1)-N加N,同时对其他存储单元的编码包形式进行更新给每个编码包fx加上;否则,对所有的编码包形式进行更新给每个编码包fx加上!; 3)Sink节点进行编码包解码; SOO> Sink节点随机地选择η个传感器节点进行数据采集; 501、被选中的传感器节点在自身的多个存储单元中随机选择一个编码包fx,并对该编码包中的编码初始值进行加密并生成包头,将该编码包以及其包头发送至Sink节点;所述包头包含的信息包括相应编码包初始值k、编码系数Cx和各传感器节点已生成的有效数据包个数1,I彡N; 502、Sink节点分别利用与每个传感器节点的会话密钥,对相应的包头解密得到cx、k和1,并将Cx和N-1+k个O构成一个长度为N的编码向量工为: X = (0,0,......,0,1,C1, C12, C13,......, c[-k-\ c[-k-1)( I ) Sink节点根据得到的所有编码向量,将这些编码向量记为^,,,cn,n> N,则编码包矩阵F表示为
2.如权利要求I所述的方法,其特征在于,在所述步骤3)的SOl中,对编码系数进行加密并生成的包头为
3.如权利要求I所述的方法,其特征在于,在所述步骤3)的S03中,对进行加密并在传感器网络中广播,广播的数据为
全文摘要
本发明公开了一种用于无线传感器网络数据采集的网络编码方法,能够达到提高数据传输安全性的目的;该方法的步骤为给定各会话密钥和传感器节点的存储单元形式;传感器节点获取事件信息并进行编码更新;Sink节点进行译码Sink节点随机选择多个传感器节点并采集编码包,加密得到包头hf;分别利用各会话密钥,对相应的hf解密得到编码矩阵C和编码包矩阵F;若C满秩,根据C-1和F,计算得到数据包bl-N,bl-N+1…,bl-1;否则,利用全局密钥GK进行加密并广播m1,…,mp;选取编码初始值为m1,…,mp中的一个的传感器节点;利用各会话密钥再次提取新采集的编码包包头中的信息,构建编码矩阵C1和编码包矩阵F1,若C1满秩,根据C1的逆计算得到有效数据包bl-N,bl-N+1…,bl-1;否则,译码结束。
文档编号H04L1/00GK102665206SQ20121012631
公开日2012年9月12日 申请日期2012年4月26日 优先权日2012年4月26日
发明者丁靓子, 张冬梅, 杨奎武, 查选, 武斌, 王秀娟, 郑康锋 申请人:北京工业大学, 北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1