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

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

Info

Publication number
CN102665206B
CN102665206B CN201210126316.6A CN201210126316A CN102665206B CN 102665206 B CN102665206 B CN 102665206B CN 201210126316 A CN201210126316 A CN 201210126316A CN 102665206 B CN102665206 B CN 102665206B
Authority
CN
China
Prior art keywords
coding
matrix
node
sensor node
centerdot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210126316.6A
Other languages
English (en)
Other versions
CN102665206A (zh
Inventor
武斌
王秀娟
张冬梅
郑康锋
杨奎武
查选
丁靓子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Technology
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology, Beijing University of Posts and Telecommunications filed Critical Beijing University of Technology
Priority to CN201210126316.6A priority Critical patent/CN102665206B/zh
Publication of CN102665206A publication Critical patent/CN102665206A/zh
Application granted granted Critical
Publication of CN102665206B publication Critical patent/CN102665206B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于无线传感器网络数据采集的网络编码方法,能够达到提高数据传输安全性的目的;该方法的步骤为:给定各会话密钥和传感器节点的存储单元形式;传感器节点获取事件信息并进行编码更新;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;否则,译码结束。

Description

用于无线传感器网络数据采集的网络编码方法
技术领域
本发明涉及网络编码技术,属于无线传感器网络通信领域,具体涉及一种用于无线传感器网络数据采集的网络编码方法。
背景技术
无线传感器监测区域内通常高密度地部署多个无线传感器,这样就构成了无线传感器网络,用于获取该网络区域中的事件信息以及进行数据的传输。由于传感器的部署密度较高,通常位于事件发生区域附近的传感器节点都能获取到所发生的事件。为了实现传感器网络与外部网络的互联,可引入汇聚(Sink)节点,Sink节点具有较强的处理、存储和通信能力,Sink节点可直接从无线传感器网络节点中,随机选取一定数量的传感器节点并提取其所获取的信息。
但是,由于传感器节点的存储空间有限,为了能够进一步降低Sink节点在数据采集过程中的通信开销,同时保证在较少的通信开销下,传感器节点尽量多地获取信息,文献D Wang,Q Zhang and J Liu,“Partial network coding:concept,performance,and application for continuous data collection in sensor networks”ACM Transactions on Sensor Networks,vol4,no3,pp1-22,2008给出了一种可更新的部分网络编码方法,虽然该方法利用网络编码技术能够有效降低Sink节点的通信量,但由于传感器节点向Sink节点传送编码数据和编码向量时,采用明文的传递方式,这样在Sink节点进行数据采集过程中,很容易被攻击者窃听。为了实现数据的安全采集,有必要提出一种方法,以提高传感器节点与Sink节点之间进行数据传输的安全性。
发明内容
有鉴于此,本发明提供了一种用于无线传感器网络数据采集的网络编码方法,能够达到提高数据传输安全性的目的。
采用本发明所提供的方法所涉及的无线传感器网络中设有无线传感器和Sink节点,进行安全网络编码的过程如下所述:
1)数据初始化。 
在所述传感器网络中,所有传感器节点都共享一个全局密钥GK,同时Sink节点分别与每个传感器节点共享一个会话密钥,各会话密钥两两不同,每个传感器节点有B个存储单元Sx,x为存储单元序号,x=0,...,B-1,每个存储单元用于存储编码包、编码初始值和编码系数,其中,编码包用于根据编码初始值,选取相应的有效数据包,将该有效数据包与相应的编码系数进行加权求和,得到该编码包值;随机分配编码初始值k给传感器节点各存储单元,k的取值范围为[0,N-1]的整数,N为编码周期;当编码初始值k确定后,每个传感器节点在域 内进行编码系数cx的选取,编码系数cx的选取原则为:对于同一传感器节点,在其任意两个存储单元中,若两个编码初始值相同,则所选取的两个存储单元的编码系数必须不同;所述为伽罗瓦域GF(2q)。
2)传感器节点获取事件信息并进行编码更新。
传感器网络中的所有传感器节点开始获取事件信息并生成数据包,当所有传感器开始进行事件信息获取后,每个传感器节点对所生成的有效数据包进行过时与否的判定,判定规则为:若所获取的有效数据包共N个,依次为b0...bj...bN-1,当该传感器节点再获取一个有效数据包bN时,则认为有效数据包b0过时,N>B。
基于所述判定规则,每个传感器节点对自身的编码包进行编码更新的过程为:
①当每个传感器节点获取到的有效数据包为bj-1,j≤N时,有效数据包未过时,判断j-1是否为当前编码初始值k中的一个,如果是,对编码初始值k≤j-1的编码包进行更新:给每个编码包fx加上bj-1;否则,仅对编码初始值k<j-1的编码包进行更新:给每个编码包fx加上bj-1
②当传感器节点获取到的有效数据包为bj-1,j>N时,将当前有效数据包的 编号j-1减去N,判断(j-1)-N是否为当前编码初始值k中的一个,如果是,则将编码初始值为(j-1)-N的编码包形式替换为bj-1,并对编码初始值(j-1)-N加N,同时对其他存储单元的编码包形式进行更新:给每个编码包fx加上bj-1;否则,对所有的编码包形式进行更新:给每个编码包fx加上bj-1
3)Sink节点进行编码包解码。
S00、Sink节点随机地选择n个传感器节点进行数据采集。
S01、被选中的传感器节点在自身的多个存储单元中随机选择一个编码包fx,并对该编码包中的编码初始值进行加密并生成包头,将该编码包以及其包头发送至Sink节点;所述包头包含的信息包括相应编码包初始值k、编码系数cx和各传感器节点已生成的有效数据包个数l,l≥N。
对编码系数进行加密并生成的包头为:
hf = ( c x | | E K i ( k ) | | l ) - - - ( 1 )
其中,是传感器节点i利用会话密钥Ki对k加密后的值;||为连接符。
S02、Sink节点分别利用与每个传感器节点的会话密钥,对相应的包头解密得到cx、k和l,并将cx和N-l+k个0构成一个长度为N的编码向量编码向量 为范德蒙矩阵形式,为:
a &RightArrow; x = ( 0,0 . . . . . . , 0,1 , c x , c x 2 , c x 3 , . . . . . . , c x l - k - 2 , c x l - k - 1 ) - - - ( 2 )
Sink节点根据得到的所有编码向量,将这些编码向量记为n>N,则编码包矩阵F表示为:
F = f 1 f 2 f 3 f 4 . . . f n = C &CenterDot; b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 = c &RightArrow; 1 c &RightArrow; 2 c &RightArrow; 3 c &RightArrow; 4 . . . c &RightArrow; n &CenterDot; b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 3 )
其中,c为编码矩阵;f1,f2,...,fn为所有编码向量 对应的编码包;bl-N,bl-N+1...,bl-1为传感器节点的最近的N个有效数据包。
S03、Sink节点对编码矩阵c进行化简并求秩,并判断编码矩阵c是否满秩; 若编码矩阵c满秩,即秩为N,则对编码矩阵c进行求逆并得到编码矩阵c的逆c-1,根据c-1和编码包矩阵F,计算得到数据包bl-N,bl-N+1...,bl-1,并转至步骤S05。
若编码矩阵c不满秩,即秩不为N,则编码矩阵c不可逆;记Sink节点所选取的传感器节点的编码包f1,f2,...,fn的编码初始值分别为K1,K2,...,Kn,结合(3)式,如果编码矩阵c满秩,则K1,K2,...,Kn应取遍[l-N,l-l]内所有整数,而这里编码矩阵c不满秩,将K1,K2,...,Kn在[l-N,l-l]内未取到的所有整数记为:m1,...,mp,p为所述未取到的所有整数的个数。
Sink节点利用全局密钥GK对m1,...,mp进行加密并在传感器网络中广播,广播的数据为:
[p,EGK(m1||...||mp)]     (4) 
其中,EGK(·)为Sink节点利用全局密钥GK对m1||...||mp加密后的值。
每个传感器节点在接收到Sink节点的广播数据后,对该广播数据进行解密得到m1,...,mp,该传感器节点判断自身存储单元中的编码初始值包含有m1,...,mp中的一个,若包含,则该传感器节点被Sink节点选中,被选中的传感器节点随机选择m1,...,mp中的一个,并以步骤S01中的方式生成包头,向Sink节点发送相应的编码包和包头。
S04、Sink节点在收到多个传感器节点发送的编码包后,按照步骤S02的方法对其包头进行解密,并得到的相应编码矩阵C’和编码包矩阵F’,Sink节点根据C’和c,得到编码向量矩阵 C C &prime; 并作初等行变换,可将冗余的编码系数消除并得到阶梯矩阵 C 1 0 , 同样地,根据F和F’,得到阶梯矩阵 F 1 0 ; 其中,c1为N×N矩阵,F1为N×1矩阵。
Sink节点对矩阵c1进行化简并求秩,并判断编码矩阵c1是否满秩;若矩阵c1满秩,则对矩阵c1进行求逆并得到编码矩阵c1的逆由于,
F F &prime; = C C &prime; b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 5 )
C 1 0 F 1 0 分别是由 C C &prime; F F &prime; 作相同的初等行变换得到的,则有:
F 1 0 = C 1 0 b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 6 )
即: F 1 = C 1 b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 7 )
Sink节点根据和矩阵F1,计算得到每个传感器节点的有效数据包为bl-N,bl-N+1...,bl-1;若编码矩阵c1不满秩,则转至步骤S05。
S05、Sink节点译码结束。
有益效果: 
本发明所提供的方法,除了采用可更新的部分网络编码方法进行传感器节点编码之外,在Sink节点进行编码包解码的过程中,通过Sink节点分别与每个传感器节点共享的会话密钥对编码包的编码向量进行加密的方式,每个传感器节点生成编码包的包头,这样可以确保编码向量的机密性,在Sink节点进行数据采集的过程中,当攻击者窃听到Sink节点和传感器节点之间传输的编码包时,即便攻击者能够获得编码包矩阵F,但由于编码包的包头是加密的,并且攻击者不能获取会话密钥,这样就无法得到编码包的编码向量,最终攻击者就不能获得有效数据包,即事件信息。
此外,各传感器节点可采用对编码包中的编码系数或编码初始值进行加密来生成包头,但由于编码系数是从伽罗瓦域GF(2q)中选取的,这样进行加密的过程计算量大,为了进一步减小计算量,采用对编码初始值进行加密的方式来生成包头,从而达到了提高数据传输安全性的目的。
在对包头进行解密后,所构成的编码向量为范德蒙矩阵形式,由于这种形式的矩阵元素组成方式是有规律可循的,这样就简化了编码向量的存储和传输形式。
附图说明
图1为本发明所提供的Sink节点采集数据的示意图;
图2为Sink节点进行译码的流程图。
具体实施方式
下面结合附图,对本发明进行详细描述。
图1示出了Sink节点进行数据采集的示意图,传感器网络监测区域(传感器网络)中的所有传感器节点同时获取事件信息并进行编码,Sink节点随机选取一些传感器节点,同时被选中的传感器节点上传自身的一个编码包给Sink节点,Sink节点对所有的编码包进行解码并得到每个传感器节点的事件信息。
本发明所提供的方法的具体步骤如下:
(1)数据初始化。 
在所述传感器网络中,所有传感器节点都共享一个全局密钥GK,同时Sink节点分别与每个传感器节点共享一个会话密钥,各会话密钥两两不同,每个传感器节点有B个存储单元Sx,x为存储单元序号,x=0,...,B-1,每个存储单元用于存储编码包、编码初始值和编码系数,其中,编码包用于根据编码初始值,选取相应的有效数据包,将该有效数据包与相应的编码系数进行加权求和,得到该编码包值。随机分配编码初始值k给传感器节点各存储单元,k的取值范围为[0,N-1]的整数,N为编码周期。当编码初始值k确定后,每个传感器节点在域 内进行编码系数cx的选取,编码系数cx的选取原则为:对于同一传感器节点,在其任意两个存储单元中,若两个编码初始值相同,则所选取的两个存储单元的编码系数必须不同。所述为伽罗瓦域GF(2q)。
(2)传感器节点获取事件信息并进行编码更新。
传感器网络中的所有传感器节点开始获取事件信息并生成数据包,当所有传感器开始进行事件信息获取后,每个传感器节点对所生成的有效数据包进行过时与否的判定,判定规则为:若所获取的有效数据包共N个,依次为b0...bj...bN-1,当该传感器节点再获取一个有效数据包bN时,则认为有效数据包b0过时,N>B。
基于所述判定规则,每个传感器节点对自身的编码包进行编码更新的过程为:
①当每个传感器节点获取到的有效数据包为bj-1,j≤N时,有效数据包未过时,判断j-1是否为当前编码初始值k中的一个,如果是,对编码初始值k≤j-1的编码包进行更新:给每个编码包fx加上bj-1。否则,仅对编码初始值k<j-1的编码包进行更新:给每个编码包fx加上bj-1
例如:当一个传感器的N取4且B取3时,该传感器的存储单元列表的建立过程为:对于该传感器节点生成的第1个有效数据包b0,此时,j-1=0,则k=0的编码包形式更新为:f0=b0。当该传感器节点生成第2个有效数据包b1时,此时j-1=1,则对编码初始值k=0的编码包形式更新为:f0=b0-c0b1。当该传感器节点生成第3个有效数据包b2时,此时j-1=2,则对编码初始值k=0的编码包形式更新为:同时编码初始值k=1的编码包形式更新为:f1=b2。当该传感器节点生成第4个有效数据包b3时,此时j-1=3,则对所有编码包形式进行更新,每个编码包形式如表1所示。
表1
②当传感器节点获取到的有效数据包为bj-1,j>N时,将当前有效数据包的编号j-1减去N,判断(j-1)-N是否为当前编码初始值k中的一个,如果是,则将编码初始值为(j-1)-N的编码包形式替换为bj-1,并将编码初始值(j-1)-N替换为j-1,同时对其他存储单元的编码包形式进行更新:给每个编码包fx加上 bj-1。否则,对所有的编码包形式进行更新:给每个编码包fx加上bj-1
例如:当一个传感器的N取4且B取3时,该传感器的存储单元列表如表1所示,当该传感器节点生成的第5个有效数据包b4时,此时,(j-1)-N=0,有效数据包b0过时,则原始k=0的存储单元中的编码包形式替换为:f0=b4,并且编码初始值替换为:k=0+4=4。同时,原始的k=2的存储单元中的编码包形式更新为:f1=b2+c1b3+c1 2b4。原始的k=3的存储单元中的编码包形式更新为:f2=b3+c2b4
当该传感器节点生成的第6个有效数据包b5时,此时,(j-1)-N=1,有效数据包b1过时,由于编码初始值k未取到(6-1)-4=1,则对所有的编码包形式进行更新:k=4的编码包形式为:f0=b4+c0b5。原始k=2的编码包形式为:f1=b2+c1b3+c1 2b4+c1 3b5。原始k=3的编码包形式为:f2=b3+c2b4+c2 2b5
当该传感器节点生成的第7个有效数据包b6时,此时,(j-1)-N=2,有效数据包b2过时,则原始k=2的存储单元中的编码包形式替换为:f0=b6,并且编码初始值替换为:k=2+4=6。同时,对其他存储单元的编码包形式进行更新:k=4的编码包形式为:f0=b4+c0b5+c0 2b6。原始k=3的编码包形式为:f1=b3+c2b4+c2 2b5+c2 3b6
(3)Sink节点进行编码包解码。
S00、Sink节点随机地选择n个传感器节点进行数据采集。
S01、被选中的传感器节点在自身的多个存储单元中随机选择一个编码包fx,并对该编码包中的编码初始值进行加密并生成包头,将该编码包以及其包头发送至Sink节点;所述包头包含的信息包括相应编码包初始值k、编码系数cx和各 传感器节点已生成的有效数据包个数l,l≥N。
所述对编码系数进行加密并生成的包头为:
hf = ( c x | | E K i ( k ) | | l ) - - - ( 1 )
其中,是传感器节点i利用会话密钥Ki对k加密后的值,||为连接符。
S02、Sink节点分别利用与每个传感器节点的会话密钥,对相应的包头解密得到cx、k和l,并将cx和N-l+k个0构成一个长度为N的编码向量 为:
a &RightArrow; x = ( 0,0 . . . . . . , 0,1 , c x , c x 2 , c x 3 , . . . . . . , c x l - k - 2 , c x l - k - 1 ) - - - ( 2 )
Sink节点根据得到的所有编码向量,将这些编码向量记为 (n>N),那么编码包矩阵F可表示为:
F = f 1 f 2 f 3 f 4 . . . f n = C &CenterDot; b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 = c &RightArrow; 1 c &RightArrow; 2 c &RightArrow; 3 c &RightArrow; 4 . . . c &RightArrow; n &CenterDot; b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 3 )
其中,c为编码矩阵;f1,f2,...,fn为所有编码向量 对应的编码包;bl-N,bl-N+1...,bl-1为传感器节点的最近的N个有效数据包。
S03、Sink节点根据编码矩阵c解码有效数据包。具体包括步骤S031~S034。
S031、Sink节点对编码矩阵c进行化简并求秩,并判断编码矩阵c是否满秩。
S032、若编码矩阵c满秩,即秩为N,则对编码矩阵c进行求逆并得到编码矩阵c的逆c-1,根据c-1和编码包矩阵F,计算得到数据包bl-N,bl-N+1...,bl-1,并转至步骤S05。
S033、若编码矩阵c不满秩,即秩不为N,则编码矩阵c不可逆。记Sink节点所选取的传感器节点的编码包f1,f2,...,fn的编码初始值分别为K1,K2,...,Kn,结合(3)式,如果编码矩阵c满秩,则K1,K2,...,Kn应取遍[l-N,l-l]内所有整数,而这里编码矩阵c不满秩,将K1,K2,...,Kn在[l-N,l-l]内未取到的所有整数记为:m1,...,mp,p为所述未取到的所有整数的个数。例如,若Sink节点所选取的3个传感器节点的编码包分别为:f1=b3+c1b4+c1 2b5+c1 3b6、f2=b2+c2b3+c2 2b4+c2 3b5+c2 4b6、 f3=b1+c3b2+c3 2b3+c3 3b4+c3 4b5+c3 5b6,若此时,各传感器节点均生成7个有效数据包,且N=6,那么相应的编码初始值分别为K1=3、K2=2、K3=1,这样在[7-6,7-1]内未取到的值为4、5、6。
Sink节点利用全局密钥GK对m1,...,mp进行加密并在传感器网络中广播,广播的数据为:
[p,EGK(m1||...||mp)]     (4) 
其中,EGK(·)为Sink节点利用全局密钥GK对m1||...||mp加密后的值。
S034、每个传感器节点在接收到Sink节点的广播数据后,对该广播数据进行解密得到m1,...,mp,该传感器节点判断自身存储单元中的编码初始值包含有m1,...,mp中的一个,若包含,则该传感器节点被Sink节点选中,被选中的传感器节点随机选择m1,...,mp中的一个,并以步骤S01中的方式生成包头,向Sink节点发送相应的编码包和包头。
S04、Sink节点再次解码有效数据包。具体包括步骤S041~S043。
S041、Sink节点在收到多个传感器节点发送的编码包后,按照步骤S02的方法对其包头进行解密,并得到的相应编码矩阵C’和编码包矩阵F’,Sink节点根据C’和c,得到编码向量矩阵 C C &prime; 并作初等行变换,可将冗余的编码系数消除并得到阶梯矩阵 C 1 0 , 同样地,根据F和F’,得到阶梯矩阵 F 1 0 ; 其中,c1为N×N矩阵,F1为N×1矩阵;
S042、Sink节点对矩阵c1进行化简并求秩,并判断编码矩阵c1是否满秩。
S043、若矩阵c1满秩,则对矩阵c1进行求逆并得到编码矩阵c1的逆由于,
F F &prime; = C C &prime; b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 5 )
C 1 0 F 1 0 分别是由 C C &prime; F F &prime; 作相同的初等行变换得到的,则有:
F 1 0 = C 1 0 b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 6 )
即: F 1 = C 1 b l - N b l - N + 1 b l - N + 2 b l - N + 3 . . . b l - 1 N &times; 1 - - - ( 7 )
Sink节点根据和矩阵F1,计算得到每个传感器节点的有效数据包为bl-N,bl-N+1...,bl-1。若编码矩阵c1不满秩,则转至步骤S05。
S05、Sink节点译码结束。
上述在Sink节点进行译码的过程中,若所选取的任意两个编码系数不同或者其相应的编码初始值不同,则计算得到的相应的两个编码向量就不相关,那么编码矩阵一定满秩,最终Sink节点会译码成功,因此本发明所提供的方法的译码成功率很高。
采用本发明所提供的方法,当Sink节点进行传感器网络数据采集的过程中,只要N>25,就能够有效保证数据传输的安全性,抵抗攻击者的暴力攻击。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种用于无线传感器网络数据采集的网络编码方法,该方法所涉及的无线传感器网络中设有无线传感器节点和Sink节点,其特征在于,该方法的具体步骤如下:
1)数据初始化;
在所述传感器网络中,所有传感器节点都共享一个全局密钥GK,同时Sink节点分别与每个传感器节点共享一个会话密钥,各会话密钥两两不同,每个传感器节点有B个存储单元Sx,x为存储单元序号,x=0,…,B-1,每个存储单元用于存储编码包、编码初始值和编码系数,其中,编码包用于根据编码初始值,选取相应的有效数据包,将该有效数据包与相应的编码系数进行加权求和,得到该编码包值;随机分配编码初始值k给传感器节点各存储单元,k的取值范围为[0,N-1]的整数,N为编码周期;当编码初始值k确定后,每个传感器节点在域内进行编码系数cx的选取,编码系数cx的选取原则为:对于同一传感器节点,在其任意两个存储单元中,若两个编码初始值相同,则所选取的两个存储单元的编码系数必须不同;所述为伽罗瓦域GF(2q);
2)传感器节点获取事件信息并进行编码更新;
传感器网络中的所有传感器节点开始获取事件信息并生成数据包,当所有传感器开始进行事件信息获取后,每个传感器节点对所生成的有效数据包进行过时与否的判定,判定规则为:若所获取的有效数据包共N个,依次为b0…bj…bN-1,当该传感器节点再获取一个有效数据包bN时,则认为有效数据包b0过时,N>B;
基于所述判定规则,每个传感器节点对自身的编码包进行编码更新的过程为:
①当每个传感器节点获取到的有效数据包为bj-1,j≤N时,有效数据包未过时,判断j-1是否为当前编码初始值k中的一个,如果是,对编码初始值k≤j-1的编码包进行更新:给每个编码包fx加上否则,仅对编码初始值k<j-1的编码包进行更新:给每个编码包fx加上
②当传感器节点获取到的有效数据包为bj-1,j>N时,将当前有效数据包的编号j-1减去N,判断(j-1)-N是否为当前编码初始值k中的一个,如果是,则将编码初始值为(j-1)-N的编码包形式替换为bj-1,并对编码初始值(j-1)-N加N,同时对其他存储单元的编码包形式进行更新:给每个编码包fx加上否则,对所有的编码包形式进行更新:给每个编码包fx加上
3)Sink节点进行编码包解码;
S00、Sink节点随机地选择n个传感器节点进行数据采集;
S01、被选中的传感器节点在自身的多个存储单元中随机选择一个编码包fx,并对该编码包中的编码初始值进行加密并生成包头,将该编码包以及其包头发送至Sink节点;所述包头包含的信息包括相应编码包初始值k、编码系数cx和各传感器节点已生成的有效数据包个数l,l≥N;
S02、Sink节点分别利用与每个传感器节点的会话密钥,对相应的包头解密得到cx、k和l,并将cx和N-l+k个0构成一个长度为N的编码向量为:
Sink节点根据得到的所有编码向量,将这些编码向量记为n>N,则编码包矩阵F表示为:
F = f 1 f 2 f 3 f 4 &CenterDot; &CenterDot; &CenterDot; f n = C &CenterDot; b l - N b l - N + 1 b l - N + 2 b l - N + 3 &CenterDot; &CenterDot; &CenterDot; b l - 1 N &times; 1 = c &RightArrow; 1 c &RightArrow; 2 c &RightArrow; 3 c &RightArrow; 4 &CenterDot; &CenterDot; &CenterDot; c &RightArrow; n &CenterDot; b l - N b l - N + 1 b l - N + 2 b l - N + 3 &CenterDot; &CenterDot; &CenterDot; b l - 1 N &times; 1 - - - ( 2 )
其中,C为编码矩阵;f1,f2,...,fn为所有编码向量对应的编码包;bl-N,bl-N+1...,bl-1为传感器节点的最近的N个有效数据包;
S03、Sink节点对编码矩阵C进行化简并求秩,并判断编码矩阵C是否满秩;若编码矩阵C满秩,即秩为N,则对编码矩阵C进行求逆并得到编码矩阵C的逆C-1,根据C-1和编码包矩阵F,计算得到数据包bl-N,bl-N+1...,bl-1,并转至步骤S05;
若编码矩阵C不满秩,即秩不为N,则编码矩阵C不可逆;记Sink节点所选取的传感器节点的编码包f1,f2,...,fn的编码初始值分别为K1,K2,...,Kn,结合(2)式,如果编码矩阵C满秩,则K1,K2,...,Kn应取遍[l-N,l-1]内所有整数,而这里编码矩阵C不满秩,将K1,K2,...,Kn在[l-N,l-1]内未取到的所有整数记为:m1,…,mp,p为所述未取到的所有整数的个数;
Sink节点利用全局密钥GK对m1,…,mp,进行加密并在传感器网络中广播;
每个传感器节点在接收到Sink节点的广播数据后,对该广播数据进行解密得到m1,…,mp,该传感器节点判断自身存储单元中的编码初始值包含有m1,…,mp中的一个,若包含,则该传感器节点被Sink节点选中,被选中的传感器节点随机选择m1,…,mp中的一个,并以步骤S01中的方式生成包头,向Sink节点发送相应的编码包和包头;
S04、Sink节点在收到多个传感器节点发送的编码包后,按照步骤S02的方法对其包头进行解密,并得到的相应编码矩阵C’和编码包矩阵F’,Sink节点根据C’和C,得到编码向量矩阵 C C &prime; 并作初等行变换,可将冗余的编码系数消除并得到阶梯矩阵 C 1 0 , 同样地,根据F和F’,得到阶梯矩阵 F 1 0 ; 其中,C1为N×N矩阵,F1为N×1矩阵;
Sink节点对矩阵C1进行化简并求秩,并判断编码矩阵C1是否满秩;若矩阵C1满秩,则对矩阵C1进行求逆并得到编码矩阵C1的逆由于,
F F &prime; = C C &prime; b l - N b l - N + 1 b l - N + 2 b l - N + 3 &CenterDot; &CenterDot; &CenterDot; b l - 1 N &times; 1 - - - ( 3 )
C 1 0 F 1 0 分别是由 C C &prime; F F &prime; 作相同的初等行变换得到的,则有:
F 1 0 = C 1 0 b l - N b l - N + 1 b l - N + 2 b l - N + 3 &CenterDot; &CenterDot; &CenterDot; b l - 1 N &times; 1 - - - ( 4 )
即: F 1 = C 1 b l - N b l - N + 1 b l - N + 2 b l - N + 3 &CenterDot; &CenterDot; &CenterDot; b l - 1 N &times; 1 - - - ( 5 )
Sink节点根据和矩阵F1,计算得到每个传感器节点的有效数据包为bl-N,bl-N+1...,bl-1;若编码矩阵C1不满秩,则转至步骤S05;
S05、Sink节点译码结束。
2.如权利要求1所述的方法,其特征在于,在所述步骤3)的S01中,对编码系数进行加密并生成的包头为:
hf = ( c x | | E K i ( k ) | | l ) - - - ( 6 )
其中,是传感器节点i利用会话密钥Ki对k加密后的值;||为连接符。
3.如权利要求1所述的方法,其特征在于,在所述步骤3)的S03中,对m1,…,mp进行加密并在传感器网络中广播,广播的数据为:
[p,EGK(m1||...||mp)]        (7)
其中,EGK(·)为Sink节点利用全局密钥GK对m1||...||mp加密后的值,||为连接符。
CN201210126316.6A 2012-04-26 2012-04-26 用于无线传感器网络数据采集的网络编码方法 Expired - Fee Related CN102665206B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210126316.6A CN102665206B (zh) 2012-04-26 2012-04-26 用于无线传感器网络数据采集的网络编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210126316.6A CN102665206B (zh) 2012-04-26 2012-04-26 用于无线传感器网络数据采集的网络编码方法

