基于CPK和能量的安全路由算法
2011-06-27蔡志伟李银勇褚伟铭
蔡志伟,江 汀,李银勇,李 佳,褚伟铭
(中国人民解放军理工大学通信工程学院 南京 210007)
1 引言
由于传感器网络具有自组织、无线通信等特点,被运用于军事通信、地震等紧急情况下的通信。随着传感器广泛地运用于各种领域,其网络的安全性日益被关注。传感器网络的无线通信的特点,比固定网络面临着更多的安全问题,构建良好的安全路由协议是其必要的一种手段。传统路由协议的主要设计目标是如何提供更好的QoS和高效利用网络带宽,安全节约的问题被放到了次要的地位。本文根据传感器网络的特点,提出一种基于CPK和能量的安全路由算法。
2 相关工作
2.1 传感器网络面临的安全威胁
无线传感器网络(wireless sensor network,WSN)是一种特殊类型的网络,其约束条件很多 (相对于计算机网络),这些约束条件加剧了网络的安全问题[1]。参考文献[2]列出了WSN在网络协议栈的各个层次可能受到的攻击和主要的防御手段,如表1所示。
本文研究融合网络安全路由机制,因此重点分析网络层面临的安全威胁。针对网络层的攻击主要有以下几种[3~5]。
表1 传感器网络各层攻防手段
·选择性的转发,基于多跳传输的路由机制,中间节点需要忠实地转发数据包。但处在数据传输路径上的恶意节点在转发信息包时会有意丢弃,造成信息包的丢失。
·黑洞攻击,就是通过一个恶意节点吸引一个特定区域的几乎所有的数据流量。这个节点使路由算法认为数据经过它能达到最优的性能。黑洞形成后,恶意节点可以实施其他攻击,比如选择性转发攻击。
·伪造、篡改或者重放路由信息,攻击者通过改变原路由,在网络中形成路由环路,创造不存在的路由,吸引或抑制网络流量,缩短或延长路由长度,产生虚假错误消息,延长端到端的时延,分割网络等。
2.2 传感器网络路由协议研究
传统路由协议的主要设计目标是如何提供更好的QoS和高效利用网络带宽,节约能量的问题被放到了次要的地位。
针对不同的网络应用,研究人员提出了不同的路由协议。到目前为止,路由协议分类仍然不具有确定性,参考文献[6]总结了不同的分类方法如图1所示。有时一种协议具有多种属性,可以同时分属于多类。
2.3 传感器网络安全路由设计原则
传感器网络的安全需求主要表现为以下几个方面。
·数据机密性:无线通信的广播特性使节点间传输的数据包很容易被截听。机密性的含义是即使攻击者截获节点间的物理通信信号仍然不能破解其所携带的具体内容。
·数据完整性:在WSN通信环境下,恶意节点极容易对传输的数据进行改动。完整性要求网络节点收到的数据包在传输过程中未被插入、删除、篡改等,即保证收到的消息和源方发出的消息是完全一致的。
·数据真实性:数据的真实性需求主要体现在点对点的消息认证和广播认证。前者指任何一个节点在收到来自另一节点的消息时,能够核实这个消息的来源真实性,不是被伪造或假冒的。
3 基于CPK和能量的安全路由算法
3.1 密钥分配
传感器网络专门设立了安全管理中心用来实现密钥的生成与分配。安全管理中心主要作用就是负责用户的注册和认证,为每个新接入网络的节点分配ID。如图2所示,节点在通信前以现场接触的方式到安全管理中心获取椭圆曲线参数、公钥矩阵、自己的私钥以及身份标识ID,通过这些参数节点就能得到全网的公钥和自己的私钥。
传感器节点需要与其他节点通信时,只要知道其ID就可以进行数据加解密、数字签名等操作。若节点需要发送数据给节点i时(IDi),节点需要先计算公钥。首先节点将节点的身份标识IDi通过标识映射算法Functionmap得出值data:
图1 WSN路由协议分类
图2 密钥分配
然后在公钥矩阵PKM中找出与data对应的元素A:
最后,组合这些元素A生成节点i的公钥PKi:
节点通过得到公钥 PKi对数据进行加密处理,数据包到达节点i时,节点i通过自己的私钥对数据包进行解密处理。
该体制的优点就是网络扩展性很好,容易实现新节点的加入。新节点只需要到安全管理中心获取自己的私钥、公钥矩阵、标识映射算法以及使用的椭圆曲线的一系列参数即可获得加入网络的资格,而其他节点不需要进行额外的通信开销。
3.2 簇头建立
在LEACH中采取等概率的方式进行簇头选择,这样会导致网络中节点的能量分布不均。为了延长网络寿命,本协议是以能量为依据进行簇头选择,以此来保证网络能量的均衡,其基本思想是簇头的选择尽量靠近低能量节点,避免低能量节点能量消耗过快退出网络。
在簇头选举之初,网络中节点交换自己的剩余能量,首先广播自己的能量包。能量报文格式如图3所示。
图3 能量报文格式
并在每个节点内设置两个参数:N为收到广播包的总数,L为收到广播包能量小于自己的数目。根据参考文献中指出的簇优化方案,当每个簇节点接近20个左右时,网络寿命最长,故在本算法中尽量使得每个簇接近20个,即网络可分为N/20个簇。
假设节点i在时间t其能量为Ei(t),每次收到广播包的能量Ej(t),若 Ej(t) 通过簇头初选之后,簇头节点发布自己为簇头的消息,非簇头节点根据收到簇头消息中的能量指示加入该簇头,为了保证安全性,在加入簇头阶段时,双方要进行身份认证。当节点经过身份认证后,发布入簇消息,然后进行时隙分配。 节点确定可以成为簇头之后: ·生成随机数NHead,用自身私钥SKHead对广播消息BHead加密,得到 MSG=DSK(BHead+NHead); ·候选簇头广播消息BHead、MSG和自己的ID; ·等待节点加入消息。 如图4所示,其为簇头节点进行认证的步骤。 图4 簇头节点认证步骤 上述步骤可以看出,当非簇头节点使用簇头的公钥解密密文MSG时,如果得不到原明文,则证明簇头并没有使用簇头节点的私钥加密,从而判断来源不真实,实现了核实发送者的功能;如果报文遭他人篡改,则非簇头节点解密密文MSG时,不能得到可阅读的明文,从而实现了报文的完整性验证功能。 在数据传输阶段,普通节点采集监测地域的数据,然后把这些数据上传给簇头节点。簇头节点将收集到的数据进行融合处理,得到用户所需的信息,然后沿路由传输给用户。由于传输的信息均是用户的敏感信息,为了保证数据的机密性,需要对数据进行安全加密处理,其处理流程如下。 节点A在向节点B发包之前,对报文进行如下处理。 第一步,节点A首先根据节点B的ID组合出B的公钥PKB,使用PKB加密数据。加密计算式如式(4)所示: 其中EnMsg表示加密后的密文;Msg表示加密前的明文;PKB表示簇头节点的公钥。 图5 数据的安全传输 第二步,对密文进行报文摘要运算Fone-way后得到报文摘要MD,如式(5)所示,将签名的报文摘要附加在密文EnMsg的尾端等待发送。 节点B收包之后,进行如下处理。 第一步,节点B收包后,首先从数据包中分离出密文EnMsg和报文摘要MD。 第二步,对报文EnMsg’进行报文摘要运算得到报文摘要 MD’: 比较MD与MD’,一致则消息完整、真实,不一致则消息被人篡改。 第三步,节点B使用其私钥SKB、计数器C的值,解密密文 EnMsg,获取明文Msg。 其具体的传输流程如图5所示。 本文采用NS2仿真工具建立了网络仿真模型,对改进算法和LEACH路由算法进行了仿真和性能比较。模拟将100个节点随机分布在(100×100)的空间中,SINK节点的位置为(0,0)。所有的节点都是静止的。带宽设置为1 Mbit/s,消息的长度为500 byte,发送与接收的时延均为25 s,每个节点的初始能量相同,为2 J。 指标主要有3个:网络的稳定周期以及网络的生存期。其中网络稳定周期是指传感器网络启动到第一个节点能量耗尽的时间。 图6 网络生存期 图6 显示了两种协议的网络生命周期。从中可以看出,第一个节点的死亡时间,BECPK协议要晚于LEACH,网络稳定周期比LEACH要长,全部节点死亡时BECPK比LEACH多运行了31轮,网络生存期要比LEACH要长。这说明,新协议加入了安全机制和能量计算,虽然造成了一定的能量消耗,但是由于可以使能量损耗更加均匀地分布到所有的节点中,避免了单个节点因能量损耗过大而过早死亡,从而延长了网络的生存期。本文的仿真场景仅包含100个节点,当WSN网络规模更大时,网络的性能提升会更好。 本文提出了适用于基于能量和组合密钥的安全路由算法。本算法借鉴邻近节点信息交换的思想,在成簇过程中与探测范围内的节点交换能量信息,保护低能量节点,有效延长了网络的稳定周期,并且加入了基于CPK的安全机制,能够在一定程度上防御有害节点的入侵。该算法具有分布式算法的优点,无需任何全局信息和地理位置信息,因此有很好的可扩展性。 1 李善仓,张克旺.无线传感器网络原理与应用.北京:机械工业出版社,2008 2 赵海霞.无线传感器网络安全路由研究.国防科学技术大学硕士学位论文,2005 3 Wood A,Stankovic J.Denial of service in sensor networks.IEEE Computer,2002,35(10):54~62 4 Yu B,Xiao B.Detecting selective forwarding attacks in wireless sensor networks.In:Proceedings of the 2nd International Workshop on Security in Systems and Networks,Greece,2006 5 Newsome J, Shi E, Song D, et al.The sybil attack in sensor networks analysis and defenses.In:Proceedings of Third Int'1 Symposium on Information Processingin SensorNetworks,Berkeley,2004 6 严国强.无线传感器网络路由协议研究.兰州西北工业大学硕士学位论文,2007 7 何美红,徐成谦,张东良.基于NS2的LEACH协议仿真与分析.电子测量技术,2009,32(1):40~423.3 数据稳定传输
4 仿真实验
5 结束语