APP下载

基于RC5加密算法的无线传感器网络安全通信协议实现技术

2014-02-10罗常

机电工程技术 2014年3期
关键词:明文密钥加密

罗常

(广东电网公司茂名供电局,广东茂名 525000)

基于RC5加密算法的无线传感器网络安全通信协议实现技术

罗常

(广东电网公司茂名供电局,广东茂名 525000)

随着传感器网络的广泛应用,世界上许多科学家的研究焦点越来越聚集于此。由于传感器的数据存储能力小、续航能力差、运行速度比较有限,且一般应用于不适合人类活动的恶劣环境中,因此,在实际应用和科研工作中,不仅要尽力保障传感器网络的正常运行,而且还要最大限度的提高传输信息的完整性和保密性。介绍了无线传感器网络的基本理论知识,分析了其安全问题的特点、存在的安全威胁以及特殊的安全目标。详细的分析了SNEP协议在数据机密性、完整性和点到点认证、新鲜性以及节点间通信的具体做法,在此基础上给出了适合SNEP协议实现的RC5加密算法,对加密算法做详细的分析并实现了算法的演示程序。

无线传感器网络;网络安全;保密通信;SNEP协议;RC5算法

0 引言

无线传感器网络主要部分是许多大量部署的传感器节点,大至国家安全、小至交通管理等各个领域都有使用无线传感器网络。而传感器网络的广泛和深入应用也越来越引起使用方对于其安全程度的担忧和重视。而这其中的内在原因是无线传感器网络自身存在着一些还未解决的问题,如信息的时效性、保密性的强弱、点对点的认证等问题,这些问题的存在,影响着传感器网络的应用和进一步发展。由于无线传感器网络使用的是电磁波等传播方式,因此总是存在着信息被截获、窃听以及篡改等危险。因此,国际上对于无线传感器的一个重要研究问题就是如何提升其传输数据的安全性。

1 无线传感器保密关键技术

近年来国内外研究者对无线传感器网络在安全协议、算法、体系结构、运行系统等方面进行了大量的研究工作,大部分研究偏向于理论层面,远远没有达到推广应用所需要的水平,因此也没能形成业内普遍所能接受的标准。而具体到传感器网络安全问题这一块领域,国内外对通信保密、安全认证以及密钥管理等问题进行了很多的研究,并且取得了一定的成就,如有、RSA公开密钥算法、高级加密标准AES、椭圆曲线密码算法ECC、数据加密标准DES等。最近这些年还有了一些新的研究领域如混沌密码、生物密码、量子密码等密码领域。

加密技术中的最重要的一环就是密钥管理。密钥管理的内容有密钥的初始化、新节点密钥分配、相邻节点密钥的建立、路径密钥的建立、撤销废弃节点密钥等。随着这几年的国内外的不断研究,许多专家提出了各自的密钥管理方案,其中有基于多项式的预配置方案,如Polynomial Pool Based Key Scheme方案、Location-Based Pair-wise Key Establishments Scheme方案、Blom’s Key Scheme方案等;基于密钥池的预分配方案,如Eschenauer、Gligor提出的Basic Random Key Scheme方案、Haowen Chan、Adrian Perrig、Dawn Song提出的Q-composite Scheme方案[1],而基于多项式和随机密钥对模型是目前具有代表性的两种算法。

安全认证方面,认证主要集中在应用对称密码技术认证方案的研究,例如Perrig等人提出的一种传感器网络安全协议SPINS[2],SNEP安全网络加密协议提高数据安全性的措施是在通信数据认证时使用消息认证码和计数器,缺点在于这种认证方式效率不是太高。而μTESLA作为TESLA的一种扩展形式进一步可以提供较后者高效的广播认证[3]。

安全路由的研究方向主要是把新的安全机制加到设计安全路由协议和在现有的路由协议中。研究成果主要有入侵容忍路由协议(INSENS)、基于位置的信任路由协议(TRANS)以及为了抵制应答欺骗攻击、虚假路由信息攻击提出的关于直径的启发式安全路由协议(SRD)等[4]。而在数据融合方面,主要通过提高原始数据的安全性、采用安全融合算法这两个途径来实现。

无线传感器网络在国内的研究起步较晚,中科院计算技术研究所、华中科技大学等在传感器网络安全领域率先开展了研究。其中,973计划(2006CB303000)项目组[5]下属的无线传感网络节点系统的体系结构研究课题组研制了一个针对无线传感网络节点设计的综合软件开发平台Sen⁃Spires[6]。此外,在传感器数据管理系统上,哈尔滨工业大学和黑龙江大学也取得了突破性的进展,研制出了一个传感器网络数据管理系统[7]。

2 SNEP安全通信协议

