留言板

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

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

面向无线传感器网络的多因素安全增强认证协议

张凌浩 梁晖辉 邓东 刘洋洋 唐超 常政威 桂盛霖

张凌浩, 梁晖辉, 邓东, 刘洋洋, 唐超, 常政威, 桂盛霖. 面向无线传感器网络的多因素安全增强认证协议[J]. 电子科技大学学报, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238
引用本文: 张凌浩, 梁晖辉, 邓东, 刘洋洋, 唐超, 常政威, 桂盛霖. 面向无线传感器网络的多因素安全增强认证协议[J]. 电子科技大学学报, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238
ZHANG Linghao, LIANG Huihui, DENG Dong, LIU Yangyang, TANG Chao, CHANG Zhengwei, GUI Shenglin. Multi-Factor Security Enhanced Authentication Protocol for Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238
Citation: ZHANG Linghao, LIANG Huihui, DENG Dong, LIU Yangyang, TANG Chao, CHANG Zhengwei, GUI Shenglin. Multi-Factor Security Enhanced Authentication Protocol for Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238

面向无线传感器网络的多因素安全增强认证协议

doi: 10.12178/1001-0548.2022238
基金项目: 国家自然科学基金(61401067);四川省科技重大专项(2018GZDZX0009);四川省重点研发项目(2023YFG0112)
详细信息
    作者简介:

    张凌浩(1985 – ),男,博士,高级工程师,主要从事电力信息安全技术方面的研究

    通讯作者: 桂盛霖,E-mail: shenglin_gui@uestc.edu.cn
  • 中图分类号: TP309.08

