一种无线传感器网络的数据包编码加密算法设计

2012-08-15 11:37林海峰蔡正宇刘云飞
关键词:报文数据包密钥

林海峰 白 荻 蔡正宇 刘云飞

(1南京林业大学信息科学技术学院,南京 210037)(2南京农业大学工学院,南京 210007)(3南京大学电子科学与工程学院,南京 210093)

无线传感器网络(WSNs)由于其潜在的应用热点,目前正广泛用于民事和军事领域[1-2].无线传感器网络包括众多网络设备,这些网络设备通过短距离无线连接器,实现数据处理、数据存储以及通信功能.WSNs不需要基础设施,但能够作为一个网络配置,构建自己的路由表.

在无线传感器网络中,电池为传感器提供能源,但是电池在不充电的情况下,工作时间有限.然而,无线传感器网络经常部署在偏远或者敌对的环境,如战场或沙漠,无法更换新电池为这些传感器提供能源[3-5].其中,最消耗能源的操作是数据传输,如果大量的传感器不在服务区内,那么整个无线传感器网络将不起作用.因此,在不牺牲系统的可靠性的前提下,通过节能设计延长系统寿命,是大型无线传感器网络设计中的一个重要挑战[6-7].

安全是网络的重要因素,尤其是在无线传感器网络中,将面临更多入侵攻击,而这些攻击通常与传统的有线网络的攻击存在很大差异.为了保证无线传感器网络的安全性,需要考虑身份验证、可用性、保密性、实时更新、完整性和不可抵赖性等因素.

①通过验证.传感器能够确认对方身份.如果没有验证,对方可以伪装成传感器,并能够未经授权访问并获得重要信息.利用数据验证,接收者能够确保数据的确是从真正的发送者发出.

②可用性.确保网络在受到拒绝服务攻击(Dos)时的可用性.

③保密性.未经授权的实体不能获得机密信息.常用的解决方法是对数据进行加密,只有授权的接收者才具有密钥,来保证保密性.

④实时更新.数据以及密钥都需要实时更新,数据的实时更新保证数据一直是最新的,不会重播旧消息,密钥的实时更新意味着在一个加密组合中使用的密钥不能再用于其他的组合,因此在某一时段使用的密钥将一直处于最新的状态.

⑤完整性.保证信息在传输过程中没有被篡改,如修改、插入、删除或重放.

⑥不可抵赖性.针对某些实体否认全部参与或部分参与通讯的情况,提供服务,从而保证信息的发送由指定部分来控制[8].

在WSNs中存在多种安全问题,但本文只考虑保密性、身份验证以及实时更新,提出了一种数据加密算法,该算法只使用基本算术指令,从而达到节能的效果.

本文介绍了流密码的概念,提出了在无线传感器网络中保护隐私数据的高效节能模型,并进行安全性分析.

1 流密码

在密码学中,流密码是明码结合的伪随机位加密流对称加密算法(密钥流),通常包括异或(XOR)操作[9],在流密码中,明码是一次加密,并且在加密期间,连续数码发生不同的转变,如图1所示.流密码的另一种名称是状态密码,因为每个数码加密是依赖于当前状态,每个数码通常是一个比特或一个字节组成.

图1 流密码

在图1中,密钥流生成器是一个“伪随机“的位序列,即使给定一些密钥流的位信息,产生结果依然是不可预测的.它是一个初始向量,被典型应用于块加密.在OFB模型中,密钥流的密钥大小受限制,例如128 bit,因此它不能永远安全.

流密码以不同的方式对分组密码进行对称加密,分组密码应用于固定不变的大块数码中.然而,流密码与分组密码相比,具有更高的速度和较低的硬件复杂度[5].流密码消耗计算资源和能源少的性质使得它更适合于无线传感器网络.

2 数据包编码加密算法

本文综合利用认证和密钥管理协议,提出一个数据包编码加密算法.利用先前数据包的线性组合来产生流密码中伪随机的密钥位.为了达到这样的效果,本文对初始的支配集使用了聚类算法.

2.1 对支配集进行聚类

一个支配集图G=(V,E),其中子集S⊆V,对于每一个顶点v∈V或者包含在S中,或者是S的相邻顶点[6].在集合S中的顶点称为簇首节点,集合S的相邻顶点称为簇内节点[6].每一个簇群可以与所有簇内节点直接通信,每一个簇内节点也可以直接发送数据给簇首节点.本文将安全程序分成两个阶段,簇间和簇内聚类算法.

2.2 Hash 函数

假设所有的簇首节点和簇内节点都使用相同的Hash函数h(M),该函数根据任意长度的消息产生唯一的定长的编码[5],该散列函数可以被放置在任意传感器节点上.Hash函数有如下4个性质:

性质1 h(M)易于计算,用β表示h(M)的结果.

性质2 给定β,不能求出M使得h(M)=β成立,称之为“单向函数”.

性质3 给定M,不存在M'≠M,使得h(M')=h(M)成立,称之为“弱碰撞性”.

