陈帅, 束仁义,2
(1.淮南师范学院 电气信息工程系,安徽 淮南232038;2.安徽大学 电子与信息工程学院,安徽 合肥230039)
无线传感器网络动态非线性密钥分配
陈帅1, 束仁义1,2
(1.淮南师范学院 电气信息工程系,安徽 淮南232038;2.安徽大学 电子与信息工程学院,安徽 合肥230039)
为减少无线传感器网络中大量的共享密钥,提出了计算每个通信数据包的动态分配密钥.该方法为:通过种子密钥加密分配密钥,由分配密钥计算数据密钥,由数据密钥加密数据,并在通信包中将分配密钥的密文与机密数据一起传输;接收节点获得数据包后,分析出包计数、节点身份标识、包跳段、分配密钥的密文和数据密文,再由共享的种子解密动态分配的分配密钥.结果表明,用于无线传感器网络的动态非线性分配密钥的方法可实现无线传感器网络共享少量种子密钥和机密通信.
动态密钥;密钥分配;无线传感器网络;非线性;密码系统
由于无线传感器网络(wireless sensor networks,WSN)节点资源的局限性,基于RSA[1]和 ECC[2-3]的密钥交换难以适合机密通信.WSN多采用密钥预分配的方法进行密钥的分配和管理,研究表明:每个节点与基站预共享密钥的模型[4]虽然密钥引导计算复杂度较低,但过于依赖基站;随机密钥预分布模型[5-7]的各节点虽然随机保存有与其余节点共享的部分密钥,但存在不连通性;基于密钥池的方法[5-6]虽然有很好的扩展性,但这种方法有时不能保证每2个节点之间都能找到1个共享的密钥,即可能出现相邻节点不存在共享密钥的孤立岛;多路密钥增强模型[8]虽然在多条路径上能够更新密钥,但会增加通信开销.尽管文献[9-13]提出了一些相关的解决方案,但仍然未能完全解决问题.本文提出一种动态的密钥分配方案,采用一次一分配密钥的方法,将分配的密钥加密并与机密数据包一起传输,并分析了该方案的安全性.
文中约定:①节点与接收节点共享32比特种子SEED,SEED具有极高的安全性;②节点数据包含有32比特数据包的计数COUNT、16比特的节点号ID(发送和接收)、16比特的跳段HOP和32比特的分配密钥Kd的密文kcode;③节点采用一次一分配密钥的方式,即每个数据包的分配密钥Kd只使用一次;④节点的分配密钥作为计算数据加密密钥的依据.
节点先用SEED、ID_HOP和COUNT计算初始值t0.
其中⊕为异或运算操作符,ID_HOP是由ID和HOP组合成的32比特数据.
其中操作“≪”表示右移位.然后采用乘同余算法,按下式计算序列ti:
其中TIM为任意选取的整数,操作“≫”表示左移位.分配密钥Kd取为Kd=tTIM,占用4个字节.
图1为节点分配密钥的处理过程.为保证分配密钥Kd的机密传输,将Kd用加密算法进行加密处理:
其中Q为4字节.节点根据分配密钥Kd计算本地数据的加密密钥:
在密钥K的控制下,其加密为:
其中 M = (M1,M2,…,ML)为明文空间,C =(C1,C2,…,CL)为密文空间,L 为明文和密文长度,eK表示用密钥K进行加密操作.节点在通信包中传输COUNT,ID,HOP,Q和C的内容.
图1 节点分配密钥的处理过程
图2为Sink获得分配密钥的流程.Sink点获取节点数据包后,通过解析数据包得到Q,COUNT,ID,HOP和密文C.由于TIM 是未知的,所以不可能通过式(1)、(2)、(3)来计算出Kd,而只能通过Q解密来求得.
图2用种子密钥SEED解密:
再用得到的分配密钥Kd求出数据加密密钥K:
解密为
由此进行数据机密通信传输.
图2 Sink获取分配密钥的流程
由于Kd是一次性的,信息安全的必要条件要求其分布是随机的.图3为随意取值SEED,ID,HOP,COUNT,并经过计算产生的1个Kd序列(取序列长度为50 000)的自相关图.由图3即可判断Kd序列具有随机性.
图3 分配密钥序列的自相关
分 配 密 钥 Kd都 是 SEED,ID,HOP,C OUNT的函数.在计算分配密钥时,采用与包计数器COUNT相关的算法,因此可确保每个分配密钥随种子密钥SEED、节点ID、包跳数HOP和包计数COUNT的敏感变化.
由于每个分配的密钥只仅在一个数据包中使用一次,从而使得每个数据包使用的分配密钥是实时动态更新的.每次随机选取TIM可保证每个节点和每个数据包的分配密钥Kd的随机改变.另外,通过分配密钥Kd计算数据加密密钥,从而实现数据机密通信传输,确保每个数据包加密密钥也只使用一次.由于ID,HOP和COUNT容易从公开的数据包获取,因此算法安全的首要条件是确保SEED的安全.假设SEED是安全的,那么攻击者只能通过获取的Q,ID,HOP 和C OUNT来破解分配密钥Kd.以下我们将分析分配密钥Kd的安全性.
由于Kd是采用一个数据包且只使用一次的分配方法,所以,即使通过当前密文Q破解得到当前数据包的分配密钥Kd也不能预测到下一个包的分配密钥Kd.从前面Kd的计算可知,Kd的计算依赖于SEED,ID,HOP,COUNT 和TIM,由于ID,HOP和C OUNT容易获取,并且TIM 是随机变化的,因此要破解Kd的可能性只能通过Q破解SEED.首先,由于Q与Kd相关,因而在SEED保密下无法解密Q.其次,Kd是通过线性与非线性迭代得到的,且迭代次数TIM是随机变化的,因而也无法利用求解非线性方程组的方法来破解SEED(方程组次数未知).
最后,分析穷举法攻击Kd.若每获取一个数据包,假设其为1个SEED,根据包中的C OUNT,ID就可以推算一个假设的Kd.若明文未知(明文本身需要Kd解密),则无法验证SEED的正确性,因而,若攻击者无法获取明文,则难以用穷举法来推算SEED,从而也难以推算Kd.实际上,攻击者获取明文还必须知道SEED,因而,攻击者无法破译Kd.
每个节点与Sink共享1个SEED,通过随机数计算1个分配密钥Kd,且加密传输.同时,用Kd计算数据加密机密密钥,将采集的数据进行机密传输.
在本实验中,voltage,temperature和light都采用传输密文,同时也传输密文,但其目的是在接收端检验解密密文是否与明文相同,而在实际的应用中只传输密文而不是明文.Sink获取数据包后,通过SEED解密Kd,从而可以知道该节点的动态密钥.Sink由动态密钥计算数据机密密钥,以此解密节点数据.这样,只要通过与接收包中对应的明文比较就可以判断是否能够正确地进行机密通信.
实验结果如图4.图4上框的数据表示Sink接收的数据包,下左框的数据是接收的明文数据,下右框的是通过接收密文由分配密钥和数据密钥解密的数据.左右框对此可知,解密数据与原明文完全一致.
图4 无线传感器网络动态密钥的数据机密传输
[1] Watra R,Kong D,et al.Tinypk:Securing Sensor Networks with Public Key Technology[C]//Proceedings of the 2004 ACM Workshop on Security of Ad Hoc and Sensor Networks.Washington DC:Association for Computing Machinery Press,2004:59-64.
[2] Malan D J,Welsh M,et al.A Public-key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve Cryptography[C]//The First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks.Santa Clara,California:Institute of Electrical and Electronics Engineers Press,2004:71-80.
[3] Ortal A,QI H R.Self-certified Group Key Generation for Ad Hoc Clusters in Wireless Sensor Networks[C]//The 14th International Conference on Computer Communications and Networks.San Diego,CA:Institute of Electrical and Electronics Engineers Press,2005:359-364.
[4] Perrig A,Szewczyk R,et al.SPINS:Security Protocols for Sensor Networks[J].Wireless Networks,2002,8(5):521-534.
[5] Eschenauer L,Gligor V D.A Key-management Scheme for Distributed Sensor Networks[C]//Proceedings of the 9th ACM Conference on Computer and Communications Security.Washington DC:Association for Computing Machinery Press,2002:41-47.
[6] Simplcio J M A,Barreto Paulo S L M,Margi C B,et al.Survey on Key Management Mechanisms for Distributed Wireless Sensor Networks[J].Computer Networks,2010,54(15):2591-2612.
[7] Chan H W,Perrig A,Song D.Ranom key Predistribution Schemes for Sensor Networks[C]//In Proc 2003 IEEE Symp on Security and Privacy.Washington DC:IEEE Computer Society Press,2003:197-213.
[8] Perrig A,Canetti R,TygarJ D,et al.Efficient Authentication and Signing of Multicast Streams over Lossy Channels[C]// Proceedings of the IEEE Computer Society Symposium on Research in Security and Privacy.Washington DC:IEEE Computer Society Press,2000:56-73.
[9] Blom R.An Optimal Class of Symmetric Key Generation Systems[C]// Proc.of the EUROCRYPT 84 Workshop on Advances in Cryptology:Theory and Application of Cryptographic Techniques.New York:Springer-Verlag New York,Inc,1984:335-338.
[10] DU W L,HAN Y S,Deng J,et al.A Pairwise Key Pre-distribution Scheme for Wireless Sensor Networks[C]//Proceedings of the 10th ACM Conference on Computer and Communications Security.Washington,DC:ACM Press,2003:42-51.
[11] Liu D G,Ning P.Location-based Pairwise Key Establishments for Static Sensor Networks[C]//Proceedings of the 1st ACM Workshop on Security of Ad Hoc and Sensor networks.Washington,DC:ACM Press,2003:72-82.
[12] 黄海平,王汝传,孙力娟,等.基于逻辑网格的无线传感器网络密钥分配方案[J].通信学报,2009,30(8):131-140.
[13] 杨庚,王江涛,程宏兵,等.基于身份加密的无线传感器网络密钥分配方法[J].电子学报,2007,35(1):180-184.
Dynamic Nonlinear Key Distribution in Wireless Sensor Networks
CHEN Shuai1, SHU Ren-yi1,2
(1.Department of Electrification and Information Engineering,Huainan Normal University,Huainan 232038,China;2.School of Electronics and Information Engineering,Anhui University,Hefei 230039,China)
In order to decrease the amount of the shared confidential key between nodes,the dynamic nonlinear distribution key for every package in wireless sensor networks was proposed.In the method,the seed key was used to encrypt distribution key,the data key was come from the distribution key,and the data was encrypted with the data key,the cipher text of the distribution key and the cipher text of data were transmitted in one communication package.When the receiver node
the package,it analyzed the package to get package count,node identifier,package hops,cipher text of distribution key,and cipher text of data.The cipher text of the distribution key was decrypted with the shared seed key.The conclusion is that the dynamic distribution algorithm in wireless sensor networks can realize confidential communication through dynamic nonlinear key distribution in wireless sensor networks with sharing a few seed keys.
dynamic key;key distribution;wireless sensor networks;nonlinear;cryptography
TN918;TP309;TP393
A
1004-4353(2011)03-0270-04
2011 -04 -02
陈帅(1969—),男,博士,副教授,研究方向为传感器网络与信息处理.
安徽高等学校省级自然科学研究重点项目(KJ2010A310);淮南市科技计划项目(2010A03209)