Multi-Factor Security Enhanced Authentication Protocol for Wireless Sensor Networks

  • 摘要: 为解决现有协议普遍存在的离线字典攻击、缺少匿名性、无前向安全等安全缺陷,基于最新安全模型,将KSSTI攻击和注册合法用户攻击加入安全模型评价标准中,形成增强安全模型,提出了一种面向无线传感器网络的多因素安全增强认证协议,实现了用户通过网关与传感器节点两端的安全会话密钥协商。BAN逻辑和启发式分析结果表明该协议实现了双向认证,满足匿名性、前向安全、抵抗内部攻击、抵抗KSSTI攻击等重要安全属性。相比于已有协议,该文协议的安全等级更高且计算量与通信量适中,适用于安全等级要求高且传感器节点计算资源受限的应用场景。
  • 图  1  用户注册

    图  2  用户登录及认证

    表  1  符号描述

    符号 描述 符号 描述
    Ui / GWN / SNj 用户i / 网关节点 /
    传感器节点j
    SK 对称秘钥
    IDi / SIDj Ui的身份号 / SNj
    身份号
    h(·) 一种安全的哈希
    函数
    Gen(·) 生物特征生成函数 PWi Ui的密码
    Rep(·) 生物特征恢复函数 Bioi Ui的生物特征
    || / ⊕ 连接操作 / 异或操作 SCi Ui的智能卡
    安全信道 公共信道
    下载: 导出CSV

    表  2  BAN逻辑符号及规则

    符号及规则 描述 符号及规则 描述 符号及规则 描述
    $P| \equiv X $ P相信X $< X{ > _Y} $ XY结合 $P|\sim Q $ P曾经说过X
    $P \triangleleft X $ P收到X ${\{ X\} _Y} $ X用秘钥K加密 $P| \Rightarrow X $ PX有控制权
    $P\mathop \leftrightarrow \limits^{{\rm{SK}}} Q$ PQ通过秘钥SK进行通信 $\dfrac{ {P| \equiv P\mathop \leftrightarrow \limits^K Q,P \triangleleft { {\{ X\} }_K} } }{ {P| \equiv Q|\sim X} }$ R1:消息含义规则 $\dfrac{ {P| \equiv \# (X),P| \equiv Q|\sim X} }{ {P| \equiv Q \equiv X} }$ R2:随机数验证规则
    $\# (X) $ X是新鲜的 $\dfrac{ {P| \equiv Q| \equiv X,P| \equiv Q| \Rightarrow X} }{ {P| \equiv X} }$ R3:仲裁规则 $\dfrac{ {P| \equiv \# (X)} }{ {P| \equiv \# (X,Y)} }$ R4:新鲜性规则
    $\dfrac{ {P| \equiv (X,Y)} }{ {P| \equiv X} }$ R5:信念规则 $\dfrac{ {P| \equiv \# (X),P| \equiv Q| \equiv X} }{ {P| \equiv P\mathop \leftrightarrow \limits^{ {\rm{SK} } } Q } }$ R6:会话秘钥规则
    下载: 导出CSV

    表  3  相关协议安全性对比分析

    协议 发表年份/年 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11
    文献[18] 2019
    文献[14] 2018
    文献[16] 2018
    文献[15] 2018
    文献[20] 2020
    文献[11] 2017
    文献[22] 2017
    文献[21] 2018
    该文协议 2022
    下载: 导出CSV

    表  4  相关协议性能对比

    协议 计算量/s 通信量/bit
    Ui GWN SNj 总计算量 总时间/ms Ui GWN SNj 总通信量/bit
    文献[18] $12{T_h} + 2{T_m} + {T_R}$ $10{T_h} + {T_s}$ $5{T_h} + 2{T_m} + {T_s}$ $27{T_h} + 4{T_m} + 2{T_s} + {T_R}$ 346.3 1056 1472 544 3072
    文献[14] $9{T_h} + 1{T_s} + {T_R}$ $3{T_h} + 2{T_s}$ $2{T_h} + {T_s}$ $14{T_h} + 4{T_s} + {T_R}$ 104.88 512 896 384 1792
    文献[16] $8{T_h} + 2{T_m} + {T_R}$ $9{T_h} + {T_m}$ $4{T_h}$ $21{T_h} + 3{T_m} + {T_R}$ 262.82 704 896 256 1856
    文献[15] $9{T_h}$ $15{T_h}$ $9{T_h}$ $33{T_h}$ 16.5 640 1280 1792 3712
    文献[20] $8{T_h} + 3{T_m} + {T_R}$ $9{T_h} + {T_m}$ $4{T_h} + 2{T_m}$ $21{T_h} + 6{T_m} + {T_R}$ 452.56 544 704 288 1536
    文献[11] $8{T_h} + {T_s}$ $5{T_h} + 2{T_s}$ $5{T_h} + {T_s}$ $18{T_h} + 4{T_s}$ 43.8 512 768 512 1792
    文献[22] $9{T_h} + {T_R}$ $14{T_h}$ $7{T_h}$ $30{T_h} + {T_R}$ 78.08 640 1280 384 2304
    文献[21] $7{T_h} + 2{T_s} + {T_R}$ $7{T_h} + 3{T_s}$ $4{T_h} + {T_s}$ $18{T_h} + 6{T_s} + {T_R}$ 124.28 896 1664 384 2944
    该文协议 $14{T_h} + 2{T_m} + {T_R}$ $13{T_h}$ $7{T_h} + 2{T_m}$ $34{T_h} + 4{T_m} + {T_R}$ 332.4 672 1344 416 2432
    下载: 导出CSV
  • [1] ABI-CHAR P E, NADER P, MAHFOUZ S. A secure and lightweight authenticated key agreement protocol for distributed IoT applications[C]//2020 43rd International Conference on Telecommunications and Signal Processing (TSP). [S.l.]: IEEE, 2020: 50-56.
    [2] KANDRIS D, NAKAS C, VOMVAS D, et al. Applications of wireless sensor networks: An up-to-date survey[J]. Applied System Innovation, 2020, 3(1): 14. doi:  10.3390/asi3010014
    [3] VINOTH R, DEBORAH L J, VIJAYAKUMAR P, et al. Secure multifactor authenticated key agreement scheme for industrial IoT[J]. IEEE Internet of Things Journal, 2020, 8(5): 3801-3811.
    [4] MAJID M, HABIB S, JAVED A R, et al. Applications of wireless sensor networks and internet of things frameworks in the industry revolution 4.0: A systematic literature review[J]. Sensors, 2022, 22(6): 2087. doi:  10.3390/s22062087
    [5] ZHANG K, XU K, WEI F. A provably secure anonymous authenticated key exchange protocol based on ECC for wireless sensor networks[J]. Wireless Communications and Mobile Computing, 2018,
    [6] WANG C, WANG D, TU Y, et al. Understanding node capture attacks in user authentication schemes for wireless sensor networks[J]. IEEE Transactions on Dependable and Secure Computing, 2020, 19(1): 507-523.
    [7] CHANG T Y, HWANG M S, YANG W P. A communication-efficient three-party password authenticated key exchange protocol[J]. Information Sciences, 2011, 181(1): 217-226. doi:  10.1016/j.ins.2010.08.032
    [8] CHANDER B, KUMARAVELAN G. An improved 2-factor authentication scheme for WSN based on ECC[J]. IETE Technical Review, 2022, 40(2): 1-12.
    [9] ZHU L, XIANG H, ZHANG K. A light and anonymous three-factor authentication protocol for wireless sensor networks[J]. Symmetry, 2021, 14(1): 46. doi:  10.3390/sym14010046
    [10] SHIN S H, KOBARA K. Security analysis of password-authenticated key retrieval[J]. IEEE Transactions on Dependable and Secure Computing, 2017, 14: 573-576.
    [11] MIR O, MUNILLA J, KUMARI S. Efficient anonymous authentication with key agreement protocol for wireless Medical sensor networks[J]. Peer-to-Peer Networking and Applications, 2017, 10(1): 79-91. doi:  10.1007/s12083-015-0408-1
    [12] HE D, KUMAR N, CHEN J, et al. Robust anonymous authentication protocol for health-care applications using wireless medical sensor networks[J]. Multimedia Systems, 2015, 21(1): 49-60. doi:  10.1007/s00530-013-0346-9
    [13] 李文婷, 汪定, 王平, 等. 无线传感器网络下多因素身份认证协议的内部人员攻击[J]. 软件学报, 2019, 30(8): 2375-2391. doi:  10.13328/j.cnki.jos.005766

    LI W T, WANG D, WANG P, et al. Insider attacks against multi-factor authentication protocols for wireless sensor networks[J]. Journal of Software, 2019, 30(8): 2375-2391. doi:  10.13328/j.cnki.jos.005766
    [14] 房卫东, 张武雄, 杨旸, 等. 基于生物特征标识的无线传感器网络三因素用户认证协议[J]. 电子学报, 2018, 46(3): 702-713.

    FANG W D, ZHANG W X, YANG Y, et al. BTh-UAP: Biometric-Based three-factor user authentication protocol for wireless sensor network[J]. Acta Electronica Sinica, 2018, 46(3): 702-713.
    [15] AMIN R, ISLAM S K H, BISWAS G P, et al. A robust mutual authentication protocol for WSN with multiple base-stations[J]. Ad Hoc Networks, 2018, 75: 1-18.
    [16] LI X, NIU J, KUMARI S, et al. A three-factor anonymous authentication scheme for wireless sensor networks in internet of things environments[J]. Journal of Network and Computer Applications, 2018, 103: 194-204. doi:  10.1016/j.jnca.2017.07.001
    [17] JIANG Q, MA J, WEI F, et al. An untraceable teMporalcredential-based two-factor authentication scheMe using ecc for wireless sensor networks[J]. Journal Of Network And Computer Applications, 2016, 76: 37-48. doi:  10.1016/j.jnca.2016.10.001
    [18] MO J, CHEN H. A lightweight secure user authentication and key agreement protocol for wireless sensor networks[J]. Security and Communication Networks, 2019, 2019: 1-17.
    [19] LU Y, XU G, LI L, et al. Anonymous three-factor authenticated key agreement for wireless sensor networks[J]. Wireless Networks, 2019, 25(4): 1461-1475. doi:  10.1007/s11276-017-1604-0
    [20] 王晨宇, 汪定, 王菲菲, 等. 面向多网关的无线传感器网络多因素认证协议[J]. 计算机学报, 2020, 43(4): 683-700.

    WANG C Y, WANG D, WANG F F, et al. Multi-Factor user authentication scheme for multi-gateway wireless sensor networks[J]. Chinese Journal of Computers, 2020, 43(4): 683-700.
    [21] ALI R, PAL A K, KUMARI S, et al. A secure user authentication and key-agreement scheme using wireless sensor networks for agriculture monitoring[J]. Future Generation Computer Systems, 2018, 84: 200-215. doi:  10.1016/j.future.2017.06.018
    [22] SRINIVAS J, MUKHOPADHYAY S, MISHRA D. Secure and efficient user authentication scheme for multi-gateway wireless sensor networks[J]. Ad Hoc Networks, 2017, 54: 147-169. doi:  10.1016/j.adhoc.2016.11.002
    [23] XUE L, HUANG Q, ZHANG S, et al. A lightweight three-factor authentication and key agreement scheme for multigateway WSNs in IoT[J]. Security and Communication Networks, 2021(4): 1-15. doi:  10.1016/S1353-4858(21)00033-7
    [24] GUO H, GAO Y, XU T, et al. A secure and efficient three-factor multi-gateway authentication protocol for wireless sensor networks[J]. Ad Hoc Networks, 2019, 95: 101965.1-101965.16.
    [25] WANG D, WANG P. Two birds with one stone: Two-Factor authentication with security beyond conventional bound[J]. IEEE Transactions on Dependable and Secure Computing, 2016, 15(4): 708-722.
    [26] DODIS Y, REYZIN L, SMITH A. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data[C]//International Conference on the Theory and Applications of Cryptographic Techniques. Heidelberg: Springer, 2004: 523-540.
    [27] KOCAREV L. Chaos-Based cryptography: Theory, algorithms and applications[M]. Berlin/Heidelberg: Springer Science & Business Media, 2011.
    [28] BRUCE S. Applied cryptography: Protocols, algorthms, and source code in C[M]. 2nd. Hoboken: John Wiley & Sons, Inc, 1996.
  • [1] 曹明生, 王惟一, 王韬, 徐海津, 陈大江, 秦志光.  一种基于麦克风和扬声器的轻量级认证协议 . 电子科技大学学报, 2019, 48(4): 575-579. doi: 10.3969/j.issn.1001-0548.2019.04.015
    [2] 刘韵婷, 井元伟, 张嗣瀛.  基于量化信息的无线传感器网络多声源定位研究 . 电子科技大学学报, 2017, 46(4): 530-533. doi: 10.3969/j.issn.1001-0548.2017.04.009
    [3] 刘鹏飞, 刘铭, 刘赟卓, 徐杨.  基于素数地址的动态无线传感器网络路由协议 . 电子科技大学学报, 2015, 44(5): 757-763. doi: 10.3969/j.issn.1001-0548.2015.05.020
    [4] 张兵, 马新新, 志光.  轻量级RFID双向认证协议设计与分析 . 电子科技大学学报, 2013, 42(3): 425-430. doi: 10.3969/j.issn.1001-0548.2013.03.021
    [5] 吕涛, 朱清新, 张路桥.  基于均衡策略的无线传感器网络协作模型 . 电子科技大学学报, 2013, 42(5): 763-768. doi: 10.3969/j.issn.1001-0548.2013.05.023
    [6] 王瑞锦, 秦志光, 王佳昊.  无线传感器网络分簇路由协议分析 . 电子科技大学学报, 2013, 42(3): 400-405. doi: 10.3969/j.issn.1001-0548.2013.03.016
    [7] 陈拥军, 袁慎芳.  无线传感器网络最小能耗拓扑控制研究 . 电子科技大学学报, 2012, 41(4): 568-573. doi: 10.3969/j.issn.1001-0548.2012.04.018
    [8] 屈剑锋, 柴毅, 郭茂耘.  无线传感器网络下的并行粒子滤波目标跟踪算法 . 电子科技大学学报, 2011, 40(2): 231-236. doi: 10.3969/j.issn.1001-0548.2011.02.015
    [9] 于振华, 付晓, 王静, 胡正良, 刘宇.  基于声学无线传感器网络的目标跟踪系统研究 . 电子科技大学学报, 2011, 40(4): 568-572. doi: 10.3969/j.issn.1001-0548.2011.04.019
    [10] 冯涛, 刘媛媛, 马建峰.  可证明安全的群组匿名认证密钥协商协议 . 电子科技大学学报, 2011, 40(2): 273-277. doi: 10.3969/j.issn.1001-0548.2011.02.023
    [11] 闫斌, 周小佳, 王厚军, 王蜀黎.  无线传感器网络功率控制的质心定位算法 . 电子科技大学学报, 2010, 39(3): 416-419,434. doi: 10.3969/j.issn.1001-0548.2010.03.020
    [12] 贾晨军, 廖永建, 陈抗生.  无线传感器网络中的高效签名算法 . 电子科技大学学报, 2009, 38(4): 537-541. doi: 10.3969/j.issn.1001-0548.2009.04.015
    [13] 胡学海, 王厚军, 任代蓉.  稳定高效节能且邻近相关的网络拓扑协议 . 电子科技大学学报, 2009, 38(3): 397-400. doi: 10.3969/j.issn.1001-0548.2009.03.019
    [14] 张骏, 向渝, 汪文勇.  无线传感器网络节点能耗状态转换模型研究 . 电子科技大学学报, 2009, 38(4): 596-599. doi: 10.3969/j.issn.1001-0548.2009.04.028
    [15] 郭文生, 廖勇, 熊光泽.  梯度相关的无线传感器网络成簇路由协议 . 电子科技大学学报, 2009, 38(3): 410-414. doi: 10.3969/j.issn.1001-0548.2009.03.022
    [16] 朱辉, 李晖, 庞辽军, 王育民.  新的可证明安全的快速认证协议 . 电子科技大学学报, 2009, 38(1): 55-58.
    [17] 韩坚华, 吴柳飞.  无线传感器网络EMSR协议的安全性分析 . 电子科技大学学报, 2009, 38(3): 401-405. doi: 10.3969/j.issn.1001-0548.2009.03.020
    [18] 刘丹, 刘伟, 左朝树, 刘凯.  SEC-Tree的安全WSNS路由协议 . 电子科技大学学报, 2008, 37(6): 913-916.
    [19] 罗光春, 熊娇, 李炯.  无线传感器网络的最优安全性跳数算法研究 . 电子科技大学学报, 2008, 37(4): 582-585.
    [20] 阚保强, 蔡理, 朱红松.  平均干扰下的无线传感器网络高效能传输研究 . 电子科技大学学报, 2007, 36(6): 1304-1307.
  • 加载中
图(2) / 表(4)
计量
  • 文章访问数:  4802
  • HTML全文浏览量:  1317
  • PDF下载量:  43
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-07-15
  • 修回日期:  2023-03-28
  • 网络出版日期:  2023-10-08
  • 刊出日期:  2023-09-30

面向无线传感器网络的多因素安全增强认证协议

doi: 10.12178/1001-0548.2022238
    基金项目:  国家自然科学基金(61401067);四川省科技重大专项(2018GZDZX0009);四川省重点研发项目(2023YFG0112)
    作者简介:

    张凌浩(1985 – ),男,博士,高级工程师,主要从事电力信息安全技术方面的研究

    通讯作者: 桂盛霖,E-mail: shenglin_gui@uestc.edu.cn
  • 中图分类号: TP309.08

摘要: 为解决现有协议普遍存在的离线字典攻击、缺少匿名性、无前向安全等安全缺陷,基于最新安全模型,将KSSTI攻击和注册合法用户攻击加入安全模型评价标准中,形成增强安全模型,提出了一种面向无线传感器网络的多因素安全增强认证协议,实现了用户通过网关与传感器节点两端的安全会话密钥协商。BAN逻辑和启发式分析结果表明该协议实现了双向认证,满足匿名性、前向安全、抵抗内部攻击、抵抗KSSTI攻击等重要安全属性。相比于已有协议,该文协议的安全等级更高且计算量与通信量适中,适用于安全等级要求高且传感器节点计算资源受限的应用场景。

English Abstract

张凌浩, 梁晖辉, 邓东, 刘洋洋, 唐超, 常政威, 桂盛霖. 面向无线传感器网络的多因素安全增强认证协议[J]. 电子科技大学学报, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238
引用本文: 张凌浩, 梁晖辉, 邓东, 刘洋洋, 唐超, 常政威, 桂盛霖. 面向无线传感器网络的多因素安全增强认证协议[J]. 电子科技大学学报, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238
ZHANG Linghao, LIANG Huihui, DENG Dong, LIU Yangyang, TANG Chao, CHANG Zhengwei, GUI Shenglin. Multi-Factor Security Enhanced Authentication Protocol for Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238
Citation: ZHANG Linghao, LIANG Huihui, DENG Dong, LIU Yangyang, TANG Chao, CHANG Zhengwei, GUI Shenglin. Multi-Factor Security Enhanced Authentication Protocol for Wireless Sensor Networks[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 699-708. doi: 10.12178/1001-0548.2022238
  • 随着人们对智能生活的追求,物联网在医疗[1]、家居[2]、农业[3]、战场监视[4]等领域得到广泛应用。作为物联网的重要组成部分,无线传感器网络引起了工业界和学术界越来越多的关注[5]。无线传感器网络(wireless sensor network, WSN)由大量的传感器节点互联组成,常部署在无人看管或恶劣环境中用于执行各类感知环境的任务,由此使得无线传感器网络容易遭受各种攻击。因此,在高安全需求的WSN场景下,如医疗及战场监视,面对更加强大的敌手攻击能力,要求协议能具备更多的安全属性。如何针对强大的敌手能力以及传感器节点计算和存储资源受限问题,设计出一个适用于高安全场景下的面向网关的身份认证协议亟需解决。

    一个典型的面向网关的无线传感器网络模型[6]包括三类参与方:传感器节点、网关和用户。传感器节点通过其所属的网关节点(GWN)连接到互联网,用户通过访问GWN读取其管理的传感器节点的数据。该模型下,用户、GWN以及节点间均通过公共信道发送消息,并且攻击者可监听或者更改公共信道上传递的消息。按照认证用户身份所使用的因素个数可分为单因素[7]、双因素[8]和三因素[9],通常含有两个及以上的认证因素被称为多因素协议。单因素协议仅仅使用用户密码作为用户身份认证,由于用户密码信息具有低熵性,使得用户密码容易被猜测破解[10]。双因素协议在前者基础上增加了智能卡作为用户身份认证的第二个要素。随后考虑到用户智能卡易丢失,三因素协议继续引入了用户生物特性作为用户身份认证的第三个要素。由于每个用户的生物特征是独一无二的,相比双因素协议更能保证网络安全,因此三因素协议常常被应用在高安全场景下。

    目前双因素和三因素协议所考虑的安全模型存在一定差异,主要体现在敌手能力的强弱以及评价标准是否全面。因此在不同的安全模型下,已有文献所提出的协议安全性存在较大差异。

    文献[11]针对文献[12]中方案存在离线字典猜测攻击、前向安全等问题提出自己的双因素协议并用BAN逻辑证明了其安全性,随后被文献[13]指出其存在内部攻击、智能卡丢失攻击、前向安全性问题。此外,文献[13]还指出文献[14]的方案与文献[12]存在相同的缺陷,并针对文献[14]和文献[11]存在的安全缺陷给出了解决思路。文献[15]将传感器节点区分为簇头和簇成员两类并提出双因素认证协议,但不能抵御KSSTI攻击。

    随着生物技术的快速发展,为了提升身份认证的安全性,引入了生物特征,使得三因素协议得到广泛的关注。文献[16]提出了一种三因素认证协议,并指出了文献[17]的协议不能抵抗KSSTI(known session-specific temporary information)攻击且节点之间需要时钟同步,不适用于无线传感器网络等问题。文献[18]指出文献[19]无后向安全性、存在KSSTI攻击、也不适合无线传感器网络环境等缺点,但本文发现文献[18]所提出的改进协议仍然存在中间人攻击等安全漏洞。文献[20]分别针对文献[21]和文献[22]的协议存在离线字典攻击、前向安全、内部攻击等问题提出增强型方案,但其方案执行过程中所有成员共计需要6次公钥乘操作,计算量相比其他方案偏高。文献[23]指出文献[24]存在离线字典攻击、前向安全等问题,并提出了改进方案,然而其方案不能满足本文所考虑的更强安全模型下的安全性。

    基于上述分析,可以看出已有文献若放置于后期提出的更高安全性的安全模型下会存在不足或问题。因此本文经过对已有安全模型的系统性分析和整理,选择目前最新的安全模型[6,25]开展研究,设计满足其评价标准的三因素高效身份认证协议。如何面对更加强大的敌手能力构建高效安全的身份认证协议是保证高安全WSN应用场景安全性的基础问题。本文的贡献包括以下3个方面。

    1)通过分析文献[16],指出其协议无法抵抗注册合法用户攻击,从而引发传感器秘钥泄露、用户欺骗攻击、用户伪装攻击等问题;通过分析文献[20],指出其协议存在KSSTI攻击。

    2)本文基于最新的安全模型[6,25],在其评价标准中增加抵抗KSSTI攻击和注册合法用户攻击,进一步增强了其评价标准,提高协议的安全等级。

    3)与文献[15,21,22]的三方共享会话密钥模式不同,本文的会话秘钥协商仅限于用户和传感器节点两方,在用户和传感器节点两端分别使用临时公私钥实现前向安全属性;BAN逻辑证明和启发式分析表明,本文协议能够实现双向认证、安全的协商会话秘钥以及抵抗各类已知攻击;与相关协议相比该协议不仅可以满足增强后的安全模型的评价标准,计算量和通信量也适中,因此适用于高安全WSN场景下的应用。

    • 对于一个用户身份认证协议,即使用于生成会话SK的临时秘密泄露,如各方用于直接计算SK的随机数泄露,仍能保证SK的安全,则称其能抵抗KSSTI攻击。另外,在实际场景中,攻击者极有可能注册成为合法用户与节点进行通信,由此获取系统中其他会话中的秘密信息,如文献[15,20]均存在此类注册合法用户攻击问题。由此可见若未考虑上述两种攻击,协议将不能保证生成会话秘钥的安全性。因此本文对文献[6,25]提出的安全模型做出增强,将KSSTI攻击和注册合法用户攻击加入其评价标准中。

    • 外网用户访问网内传感器节点的场景中攻击者具有如下能力:

      C1: 攻击者能够在公开信道中任意监听、截获、注入实体间交互的信息;

      C2: 攻击者知道用户ID空间DID和密码空间Dpw,可以穷举该空间中的所有元素;

      C3: 在n因素保证安全的协议中,攻击者可以获得任意n-1因素;

      C4: 攻击者能够得到之前协商的所有对称秘钥;

      C5: 在评估前向安全时攻击者能够得到所有的长期秘密;

      C6: 攻击者可以攻击部分节点获取其全部的秘密;

      C7: 攻击者能够注册成合法用户或合法节点同网内实体交互。

    • 本节给出本文所使用的评价标准,该标准包含11条评价指标,其中将KSSTI攻击加入到S4条,新增S11抗注册合法用户攻击,具体如下。

      S1: 无口令验证表,要求网关和传感器节点上不应该存储用户信息相关的验证表;

      S2: 口令友好性,要求用户能在本地更改用户口令;

      S3: 口令安全性,用户口令不能被内部特权管理员获取或计算出来;

      S4: 抗各类已知攻击,协议能够抵抗仿冒攻击、离线字典猜测攻击、重放攻击、中间人攻击、平行会话攻击、验证表丢失攻击、节点捕获攻击、网关绕过攻击、未知密钥共享攻击和已知密钥攻击、KSSTI攻击、智能卡丢失攻击;

      S5: 可修复性,要求协议支持智能卡撤销及传感器节点动态加入;

      S6: 建立会话秘钥,协商完成后用户与传感器节点之间建立会话秘钥;

      S7: 无时钟同步,避免因时钟同步产生的延迟影响系统的运行;

      S8: 双向认证,通信的双方需要相互认证身份的合法性;

      S9: 用户匿名性,要求协议能保证用户的不可追踪性;

      S10: 前向安全属性,要求协议的长期秘密暴露对之前协商的会话安全性无影响;

      S11: 抗注册合法用户攻击,攻击者无法通过注册合法用户来提高攻击优势。

    • 本文用到的符号及其含义如表1所示。

      表 1  符号描述

      符号 描述 符号 描述
      Ui / GWN / SNj 用户i / 网关节点 /
      传感器节点j
      SK 对称秘钥
      IDi / SIDj Ui的身份号 / SNj
      身份号
      h(·) 一种安全的哈希
      函数
      Gen(·) 生物特征生成函数 PWi Ui的密码
      Rep(·) 生物特征恢复函数 Bioi Ui的生物特征
      || / ⊕ 连接操作 / 异或操作 SCi Ui的智能卡
      安全信道 公共信道
    • 1) 注册合法用户攻击

      A注册完合法用户后,通过在登录认证过程中截取{M8, M9, M10, M11},由此可计算 ${K_{\text{GWN-S}}} = {M_8} \oplus {{\text{ID}}_i}$ A访问每个传感器节点则可以获取所有SNj和GWN之间的共享秘密参数KGWN-S以及SIDj,进而发起步骤2)~5)所述攻击。

      2) 用户欺骗攻击

      A记录所有发往GWN的{M2,M4,M5,M6,M7},记录GWN发出的所有{M8,M9,M10,M11},对于某个SNj收到的{M8,M9,M10,M11},计算 ${ {\text{ID}}_i^\prime } = {K_{{\text{GWN-}}S}} \oplus {M_8}$ ${r_g^\prime } = h({{\text{ID}}_i}||{K_{{\text{GWN-}}S}}) \oplus M_9$ ${r_i^\prime } = {r_g^\prime } \oplus M_{10}$ 。对于每一组{M2,M4,M5,M6,M7},计算 $ {M_1^\prime } = {M_5} \oplus {r_i^\prime } $ ${M_6^\prime } = h({{\text{ID}}_i^\prime }||{r_i^\prime }) \oplus {\text{SID}}_j$ ${M_7^\prime } = h({M_1^\prime }||{\text{SID}}_j||M_3||{r_i^\prime })$ 。若 ${M_6^\prime } = M_6$ ${M_7^\prime } = M_7$ ,则该组{M8,M9,M10,M11}为用户Ui访问SNj时所发送的消息,并且GWN发送的消息为当前验证的{M8,M9,M10,M11}。

      A通过如下方式伪造GWN的返回消息:选择随机数rjrg计算 ${\text{SK}}_{{\rm{GWN}}} = h({{\text{ID}}_i^\prime }||{\text{SID}}_j||{r_i^\prime }||r_g||r_j)$ $M_{14} = {M_1^\prime } \oplus r_g$ $M_{15} = {r_i^\prime } \oplus r_j$ $M_{16} = h({{\text{ID}}_i^\prime }||{\text{SK}}_{\rm{GWN}}||r_g||r_j)$ A发送{M14,M15,M16}给Ui

      ③ 用户Ui收到{M14,M15,M16}后,计算 ${r_g^\prime } = M_{14} \oplus M_1$ ${r_j^\prime } = M_{15} \oplus r_i$ ${\text{SK}}_i = h({\text{ID}}_i||{\text{SID}}_j||r_i||{r_g^\prime }||{r_j^\prime })$ ${M_{16}^\prime } = h({\text{ID}}_i||{\text{SK}}_i||{r_g^\prime }||{r_j^\prime })$ 。若 ${M_{16}^\prime } = M_{16}$ ,则用户Ui接受此次SKi

      3) 用户伪装攻击

      A监听用户Ui和SNj执行一轮完整协商,A执行步骤①获取用户的M1、IDi,执行如下过程伪造用户与GWN进行通信:A选取随机数sri,计算 $M_2 = sP$ $M_3 = sX$ $M_4 = {\text{ID}}_i \oplus M_3$ $M_5 = M_1 \oplus r_i$ $M_6 = h({\text{ID}}_i||r_i) \oplus {\text{SID}}_j$ $M_7 = h(M_1||{\text{SID}}_j|| M_3||r_i)$ A发送{M2,M4,M5,M6,M7}给GWN,GWN验证后接受当前消息并按照协议运行,则A伪装用户成功。

      4) 前向安全问题

      A记录GWN发送给SNj的所有{M8,M9,M10,M11}和{M12,M13},计算 ${\text{ID}}_i = M_8 \oplus {K_{{\text{GWN-}}S}}$ $r_g = h({\text{ID}}_i||K_{{\text{GWN-}}S}) \oplus M_9$ $r_i = r_g \oplus M_{10}$ $r_j = M_{12} \oplus K_{{\text{GWN-}}S}$ ${\text{SK}} = h({\text{ID}}_i||{\text{SID}}_j||r_i||r_g||r_j)$ ,则该协议不具备前向安全属性。

      5) 离线字典猜测攻击

      A得到智能卡且通过恶意扫描器得到用户的生物特征Bioi,则可进行离线字典猜测攻击。A执行步骤①获取用户的IDi,获取智能卡中的Ai,从用户密码空间中猜测密码 ${{\text{PW}}_i^\prime } $ 并计算 $c_i = f(\delta \oplus {\text{Bio}}_i)$ ${A_i^\prime } = h({\text{ID}}_i||h({{\text{PW}}_i^\prime }||a_i)||c_i)$ ,其中f(·)对应表1中的Rep(·)函数,若 ${A_i^\prime } = A_i$ 则密码正确。故A可进行离线字典猜测攻击。

      6) 内部攻击

      A在注册阶段得到用户发送的RPWi,并且攻击者得到用户智能卡中的ai,则攻击者可猜测 ${{\rm{PW}}_i^\prime }$ ,若 $ h({{\rm{PW}}_i^\prime }||a_i) = {\rm{RPW}}_i $ ,则A猜中用户的密码,该攻击有效。

    • KSSTI攻击主要用于当计算SK的秘密参数仅只有临时秘密参数时,因此在协议设计时SK的参数需要同时具备长期秘密值和临时秘密值才可避免此类攻击。

      1) 场景1的KSSTI攻击

      ① 场景1中, ${\text{SK}} = h({K_1}\left| {\left| {{K_3}} \right|} \right|{K_4}||{\text{SID}}_j^k)$ ,其中 ${K_1} = {r_i} {P_k}$ ${K_3} = {r_j} {P_k}$ ${K_4} = {r_j} {K_1}$ 。由于 $ {P}_{k} $ , $ {Y}_{k} $ 是系统参数,可通过智能卡获取,攻击者A在获得 ${r_i},{r_j}$ 临时秘密值后,进而可以计算出 ${K_1},{K_3},{K_4}$

      ② 通过公开信道得到M2, EIDj,其中 ${M_2} = {\text{ID}}_i^k \oplus h({K_1}||{K_2})$ ${\text{EI}}{{\text{D}}_j} = {\text{SID}}_j^k \oplus h({\text{ID}}_i^k||{K_2})$ ,进而敌手可以进行如下计算 ${K_2} = {r_i}{Y_k}$ ${\text{ID}}_i^k = {M_2} \oplus h({K_1}|| {K_2})$ ${\text{SID}}_j^k = {\text{EI}}{{\text{D}}_j} \oplus h({\text{ID}}_i^k||{K_2})$ 。最终敌手A获得了SK的所有参数。

      2) 场景2的KSSTI攻击

      场景2中, ${\text{SK}} = h({K_4}\left| {\left| {{K_6}} \right|} \right|{K_7}||{\text{SID}}_j^2)$ ,其中 ${K_4} = {r_{12}} {P_2}$ ${K_7} = {r_j} {P_2}$ ,由于 ${P_2}$ , ${K_6}$ , ${\text{SID}}_j^2$ 可分别通过MSG4,MSG8,MSG2获得,攻击者A在进一步获得 ${r_i},{r_j}$ 临时秘密值后,进而可以计算出 ${K_4},{K_7}$ 。最终敌手A获得了SK的所有参数。

    • 从前面的分析可看出,文献[16]的协议存在内部攻击、注册合法用户攻击、无前向安全性等缺点;文献[20]的协议存在KSSTI攻击,如果提出的认证协议能够实现以下G1和G2目标。 $G1:{\rm{S}}{{\rm{N}}_j}\left| \equiv \right. {U_i}\underleftrightarrow {{\rm{sk}}}{\rm{S}}{{\rm{N}}_j} $ $G2:{U_i}\left| \equiv \right.{\rm{S}}{{\rm{N}}_j}\underleftrightarrow {{\rm{sk}}}{U_i} $ ,则表示正确地实现了相互认证与会话密钥协商。

      本文将从以下6个方面着重考虑满足S3、S4中的离线字典攻击、KSSTI攻击和S9、S10和S11标准的协议构建方法。

      1) 更换存入智能卡中的随机数使协议满足S3。

      2) 智能卡对用户验证合法性时使用Fuzzy-verifier和Honey words[25]方法保证攻击者无法进行离线字典猜测攻击,也不能进行在线字典猜测攻击。

      3) 向SNj传递Ui秘密的相关信息,如下文协议中的Si;向Ui传递SNj秘密的相关信息,如下文协议中的Sj。可以看出Si, Sj不能直接保证随机数暴露的情况下SK的安全性,进而抵抗KSSTI攻击。

      4) 采用更换用户标识符的方法使协议满足S9。

      5) Ui和SNj之间利用Diffie-Hellman问题构建对称秘钥,使协议满足S10。

      6) GWN和SNj之间传递消息的验证秘密值随用户的不同而变化,以此防止注册用户攻击,使协议满足S11,进而防止用户欺骗攻击和用户伪装攻击。

    • GWN选定秘密值XGWN, E(Fp), P, h(·),公开E(Fp), P, h(·),保存XGWN

    • GWN为节点选定独特的SIDj,计算 ${K_{{\text{GWN-}}S}} = h(S{\text{ID}}_j||{X_{{\text{GWN}}}})$ ,在传感器节点中存储{SIDj, KGWN-S}。

    • 图1所示,用户输入IDi、PWi、Bioi,选择随机数ab',计算: ${\text{Gen}}({\text{Bio}}_i) = (\delta _i,\tau _i)$ ${\text{PID}}_i = h ({\text{ID}}_i|| \delta _i||a)$ ${{\text{RPW}}_i^\prime } = h({\text{PW}}_i|| \delta _i||b')$ $U_i \Rightarrow {\text{GWN}:\{ {\rm{PID}}}_i, {{\text{RPW}}_i^\prime }\}$

      GWN收到后计算 $X_i = h({\text{PID}}_i{\text{||}}X_{\text{GWN}})$ ${B_i^\prime } = X_i \oplus h({{\text{RPW}}_i^\prime }||{\text{PID}}_i)$ 。GWN在数据库中存入 $\{ {\text{PID}}_i, {\text{Honey\_List = 0}}\} $ $ \text{GWN}\Rightarrow U_i:智能卡\text{SC}_i:\left\{{B_i}^{\prime }\right\} $

      用户计算 $X_i = {B_i^\prime } \oplus h({{\text{RPW}}_i^\prime }||{\text{PID}}_i)$ 。选择随机数b,计算 ${\text{RPW}}_i = h({\text{PW}}_i||\delta _i||b)$ $B_i = X_i \oplus h({\text{RPW}}_i||{\text{PID}}_i)$ ,fuzzy-verifier: $A_i = h({\text{PID}}_i||{\text{RPW}}_i){\text{mod }}{{n}}_0$ n0为[26−28]的整数,然后向智能卡SCi中写入:abBiAiP

      图  1  用户注册

    • 图2所示,用户输入IDi、PWi、Bioi。智能卡计算 ${\delta _i^*} = {\text{Rep(Bio}}_i,\tau _i{\text{)}}$ ${{\text{PID}}_i^*} = h({\text{ID}}_i||{\delta _i^*}||a)$ ${{\text{RPW}}_i^*} = h({\text{PW}}_i||{\delta _i^*}||b)$ ${A_i^*} = h({{\text{PID}}_i^*}||{{\text{RPW}}_i^*})$ mod n0。比较 ${A_i^*}? = A_i$ ,相等则继续,否则终止。计算 $X_i = B_i \oplus h ({{\text{RPW}}_i^*}|| {{\text{PID}}_i^*})$ 。选择随机数anewri,计算 $M_1 = {r_i}P$ ${\text{PID}}_{\rm{new}} = h({\text{ID}}||{\delta _i^*}||a_{\text{new}})$ $M_2 = h(M_1||$ $X_i) \oplus ({\text{PID}}_{\rm{new}}|| {\rm{SID}}_j)$ $M_3 = h (X_i||{\text{PID}}_{\rm{new}}||{\rm{SID}}_j)$ $U_i$ $ \to {\text{GWN:\{ PID}}_j,M_1, M_2,M_3{\text{\} }}$

      图  2  用户登录及认证

      GWN收到后计算 $X_i = h({\text{PID}}_i||X_{\text{GWN}})$ ${\text{PID}}_{{\text{new}}}^*|| {{\text{SID}}_j^*} = M_2 \oplus h(M_1||X_i)$ ${M_3^*} = h(X_i||$ ${\text{PID}}_{{\text{new}}}^*||{{\text{SID}}_j^*})$ ,比较 ${M_3^*}? = M_3$ :1)若不成立,结束会话,令 ${\text{Honey\_List = Honey\_List}} + 1$ 。若Honey_List大于阈值,则冻结用户,用户必须重新注册。2)若成立,令 ${\text{Honey\_List = }}0$ 。GWN选择随机数rg,计算 $K_{{\text{GWN-}}S} = h({{\text{SID}}_j^*}||X_{\text{GWN}})$ $S_i = h(X_i||M_1)$ $M_4 = r_g \oplus h(K_{{\text{GWN-}}S}||M_1)$ $M_5 = S_i \oplus $ $h(r_g||K_{{\text{GWN-}}S}||M_1)$ $M_6 = h(r_g|| {{\text{SID}}_j^*}||M_1||S_i)$ ${\text{GWN}} \to {\text{SN}}_j:\{ M_1,M_4,M_5,M_6\} $

      SNj收到后,计算 ${r_g^*} = M_4 \oplus h(K_{{\rm{GWN}}{\text{-}}S}||M_1)$ ${S_i^*} = M_5 \oplus h({r_g^*}||K_{{\text{GWN-}}S}||M_1)$ ${M_6^*} = h({r_g^*}||{\text{SID}}_j||M_1||{S_i^*})$ ,比较 ${M_6^*}? = M_6$ ,不相等则拒绝,否则继续。SNj选择rj,计算 $M_7 = {r_j}P$ $S_j = h(K_{{\text{GWN-}}S}||M_7)$ $K_1 = {r_j^*}M_1$ ${\text{SK = }}h(M_1||M_7||K_1||{\text{SID}}_j||{r_g^*}||{S_i^*}||S_j)$ $M_8 = h({\text{SID}}_j|| {\text{SK||}} M_7||M_1||{r_g^*})$ $M_9 = h({\text{SID}}_j||M_7||M_8||K_{{\text{GWN-}}S}||{r_g^*})$ ${\text{SN}}_j \to {\text{GWN:}}$ ${\text{\{ }}M_7,M_8,M_9{\text{\} }}$

      GWN计算 ${M_9^*} = h({{\text{SID}}_j^*}||M_7||M_8||K_{{\text{GWN-}}S}||r_g)$ ,比较 ${M_9^*}? = M_9$ ,不相等则终止,否则继续。计算 $S_j = h(K_{{\text{GWN-}}S}||M_7)$ $X_{\text{new }}= h({{\text{PID}}_{{\text{new}}}}^*||X_{\text{GWN}}||)$ $M_{10} = X_{\text{new}} \oplus h(M_1||X_i)$ $M_{11} = r_g \oplus h(h(M_1||X_i)||X_{\text{new}})$ $M_{12} = X_{\text{new}} \oplus S_j$ $M_{13} = h(M_7||r_g||{{\text{SID}}_j^*}||{\text{PID}}||M_8||S_j)$ 。用 ${{\text{PID}}_{{\text{new}}}}^*$ 替换数据库中的 ${\text{PID}}_i$ ,将错误次数置零。 ${\text{GWN}} \to U_{i}:$ $\{ M_7,M_8,M_{10},M_{11},M_{12},M_{13}\} $

      Ui计算 ${X_{{\text{new}}}}^* = M_{10} \oplus h(M_1 \oplus X_i)$ ${r_g^*} = M_{11} \oplus h(h (M_1||X_i)||{X_{{\text{new}}}}^*)$ ${S_j}^* = {M_{12}} \oplus {X_{{\text{new}}}}^*$ ${M_{13}^*} = h(M_7||{r_g^*}||{\text{SID}}_j|| {\text{PID}}||M_8||{S_j^*})$ ,比较 $M_{13}? = {M_{13}^*}$ ,相等则进行下列计算: $K_1 = {r_i^*}M_7$ $S_i = h(X_i||M_1)$ ${\text{SK}} = h(M_1||M_7||K_1|| {\text{SID}}_j||{r_g^ * }||S_i||{S_j^ * })$ ${M_8^ * } = h({\text{SID}}_j||{\text{SK}}||M_7||M_1||{r_g^ * })$ ,比较 ${M_8^ * }? = M_8$ ,相等则进行下列计算: $B_{\text{new}} = X_{\text{new}} \oplus h ({\text{RPW}}_i||{\text{PID}}_{\rm{new}})$ $A_{\text{new }}=h({\text{PID}}_{\rm{new}}||{\rm{RPW}}_i)\bmod n_0$ ,用AnewBnewanew替换智能卡中的AiBia

    • 用户输入IDi、PWi、Bioi。智能卡计算 ${\delta _i}^ * = {\text{Rep}}({\text{Bi}}{{\text{o}}_i},{\tau _i})$ ${\text{PI}}{{\text{D}}_i}^ * = h({\text{I}}{{\text{D}}_i}^ * ||{\delta _i}^ * ||a)$ ${\text{RP}}{{\text{W}}_i}^ * = h({\text{P}}{{\text{W}}_i}^ * || {\delta _i}^ * ||b)$ ${A_i}^ * = h({\text{PI}}{{\text{D}}_i}^ * ||{\text{RP}}{{\text{W}}_i}^ * ){\text{mod}}$ ${n_0}$ 。比较 ${A_i}^*? = {A_i}$ ,相等则继续,否则终止。输入新的密码PWnew,选择新的随机数bnew,计算 ${\text{RP}}{{\text{W}}_{{\text{new}}}} = h({\text{I}}{{\text{D}}_i},{\delta _i}^ * ,a)$ ${A_{{\text{new}}}} = h({\text{PI}}{{\text{D}}_i}^*||{\text{RP}}{{\text{W}}_{{\text{new}}}})$ $\bmod {n_0}$ ${B_{{\text{new}}}} = {B_i} \oplus h({\text{RP}}{{\text{W}}_{{\text{new}}}}|| {\text{PID}})$ ,用AnewBnewbnew替换AiBib ${A_{{\text{new}}}} = h({\text{PI}}{{\text{D}}_i}^ * ||{\text{RP}}{{\text{W}}_{{\text{new}}}})\bmod {n_0}$ ${B_{{\text{new}}}} = {B_i} \oplus h({\text{RP}}{{\text{W}}_{{\text{new}}}}||{\text{PID}})$ ,用Anew ${B_{{\text{new}}}}$ bnew替换AiBib。

    • 本节将用BAN逻辑对协议正确性进行验证。协议的正确性指的是协议执行完后,用户Ui和传感器节点SNj共享一个新鲜的会话密钥SK。BAN逻辑用到的符号和规则定义如表2所示。为了便于使用BAN逻辑对协议进行分析,现将协议的消息理想化为如下消息。

      表 2  BAN逻辑符号及规则

      符号及规则 描述 符号及规则 描述 符号及规则 描述
      $P| \equiv X $ P相信X $< X{ > _Y} $ XY结合 $P|\sim Q $ P曾经说过X
      $P \triangleleft X $ P收到X ${\{ X\} _Y} $ X用秘钥K加密 $P| \Rightarrow X $ PX有控制权
      $P\mathop \leftrightarrow \limits^{{\rm{SK}}} Q$ PQ通过秘钥SK进行通信 $\dfrac{ {P| \equiv P\mathop \leftrightarrow \limits^K Q,P \triangleleft { {\{ X\} }_K} } }{ {P| \equiv Q|\sim X} }$ R1:消息含义规则 $\dfrac{ {P| \equiv \# (X),P| \equiv Q|\sim X} }{ {P| \equiv Q \equiv X} }$ R2:随机数验证规则
      $\# (X) $ X是新鲜的 $\dfrac{ {P| \equiv Q| \equiv X,P| \equiv Q| \Rightarrow X} }{ {P| \equiv X} }$ R3:仲裁规则 $\dfrac{ {P| \equiv \# (X)} }{ {P| \equiv \# (X,Y)} }$ R4:新鲜性规则
      $\dfrac{ {P| \equiv (X,Y)} }{ {P| \equiv X} }$ R5:信念规则 $\dfrac{ {P| \equiv \# (X),P| \equiv Q| \equiv X} }{ {P| \equiv P\mathop \leftrightarrow \limits^{ {\rm{SK} } } Q } }$ R6:会话秘钥规则

      1)消息1: ${U_i} \to {\text{GWN}} : {\text{PI}}{{\text{D}}_i},{M_1},{M_2},{M_3} : < {M_1},$ ${\text{SI}}{{\text{D}}_j} > {X_{{U_i}}}$

      2)消息2: $ \text{GWN} \to {\text{SN}}_{j} : {M}_{1},{M}_{4},{M}_{5},{M}_{6} : < {r}_{g}, {\text{SID}}_{j} ,$ ${U_i}\left| \equiv \right.{M_1} > {K_{{\text{GWN-}}S}}$

      3)消息3: ${\text{S}}{{\text{N}}_j} \to {\text{GWN}}:{M_7},{M_8},{M_9}: < {\text{SI}}{{\text{D}}_j},{M_7},$ ${r_g} > {K_{{\text{GWN-}}S}}$

      4)消息4: ${\text{GWN}} \to {U_i} :{M_7},{M_8},{M_9},{M_{10}},{M_{11}},{M_{12}},$ ${M_{13}} : < {\text{SI}}{{\text{D}}_j},{\text{S}}{{\text{N}}_j}| \equiv {M_1},{\text{S}}{{\text{N}}_j}| \equiv {M_7},{r_g} > {X_{{U_i}}}$

      根据3.4节协议内容初始化假设:

      A1: ${\text{GWN}}| \equiv {U_i}\mathop {\overset {{X_{{U_i}}}} \longleftrightarrow }\limits^{} {\text{GWN}}$

      A2: ${\text{GWN}}| \equiv \# \left( {{M_1}} \right)$

      A3: $ \text{GWN}\left|\equiv {U}_{i}\right|\Rightarrow < {M}_{1},{\text{SID}}_{j} > $

      A4: ${\text{S}}{{\text{N}}_j}| \equiv {\text{GWN}}\overset {{K_{{\rm{GWN}}{\text{-}}S}}} \longleftrightarrow {\text{S}}{{\text{N}}_j}$

      A5: ${\text{S}}{{\text{N}}_j}| \equiv \# \left( {{M_1}} \right)$

      A6: $ {\text{SN}}_{j}\left|\equiv \text{GWN}\right|\Rightarrow < {r}_{g},{\text{SID}}_{j},{U}_{i}|\equiv {M}_{1} > $

      A7: ${\text{S}}{{\text{N}}_j}\left| { \equiv {{{U}}_i}} \right| \Rightarrow {{{U}}_i}\overset {{\text{SK}}} \longleftrightarrow {\text{S}}{{\text{N}}_j}$

      A8: ${\text{GWN}}| \equiv {\text{GWN}}\overset {{{\text{K}}_{{\text{GWN}}{\text{-}}{\text{S}}}}} \longleftrightarrow {\text{S}}{{\text{N}}_j}$

      A9: ${\text{GWN}}| \equiv \# \left( {{{{M}}_7}} \right)$

      A10: ${U_i}| \equiv {U_i}\overset {{X_{{U_i}}}} \longleftrightarrow {\text{GWN}}$

      A11: ${U_i}| \equiv \# \left( {{M_7}} \right)$

      A12: ${U_i}\left| { \equiv {\text{GWN}}} \right| \Rightarrow < {\text{SI}}{{\text{D}}_j},{\text{S}}{{\text{N}}_j}\left| { \equiv {M_1},{\text{S}}{{\text{N}}_j}} \right| \equiv {M_7},$ ${r_g} > $

      A13: ${U_i}\left| { \equiv {\text{S}}{{\text{N}}_j}} \right| \Rightarrow {U_i}\overset {{\text{SK}}} \longleftrightarrow {\text{S}}{{\text{N}}_j}$

      如果提出的认证协议能够实现以下目标,那么所提协议正确实现了相互认证与会话密钥协商。

      G1: ${\text{S}}{{\text{N}}_j}| \equiv {U_i}\overset {{\text{SK}}} \longleftrightarrow {\text{S}}{{\text{N}}_j}$

      G2: ${U_i}| \equiv {\text{S}}{{\text{N}}_j}\overset {{\text{SK}}} \longleftrightarrow {U_i}$

      BAN逻辑形式化分析如下。

      从消息1,得到:

      $$ \text{GWN} \triangleleft < {M}_{1},{\text{SID}}_{j}{ > }_{{X}_{{U}_{i}}} $$ (1)

      根据式(1)、A1、应用消息含义规则,得到:

      $$ {\text{GWN}}\left| { \equiv {U_i}} \right| \sim < {M_1},{\rm{SI}}{{\rm{D}}_j} > $$ (2)

      根据式(2)、A2、应用随机数验证规则,得到:

      $$ {\text{GWN}}\left| { \equiv {U_i}} \right| \equiv < {M_1},{\text{SI}}{{\text{D}}_j} > $$ (3)

      根据式(3)、A3、应用仲裁规则,得到:

      $$ {\text{GWN}}\left| \equiv \right. < {M_1},{\text{SI}}{{\text{D}}_j} > $$ (4)

      从消息2,得到:

      $$ {\text{SN}}_{j} \triangleleft < {r}_{g},{\text{SID}}_{j},{U}_{i}|\equiv { M_1 > }_{{K}_{{\rm{GWN}}{\text{-}}S}}$$ (5)

      根据式(5)、A4、应用消息含义规则,得到:

      $$ {\text{S}}{{\text{N}}_j}\left| { \equiv {\text{GWN}}} \right| \sim < {r_g},{{\rm{SID}}_j},{U_i}\left| { \equiv {M_1}} \right. >$$ (6)

      根据式(6)、A5、应用随机数验证规则,得到:

      $$ {\text{S}}{{\text{N}}_j}\left| { \equiv {\text{GWN}}} \right| \equiv < {r_g},{\text{SI}}{{\text{D}}_j},{U_i}\left| { \equiv {M_1}} \right. > $$ (7)

      根据式(7)、A6、应用仲裁规则,得到:

      $${\text{S}}{{\text{N}}_j}\left| \equiv \right. < {r_g},{\text{SI}}{{\text{D}}_j},{U_i}\left| \equiv \right.{M_1} >$$ (8)

      根据式(8)、应用信念规则,得到:

      $${\text{S}}{{\text{N}}_j}\left| { \equiv {U_i}\left| { \equiv {M_1}} \right.} \right.$$ (9)

      根据式(9)、 ${\text{SK}} = h({M_1}||{M_7}||{r_j}^*{M_1}||{\text{S}}{{\text{N}}_j}|| {r_g}|| {S_i}||{S_j})$ 、应用会话秘钥规则,得到:

      $$目标(G1):{\text{S}}{{\text{N}}_j}| \equiv {U_i}\overset {{\text{SK}}} \longleftrightarrow {\text{S}}{{\text{N}}_j}$$ (10)

      从消息3,得到:

      $${\text{GWN}} \triangleleft < {\text{SI}}{{\text{D}}_j},{M_7},{r_g} > {K_{{\text{GWN-}}S}}$$ (11)

      根据式(11)、A8、应用消息含义规则,得到:

      $${\text{GWN}}\left| { \equiv {\text{S}}{{\text{N}}_j}} \right|\sim < {{\rm{SID}}_j},{M_7},{r_g} >$$ (12)

      根据式(12)、A9、应用随机数验证规则,得到:

      $${\text{GWN}}\left| { \equiv {\text{S}}{{\text{N}}_j}} \right| \equiv < {\text{SI}}{{\text{D}}_j},{M_7},{r_g} >$$ (13)

      根据式(13)、A10、应用仲裁规则,得到:

      $${\text{GWN}}| \equiv < {\text{SI}}{{\text{D}}_j},{M_7},{r_g} >$$ (14)

      从消息4,得到:

      $${U}_{i}\triangleleft < {\text{SID}}_{j},{\text{SN}}_{j}|\equiv {M}_{1},{\text{SN}}_{j}|\equiv {M}_{7},{r}_{g} > {X}_{{U}_{i}}$$ (15)

      根据式(15)、A10、应用消息含义规则,得到:

      $${U_i}| { \equiv {\text{GWN}}} | \sim < {{\rm{SID}}_j}, {{\rm{SN}}_j}| { \equiv {M_1},{{\rm{SN}}_j}| { \equiv {M_7},{r_g}}} >$$ (16)

      根据式(16)、A11、应用随机数验证规则,得到:

      $${U_i}\left| { \equiv {\text{GWN}}} \right| \equiv < {\text{SI}}{{\text{D}}_j},{\text{S}}{{\text{N}}_j}| \equiv {M_1},{\text{S}}{{\text{N}}_j}| \equiv {M_7},{r_g} >$$ (17)

      根据式(17)、A12、应用仲裁规则,得到:

      $${U_i}\left| { \equiv < {\text{SI}}{{\text{D}}_j},{\text{S}}{{\text{N}}_j}| \equiv {M_1},{\text{S}}{{\text{N}}_j}} \right| \equiv {M_7},{r_g} > $$ (18)

      根据式(18),应用信念规则,得到:

      $${U_i}\left| { \equiv {\text{S}}{{\text{N}}_j}| \equiv {M_1},{U_i}} \right| \equiv {\text{S}}{{\text{N}}_j}| \equiv {M_7}$$ (19)

      根据式(19)、 ${\text{SK}} = h({M_1}||{M_7}||{K_1}||{\text{SI}}{{\text{D}}_j}||{r_g}|| {S_i}||{S_j})$ 、应用会话秘钥规则,得到:

      $$目标(G2):{U_i}| \equiv {\text{S}}{{\text{N}}_j}\overset {{\text{SK}}} \longleftrightarrow {U_i}$$ (20)

      从式(10)和式(20)可以看出该文协议满足安全目标,用户Ui和传感器节点SNj都相信彼此之间共享一个新鲜的会话密钥SK。

    • 用户匿名性要求攻击者无法根据交互信息得到用户的ID或无法从多个会话中分析出属于某个用户产生的会话。用户和SNj协商过程产生的交互信息和用户ID相关的消息为PID和M2,攻击者在缺少Xi的情况下无法从M2中解析出PIDnew,故无法通过PIDnew解析ID的相关信息。由于单向函数h的存在,攻击者在得到PID后无法反向解析出ID等信息。另一方面,攻击者在一次会话中能监听到用户当前所用PID,但在缺少Xi的情况下,无法解析用户下次使用的PIDnew,故攻击者无法分辨同一用户使用的两次PID。故本协议具有用户匿名性。

    • 本协议基于DH问题设计用户和SNj的对称秘钥产生过程。本协议中 ${\text{SK}} = h({M_1}||{M_7}||{K_1}||{\text{SI}}{{\text{D}}_j}||{r_g}|| {S_i}||{S_j})$ ,攻击者在得到所有长期秘密后,可以解析出M1M7、SIDjrgSiSj信息。由于存在Diffie-Hellman问题,在缺少临时秘密rirj的情况下,攻击者无法计算出K1。由于单向哈希函数h的存在,在不知道K1的情况下无法解析SK,故本协议具有前向安全属性。

    • 攻击者在得到智能卡和用户生物信息后,从用户身份空间DID和用户密码空间DPW中猜测(ID*,PW*),计算 ${\delta _i}^* = {\text{Rep(Bi}}{{\text{o}}_i},{\tau _i}{\text{)}}$ ${\text{PI}}{{\text{D}}_i}^* = h({\text{I}}{{\text{D}}_i}^*|| {\delta _i}^*||a)$ ${\text{RP}}{{\text{W}}_i}^* = h({\text{P}}{{\text{W}}_i}^*||{\delta _i}^*||b)$ ${A_i}^* = h({\text{PI}}{{\text{D}}_i}^*||{\text{RP}}{{\text{W}}_i}^*) \bmod {n_0}$ 。通过比较Ai*Ai是否相等判断猜测的PW和ID是否正确。假设 $\left| {{D_{{\text{ID}}}}} \right| = \left| {{D_{{\text{PW}}}}} \right| = {10^6}, {n_0} = {2^8}$ ,则符合该等式的(ID*,PW*)对有 $\dfrac{{\left| {{D_{{\rm{ID}}}}} \right| * \left| {{D_{{\text{PW}}}}} \right|}}{{{n_0}}} \approx {2^{32}}$ 个,攻击者只能采取线上同GWN交互的方式确认此次猜测的(ID*,PW*)是否正确,但由于GWN用户校验次数Honey_List不能超过阈值,故在有限次的线上猜测过程中,猜对用户的身份和密码的概率可以忽略,故本协议能抵御离线字典攻击。

    • 攻击者在注册阶段得到用户的(PIDi,RPWi'),若攻击者又获得了用户的智能卡以及生物特征Bioi,则只能通过RPWi'猜测用户的密码。攻击者在密码空间DPW中猜测PW*后,通过计算 ${\delta _i} = {\text{Rep}}({\text{Bi}}{{\text{o}}_i},{\tau _i})$ ${\text{RP}}{{\text{W}}_i}^\prime = h({\text{P}}{{\text{W}}_i}||{\delta _i}||b')$ ,验证PW*猜测是否正确。由于智能卡在注册完成后,已将b'替换成了b,使攻击者无法通过智能卡得到b',也不能通过RPWi'猜测用户的密码,故本协议能抵御内部攻击。

    • 在该攻击中,攻击者得到用于产生会话秘钥SK的所有随机秘密。在本协议中,攻击者能得到rgrirj,可监听通信过程中的所有消息。用户和SNj产生的 $ {\text{SK}} = h({M_1}||{M_7}||{K_1}||{\text{SI}}{{\text{D}}_i}|| {r_g}|| {S_i}||{S_j}) $ ,通过计算或监听得到M1M7K1,但计算Si的途径只有两个:直接通过 ${S_i} = h({X_i}||{M_1})$ 计算,但攻击者缺少Xi,故此种计算方法不可行;通过 ${S_i} = {M_5} \oplus h({r_g}||{K_{{\text{GWN-}}S}}||{M_1})$ 计算,但缺少KGWN-S的情况下也无法计算Si。故攻击者无法计算出Si。同理,攻击者也无法计算出Sj、SIDj。由于单向哈希函数h的存在,攻击者在缺少SiSj、SIDj的情况下无法计算本次协商的会话秘钥SK,故本协议能抵抗KSSTI攻击。

    • 在该攻击中,攻击者通过注册合法用户访问传感器节点的方法试图破解其他用户和该传感器节点协商的秘钥或其他有用信息,该种攻击是否有效主要看攻击者能否通过协商获取GWN和SNj之间认证的秘密的相关信息。在本协议中,攻击者注册成合法用户,同SNj协商后,获得当前合法用户所能得到的消息(如rg),并窃听信道传输的内容(如M4),计算 $h({K_{{\text{GWN-}}S}}||{M_1}) = {M_4} \oplus {r_g}$ ,但由于单向哈希函数h的存在无法进一步计算出KGWN-S。本协议中,每次协商KGWN-S连接用户产生的临时消息M1后,通过哈希函数产生加密消息的秘钥,故不同的用户协商过程中,GWN用以加密和SNj之间秘密的秘钥h(KGWN-S||M1)是不同的,攻击者无法通过此种攻击计算出任何能破解其他合法用户协商的有用信息,故本协议能够抵抗注册合法用户攻击。

    • 从安全性和性能两方面对相关协议进行对比分析,结果如表3表4所示。表3对比了几种相关协议的安全性,“是”表示能够满足对应的安全属性或者能够抵抗对应的攻击,可以看出该文协议能够克服已有文献的安全风险。表4进行了计算量和通信量的对比,其中将该文协议与对比协议所使用的各参数长度及密码学原语进行如下统一:时间戳和身份标识的比特串长度均为128 bit,哈希原语为SHA-128(记为Th)、椭圆曲线标量乘原语为ECC-160(记为Tm)、生物特征恢复函数原语为Rep(.)[26](记为TR)、对称加解密为AES-128(记为TS)。在进行计算量对比时, $ \oplus $ 和||操作时间忽略不计,上述原语ThTmTRTS在1024 MB RAM 的 Intel Pentium4 2600 MHz 处理器上执行一次所花费的时间为Th=0.5 ms、Tm=63.08 ms、TRTmTS=8.7 ms[27-28]。经过对比表明,该文协议在保证更高安全等级的同时,计算量与其他协议相比适中,这是因为协议使用了椭圆曲线标量乘,而椭圆曲线标量乘的计算开销要明显高于哈希运算及对称加密。此外,在通信量上与其他协议相比适中。

      表 3  相关协议安全性对比分析

      协议 发表年份/年 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11
      文献[18] 2019
      文献[14] 2018
      文献[16] 2018
      文献[15] 2018
      文献[20] 2020
      文献[11] 2017
      文献[22] 2017
      文献[21] 2018
      该文协议 2022

      表 4  相关协议性能对比

      协议 计算量/s 通信量/bit
      Ui GWN SNj 总计算量 总时间/ms Ui GWN SNj 总通信量/bit
      文献[18] $12{T_h} + 2{T_m} + {T_R}$ $10{T_h} + {T_s}$ $5{T_h} + 2{T_m} + {T_s}$ $27{T_h} + 4{T_m} + 2{T_s} + {T_R}$ 346.3 1056 1472 544 3072
      文献[14] $9{T_h} + 1{T_s} + {T_R}$ $3{T_h} + 2{T_s}$ $2{T_h} + {T_s}$ $14{T_h} + 4{T_s} + {T_R}$ 104.88 512 896 384 1792
      文献[16] $8{T_h} + 2{T_m} + {T_R}$ $9{T_h} + {T_m}$ $4{T_h}$ $21{T_h} + 3{T_m} + {T_R}$ 262.82 704 896 256 1856
      文献[15] $9{T_h}$ $15{T_h}$ $9{T_h}$ $33{T_h}$ 16.5 640 1280 1792 3712
      文献[20] $8{T_h} + 3{T_m} + {T_R}$ $9{T_h} + {T_m}$ $4{T_h} + 2{T_m}$ $21{T_h} + 6{T_m} + {T_R}$ 452.56 544 704 288 1536
      文献[11] $8{T_h} + {T_s}$ $5{T_h} + 2{T_s}$ $5{T_h} + {T_s}$ $18{T_h} + 4{T_s}$ 43.8 512 768 512 1792
      文献[22] $9{T_h} + {T_R}$ $14{T_h}$ $7{T_h}$ $30{T_h} + {T_R}$ 78.08 640 1280 384 2304
      文献[21] $7{T_h} + 2{T_s} + {T_R}$ $7{T_h} + 3{T_s}$ $4{T_h} + {T_s}$ $18{T_h} + 6{T_s} + {T_R}$ 124.28 896 1664 384 2944
      该文协议 $14{T_h} + 2{T_m} + {T_R}$ $13{T_h}$ $7{T_h} + 2{T_m}$ $34{T_h} + 4{T_m} + {T_R}$ 332.4 672 1344 416 2432
    • 本文指出文献[16]协议不能抵抗合法用户攻击、用户欺骗攻击、用户伪装攻击、离线字典攻击等安全性问题。为确保高安全场景下WSN的安全通信,该文将KSSTI攻击和注册合法用户攻击加入安全模型,提出了一种三因素安全增强身份认证协议,实现了用户和传感器节点两端的安全会话密钥协商。最后采用了BAN逻辑和非形式化分析的方法对所提协议进行安全分析,结果表明本文协议能够满足该增强安全模型中的所有评价标准。与已有相关文献相比,本文给出的增强安全模型安全等级更高。此外,本文协议计算量和通信量适中,适合应用在对安全等级要求更高的场景中。

参考文献 (28)

目录

    /

    返回文章
    返回