留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

异构传感器网络的用户认证和密钥协商协议研究

闫丽丽 昌燕 张仕斌

闫丽丽, 昌燕, 张仕斌. 异构传感器网络的用户认证和密钥协商协议研究[J]. 电子科技大学学报, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
引用本文: 闫丽丽, 昌燕, 张仕斌. 异构传感器网络的用户认证和密钥协商协议研究[J]. 电子科技大学学报, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
YAN Li-li, CHANG Yan, ZHANG Shi-bin. A User Authentication and Key Agreement Scheme for Heterogeneous Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
Citation: YAN Li-li, CHANG Yan, ZHANG Shi-bin. A User Authentication and Key Agreement Scheme for Heterogeneous Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009

异构传感器网络的用户认证和密钥协商协议研究

doi: 10.3969/j.issn.1001-0548.2017.01.009
基金项目: 

国家自然科学基金 61402058

数字空间安全保障四川省高校重点实验室开放基金 szjj2014-074

详细信息
    作者简介:

    闫丽丽(1980-),女,博士,副教授,主要从事无线传感器网络、信息安全及安全协议方面的研究

  • 中图分类号: TP309

A User Authentication and Key Agreement Scheme for Heterogeneous Wireless Sensor Networks

计量
  • 文章访问数:  4187
  • HTML全文浏览量:  1210
  • PDF下载量:  118
  • 被引次数: 0
出版历程
  • 收稿日期:  2015-10-14
  • 修回日期:  2016-05-04
  • 刊出日期:  2017-01-01

异构传感器网络的用户认证和密钥协商协议研究

doi: 10.3969/j.issn.1001-0548.2017.01.009
    基金项目:

    国家自然科学基金 61402058

    数字空间安全保障四川省高校重点实验室开放基金 szjj2014-074

    作者简介:

    闫丽丽(1980-),女,博士,副教授,主要从事无线传感器网络、信息安全及安全协议方面的研究

  • 中图分类号: TP309

摘要: 物联网应用的安全和隐私保护问题是制约其进一步发展的关键因素,该文针对物联网中外部用户需要直接访问传感器节点获得信息的应用需求,基于异构传感器网络设计一个用户认证和密钥协商协议,保证信息传输的安全。协议在实现对所有参与者身份认证的同时,完成了用户和传感器节点之间的密钥协商。最后,该文从安全性和执行效率两个方面对所设计协议进行分析、比较,结果显示所设计协议是安全、高效的。

English Abstract

