一种WSNs中的强实体认证协议

2012-07-25 05:34
传感器与微系统 2012年3期
关键词:份额秘密实体

张 倩

(武警西安指挥学院教研部信息技术教研室,陕西西安 710038)

0 引言

近年来,国内倍受关注的物联网,使得无线传感器网络(WSNs)的应用范围深入到了社会的各个领域,如军事、环境和安全监视、设备跟踪等。2010年11月,美国谷歌公司向外界公布了汽车在无人驾驶技术上取得的成果。车中装载的各类传感器识别车辆、行人及障碍物的无人驾驶系统,比精力不集中或者疲劳驾驶的司机更安全可靠。

与传统网络相比,WSNs具有节点分布密集、存储空间和计算能力有限、周边环境恶劣、易遭受物理破坏等特点。这使得在WSNs中进行节点间认证等安全协议变得非常困难。

本文提出了一种WSNs中的强实体认证协议。协议提供了基于秘密共享的认证服务,通过多个节点对用户进行认证,能够有效防止伪装用户加入网络;同时,当单个或几个节点被捕获时,认证协议仍然可以执行,具有良好的抗攻击能力。实验分析结果表明:协议具有强认证的特性,能够保障双方实体相互认证,同时具有低计算量和存储量。

1 相关协议分析

王刚等人在文献[1]中提出了基于身份的WSNs认证协议,该协议克服了公钥密码体制开销大的缺点,适用于多播网络,但对于普通的分布式网络不是高效的。

WSNs分布式认证方案[2]中没有使用复杂的密码算法,而是采用了秘密共享和组群同意的密码学概念,降低了认证方案中的计算复杂度和内存存储量。

强用户认证方案[3]中使用了密钥长度更短,却与RSA具有同等安全强度的椭圆曲线加密算法。方案中还采用了多个节点共同认证一个用户的方法,有效地抵御了少数节点被捕获的攻击。但是方案中使用的ECC公钥算法,计算量较大,而且当某个非法用户发送伪造证书时,节点也要完成所有步骤才能发现,能量很容易被耗尽。

Shamir的门限秘密共享方案[4,5]通过构造一个k-1 次多项式,并将所要共享的秘密作为这个多项式的常数项,将秘密分成n个秘密份额分别分给k个参与者。k个或k个以上的参与者合作利用插值公式可以恢复出所共享的秘密,但少于k个参与者合作不能得到关于共享秘密的任何信息。

本文提出的认证协议中,合法用户与基站共享秘密D。基站会以秘密D和网络中各个节点的身份标识ID为参数,为每个节点计算其秘密份额。希望加入网络的用户只有计算出每个节点的秘密份额时才可以加入网络。网络中的每个节点将收到的秘密份额与自己存储的份额相比较,如果相同,则通过对该用户的认证;当有N个节点认证成功时,该用户才可以正式加入网络。

2 协议模型

协议的系统模型由基站(BS)和大量功能相同的传感器节点构成,每个节点拥有唯一的身份标识ID,如图1。

图1 协议系统模型Fig 1 Protocol system module

具体模型如下:

1)基站(BS)可以看成是可信第三方,在BS中保存了合法传感器用户表和合法节点列表。BS负责选取秘密D,并计算秘密份额。在节点被部署到监测区域前,BS为每个节点载入身份标识IDi和秘密份额ShIDi。在秘密更新时,BS还负责重新随机选取秘密并将秘密发送给节点。

2)在网络中,每个节点被载入相同的程序,对周围的环境进行监测和数据收集,并将收集到的数据传送给节点。每个节点属于一个子群,子群中节点的数量是确定的,而群内的节点可以是动态的。节点负责对新加入的用户进行身份认证。

3)用户(user,U)可以是手机、节点、PC机等,它们拥有比一般节点更强的计算能力。当用户希望加入网络时,它需要与子群中的节点进行交互,只有节点对用户认证成功后,用户才可以加入网络,进行数据查询、收集等操作。

4)协议中,攻击者能够捕获一个或多个传感器节点。攻击者能得到被捕获节点内的所有信息,包括ID号,秘密份额等;攻击者还可以对节点内的信息和程序进行篡改。