Publications (2)

Publication Number Publication Date
CN102665206A CN102665206A (zh) 2012-09-12
CN102665206B true CN102665206B (zh) 2015-06-03

Family

ID=46774596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210126316.6A Expired - Fee Related CN102665206B (zh) 2012-04-26 2012-04-26 用于无线传感器网络数据采集的网络编码方法

Country Status (1)

Country Link
CN (1) CN102665206B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954118B (zh) * 2015-05-16 2017-09-15 北京科技大学 一种基于向量网络编码和des的拟态加密方法及系统
CN108092743B (zh) * 2017-12-15 2021-12-03 南京海道普数据技术有限公司 基于集群的传感网系统网络编码数据包解码方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951556A (zh) * 2010-09-28 2011-01-19 湖南大学 基于网络编码的无线传感器网络数据分发方法
CN102208976A (zh) * 2011-07-21 2011-10-05 北京邮电大学 基于编码向量加密的安全网络编码方法
CN102223674A (zh) * 2011-04-20 2011-10-19 上海交通大学 分布式视频信源数据采集的优化传输方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2742286T3 (es) * 2010-03-25 2020-02-13 Massachusetts Inst Technology Codificación de red segura para transmisión por secuencias de vídeo, inalámbrica de multirresolución

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951556A (zh) * 2010-09-28 2011-01-19 湖南大学 基于网络编码的无线传感器网络数据分发方法
CN102223674A (zh) * 2011-04-20 2011-10-19 上海交通大学 分布式视频信源数据采集的优化传输方法
CN102208976A (zh) * 2011-07-21 2011-10-05 北京邮电大学 基于编码向量加密的安全网络编码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Partial network coding: Concept, performance, and application for continuous data collection in sensor networks;DAN WANG et al.;《ACM Transactions on Sensor Networks》;20080531;第4卷(第3期);全文 *
无线传感器网络中基于网络编码的数据采集算法;王静等;《系统工程与电子技术》;20110228;第33卷(第02期);全文 *