闫丽丽, 昌燕, 张仕斌. 异构传感器网络的用户认证和密钥协商协议研究[J]. 电子科技大学学报, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
引用本文: 闫丽丽, 昌燕, 张仕斌. 异构传感器网络的用户认证和密钥协商协议研究[J]. 电子科技大学学报, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
YAN Li-li, CHANG Yan, ZHANG Shi-bin. A User Authentication and Key Agreement Scheme for Heterogeneous Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
Citation: YAN Li-li, CHANG Yan, ZHANG Shi-bin. A User Authentication and Key Agreement Scheme for Heterogeneous Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2017, 46(1): 55-60. doi: 10.3969/j.issn.1001-0548.2017.01.009
  • 无线传感器网络最早被应用于美国军方资助项目,如DARPA(defense advanced research projects agency)[1]。这些早期的传感器网络,由于主要被应用于军事领域,都具有大规模、随机部署和传感器节点位置固定的特点,同一网络中的传感器节点通常具有相同类型,此类传感器网络被称为同构传感器网络(homogeneous sensor networks)[2]。随着物联网技术发展,对无线传感器网络有了新的需求,物联网中的无线传感器网络大多需要提前部署,传感器节点可以是固定节点,也可以是移动设备,网络中可以存在不同种类的传感器节点(如感测能力、计算能力、通信能力、存储能力和能量等不同),这种由不同类型的传感器节点构成的网络称之为异构传感器网络(heterogeneous sensor networks)。在异构传感器网络中,除了具有低计算、存储、通讯和能量等能力的普通传感器节点,还存在汇聚节点(GWN)。汇聚节点具有大容量存储和较高的计算、通讯等能力,它作为无线传感器网络的管理中心,负责连接传感器网络和外部网络。在物联网应用中,无线传感器节点负责采集目标对象的信息,并将信息传递给远程用户,如远程医疗系统中医生需要随时了解病人的体征信息。因此,保证只有合法远程用户可以访问传感器节点获取信息,是物联网技术实际应用的基础条件。

    本文基于物联网的实际应用需求,设计一个适用于异构传感器网络的用户认证和密钥协商协议,协议实现了对外部用户和内部节点的身份认证和密钥协商。

    • 近年来,针对传感器节点、用户和GWN之间的安全传输问题已经有一些解决方案被提出[3-20, 21]。2004年,文献[3]首次指出传感器网络中外部用户访问传感器内部节点时存在的安全问题,并设计相应的安全机制,实现对用户和节点的安全认证。随后,研究人员基于公钥密码体制提出解决上述问题的安全协议。文献[4]基于RSA和Diffie-Hellman算法提出了用户认证协议TinyPK。2009年,TinyPK协议被发现无法抵御中间人攻击(man-in-the-middle attack),在协议运行时攻击者可以伪装成一个合法传感器节点完成与外部用户的通信[5]。文献[6-7]分别基于Diffie-Hellman算法设计了一个传感器网络认证和密钥协商协议。2011年,文献[8]基于椭圆密码算法提出了一个传感器网络认证协议。上述研究人员设计的安全协议都是基于公钥密码体制,存在一个共同的问题,每个传感器节点都需存储所有其他节点和用户的公钥,这对传感器节点存储资源有限的传感器网络并不适用。

      2006年,文献[9]基于对称密钥体制设计了一个用户认证协议,协议只使用哈希函数实现,由此提出了一个轻量级用户认证协议的架构。但是,随后协议被发现在协议执行时,不同用户可采用相同的用户身份登录传感器网络,而且由于网关节点和传感器节点都要存储登录用户的认证信息,使得协议存在stolen-verifier attack(攻击者使用从认证服务器中盗窃的用户指纹信息冒充合法用户)[5]。文献[5]对文献[9]提出的协议进行改进,提出一个基于设备和口令的轻量级认证协议,实现对外部用户、网关节点和传感器节点之间的身份认证。随后,研究人员在Das协议的基础上做出大量工作,发现很多Das类协议存在安全缺陷,如privileged-insider attack(内部用户的特权攻击)、网关节点存在bypassing attack(旁路攻击)、协议不提供用户密钥更新和密钥协商[10, 11, 12]。2010年,文献[13]在Das协议的基础上提出一个改进协议,改进协议通过预共享密钥实现GWN和传感器节点之间的双向认证,协议还提供用户的密钥更新机制,解决Das存在的旁路攻击问题。随后,文献[14]指出Das[5]协议和Khan[13]协议都存在stolen smart card(盗取智能卡攻击),并给出对应解决方案。此外,文献[15]基于Das协议提出一个改进方案,该方案可以实现所有节点和用户的双向认证[15]

      最近,文献[16-17]提出一个新的传感器网络双向认证和密钥协商协议,这两个方案不但实现对传感器网络外部用户、网关和传感器节点之间的身份认证,而且添加了密钥协商功能。但是,文献[18-19]指出文献[16]提出的协议需要优化设计后才能应用于实际的传感器网络。而文献[17]提出的协议被指出仍然存在stolen-verifier、离线密码猜测攻击等安全缺陷[20]。文献[21]在上述工作的基础上,提出了一个新的适用于异构传感器网络的认证和密钥协商协议。作者通过对Turkanovic协议进行分析,发现协议中存在重放攻击、智能卡窃取攻击、拒绝服务攻击(DOS)、假冒攻击、多用户登录攻击和共享密钥修改攻击。为了解决上述安全缺陷,本文提出了一个新的认证和密钥协商协议。

    • 该异构传感器网络有两类节点,低消耗、资源受限的传感器节点和GWN节点。GWN相对于普通传感器节点,具有较大的存储空间和计算能力,在安全协议中GWN担任可信第三方,即认证服务器。

      HUK协议包含注册、登录、认证3个阶段,在网络初始化阶段,网络管理员预先部署GWN,为网络中的传感器节点{Sj |1≤jm}预分配身份SIDj和共享密钥${{X}_{\text{GWN}-{{S}_{j}}}}$,其中,m为网络可能添加的最大传感器节点数,GWN需存储网络中所有节点的身份SIDj和共享密钥${{X}_{\text{GWN}-{{S}_{j}}}}$,传感器节点出厂时需设置和存储自己的身份SIDj和共享密钥${{X}_{\text{GWN}-{{S}_{j}}}}$。

      协议中所使用的变量和符号,如表 1所示。

      表 1  协议中变量和符号说明

      变量或符号 说明
      Ui 外部用户
      IDi 用户身份
      SC 智能卡
      ${{X}_{\text{GWN}}}$ GWN的安全私钥
      ${{X}_{\text{GWN}-{{U}_{i}}}}$ GWN和用户Ui的共享密钥
      异或运算
      || 连接符号
      h( ) 哈希运算,如MD5
    • 注册阶段分为用户注册和传感器节点注册两部分,协议中传感器节点的注册过程如下。

      1) 节点Sj计算$\text{M}{{\text{P}}_{j}}=h({{X}_{\text{GWN}-{{S}_{j}}}}||\text{SI}{{\text{D}}_{j}}||{{T}_{1}})$,其中T1Sj的当前时间。Sj将{SIDj,MPj,T1}发送给GWN。

      2) 当GWN收到Sj发送的数据,首先确认(T*-T1≤ΔT),其中T*是GWN的当前时间,∆T是允许消息延迟的最长时间,防止消息重放。GWN根据收到的节点身份SIDj,查找到对应共享密钥${{X}_{\text{GWN}-{{S}_{j}}}}$,计算$\text{M}{{\text{P}}_{j}}^{*}=h({{X}_{\text{GWN}-{{S}_{j}}}}||\text{SI}{{\text{D}}_{j}}||{{T}_{1}})$,并判断$\text{M}{{\text{P}}_{j}}=\text{M}{{\text{P}}_{j}}^{*}$是否成立,确认Sj的身份,随后计算${{f}_{j}}=h(\text{SI}{{\text{D}}_{j}}||$ ${{X}_{\text{GWN}}})$,${{x}_{j}}=h({{f}_{j}}||{{X}_{\text{GWN}-{{S}_{j}}}}||{{T}_{2}})$,其中T2Sj的当前时间。GWN发送{ fj,xj,T2}给Sj

      3) Sj接收{ fj,xj,T2}后,判断(T*-T2)≤∆T,计算$x_{j}^{*}=h({{f}_{j}}||{{X}_{\text{GWN}-{{S}_{j}}}}||{{T}_{2}})$,并判断${{x}_{j}}={{x}_{j}}^{*}$是否成立,如果成立,Sj存储fj

      当用户要访问传感器节点时,也需先向GWN注册,用户注册过程如下。

      4) 用户Ui选择身份IDi,生成随机数ri,计算$\text{M}{{\text{I}}_{i}}=h({{r}_{i}}||\text{I}{{\text{D}}_{i}})$。Ui将{h(IDi),MIi}通过一个安全通道[8]发送给GWN。

      5) GWN接收{h(IDi), MIi},计算${{f}_{i}}=h(\text{M}{{\text{I}}_{i}}||$ ${{X}_{\text{GWN}}})$,然后将参数MIifi初始化到智能卡SC,通过安全信道传输给用户,并存储h(IDi),MIi

      6) Ui收到SC后,需将随机数ri存储到SC。

    • 用户访问传感器节点,需先使用智能卡登录。

      Ui将SC插入到读卡器,并输入身份$\text{I}{{\text{D}}_{i}}^{*}$。SC计算$\text{M}{{\text{I}}_{i}}^{*}=h({{r}_{i}}||\text{I}{{\text{D}}_{i}}^{*})$,判断$\text{M}{{\text{I}}_{i}}=\text{M}{{\text{I}}_{i}}^{*}$是否成立,如果成立,计算${{N}_{i}}=h({{K}_{i}}||{{f}_{i}}||\text{SI}{{\text{D}}_{j}}||{{T}_{1}})$,${{A}_{i}}=$ $h(h(\text{I}{{\text{D}}_{i}})||{{T}_{1}})\oplus {{K}_{i}}$,其中T1Ui的当前时间,KiSC生成的随机数,SIDj是用户想要访问节点的身份。SC将{MIi,Ai,Ni,SIDj,T1}发送给选择的Sj

    • 协议认证的过程如下。

      1) Sj收到{ MIi,Ai,Ni,SIDj,T1}后,确认(T*-T1)≤ ∆T。如果成功,计算${{B}_{j}}=h({{X}_{\text{GWN}-{{S}_{j}}}}||{{f}_{j}}||{{T}_{1}}||{{T}_{2}})$,其中T2Sj的当前时间。Sj将{MIi,Ai,Ni,SIDj,T1,Bj,T2}发送给GWN。

      2) GWN收到消息后,确认(T*-T2)≤∆T。如果成功,根据SIDj查找到对应的${{X}_{\text{GWN}-{{S}_{j}}}}$,计算${{f}_{j}}^{*}=h(\text{SI}{{\text{D}}_{j}}||{{X}_{\text{GWN}}})$,${{B}_{j}}^{*}=h({{X}_{\text{GWN}-{{S}_{j}}}}||{{f}_{j}}^{*}||{{T}_{1}}||{{T}_{2}})$,然后判断${{B}_{j}}={{B}_{j}}^{*}$是否成立,如果不成立,终止操作,并向Sj发送拒绝消息;否则对Sj的身份认证成功。

      GWN根据MIi查找到对应的h(IDi),计算${{K}_{i}}^{*}=h(h(\text{I}{{\text{D}}_{i}})||{{T}_{1}})\oplus {{A}_{i}}$,${{f}_{i}}^{*}=h(\text{M}{{\text{I}}_{i}}||{{X}_{\text{GWN}}})$,${{N}_{i}}^{*}=$ $h({{K}_{i}}^{*}||{{f}_{i}}^{*}||\text{SI}{{\text{D}}_{j}}||{{T}_{1}})$,然后判断${{N}_{i}}={{N}_{i}}^{*}$是否成立,如果不成立,终止操作,并向Sj发送拒绝消息,Sj收到拒绝消息后,向Ui转发拒绝消息;否则对Ui的身份认证成功。

      GWN计算${{F}_{ij}}=K_{i}^{*}\oplus h(f_{j}^{*}||{{X}_{\text{GWN}-{{S}_{j}}}})$,${{S}_{i}}=$ $h({{f}_{i}}^{*}||{{T}_{1}}||{{T}_{2}}||{{T}_{3}})$,${{H}_{j}}=h(K_{i}^{*}||{{X}_{\text{GWN}-{{S}_{j}}}}||{{T}_{1}}||{{T}_{2}}||{{T}_{3}})$。GWN发送{Si,Hj,Fij,T1,T2,T3}给Sj,其中T3是GWN的当前时间。

      3) Sj收到{Fij,Hj,Si,T1,T2,T3}后,确认(T*-T3)≤ ∆T。如果成功,计算$K_{i}^{*}={{F}_{ij}}\oplus h(f_{j}^{{}}||{{X}_{\text{GWN}-{{S}_{j}}}})$,${{H}_{j}}^{*}=h(K_{i}^{*}||{{X}_{\text{GWN}-{{S}_{j}}}}||{{T}_{1}}||{{T}_{2}}||{{T}_{3}})$,然后判断${{H}_{j}}=$ ${{H}_{j}}^{*}$是否成立,如果不成立,发送拒绝信息给GWN;否则可以确认GWN的身份。Sj生成随机数Kj,计算${{M}_{ij}}=h({{S}_{i}}||{{K}_{j}})$,${{R}_{ij}}=h(K_{i}^{*}||\text{SI}{{\text{D}}_{j}}||{{T}_{1}}||{{T}_{2}}||{{T}_{3}}||{{T}_{4}})\oplus $ ${{K}_{j}}$。

      Sj将{Si,Rij,Mij,T1,T2,T3,T4}发送给Ui。计算、存储协商的共享密钥$\text{SK}=h({{K}_{i}}\oplus {{K}_{j}})$。

      4) Ui收到{Si,Rij,Mij,T1,T2,T3,T4}后,确认(T-T4)≤∆T。如果成功,计算$h({{f}_{i}}||{{T}_{1}}||{{T}_{2}}||{{T}_{3}})$并与收到的Si进行比较,如果不相等,终止操作,并向Sj发送拒绝消息,Sj收到拒绝消息后转发给GWN;否则对GWN和Sj的身份认证成功。Ui计算${{M}_{ij}}^{*}=h(S_{i}^{{}}||{{K}_{j}}^{*})$,${{K}_{j}}^{*}={{R}_{ij}}\oplus h({{K}_{i}}|\text{ }\!\!|\!\!\text{ SI}{{\text{D}}_{j}}||{{T}_{1}}||{{T}_{2}}||$ ${{T}_{3}}||T_{4}^{{}})$,然后判断${{M}_{ij}}={{M}_{ij}}^{*}$是否相等,如果相等,计算$\text{SK}=h({{K}_{i}}\oplus {{K}_{j}})$,获得协商的共享密钥SK。

      用户和传感器节点完成认证后,可以使用共享密钥SK进行安全通信。

    • 在协议执行过程中,用户可以通过ID更新阶段对ID进行更新。

      1) Ui将SC插入到读卡器,并输入身份$\text{I}{{\text{D}}_{i}}^{*}$和$\text{I}{{\text{D}}_{\text{inew}}}$。

      2) SC计算$\text{M}{{\text{I}}_{i}}^{*}=h({{r}_{i}}||\text{I}{{\text{D}}_{i}}^{*})$,然后判断$\text{M}{{\text{I}}_{i}}=$ $\text{M}{{\text{I}}_{i}}^{*}$是否成立,如果不成立,终止操作;否则计算$\text{M}{{\text{I}}_{\text{inew}}}=h({{z}_{i}}||\text{I}{{\text{D}}_{\text{inew}}})$,$\text{M}{{\text{N}}_{i}}=h(\text{I}{{\text{D}}_{i}})\oplus h(\text{I}{{\text{D}}_{\text{inew}}})$和$\text{M}{{\text{J}}_{i}}=h(\text{M}{{\text{I}}_{\text{inew}}}||h{{(\text{I}{{\text{D}}_{\text{inew}}})}^{\text{*}}}||{{T}_{1}})$,其中T1Ui的当前时间,zi是SC生成的随机数。将{MIi,MIinew,MNi,MJi,T1}发送给选择的GWN。

      3) GWN收到消息后,确认(T*-T1)≤∆T。如果成功,根据MIi查找到对应的$h{{(\text{I}{{\text{D}}_{i}})}^{\text{*}}}$,计算$h{{(\text{I}{{\text{D}}_{\text{inew}}})}^{\text{*}}}=$ $\text{M}{{\text{N}}_{i}}\oplus h{{(\text{I}{{\text{D}}_{i}})}^{\text{*}}}$,$\text{MJ}_{i}^{*}=h(\text{M}{{\text{I}}_{\text{inew}}}||$$h{{(\text{I}{{\text{D}}_{\text{inew}}})}^{\text{*}}}||{{T}_{1}})$,然后判断$\text{MJ}_{i}^{{}}=\text{MJ}_{i}^{*}$是否成立,如果成立,计算${{f}_{i}}=$ $h(\text{M}{{\text{I}}_{\text{inew}}}||{{\text{X}}_{\text{GWN}}})$,$\text{M}{{\text{O}}_{i}}=$$h{{(\text{I}{{\text{D}}_{\text{inew}}})}^{\text{*}}}\oplus {{f}_{i}}$,$\text{M}{{\text{Q}}_{i}}=$ $h({{f}_{i}}||{{T}_{2}})$。GWN发送{MIinew,MOi,MQi,T2}给Ui,其中T2是当前时间。GWN存储$\text{M}{{\text{I}}_{\text{inew}}},h(\text{I}{{\text{D}}_{\text{inew}}})$,替换原来的$\text{M}{{\text{I}}_{i}},h(\text{I}{{\text{D}}_{i}})$。

      4) Ui收到消息后,确认(T*-T2)≤∆T。如果成功,计算${{f}_{i}}^{\text{*}}=\text{M}{{\text{O}}_{i}}\oplus h(\text{I}{{\text{D}}_{\text{inew}}})$,$\text{MQ}_{i}^{*}=h({{f}_{i}}^{\text{*}}||{{T}_{2}})$。判断$\text{MQ}_{i}^{{}}=\text{MQ}_{i}^{*}$是否成立,如不成立,终止操作,并向GWN发送拒绝消息,否则计算更新智能卡为SC=$\{\text{M}{{\text{I}}_{\text{inew}}},\text{ }{{f}_{i}}^{\text{*}},\text{ }{{z}_{i}}\}$。

      通过上述过程,经过一段时间,用户可以使用上述过程更新ID。

    • HUK协议提供对用户、传感器节点、GWN的双向认证功能,并在认证过程中实现传感器节点和用户之间的密钥协商,本节针对下面列出的常用攻击方式,采用非形式化方法进一步分析HUK协议的安全性。

      1) 用户匿名(user anonymity):在HUK协议运行过程中使用$\text{M}{{\text{I}}_{i}}=h({{r}_{i}}|\text{ }\!\!|\!\!\text{ I}{{\text{D}}_{i}})$代替用户IDi,其中h( )是哈希函数,因此攻击者无法获得用户的IDi。由于在智能卡中存储的信息h(IDi)、MIi是经过伪装后的用户IDi,即使智能卡被窃取,攻击者也无法获得用户IDi。协议实现了对用户的匿名操作。

      2) 重放攻击(replay attack):在传感器注册阶段$\text{M}{{\text{P}}_{j}}=h({{X}_{\text{GWN}-{{S}_{j}}}}||\text{SI}{{\text{D}}_{j}}||{{T}_{1}})$,${{x}_{j}}=h({{f}_{j}}||{{X}_{\text{GWN}-{{S}_{j}}}}||{{T}_{2}})$中分别包含传感器节点和GWN的当前时间T1T2。在协议认证过程中,用户发送的消息${{N}_{i}}=h({{K}_{i}}||$ ${{f}_{i}}||\text{SI}{{\text{D}}_{j}}||{{T}_{1}})$中包含当前时间T1,传感器节点发送的消息${{B}_{j}}=h({{X}_{\text{GWN}-{{S}_{j}}}}||{{f}_{j}}||{{T}_{1}}||{{T}_{2}})$,${{R}_{ij}}=h(K_{i}^{*}||\text{SI}{{\text{D}}_{j}}||$ ${{T}_{1}}||{{T}_{2}}||{{T}_{3}}||T_{4}^{{}})\oplus {{K}_{j}}$中包含当前时间T2T4,GWN发送的消息${{H}_{j}}=h(K_{i}^{*}||{{X}_{\text{GWN}-{{S}_{j}}}}||{{T}_{1}}||{{T}_{2}}||{{T}_{3}})$,${{S}_{i}}=$ $h({{N}_{i}}^{*}||{{T}_{1}}||{{T}_{2}}||{{T}_{3}})$中包含当前时间T3。因此HUK协议

      中攻击者无法实现重放攻击。

      3) 窃取智能卡攻击(stolen smart card):假设攻击者窃取智能卡,并获得智能卡中存储的数据,但是由于攻击者无法得到用户IDi,就计算不出Ai=$h(h(\text{I}{{\text{D}}_{i}})||{{T}_{1}})\oplus {{K}_{i}}$,所以其无法通过GWN的认证。因此窃取智能卡攻击,在HUK协议中无法实现。

      4) 密码更改攻击(password change attack):在HUK协议中,ID充当用户的身份和密钥,攻击者想要更改用户ID,首先必须获得旧的ID,但在协议运行过程中使用$\text{M}{{\text{I}}_{i}}=h({{r}_{i}}||\text{I}{{\text{D}}_{i}})$代替用户ID,攻击者无法获得用户ID,也就无法进行密码更改攻击。

      5) 假冒攻击(impersonation attack):在HUK协议中攻击者无法冒充用户、节点和GWN。分析可见重放攻击,由于所有消息在传递过程中都添加了当前时间,因此攻击者要冒充任意角色,必须重新计算包含当前时间的对应变量,如传感器节点登录阶段的MPj、认证阶段的NiBjHjSiRij

      6) 同一用户的重复登录攻击(many logged-in users with the same login-id attack):由于攻击者无法获得用户ID,消息中又包含时间变量,因此攻击者无法伪装成合法用户对HUK实施此攻击。

      7) 拒绝服务攻击(denial-of-attack):由于协议中只使用了低计算量的异或和哈希函数运算,计算量较少,而且攻击者无法实施重放和假冒攻击,因此HUK协议可抵御拒绝服务攻击。

      表 2将HUK协议与相关协议[8, 11-17, 21]的安全性进行了对比,其中Y表示协议满足对应的安全属性,N表示协议不满足对应安全属性。由于有些协议的应用场景不同、采用的认证模式不同,所以有些安全属性在协议中没有被考虑。

      表 2  HUK协议与相关协议的安全性比较

      安全属性 HUK协议 文献[8]协议 文献[11]协议 文献[12]协议 文献[13]协议 文献[14]协议 文献[15]协议 文献[16]协议 文献[17]协议 文献[21]协议
      双向认证 YYNNYYYYYY
      密钥协商YYNNNNNYYY
      密钥更新YNYYYYNYYY
      动态节点添加YNNNNYY
      用户匿名YNYYYYYNYY
      抵御重放攻击YNYYYYYN
      抵御窃取智能卡攻击YNNNNYN
      抵御密码更改攻击YY
      抵御假冒攻击YYNYNYN
      抵御GWN旁路攻击YYNNNYY
      抵御同一用户重复登录攻击YN
      抵御拒绝服务攻击YNNYNYN
    • 由于传感器网络中节点具有低存储、低计算、低电量等特点,所以在设计安全协议时,除了考虑协议的安全属性外,协议的执行效率也是一个重要考察指标。通信开销和计算开销是影响协议执行效率的主要方面,本节将从这两个方面出发,分析设计协议的运行效率。由于针对不同应用场景设计的协议,其功能和通信方式有很大区别,因此本节在分析协议执行效率时,主要关注与HUK协议功能相似的Turkanovic协议[21]、Xue协议[17]和Das协议[16],且针对协议的认证和密钥协商阶段。

      在通信消耗方面,HUK协议、Turkanovic协议和Das协议都需要4次消息交换完成身份认证和密钥协商,而Xue协议需要6次消息交换。

      在计算量方面,由于异或操作的计算量很低,因此这里主要考虑哈希运算和加、解密运算。关于计算开销的比较结果如表 3所示,其中Th是执行一次哈希运算所需的时间,TED是执行一次对称密钥算法中的加、解密运算所需的时间。

      表 3  HUK协议与相关协议的效率比较

      协议 用户 节点 GWN 基站
      HUK协议 9Th 6Th 8Th
      文献[16]协议 5Th+1TED 2Th+1TED 3Th+3TED
      文献[17]协议 7Th 6Th 13Th
      文献[21]协议 7Th 5Th 7Th

      在计算开销方面,HUK协议、Turkanovic协议和Xue协议计算量相似,而Das协议中采用了对称加密算法,所以其计算开销较大。

      而在存储开销上面,Turkanovic协议中节点需存储(SIDj、${{X}_{\text{GWN}-{{S}_{j}}}}$、ejfj),GWN需存储(SIDj、${{X}_{\text{GWN}-{{S}_{j}}}}$、MIi、${{X}_{\text{GWN}-{{U}_{i}}}}$)。HUK协议中节点需存储(SIDj、${{X}_{\text{GWN}-{{S}_{j}}}}$、fj),GWN需存储(SIDj、${{X}_{\text{GWN}-{{S}_{j}}}}$、MIih(IDi))。因此,HUK协议中节点存储的信息要少于Turkanovic协议中节点存储的信息。

    • 外部用户直接访问传感器节点获得信息是物联网应用中的基础需求, 本文为异构传感器网络设计一个新的认证和密钥协商协议,协议为所有参与者提供双向认证,并实现用户和节点之间的密钥协商。文中针对网络中的常见攻击,采用非形式化方法分析了协议的安全性。分析结果显示,协议能够满足物联网应用中外部用户直接访问传感器节点的安全需求。此外,新协议采用哈希函数和异或运算实现,是一个轻量级的安全协议,文中将所设计协议与相关协议的执行效率进行对比、分析。结果显示新协议在通信、计算和存储方面都具有较小的开销。综上所述,本文设计的协议适用于基于物联网应用环境下的传感器网络。

      本文研究工作还得到成都信息工程大学科研基金(KYTZ201421)的资助,在此表示感谢。

参考文献 (21)

目录

    /

    返回文章
    返回