为了解决无线传感器所需要应对的网络威胁,许多科研机构已经研制出了一些防护机制。SPINS(Security Protocols for Sensor Networks)安全框架[4]是最早的无线传感器网络的安全框架之一这种框架的优势在于其在数据的完整性、可认性等许多方面都做了一定的考虑,而其缺点在于这种框架在应对节点被俘、信息泄露、DOS攻击等问题上还有一定的缺陷。

SPINS安全框架的设计目标是为了控制被攻陷的节点,防止它扩大破坏的后果[9-10]。SPINS安全体系因为采用了主密钥共享方式[9],从而暴露了一定的缺陷,即其安全问题很大程度上取决于基站,而这个物理限制又大大的影响到了实际的灵活性。为了解决这个问题,科研人员研究了密钥的预分布方法。这种方法通过把基站的重要程度弱化到一般节点的程度,从而减小了系统安全性对基站的依赖。

SPINS安全协议一共包括两部分,即SNEP(Secure Network Encryption Protocol) 和μTESLA(micro Timed Efficient Streaming Loss-tolerant Au⁃thentication Protocol)。SNEP协议提供点到点的通信认证、完整性、数据机密性和新鲜性等服务,μTESLA协议则提供对广播信息的数据认证服务。

3 SPINS安全协议下的RC5分组加密算法

在SNEP协议下,数据的加密使用了RC5分组密码算法。RC5算法有几种工作方式[11],如果使用密文分组链接 (Cipher Block Chaining,CBC)模式,由于模式下解密和加密的步骤不一样,因此完成工作需要两段代码。而计数器(Counter,CTR)模式的解密和加密的步骤一样,这大大释放了存储空间有限的系统的空间,而且还兼有了密文分组链接模式所具有的语义安全的优点。因此本文最终采用了计数器CTR模式来实现数据的机密性。

RC5算法在实现的时候,首先对主密钥进行扩展,总共产生t个子密钥。对于每次的循环,有了,两个子密钥处于被使用状态,另外还有两个子密钥处于被一个额外的不处于循环的操作占用的状态,因此,密钥的总数t=2r+2。而扩展后,每个子密钥的长度w位即一个字的长度。密钥扩展的主要操作包括了初始化、转换和混合。

(1)初始化。子密钥被存放于一个t个字的数组中,记为S[0],S[1],…,S[t-1]。使用w和r作为输入,将数组S[0],S[1],…,S[t-1]初始化为一个特定的伪随机比特模式。初始化的伪代码表示为[12]:

其中,在初始化过程中使用了两个常数Pw,Qw:e 为自然对数的底;Qw=Odd[(Φ-1)2w],Φ为黄金分割比。根据计算,得到十六进制表示的Pw,Qw值如表1所示。

表1 Pw、Qw取值

(2)转换。这一个操作主要是将b字节的主密钥K[0…b-1]转换成一个c个字的数组L[0…c-1]。转换后,原来以字节为单位存储的密钥变为以字为单位存储。

(3)混合。将L数组和S数组的内容混合,产生数组S的最终值。伪代码描述如下:

i=j=x=y=0

do 3*max(t,c)times

S[i]=(S[i]+x+y)<<<3;x=S[i];i=(i+1)mod(t);

L[j]=(L[j]+x+y) <<<(x+y); y=L[j];

j=(j+1)·mod(c);

其中c=[b*8/w],方括号表示取整运算,<<<表示向左循环移位。

密钥扩展的过程如图1所示。

在RC5算法的加密和解密过程中,一共采用了三种基本的操作(包括其逆操作),各操作内容如下。

图1 RC5算法的密钥扩展

1)加法:字的相加也就是模2w加法,记为+,而其逆操则是模2w减法,记为-;

2)按位异或:用⊕表示;

3)循环移位:字x被循环左移y bit,记为x<<<y,其逆操作是把x循环右移y bit,记为x>>>y。加密时,输入长度为2w bit的明文块,迭代的轮数r及子密钥S[0],S[1],…,S[2r+1],加密后输出2w bit的密文。假设输入的明文块最初被存放在两个字长为w位的寄存器A和B中,迭代次数为r,可用伪代码将算法的加密过程描述如下:

input(A,B)

A=A+S[0]

B=B+S[1]

for i=1 to r do

A=((A⊕B)<<<B)+S[2i]

B=((B⊕A)<<<A)+S[2i+1]

output(A,B)

其中,输入的A、B分别为要处理的两个比特数为w的明文分组,在每一轮的迭代过程使用了两个子密钥来分别处理明文分组A和B,实现了分组内容的更新。经过r次的迭代后,输出的A、B分别为加密后的比特数为w的密文分组,其被存放在寄存器A和B中。RC5算法的加密过程如图2所示[12]。

解密是加密的逆过程,其伪代码描述为:

input(A,B)

for i=down to 1 do

