网络信息安全的认识_基于无线传感网络的安全策略研究
摘要:针对无线传感网络中拓扑结构变化时考虑安全需求不够的问题,提出一种节点加入和退出网络的安全策略。该策略把节省节点能耗和降低计算负荷作为设计目标,采用预设密钥和证书方案和转发节点请求的方法,有效地降低节点的耗能和计算量。同时对节点退出进行了定义、分类和研究,增强了网络的安全性和减少了退出节点在网络中的冗余。最后经过安全性分析和性能分析,该策略具有适用面广、耗能低和计算量小的优势。
关键词:无线传感网络(WSN)安全 策略
中图分类号:TP393. 08文献标识码:A文章编号:1007-9416(2010)05-0000-00
Research of Security Policy based on WSN
Chen Xiang
YunNan Electric Power Design Institute,Kunming 650011
Abstract:To the problems of less consideration of security requirements on change of topological structure in wireless sensor network,this paper presents a security strategy based on node’s join the network and leaving. The strategy takes saving of node energy consuming and reducing of calculation load as it s design targets. With methods of pre-distribution of key and certificate and transmit-node request, energy consummation is effectively reduced. Through the definition, classification and study,enhancing the security of the network and decreasing the redundancy after the node leaving the network. At last, with the analysis on security and function,this strategy contains advantages of widely adaptive,low energy consuming and minimal calculation.
Key words: wireless sensor networks; secure; strategy
1 引言
网络安全技术历来是网络技术的重要组成部分。网络技术的发展历史已经证明了这样的一个事实,没有足够的安全保证的网络是没有前途的。而无线传感网络作为一种起源于军事领域的新型网络技术,其安全性问题显得更加重要[1]。由于与传统网络之间存在较大的差别,无线传感网络的安全问题也有一些新的特点。无线传感网络中节点自身资源严重受限,能量受限,这极大的限制了传感器节点本身的对抗能力;无线传感网络采用无线通信方式,其数据包容易被截获,也更容易收到干扰;无线传感网络内不存在控制中心来集中管理整个网络的安全问题,所以安全系统必须适应网络的分布式结构,并自行组织对抗网络入侵[2]。
我们设计的策略着重考虑了在节点加入和节点退出时引起的拓扑结构变化的安全防范。
2 系统假设
在分析无线传感网络安全需求和安全基础设施之前,先给出一些假设。我们采用由Younis等人提出的系统模型[3][4]。假设在节点加入网络时,网络已经形成了如图1的拓扑结构,且网络各个节点间的通讯正常。节点和信任节点(Node)已组成一个安全的网络,所有节点和主节点(Master Node)围绕一个或多个信任节点(Trust Center)形成无线传感网络。
Fig.1 The topology structure of the system
首先,在节点加入网络前,具有初始化配置,采用低能量密钥分配方案[7],给所有节点分配一个可以与其它节点通信的起始帧(Join Frame)和同一证书Cert 、不同的私钥 Ki 。其中Cert = Signca ( Publickey)。同时定义了如下语法:
A→B:E(Ks,(message1||message2……||messageN)),表示节点A向节点B发送由密钥Ks加密的消息message1,message2…messageN。其中节点A、B可能表示加入节点(JN)、邻节点(NN)、主节点(MN)、信任节点(TN)、退出节点(LN)。
3 节点加入网络的安全策略
当一个新节点欲加入网络,我们根据节点加入时所处的位置。进行了如下分析:
当节点只有一个加入请求的对象,所以节点只能向主节点或信任节点发送加入请求;当节点有多个发送加入请求的对象,为了兼顾各个主节点的功耗和资源平衡,节点加入选择向能量较足的主节点发送加入请求;同时,为了降低主节点的处理器负荷的和减少功耗,优先向信任节点发送加入请求。通过以上的分析后,节点加入网络分为向主节点和信任节点发送加入请求。定义节点加入网络的流程为:加入请求、密钥验证、节点更新三部分。
3.1 节点通过主节点加入
节点通过主节点加入网络包括以下8步:
加入请求(Join Request)
(1)JN→MN:JoinFrame 当节点欲加入网络时,节点向网络广播发送起始帧(Join Frame)以表示有新节点加入网络(Join Request)。
(2)MN→JN:JoinIDtemp,主节点接到节点发送的请求后,首先将起始帧(Join Frame)与预设的起始帧比较,如匹配,则主节点向节点发送确认信息(Join Success),并向此节点随机分配一个临时节点号(JoinIDtemp),节点收到确认信息后,则不在向网络广播起始帧。同时,主节点向信任节点转发新节点加入:MN→TN:JoinIDtemp。信任节点产生一随机数RandomIDtemp并发送:TN→MN:E(KMasterID,Trust ,RandomIDtemp|| JoinIDtemp)。信任节点记录该随机数与此JoinIDtemp信息。主节点收到信息后,向加入节点转发:MN→JN:RandomIDtemp|| JoinIDtemp。此时,节点加入网络成功。如果起始帧不匹配,节点加入网络失败,主节点记录此节点的物理地址MACJoinfailed,主节点将忽略此节点的以后发来的起始帧。
密钥验证(Authenticate)
(3)JN→MN :E(KJoinIDtemp,timeJM||JoinIDtemp||RandomIDtemp)节点成功加入网络后,还需要需要验证密钥(Key Authenticate Request)。节点此时向主节点发送使用私钥KJoinIDtemp加密的如上消息,加入时间戳是为了防止主节点返回验证信息时,节点遭受返回攻击。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 (4)MN→TN:E(KMasterID,Trust,E(KJoinIDtemp,timeJM|| JoinIDtemp||RandomIDtemp))主节点向信任节点消息,信息中加入主节点的节点号。
(5)①TN→MN:E(KMasterID,Trust,E(KJoinIDtempPublic,(KMasterID,JoinID||JoinID))||KMasterID,JoinID|| JoinID) 信任节点对同一证书下的密钥KJoinIDtemp加密的消息解密后,对比产生的RandomIDtemp,如果数值匹配,则为新加入节点生成新的会话密钥KMasterID,JoinID,并用密钥KJoinIDtemp匹配的密钥加密。此时密钥确认(Key Authenticated)。
②如果RandomIDtemp不匹配,则新加入节点被认为不可信任节点,信任节点不再为节点分配新节点号新回话密钥,主节点密钥验证失败(Key Unauthenticated)。
(6)MN→JN:E(KJoinIDtemp,KMasterID,JoinID||JoinID||NlistMasterID)主节点收到密钥确认后,将会话密钥KMasterID,JoinID和JoinID 保存,并向节点发出密钥验证确认信息(Key Authenticated),信息包括更新后的路由列表NlistMasterID,为区域内的节点能够及时发现新节点加入网络或带有敌意的节点攻击网络提供参考。此时,节点得到验证。
设备更新(Device Update)
(7)①MN→NN:E(KMater,Ni,JoinID||NlistMasterID)主节点向节点的邻节点广播新节点加入(New Node Join),由主节点与区域内的各个节点之间的会话密钥KMater,Ni(I=1,2,…n)加密后发送更新后的路由列表NlistMasterID和新加入节点的节点号JoinID。
②MN→NN:E(KMaster,Ni,JoinIDtemp)如果主节点收到密钥验证失败消息后,主节点向节点的邻节点广播节点删除命令(New Node Discard)。
(8)①NN→MN:E(KMaser,Ni,Refreshed) 邻节点更新各自的路由列表后,发送加入确认信息(New Node Join Confirm),至此,节点可以和其他节点享有相同的功能。节点成功加入网络的过程如图2。
②NN→MN:E(KMaster,I,Refreshed) 邻节点得到删除节点命令后,查看各自的路由列表中是否有节点的信息,如果有,则删除,执行后,向主节点发送节点删除确认(Node Discarded)。
Fig.2Node successfully join WSN by master node
3.2 节点通过信任节点加入
当新加入节点向信任节点发送加入请求时,消息不再通过主节点转发,细节不在赘述。流程为:
加入请求(Join Request)
(1)JN→TN:JoinFrame 节点广播发送起始帧(Join Frame)
(2)TN→JN:JoinIDtemp|| RandomIDtemp. 信任节点验证起始帧,如匹配,为加入节点分配临时节点号,并产生随机数。
密钥验证(Authenticate)
(3)JN→TN:E(KJoinIDtemp,timeJM||JoinIDtemp||RandomIDtemp) 加入节点向信任节点发送以私钥加密的随机数,并等待密钥验证结果。
a) TN→JN:E(KJoinIDtempPublic,KTrust,JoinID||JoinID) 如果密钥验证成功,信任节点向加入节点发送新分配的会话密钥和节点号。
设备更新(Device Update)
b) ① TN→NN:E(KTrust,Ni,JoinID||NlistMasterID) 信任节点向邻节点发送更新后的路由列表。
②TN→NN:E(KTust,Ni,JoinIDtemp)如失败,信任节点向邻节点发送删除新加入节点消息。
c) NN→TN:E(KTrusr,I,Refreshed)邻节点返回信息。
节点成功通过信任节点成功加入网络的过程如图3
Fig.3Node successfully join WSN by trust node
节点的加入的流程框见图4。本策略通过预设密钥和证书,在节点加入网络阶段增强网络的安全性。由于引入了起始帧、认证密钥、时间戳;通过对退出节点信息的删除使得节点退出网络后,网络没有冗余信息。策略具备了身份验证、消息保密和内容保鲜等诸多功能,并能够有效防止各种攻击(如返回攻击) ,从而使得其安全性大大提高。
Fig.4 Flow of the node join the WSN
4 节点安全退出策略
节点的退出包括安全退出(Security Leave)和非安全退出(Insecurity Leave)。
当节点退出网络是,节点应向主节点(或信任节点)发出退出请求(Leave Request),退出节点在收到主节点(或信任节点)发出退出确认(Leave Confirm)信息之后定义为安全退出,否则为非安全退出。
如果节点退出网络后,主节点(或信任节点)没有删除退出节点的信息,由于节点信息在网络仍然存在,带有敌意的节点可能伪装成此节点来窃取网络中信息,对网络的构成威胁;同时,退出节点信息的存在也是对网络资源的浪费。
为了防止节点的非安全退出,我们通过定义一时间T,每个T周期,主节点(或信任节点)定时更新网络的路由信息,以消除非安全退出节点对网络的潜在威胁。
与节点加入类似,节点的退出也存在通过主节点和信任节点退出网络两类。
4.1 节点通过主节点退出
通过主节点,节点安全退出包括以下4步:
(1)LN→MN:E(KMaster,Leave,LeaveID|| TimeLN) 退出节点向主节点发送退出请求。
(2)MN→NN:E(KMaster,Ni,LeaveID)主节点接收到退出节点发送过来的退出请求后,向节点的邻节点广播退出通知(Leave Notification),以确保邻节点的地址列表中删除欲退出的节点;MN→TN:E(KMaster,Trust,MasterID||LeaveID||TimeLN) 同时主节点发送向信任节点发送消息。
(3)NN→MN:E(KMaster,Ni,LeaveConfirm) 各个邻节点收到主节点广播节点退出通知后,各个节点删除路由列表中退出节点的信息后,向主节点返回确认信息(Leave Confirm);TN→MN:E(KMaster,Trust,LeaveConfirm) 同时信任节点删除路由列表中退出节点的信息,并向主节点返回确认信息(Leave Confirm)。
(4)MN→LN:E(KMaster,Leave,LeaveChecked) 邻节点和信任节点信息返回后;主节点向退出节点发送节点安全退出信息(Leave Checked),主节点在自己的地址列表中删除此节点信息。节点通过主节点安全退出网络如图5。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 Fig.5Node security leave WSN by master node
4.2 节点通过信任节点退出
节点通过信任节点安全退出网络包括以下4步:
(1)LN→TN:E(KTrust,Leave,LeaveID|| TimeLN)退出节点向信任节点发送退出请求。
(2)TN→NN:E(K Ni,Trust,LeaveID)信任节点接收到节点退出请求后,向邻节点广播退出通知(Leave Notification)。
(3)NN→TN:E(K Ni,Trust,LeaveConfirm)各邻节点收到信任节点广播节点退出通知后,各邻节点删除路由列表中退出节点的信息后,向信任节点返回确认信息(Leave Confirm)。
(4)TN→LN:E(KLeave,Trust,LeaveChecked) 邻节点信息返回;信任节点向退出节点发送节点安全退出信息(Leave Checked)后,主节点在地址列表中删除此节点信息。(节点通过主节点安全退出网络的步骤如图6)。
Fig.6Node security leave WSN by trust node
结语:在构建传感器网络安全策略方案时,我们充分考虑到节点计算速度、电源能量、通信能力和存储空间非常有限的特点,密钥建立协议和消息加密都设计得比较简单,参与各方在通信过程中需要传输的内容尽可能地少,确保通信的质量,减少因节点通信能力有限造成会话失败的机率[9]。同时,本方案避开了由普通节点进行代价昂贵的公钥运算, 密钥验证和密钥生成均由信任节点完成,降低了对普通节点要求,并通过减少会话步骤来降低节点的工作负荷,从而使得整个方案的计算、存储和通信开销都非常小,大大提高了方案的执行效率。
主节点完成大部分数据汇聚功能,只有在认证密钥和加密密钥时信任节点参与,从而有效地降低了信任节点的工作负荷,避免信任节点成为网络通信的瓶颈,这使得方案具有很好的可扩展性。
最后通过对节点退出的阐述定义了节点退出的两种模式,安全退出和非安全退出。在考虑了节点退出对无线传感网络安全的可能影响后,研究了节点安全退出机制。对与节点的非安全退出,也通过网络的定时更新,预防了其可能对无线传感网络安全的影响。
参考文献
[1] 于海斌,曾鹏等.智能无线传感器网络系统.科学出版社,2006.16~17.
[2] 孙利民,李建中等.无线传感器网络.北京:清华大学出版社,2005. 4~22.
[3] Callaway E H. Wireless Sensor Networks: Architecture and Protocols [M]. Florida: CRC Press LLC,2004:41~26.
[4] D.Cullar,D.Estrin,M.Strvastava. Overview of sensor network [J] Computer,2004.37 (8):41-49.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