性质 4 不存在任意一对(M',M),使得h(M')=h(M)成立,称之为“强碰撞性”.

根据后三条性质,如果Hash函数的构造是保密的,那么其他节点将无法模拟该传感器节点.这样就可以防止伪装攻击或假冒攻击.根据“弱碰撞性”和“强碰撞性”,可以检测接收到的信息是否被篡改.由于Hash编码易于计算,可以忽略传感器计算哈希函数的能量消耗.为了防止应答报文攻击,在每一条报文中加入时间戳.

在本文的协议中,仅计算部分Hash编码,即Hash函数的输入是从簇内节点发送给簇首节点纯文本的数据包.根据这部分的哈希函数,可以发现丢包并可以容忍一些包的丢失,本文后续小节将进行讨论.

2.3 簇间建模

由于不需要考虑数据接收器的能源消耗,则可以使用公钥来实现数据隐私.首先,数据接收器将广播公钥到所有簇首节点,过程如报文交换1所示.

报文交换1 数据接收器分配公共密钥的阶段:

报文1.数据接收器→簇首节点:KS+Stamp

报文2.簇首节点→数据接收器:EKS+(packet)

数据接收器广播公钥到簇内节点,如报文交换1中的报文1所示.在报文1中,使用K+S表示数据接收器中的公钥.当簇首节点接收到报文1,根据接收到的报文计算β,并将其与接收到的β'进行比较,从而验证其一致性.如果通过验证,仍然需要检查此报文的时效性.如果是最新的报文,簇首节点使用公共密钥对数据进行加密,然后将密文发送到数据接收器.

使用报文2表示发送到簇内节点的报文.当数据接收器接收到报文2,根据接收到的报文计算β,并将其与接收到的β'进行比较,从而验证其一致性.如果通过验证,仍然需要检查此报文的时效性.如果是最新的报文,数据接收器存储该数据包.

2.4 簇内建模

本文通过两步措施来保证簇内数据,分别是初始密钥分组交换和数据收集.

1)初始密钥分组交换.首先,每个簇首节点与簇内节点需要交换密钥数据包,用于每次会话的加密和认证,过程如报文交换2所示.

报文交换2 初始密钥分组交换阶段:

报文1.簇内节点→簇首节点:E Kmaster(key_packet )Time_Stamp

簇内节点发送报文1给簇首节点,其中报文组织格式为 EKmasterkey_packet_Stampβ,KKmaster为万能钥匙,存储在每一个传感器中,β是key_packetTime_Stamp的Hash编码.

每一个簇内节点需要存储密钥数据包,使用密钥数据包产生大小为k的密钥池,从而能够密钥数据包向左平移.如图2所示,每一个簇内节点中的密钥池对簇首节点发送来的数据包进行编码,密钥池是一个先进先出(FIFO)队列.

图2 每个传感器中的密钥池(密钥数据包为00000001,密钥池大小为5)

簇首节点接收到的报文1中包含初始化密钥数据包,根据接收到的报文计算β,并将其与接收到的β'进行比较,从而验证其一致性.如果通过验证,仍然需要检查此报文的时间戳.如果是最新的报文,簇首节点存储并产生类似于簇内节点的密钥池,利用该密钥池对簇内节点发送的报文进行解码.最后簇首节点发送报文2,通知相应的簇内节点密钥池已经设置完成.

报文交换3 数据收集阶段:

报文1.簇内节点→簇首节点:

簇内节点密钥池随机地对数据包进行编码,其中,β是packetTime_Stamp的 Hash编码,(g1,g2,…,gk)为系数.

当簇首节点接收到此报文,根据接收到的报文计算β,并将其与接收到的β'进行比较,验证其一致性.如果通过验证,仍然需要检查此报文的时间戳.如果是最新的报文,簇首节点利用接收到的系数以及密钥池对簇内节点发送的报文进行解码.解码完成后,将报文存储在密钥池中.

本文的数据收集过程如图3所示,其中Mi表示簇内节点,KP表示密钥池.

2.5 安全分析

图3 数据收集过程

1)簇间安全性.簇首节点发送的每一个报文都使用公钥进行编码,从而保证每个数据包都是安全的.

2)簇内安全性.为了实现每个簇内节点的保密性,使用公钥对簇内节点发送的密钥数据包进行加密,根据公钥的加密性质,可以保证信息安全.

由于每一个簇内节点随机产生初始密钥数据包,所以密钥空间为2n,数据包的长度为n.在本文的模型中,数据包的长度超过192比特,使得攻击者无法破译初始密钥数据包,从而保证密钥池的安全性.

通过异或⊕操作,随机使用先前的数据包与当前数据包进行编码,如报文交换3所示,其中packet表示簇内节点接收到的数据包,⊕gi表示簇内节点发送的数据包,密钥空间的大小与源数据包空间大小成正比.

企业并购分为兼并、收购和合并三种,企业并购是指两个或者两个以上的企业为了提高自身竞争力,双方自愿平等的发生交易,一方企业付出一定的经济代价从而取得另一方的股权和资产,从而对其进行控制和管理的行为。

