HASH GAME - Online Skill Game GET 300
无线传感器网络(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中, 不断的有旧节点因为电源耗尽或者被俘获等原因要退出网络,所以及时的将这些无效的旧节点撤销非常必要,但是之前的协议都没有考虑这个问题。如何克服这些缺陷,设计一个安全、有效的无线传感网络认证方法是本发明要解决的问题。发明内容
(1)初始化部分假设系统N个普通节点,BS作为一个特殊节点负责为它们产生密钥并存储所有节点的秘密信息,首先对于普通节点中的每一个,通过BS为该普通节点产生与其他一些普通节点及BS节点本身的共享密钥,并将共享密钥与对应的节点ID — 起组成认证集,然后将该普通节点的认证集和hash函数一起预加载到该节点中,并将该节点的认证集中的共享密钥与该节点的ID —起加载到与该节点相对应的普通节点的认证集中,保证共享密钥出现在成对的节点中。
2、实用性强。随着旧节点的失效,网络的拓扑结构不断发生变化。设计的方法解决了旧节点退出网络、新节点加入网络的问题,适合于无线、有一定的安全保障。本发明设计的新方法实现了通信双方的相互认证,在认证阶段双方都要产生随机数保证了消息的新鲜性;ZA、Zb等值的构造充分体现了消息的完整性要求;同时新方法设计了撤销旧节点、添加新节点的流程,实现了网络的健壮性。认证协议的实施过程为安全有效的访问控制提供了基础,下面具体说明新方法可以抵抗各种攻击。
抵抗节点俘获攻击当攻击者俘获一个节点后,能够得到加载到节点中的所有秘密信息。认证方法无法阻止攻击者俘获节点后冒充被俘获的节点,所以在节点俘获攻击后提供很好的恢复力是非常重要的,也就是说攻击者俘获一个节点后并不能对整个网络造成很大的影响。新方法中在旧节点撤销阶段BS会撤销网络中的一些旧节点,这些旧节点可能是由于电量耗尽被撤销,也可能是俘获的节点被BS检测到而撤销。BS撤销被俘获的旧节点可以有效阻止节点被俘获后实施节点假冒等攻击,保障了网络系统的安全。
假设系统N个普通节点,BS作为一个特殊节点负责为它们产生密钥并存储所有节点的秘密信息。首先BS为每个节点产生与其他一些节点(包括BS)的共享密钥,并将这个共享密钥与对应的节点ID —起组成认证集AS。例如对节点X(ASx初始为空),BS为它随机产生与其它m (mN)个节点(包括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 中,即保证共享密钥出现在成对的节点中。
在硬件方面,协议中涉及对称加密解密、密码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计算,实现十分简单,在安全方面也能同时抵抗针对认证协议的被动攻击和主动攻击。