B=((B-S[2i+1])>>>A)⊕A

A=((A-S[2i])>>>B)⊕B

A=A-S[0]

B=B-S[1]

output(A,B)

其中输入的A、B为长度w bit的密文,输出的为解密后的比特数为W的明文。解密过程可用图3表示[12]。

图2 RC5的加密过程

图3 RC5的解密过程

4 协议实现

RC5算法在计数器模式下的工作过程如图4所示。

图4 RC5-CTR算法加解密过程描述

其中,P表示明文分组,C表示密文分组。计数器模式使用的是与明文分组规模相同的计数器长度,要求加密不同的分组使用的计数器的值也不相同。在加密时,先将计数器的值用加密算法加密,然后再将加密后的结果和输入的明文进行一次异或算法,得到的数据即为最终的密文,同时计数器值加1,进行下一步操作,直至把所有的明文处理成最终所要的密文。解密时,通过使用同一个计数器值序列,从而把加密后的结果和密文进行异或操作,最终恢复出明文,解密完成[13]。

5 结论

本文主要研究SNEP安全通信协议的实现问题,结合传感器资源受限的特点,详细地总结了SNEP协议在点到点认证、数据机密性等各方面的具体实现方式。然后给出了适合SNEP协议的RC5算法。该算法的优点有具有随机访问性、处理效率高、实现简单和能够实现预处理等优点。

[1]杨光.无线传感器网络安全路由算法研究与设计[D].哈尔滨:哈尔滨工程大学,2007.

[2]Perrig A,Szewczyk R,et al.SPINS:Security protocol for sensor networks[J].Wireless Networks,2002,8(5):521-534.

[3] Perrig A,Canetti R,Tygar J D,et al.The TESLA broadcast Authentication Protocol[J].Cryptobytes,2002,5(2):2-13.

[4]马春光,尚治国,张国印.无线传感器网络安全[J].中国计算机学会通讯,2006,2(4):34-42.

[5]973计划2006CB303000项目组.无线传感器网络的基础 理 论 及 关 键 技 术 研 究 [EB/OL].http:// 3030.973program.org/Default.aspx.

[6]浙江大学SenSpire项目组.Senspire[EB/OL].http:// eagle.zju.edu.cn/home/eos/senspire/.

[7]李建中,李金宝,石胜飞.传感器网络及其数据管理的概念、问题与进展[J].软件学报,2003,14(10):1717-1727.

[8]覃伯平,徐福华,周贤伟.无线传感器网络与安全[M].北京:国防工业出版社,2007.

[9]李艳.无线传感器网络安全通信协议研究与设计[D].大连:大连理工大学,2006.

[10]陈喻,王飞宇,杨任尔,等.利用sink的移动性提高无线传感器网络寿命[J].机电工程,2013(5):636-640.

[11]R Baldwin,R Rivest.RFC2040[EB/OL].http:// www.cnpaf.net/rfc/rfc2040.txt.

[12]胡向东,魏琴芳.应用密码学[M].北京:电子工业出版社,2006.

[13]William Stallings著,杨明,胥光辉,齐望东等译.密码编码学与网络安全:原理与实践:第二版[M].北京:电子工业出版社,2001.

Research on Process Management System Model Based on Petri Net

LUO Chang
(Maoming Power Supply Bureau,Maoming525000,China)

The rapid development of sensor network technology has attracted great concern.Since each sensor node has limited storage space,speed,signal transmission capacity and is generally used in harsh environment that is not suitable for human activity,and therefore we not only need to protect the sensor normal operation of the network,but also to maximize the integrity and confidentiality of transmitted information in practical applications and scientific research.In this paper,the basic theory of wireless sensor network was introduced,and then analyzed its security features,the existent security threats and special security objectives.Then,this paper concentrated on the detailed analysis of SNEP protocol in data confidentiality,integrity,two-party authentication,data freshness and communication between nodes.On the basis of this,RC5 encryption algorithm is given for achieving the SNEP protocol.The encryption algorithm was analyzed in detail.In the end,the demonstration program of RC5 algorithm was achieved.

wireless sensor network;network security;secure communication;SNEP protocol;RC5 algorithm

TM933

A

1009-9492(2014)03-0015-04

10.3969/j.issn.1009-9492.2014.03.005

罗 常,男,1982年生,广东茂名人,大学本科。研究领域:信息工程、业务流程管理。

(编辑:阮 毅)

2014-01-24

猜你喜欢

明文密钥加密
密码系统中密钥的状态与保护*
一种基于熵的混沌加密小波变换水印算法
一种对称密钥的密钥管理方法及系统
奇怪的处罚
基于ECC的智能家居密钥管理机制的实现
奇怪的处罚
认证加密的研究进展
四部委明文反对垃圾焚烧低价竞争
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密