无线传感网络中基于密码hash计算的认证方法

文档序号:7870497阅读:172来源:国知局
专利名称:无线传感网络中基于密码hash计算的认证方法
无线传感网络中基于密码hash计算的认证方法所属技术领域
本发明属于信息安全领域,主要用于无线传感网络中节点之间相互认证并协商建立会话密钥,同时可以实现及时撤销旧节点,动态加入新节点,为传感网络的通信提供安全保障。
背景技术
无线传感器网络(Wireless Sensor Network,WSN)是由一组传感器以自组织方式构成的无线网络,其目的是协作地感知、采集和处理网络覆盖的地理区域中探测对象的信息,并传递给收集者。传感器节点构成了一个对等式网络,使用无线通信技术,网络中的节点互相作为其邻居的路由器,通过节点转发实现节点间的通信,是一个多跳的临时性自治系统。除此之外无线传感器网络还有一些称为基站(Base Station, BS)的特殊节点,通过这些特殊节点无线传感器网络跟外界,例如Internet或者卫星网络建立联系。无线传感器网络在环境监测、军事、国土安全、交通管制、社区安防、森林防火、目标定位等方面具有广泛的应用前景。
无线传感网络的安全问题越来越受到人们的重视,其安全需求主要有以下几个方面。1.机密性。机密性要求对WSN节点间传输的信息进行加密,让攻击者在截获节点间的物理通信信号后不能直接获得其所携带的消息内容。2.完整性。完整性要求节点收到的数据在传输过程中未被伪造、删除或篡改,即保证接收到的消息与发送的消息是一致的。3.健壮性。随着旧节点的失效或新节点的加入,网络的拓扑结构不断发生变化。因此WSN必须具有很强的适应性,使得单个节点或者少量节点的变化不会威胁整个网络的安全。4.新鲜性。在WSN中由于网络多路径传输延时的不确定性和恶意节点的重放攻击使得接收方可能收到延后的相同数据包。新鲜性要求接收方收到的数据包都是最新的、非重放的,即体现消息的时效性。5.访问控制。WSN不能通过设置防火墙进行访问过滤,由于硬件受限,也不能采用计算、存储复杂度高的安全机制。WSN必须建立一套符合自身特点,综合考虑功能、效率和安全性的访问控制机制。
由于无线传感器网络的可用资源有限性,对其提供以上的安全功能仍是一项具有挑战性的研究工作。其中身份认证是保证整个网络安全的关键,也是实现安全的基础,因此设计适用于无线传感网络的认证协议显得尤为重要。WSN中主要存在两种身份认证一种是网络中节点之间的认证,由于网络中任两个相邻节点都有可能进行通信,所以各节点在通信之前必须能够以安全的方式核实通信对方的身份;另一种是节点与基站间的认证,基站最终实现与外界的联系所以节点采集到的信息要先发送给基站,节点与基站需先通过身份认证保证安全。
为了满足无线传感网络的安全需求,很多认证协议被提出。Zhou在2007年提出了基于椭圆曲线密码ECC (Elliptic Curve Cryptography)的认证协议,比基于RSA的认证方法更高效,但由于时间戳的引用使得很难获得推广应用。Huang在2009年 提出了 NACP 协议,在ECC的基础上使用hash链实现认证,但是NACP协议不能实现双向认证且存在重放攻击与节点冒充等问题。随后Kim等人对NACP协议进行改进提出了 ENACP协议,实现了双向认证服务但是仍存在安全漏洞,即不能抵抗假冒攻击。最近Lee等人提出基于密码hash 值的认证方法——PACPs协议,但是不能解决新节点加入传感网络的问题。另外在WSN中, 不断的有旧节点因为电源耗尽或者被俘获等原因要退出网络,所以及时的将这些无效的旧节点撤销非常必要,但是之前的协议都没有考虑这个问题。如何克服这些缺陷,设计一个安全、有效的无线传感网络认证方法是本发明要解决的问题。发明内容
鉴于上述现有协议存在的问题,本发明的目的是通过建立新的协议,提供一种安全、高效的无线传感网络认证方法。本发明设计的协议和提供的认证方法在认证与建立密钥阶段只需要3条消息,认证身份时只需要进行一次密码hash计算,实现十分简单。在安全方面也能同时抵抗针对认证协议的被动攻击和主动攻击。本发明的技术方案如下
一种无线传感网络中基于密码hash计算的认证方法,包括初始化、认证与建立密钥阶段、旧节点撤销、新节点加入四个部分,其中,
(1)初始化部分假设系统中共N个普通节点,BS作为一个特殊节点负责为它们产生密钥并存储所有节点的秘密信息,首先对于普通节点中的每一个,通过BS为该普通节点产生与其他一些普通节点及BS节点本身的共享密钥,并将共享密钥与对应的节点ID — 起组成认证集,然后将该普通节点的认证集和hash函数一起预加载到该节点中,并将该节点的认证集中的共享密钥与该节点的ID —起加载到与该节点相对应的普通节点的认证集中,保证共享密钥出现在成对的节点中。
(2)认证与建立密钥部分普通节点之间需要认证并建立会话密钥,普通节点与特殊节点BS之间同样也需要认证和建立会话密钥,设A和B分别为两个需要认证和建立会话密钥的节点,两者之间的交互过程如下
步骤1:节点A产生随机数tA,然后广播IDa,tA ;
步骤2 :节点B收到消息后产生随机数tB,计算Kab=h (Kab |tA | tB)、 ZB=(IDB Tb KAB),,然后广播IDB,TB,ZB,式中,|| 为前后两个字符之间的连接运算,h()为对括号内的字符计算哈希函数值;
步骤3 :节点A收到消息后计算KAB=h (kAB || tA || tB),进行hash计算后检查Zb是否正确,如果Zb正确则节点A确认B的身份和会话密钥Kab,然后计算ZA=h (IDa || tA || KAB),并广播ZA,否则丢弃消息,认证失败;
步骤4 :节点B收到消息后对(IDa || tA || Kab)进行hash计算,检查Za是否正确,如果正确,则节点B确认A的身份及会话密钥KAB,否则丢弃消息,认证失败。
作为优选实施方式,旧节点撤销部分设节点Nx为网络中某个已存在并需要退出网络的旧节点,BS将撤销旧节点Nx的消息发送给那些与Nx有共享密钥kiX的普通节点Ni, 然后再撤销旧节点Nx在BS中的相关信息,BS与普通节点Ni的交互过程如下
步骤1:BS产生随机数ts,然后广播R_D,mN,,ts,其中R_D是旧节点撤销的标志, 力普通节点Ni的ID ;
步骤2 :节点Ni收到消息后产生随机数ti;用与BS的共享密钥kis加密 (R_D || IDni || ts )得到然后发送IDNi,ti;Zi;
步骤3 BS用其与节点Ni的共享密钥kis对Zi进行解密检查Zi的正确性,如果正确,则利用kis对(R_D Il IDn, Il ts Il t, Il IDx Il kK)进行加密计算并得到Zs,其中,IDx是要撤销的旧节点Nx的ID, kiX是旧节点Nx与普通节点Ni的共享密钥,然后BS发送Zs;
步骤4 :节点Ni收到消息后用共享密钥kis对Zs进行解密并检查R_DJD、、ts、ti是否正确,如果正确则认证BS,然后从ASi中删除IDx,kiX。
新节点加入部分新节点Nn+1加入网络中时,BS首先为它产生与其他已存在节点的共享密钥组成该节点的认证集(ASn+1),然后BS与已存在的一些普通节点进行通信,使他们添加有关新节点的记录;BS与普通节点Ni的通信过程如下
步骤1:BS产生随机数ts,然后广播R_A,ID、_ %,其中R_A是新节点加入的标志;
步骤2 :节点Ni收到消息后产生随机数ti;用与BS的共享密钥kis加密 (R—A Il IDn, Il ts Il t,)得到 Zi,然后发送IDn,,XvIi ;
步骤3 BS用其与节点Ni的共享密钥kis对Zi进行解密检查Zi的正确性,如果正确,则用kis对(R_A Il IDNi Il ts Il t, Il IDn+1 Il kl0^)进行加密得到Zs,其中,IDn+1是要加入的新节点 Nn+1的ID,ki(n+1)是新节点Nn+1与普通节点Ni的共享密钥,然后BS发送Zs ;
步骤4 :节点Ni收到消息后用共享密钥kis对Zs进行解密并检查R_J ID ^ti是否正确,如果正确则认证BS,然后添加IDn+1、ki(n+1)到队的认证集中。
本发明提出的认证方法克服了以往基于密码hash计算的认证方法中存在的一些不安全因素,有效地实现了节点间认证与建立会话密钥、旧节点退出网络、新节点加入网络等问题,可以为无线传感网络提供安全的通信环境。设计的协议具有以下有益效果
1、通信过程简单高效。之前的协议NACP、ENACP, PACPs在认证与建立密钥阶段都使用4条消息,存在消息冗余。新方法只需3条消息便有效实现了功能,而且没有使用ECC, 不需要像NACP、ENACP协议那样要维护hash链的更新,减少了计算量。
2、实用性强。随着旧节点的失效,网络的拓扑结构不断发生变化。设计的方法解决了旧节点退出网络、新节点加入网络的问题,适合于无线传感网络环境应用。
3、有一定的安全保障。本发明设计的新方法实现了通信双方的相互认证,在认证阶段双方都要产生随机数保证了消息的新鲜性;ZA、Zb等值的构造充分体现了消息的完整性要求;同时新方法设计了撤销旧节点、添加新节点的流程,实现了网络的健壮性。认证协议的实施过程为安全有效的访问控制提供了基础,下面具体说明新方法可以抵抗各种攻击。
抵抗被动攻击攻击者只通过窃听收集交互信息,ZA、Zb中包含会话密钥但是由于 hash函数的单向性使得攻击者不能得到关于共享密钥和协商的会话密钥的任何有用信息。
抵抗重放攻击由于通信双方在协商建立会话密钥的过程中都使用了随机数,以保证每次认证消息的新鲜性。所以攻击者只通过简单的消息重放,不能被认证,实现假冒的目的。
抵抗消息篡改攻击由于ZA、ZB的构造都考虑到消息完整性的要求,所以如果攻击者对消息进行修改,那么通信的诚实一方会在检验\、Zb的过程中发现错误,从而识破攻击者的行为。
抵抗节点俘获攻击当攻击者俘获一个节点后,能够得到加载到节点中的所有秘密信息。认证方法无法阻止攻击者俘获节点后冒充被俘获的节点,所以在节点俘获攻击后提供很好的恢复力是非常重要的,也就是说攻击者俘获一个节点后并不能对整个网络造成很大的影响。新方法中在旧节点撤销阶段BS会撤销网络中的一些旧节点,这些旧节点可能是由于电量耗尽被撤销,也可能是俘获的节点被BS检测到而撤销。BS撤销被俘获的旧节点可以有效阻止节点被俘获后实施节点假冒等攻击,保障了网络系统的安全。
抵抗假冒攻击攻击者在认证与建立密钥阶段不能冒充网络中的合法节点,对于网络中的任何一个节点比如节点A来说,攻击者除了俘获A之外不能获得A与其他节点的共享密钥,也就不能构造认证身份的信息ZA,因此不能对A进行冒充。在旧节点撤销阶段和新节点加入阶段,BS使用共享密钥加密消息所以攻击者也不能假冒BS。