5)协议采用了典型的“询问—应答”模式进行身份认证。协议中使用Shamir的基于拉格朗日插值多项式的秘密共享方案。用户加入传感器网络时,它首先向通信范围内的N个节点广播请求信息。节点收到请求信息后,向用户发送身份标识ID。以节点ID为参数,用户分别计算出节点的份额ShIDi,并将份额分别传送给节点;节点收到ShIDi后与自己存储的份额ShIDi进行比较,如果相同,认为用户是合法的,否则,拒绝用户加入网络。当至少有t个节点认证成功,用户才可以加入网络。

3 一种WSNs中的强实体认证协议

3.1 初始化阶段

初始化阶段时,BS首先选取秘密D和多项式系数a1,a2,…,ak-1,并发送给合法用户。用户在加入传感器网络时会利用D计算各个节点的份额。其次,BS用以下方式将秘密分为份额:

1)在GF(q)中随机选择k-1 个数:a1,a2,…,ak-1;

2)令f(x)=D+a1x+a2x2+ … +ak-1xk-1;

3)在GF(q)中随机选择n个不同的数x1,x2,…,xn,并计算ShIDi=f(IDi),1≤IDi≤N。

3.2 认证阶段

1)首先,用户向通信范围内的N个节点广播请求信息:IDU‖RU;

2)节点收到用户的请求后,向用户回复消息:IDi‖IDU‖RU‖Ri;

3)用户收到节点的身份信息后,利用Shamir的门限秘密共享方案计算节点的份额Sh'IDi=f'(IDi),1≤IDi≤N,发送ShIDi给节点;

4)节点将ShIDi'与自己存有的秘密份额ShIDi进行比较,如果相同,则认为该用户合法,否则,拒绝该用户加入网络。最后,至少有t个节点认为该用户合法,该用户才可以正式加入WSNs。具体的强实体认证协议过程如下:

3)U计算份额f(x)=D+a1x+a2x2+ … +ak-1xk-1.令Sh'IDi=f'(IDi),1≤IDi≤N;

4)U→SIDi:IDi‖Ri‖RU‖MACIDi‖IDi'(ShIDi'‖IDU‖Ri‖RU),1≤IDi≤N;

5)SID i:计算MACIDU‖IDi(ShIDi‖IDU‖Ri‖RU),认证MAC(*)?MAC'(*)。

协议中使用随机数Ri,RU不仅保证了数据的新鲜性,而且达到了双方相互确认身份的目的。同时,消息中加入的用户和节点的身份信息达到了实体认证的目的。

3.3 秘密更新阶段

由于WSNs是不安全的,因此,必须周期性地更新使用的秘密D。秘密更新在动态认证中是非常重要的阶段,当一个或多个节点失效或被捕获时,BS需要及时更新信息,以防止由于节点中的信息泄露,导致整个网络的不安全。为了更新秘密D,BS需要随机选择一个秘密并将它分为N个份额,这里考虑2种情况:

1)被动更新:当一个节点或多个节点被捕获了,BS查找成员列表,删除被捕获节点的ID,向整个网络广播删除该节点的信息,并分别发送新的秘密和份额给合法用户和节点;

2)主动更新:当网络正常运行时,BS定时选取新的秘密D,然后分别发送新的秘密和份额给用户和节点。

4 协议分析

4.1 安全性分析

1)强认证性

协议中,用户在加入网络之前,必须向传感器网络中的N个节点发送请求信息,当至少t个节点对用户认证成功时,用户才可以加入网络进行信息收集。此时,攻击者必须同时捕获t个节点才能成功加入网络,增加了网络攻击的难度;另一方面,方案中并不是通过单一节点来认证用户,如果这个节点是不安全的,那么,非法用户都可以通过该节点加入网络。方案通过N个节点对用户同时认证来判定用户的合法性,如果1个或d个节点失效或被捕获,只要d<N-t,协议仍可以对用户进行验证,从而实现了强认证性。

2)双方认证

协议在认证阶段,进行通信的用户和传感器节点能够进行相互认证。现有的很多WSNs中的实体认证方案都只能是普通节点对用户进行认证,用户却无法确定节点的身份。通过在方案中建立双方认证形式,用户和节点可以确信它们的通信对方正是它们所声明的。