Also Published As

Publication number Publication date
CN102665206A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
CN109889522B (zh) 一种基于区块链的物联网信息安全保护方法
KR101527979B1 (ko) 정보 송신 보안 방법
Li et al. PDA: a privacy‐preserving dual‐functional aggregation scheme for smart grid communications
CN102201916A (zh) 使用前向误差校正码的车辆网络中的适应性证书分配机制
CN103795529A (zh) 基于密钥向量的无线传感器网络数据安全融合方法
JP7353375B2 (ja) エポック鍵交換を用いたエンドツーエンドの二重ラチェット暗号化
CN102202047A (zh) 使用可变证书间更新周期的车辆网络中的适应性证书分配机制
Vasudevan et al. A novel multipath approach to security in mobile ad hoc networks (MANETs)
CN105577357A (zh) 基于全同态加密的智能家居数据隐私保护方法
US20140044262A1 (en) Low Latency Encryption and Authentication in Optical Transport Networks
CN108449145A (zh) 一种基于量子密钥的密文传输方法
Jose et al. Energy efficient recoverable concealed data aggregation in wireless sensor networks
CN100594691C (zh) Manet网络的数据传递加密方法
CN107666491B (zh) 基于对称加密的空地一体化网络的数据传输方法
Ren et al. A scheme for secure and reliable distributed data storage in unattended WSNs
CN103346875A (zh) 混沌保密通信系统中数字混沌密码的产生方法
CN102665206B (zh) 用于无线传感器网络数据采集的网络编码方法
CN101542962B (zh) 容许消息数据的非顺序到达的消息完整性的处理方法
CN102611557A (zh) 一种基于背包体制的安全网络编码数据传输方法
CN115499117A (zh) 区块链交易网络的密钥对生成方法及数据传输方法
CN101540778A (zh) 一种数据传输的方法、装置和系统
Kohno et al. Secure decentralized data transfer against node capture attacks for wireless sensor networks
CN103078736A (zh) 一种多维度密钥生成方法
CN101378322B (zh) 数据传送方法以及通信系统
CN104113543A (zh) 一种基于分组密码的消息鉴别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150603

Termination date: 20160426