附图1:初始化阶段;
附图2:认证与建立密钥阶段;
附图3:旧节点撤销阶段;附图4:新节点加入阶段;
附图5:基于振荡器采样法的随机数发生器。
具体实施方式
在对本发明进行详细说明之前,首先对几个名词进行说明
被动攻击主要指攻击者可以窃听并收集消息但不能注入或修改消息。攻击者除了窃听之外还可以删除、注入或修改消息,则称为主动攻击。在无线传感网络中主动攻击的表现形式主要有消息重放、消息篡改、节点俘获、节点假冒等。
消息重放是指攻击者对之前窃听到的消息进行重放以达到冒充的目的。抵抗重放攻击需要保证认证消息的新鲜性,这也是WSN的安全需求。
消息篡改指攻击者对协议中的消息进行有目的的修改。保证消息的完整性可以有效防止攻击者进行消息篡改。
节点俘获是指攻击者通过某种物理方式获取目标节点的密钥等秘密信息。这种攻击是节点部署中无法避免的安全威胁,节点被俘获后自身的安全性会丧失。
节点冒充,这既是攻击的一种方式也是攻击者的目标。节点冒充的身份可能是已存在的合法节点(或基站)也可能是新节点。通常攻击者实施节点俘获攻击后会实施节点冒充攻击,冒充俘获的节点欺骗其他节点。有些情况攻击者甚至可以冒充其他合法节点欺骗被俘获了的节点。
在WSN中我们假设BS是安全的,节点被部署在外部环境中是不安全的。BS为每个节点产生密钥等信息,掌握网络中所有节点的秘密信息。此外BS还负责新节点的加入和旧节点的撤销。
本发明设计的方法主要分为4个阶段,分别是初始化阶段、认证与建立密钥阶段、旧节点撤销阶段、新节点加入阶段。初始化阶段主要是解决密钥产生与分配问题,认证与建立密钥阶段解决的是网络中两个节点(包括特殊节点BS)之间相互认证与协商建立会话密钥的问题,旧节点撤销阶段解决失效的旧节点退出网络的问题,新节点加入阶段解决了新节点如何动态加入网络并能够和已存在节点正常进行通信的问题。下面分别给出各阶段的实现过程。
初始化阶段(如附图1所示)
假设系统中共N个普通节点,BS作为一个特殊节点负责为它们产生密钥并存储所有节点的秘密信息。首先BS为每个节点产生与其他一些节点(包括BS)的共享密钥,并将这个共享密钥与对应的节点ID —起组成认证集AS。例如对节点X(ASx初始为空),BS为它随机产生与其它m (m<N)个节点(包括BS)的m个共享密钥kXY,AS^K IDi,, kHi ), ( BS, k.) j, 其中i e {1,2,……,m — 1}。IDYi表示与节点X共享kHi的另一个节点,kH,是节点X与Yi 的共享密钥,kxs是节点X与特殊节点BS的共享密钥。然后BS将ASx和hash函数h O —起预加载到节点X中,并将ASx中的kHi与IDx —起加载到相应的m — I个普通节点的对应ASii 中,即保证共享密钥出现在成对的节点中。
对于ASy初始不为空的节点Y来说,由于在生成其它节点的AS时可能把与节点Y 的共享密钥已经加载到ASy中,所以BS只需为节点Y产生与BS的共享密钥kYS并随机产生与其它节点的一定数量的共享密钥,最后保证ASy中一共有m项即可。
认证与建立密钥阶段
认证与建立密钥阶段是协议中的核心阶段,普通节点之间需要认证并建立会话密钥,普通节点与特殊节点BS之间同样也需要认证和建立会话密钥。如附图2所示为普通节点A和B之间的交互过程,具体步骤如下
步骤1:节点A产生随机数tA,然后广播IDa,tA。
步骤2 :节点B收到消息后产生随机数tB,计算Il tA| I tB)、 ZB=h (IDb I I tB I I Kab)。然后广播 IDb,tB,ZB。
步骤3 :节点A收到消息后计算KAB=h (kAB | tA tB),进行hash计算后检查Zb是否正确。如果Zb正确则节点A确认B的身份和会话密钥Kab,然后计算ZAh (IDa I |tA| IKAB),并广播ZA。否则丢弃消息,认证失败。
步骤4 :节点B收到消息后对(IDa || tA || Kab)进行hash计算,检查Za是否正确。如果正确则节点B确认A的身份及会话密钥KAB,否则丢弃消息,认证失败。
普通节点与BS之间认证与建立会话密钥的过程与普通节点之间认证与建立会话密钥的过程相似。如附图2中把节点B改为BS后即变成普通节点A与BS的交互过程,此时只需将IDb变成BS、共享密钥Icab变成kAS即可。
旧节点撤销阶段
当网络中某个 已存在节点X由于某种原因需要退出网络时,BS将撤销节点X的消息发送给那些与节点X有共享密钥的节点,然后再撤销旧节点在BS中的相关信息。如附图 3所示BS与节点Ni的交互过程如下。
步骤1:BS产生随机数ts,然后广播R_D,IRV ts。其中R_D是旧节点撤销的标志。
步骤2 :节点Ni收到消息后产生随机数\,用与BS的共享密钥kis加密 (R—D Il ID,, Il ts Il 得到 Zi。然后发送IDv ti; τ、。
步骤3 BS用与节点Ni的共享密钥kis对Zi进行解密检查Zi的正确性,如果正确则计算ZS=E、(R—D Il ID' Il ts || ti 丨I IDs Il kiX),并发送 Zs。
步骤4 :节点Ni收到消息后用密钥kis对Zs进行解密并检查R_D、IAf、是否正确。如果正确则认证BS,然后从ASi中删除IDx、kiX。
新节点加入阶段
当新节点Nn+1加入网络中时,BS首先为它产生与其他已存在节点(包括BS)的共享密钥组成ASn+1。然后BS与已存在的m-Ι个特定的普通节点进行通信,使他们添加有关新节点的记录。假设1 在ASn+1中,则BS与节点Ni的通信过程如附图4所示,步骤如下。
步骤1:BS产生随机数ts,然后广播IUUHv ts。其中R_A是新节点加入的标志。
步骤2 :节点Ni收到消息后产生随机数\,用与BS的共享密钥kis加密 (R—A Il ID,, Il tc Il tj得到然后发送IDv ti;
步骤3 BS用与节点Ni的共享密钥kis对Zi进行解密检查Zi的正确性,如果正确则计算Zs=Eltis (R—A Il IR, Il ts Il U || 1DII+11| kita.u),并发送 Zs。
步骤4 :节点Ni收到消息后用密钥kis对Zs进行解密并检查R_A ID TsUi是否正确。如果正确则认证BS,然后添加IDn+1、ki(n+1)到ASi中。
在硬件方面,协议中涉及对称加密解密、密码hash函数、产生随机数等运算。对于在旧节点撤销和新节点加入阶段的加密解密选用AES算法,可以用专门的硬件实现。协议中的hash函数可以选用SHA-3,建议通过一定数量的逻辑门电路实现。对于随机数可以采用振荡采样法利用独立振荡器中的相位噪声产生随机数。如附图5所示,有频率不同的两个振荡源,慢速的时钟在上升沿通过D触发器采样快速时钟。振荡器的抖动使采样值具有不确定性,理论上可以在每个采样点产生一个随机位,并且可以通过选择两种时钟的频率比增强随机性。该方法具有较好的随机性,同时电路简单,占芯片面积小,功耗较小。
在软件方面对提出的认证方法中涉及的密钥参数做如下说明假设本方法中认证与建立密钥协议在实施时选择的密钥长度为k。在对设计的协议进行可证明安全时,利用会话匹配的概念可证明其是双向认证的安全协议。TE(k)表示关于攻击者E所查询的预言机次数的多项式,则攻击者E成功的概率最大为TE(k)2 · 2'选择适当的k,在攻击者能力 Te(k) 一定的情况下,+是一个可以忽略的值。这样可以根据需要以满足不同的无线传感网络的安全需求。
权利要求
1.一种无线传感网络中基于密码hash计算的认证方法,包括初始化、认证与建立密钥阶段、旧节点撤销、新节点加入四个部分,其中, (1)初始化部分假设系统中共N个普通节点,BS作为一个特殊节点负责为它们产生密钥并存储所有节点的秘密信息,首先对于普通节点中的每一个,通过BS为该普通节点产生与其他一些普通节点及BS节点本身的共享密钥,并将共享密钥与对应的节点ID —起组成认证集,然后将该普通节点的认证集和hash函数一起预加载到该节点中,并将该节点的认证集中的共享密钥与该节点的ID —起加载到与该节点相对应的普通节点的认证集中,保证共享密钥出现在成对的节点中。
(2)认证与建立密钥部分普通节点之间需要认证并建立会话密钥,普通节点与特殊节点BS之间同样也需要认证和建立会话密钥,设A和B分别为两个需要认证和建立会话密钥的节点,两者之间的交互过程如下 步骤1:节点A产生随机数tA,然后广播IDa, tA ; 步骤2 :节点B收到消息后产生随机数tB,计算Kab=Ii (1 I tA | tB)、ZB=h (IDb | tB | KAB),然后广播IDB,tB,ZB,式中,Il为前后两个字符之间的连接运算,h()为对括号内的字符计算哈希函数值; 步骤3 :节点A收到消息后计算Kab=Ii (kAB Il tA II tB),进行hash计算后检查Zb是否正确,如果Zb正确则节点A确认B的身份和会话密钥KAB,然后计算ZA=h (IDa I I tA I IKAB),并广播ZA,否则丢弃消息,认证失败; 步骤4 :节点B收到消息后对(IDa Il tA Il Kab)进行hash计算,检查Za是否正确,如果正确,则节点B确认A的身份及会话密钥KAB,否则丢弃消息,认证失败。
2.根据权利要求1所述的无线传感网络中基于密码hash计算的认证方法,其特征在于,其中的旧节点撤销部分为设节点Nx为网络中某个已存在并需要退出网络的旧节点,BS将撤销旧节点Nx的消息发送给那些与Nx有共享密钥kiX的普通节点Ni,然后再撤销旧节点Nx在BS中的相关信息,BS与普通节点Ni的交互过程如下 步骤1:BS产生随机数ts,然后广播R_D,IDn,,ts,其中R_D是旧节点撤销的标志,1 ,为普通节点Ni的ID ; 步骤2 :节点Ni收到消息后产生随机数\,用与BS的共享密钥kis加密(R_D Il IDn, Il ts Il I1)得到Z”然后发送IDjvt^Zi; 步骤3 BS用其与节点Ni的共享密钥kis对Zi进行解密检查Zi的正确性,如果正确,则利用kis对(R_D Il IDn, Il ts Il t, Il IDx Il k,x)进行加密计算并得到Zs,其中,IDx是要撤销的旧节点Nx的ID, kiX是旧节点Nx与普通节点Ni的共享密钥,然后BS发送Zs; 步骤4 :节点Ni收到消息后用共享密钥kis对Zs进行解密并检查R_D TD ts、\是否正确,如果正确则认证BS,然后从ASi中删除IDX、kiX。
3.根据权利要求1所述的无线传感网络中基于密码hash计算的认证方法,其特征在于,其中的新节点加入部分新节点Nn+1加入网络中时,BS首先为它产生与其他已存在节点的共享密钥组成该节点的认证集(ASn+1),然后BS与已存在的一些普通节点进行通信,使他们添加有关新节点的记录;BS与普通节点Ni的通信过程如下 步骤1:BS产生随机数ts,然后广播R_A,IDn,,ts,其中R_A是新节点加入的标志; 步骤2 :节点Ni收到消息后产生随机数\,用与BS的共享密钥kis加密(R_A Il IDn, || ts Il t.)得到Zi,然后发送IDmtpZi ; 步骤3 BS用其与节点Ni的共享密钥kis对Zi进行解密检查Zi的正确性,如果正确,则用kis对(R—A Il IDNi Il ts Il t, Il IDn+1 Il 进行加密得到Zs,其中,IDn+1是要加入的新节点Nn+1的ID,ki(n+1)是新节点Nn+1与普通节点Ni的共 享密钥,然后BS发送Zs ; 步骤4 :节点Ni收到消息后用共享密钥kis对Zs进行解密并检查R_A、1Dn, ts、ti是否正确,如果正确则认证BS,然后添加IDn+1、ki(n+1)到队的认证集中。
全文摘要
本发明属于信息安全技术领域,涉及一种无线传感网络中基于密码hash计算的认证方法,包括初始化、认证与建立密钥阶段、旧节点撤销、新节点加入四个部分,其中,初始化时,BS作为一个特殊节点负责为普通节点产生密钥并存储所有节点的秘密信息,首先通过BS为普通节点共享密钥,并将共享密钥与对应的节点ID一起组成认证集,然后将该普通节点的认证集和hash函数一起预加载到该节点中,并将该节点的认证集中的共享密钥与该节点的ID一起加载到与该节点相对应的普通节点的认证集中。本发明提供的认证方法认证身份时只需要进行一次密码hash计算,实现十分简单,在安全方面也能同时抵抗针对认证协议的被动攻击和主动攻击。
文档编号H04W84/18GK103037367SQ20121057859
公开日2013年4月10日 申请日期2012年12月27日 优先权日2012年12月27日
发明者孙达志, 王月娇, 冯志勇 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1