2.6 本文模型的优势

本文构建的模型有以下几方面的优势.

1)节省通信.本文所构建的模型随机使用先前的数据包对当前数据包进行编码,不需要定期交换会话密钥.一般情况下,如果需要交换密钥,至少需要两个报文,如图4所示.

交换密钥的过程如下:

①簇内节点随机产生一个会话并发送至簇首节点,用报文1表示;

②报文1使用簇首节点的公钥对会话密钥进行加密,得到Ksess;

③当簇首节点接收到报文1时,根据接收到的报文计算β,并将其与接收到的β'进行比较,从而验证其一致性;

④如果通过验证,仍然需要检查此报文的时效性;

⑤如果是最新的报文,簇首节点将回复ACK到簇内节点告之它收到了一个新的会话密钥.

整个信息交换过程可以显著地降低能耗.

2)节省计算能耗.本文所构建的模型只需要通过⊕操作对数据包进行编码和解码,与AES相比,此操作只需要少量的能量消耗.

3)节省计算资源.本文所构建的模型只需要对数据包进行异或操作,因此硬件成本可以显著降低.

4)本文的协议适用于任何编码算法.本文所构建的模型中,在发送数据包之前,可以使用任何编码算法对数据包进行编码,而不会影响到模型的安全性,原因在于编码算法不会影响源数据包空间信息统计.

5)拥有数据包丢失检测以及容错能力.以图4为例,说明数据包丢失检测能力.使用先前的数据包对当前数据包进行编码后得到g=(000…1),如果传感器节点发送的第3个数据包丢失,那么簇首节点将使用第2个数据包来进行编码.因为接收到的β'是 h(110),但是所接收报文中的 β是 h(011),从而可以验证数据包丢失.簇首节点没有通过验证,将会要求簇内节点重置通信状态.

图4 数据包丢失检测

以图5为例,说明数据包丢失容错能力.同样假设使用先前的数据包对当前数据包进行编码后得到g=(000…1),如果传感器节点发送的第4个数据包丢失,但先前的数据包与丢失的数据包完全相同,因此簇首节点仍然可以对第5个数据包进行解码.显然丢包不会影响簇首节点对后续包的解码工作.

图5 数据包丢失容错

3 仿真结果

图6展示了AES算法的生命周期和轻量级流密码算法的对比.从图中可以看出所设计的数据包编码加密算法的生命周期几乎是AES算法的2倍.

图6 AES算法系统生命周期和本文模型对比

4 结语

本文首先介绍了无线传感器网络中安全设计问题面临的挑战,然后讨论了无线传感器网络的概念和网络编码,此外还提出了一种利用流密码和网络编码方法的数据加密机制,用于高效安全的数据传输,通过仿真实验以及安全性分析,表明本文构建的模型能够显著地提高能源利用率,并保证高水平的数据安全性.

由于簇首节点比簇内节点有更多的能源消耗,需要进一步设计一种新的聚类算法来平衡能源消耗,延长整个系统的寿命,另外还需要提高检测簇首节点的故障和修复能力.

References)

[1]Estrin D,Govindan R,Heidemann J,et al.Next century challenges:scalable coordination in sensor networks[C]//Proceeding of the fifth Annual International Conference on Mobile Computing and Networks.Seattle,Washington,USA,1999:89-92.

[2]Pottie G,Kaiser W.Wireless integrated network sensors[C]//Communication of the ACM.New York,NY,USA,2000:263-270.

[3]Chen Hao.Efficient compromising resilient authentication schemes for large scale wireless sensor networks[C]//3rd ACM Conference on Wireless Network Security.Hoboken,NJ,USA,2010:99-102.

[4]Qin Ronghus,Sun Qi,You Xing,et al.A key management scheme for manually deployed wireless sensor networks based on dual directional hash chains[C]//2nd International Conference on Intelligent Systems Design and Engineering Applications. Sanya, China,2012:43(5):23-30.

[5]Shwe Hninyu,Adachi Funiyunki.Power efficient adaptive network coding in wireless sensor networks[C]//IEEE InternationalConferenceon Communications.Kyoto,Japan,2011:5963363.

[6]Wieselthier J E,Nguyen G D,Ephremides A.Algorithm for energy-efficient multicasting in static ad hoc wireless networks[J].Mobile Networks and Applications.2001,6(3):251-263.

[7]Singh S,Stepanek J,Raghavendra C.Power-aware broadcasting in mobile ad hoc networks[C]//Proceedings of IEEE PIMRC'99.Osaka,Japan,1999:503-508.

[8]Stallings William.Cryptography and network security:principles and practices[M].Prentice Hall,2003.

[9]West D.Introduction to graph theory[M].2nd ed.Prentice Hall,2001.

猜你喜欢
报文数据包密钥
基于J1939 协议多包报文的时序研究及应用
二维隐蔽时间信道构建的研究*
幻中邂逅之金色密钥
基于Jpcap的网络数据包的监听与分析
密码系统中密钥的状态与保护*
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
SmartSniff
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统