3)抗节点捕获性

比起单一节点认证用户的方法,方案采用多个节点共同认证用户的方法,当有1个或几个节点失效或被捕获时,只要数量不超过N-t,就不会影响方案的正常执行。一个非法用户要想加入网络,它必须能够捕获足够多的节点,这无疑增加了难度,因此,增强了传感器网络的鲁棒性。

4.2 实验与性能分析

实验编写了nesC程序来实现协议中的算法,并加载到IRIS 节点(Atmegal 1281 处理器,7.37MHz,8bit,128program Memory,SRAM 8kB)上,作为用户实体请求加入网络。用户的计算量与子群中的节点个数N和多项式的指数k相关,表1列出了不同的N与k下用户的执行时间。

根据表1中的数据,当k值一定时,作出了子群中节点数量N与计算时间T的关系曲线如图2所示。

当N值一定时,多项式指数k与用户计算时间的关系曲线如图3。

图2中选取k=5,6,7作为样本,可以看出:随着N的增大,用户的计算时间呈线性增长;图3中选取N=20,30,40,50作为样本,用户计算时间随k的增加呈指数增长。与基于公钥算法的实体认证方案比较,本协议大大降低了计算量,更能适应受限的传感器网络。此外,实验编写的程序经过编译后加载到IRIS上,实际仅占用ROM 3124字节,RAM为408字节(N=55时),存储上占用的空间相对较小。

表1 用户计算时间Tab 1 Computing time of user

图2 N与用户计算耗时关系Fig 2 Relationship between N and computing time of user

图3 k与用户计算时间的关系Fig 3 Relationship between k and computing time of user

文献[2]中,挑战者群内的所有节点都需要重构秘密,增加了计算量,而在本方案中每个认证节点只要对比接收到的秘密份额与存储的份额是否相同即可,计算量相对较小;另一方面,Szewczyk R等人的研究[6]表明:使用Micadot节点发送一个字节数据的能耗可以用来执行800条指令。在文献[2]中,节点不但要进行广播通信,而且群内所有节点要相互协同通信,能量消耗大,且容易造成信息碰撞。本方案中用户与节点间只进行了“三次握手”便完成了认证,减小了通信耗能。

与文献[3]提出的基于ECC的强认证方案相比,本方案采用的是秘密共享机制,用户和节点之间认证所需的计算时间和内存占用量都远远小于文献[3]中的方案。

3种方案的能量消耗对比如图4。

图4 三种认证方案能量消耗对比Fig 4 Energy consumption contrast of three authentication schemes

5 结论

本文提出了一种WSNs中的强实体认证协议,协议中的用户加入网络时必须提供合法的秘密D。协议具有以下2个特点:1)协议采用有效的机制实现了可交互式的实体认证;2)当有几个节点被捕获时,方案的强认证性能够保证协议的正常执行。实验分析结果表明:协议具有较高的认证效率,同时具有较低的计算量和存储量。

[1]王 刚,温 涛,郭 权,等.WSNs中基于身份的高效多播认证协议[J].通信学报,2009,30(6):64 -69.

[2]Bauer K,Lee H.A distributed authentication scheme for a wireless sensing system[C]//Proceedings of the 2nd International Workshop on Networked Sensing Systems,2005:210.

[3]Benenson Z,Gedicke N,Raivio O.Realizing robust user authentication in sensor networks[C]//Workshop on Real-World Wireless Sensor Networks,2005:135.

[4]Shamir A.How to share a secret[J].Communications of the ACM,1979,22(11):612.

[5]Blakley G.Safeguarding cryptographic keys[C]//Proceedings of the National Computer Conference,1979:313.

[6]Szewczyk R,Ferencz A.Energy implications of network sensor designs.[EB/OL][2005—10—12].http://www.cs.Berkeley.edu/~ szewczyk/cs252/paper.pdf.

猜你喜欢
份额秘密实体
前海自贸区:金融服务实体
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
愿望树的秘密(二)
资源误配置对中国劳动收入份额的影响
我心中的秘密
第十三章 进化的秘密!
什么是IMF份额
父母只有一人留遗嘱,效力如何认定?