留言板

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

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

安全高效的三因素远程身份认证协议

黄朝阳 赵玉超

黄朝阳, 赵玉超. 安全高效的三因素远程身份认证协议[J]. 电子科技大学学报, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
引用本文: 黄朝阳, 赵玉超. 安全高效的三因素远程身份认证协议[J]. 电子科技大学学报, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
HUANG Chaoyang, ZHAO Yuchao. A Secure and Efficient Remote Authenticated Protocol Based on Three Factors[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
Citation: HUANG Chaoyang, ZHAO Yuchao. A Secure and Efficient Remote Authenticated Protocol Based on Three Factors[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232

安全高效的三因素远程身份认证协议

doi: 10.12178/1001-0548.2021232
基金项目: 福建省中青年教师教育科研项目(JAT191316)
详细信息
    作者简介:

    黄朝阳(1975-),男,副教授,主要从事信息安全方面的研究

    通讯作者: 黄朝阳,E-mail:trippercat@sina.com
  • 中图分类号: TP309

A Secure and Efficient Remote Authenticated Protocol Based on Three Factors

  • 摘要: 为有效提高远程身份认证协议的安全性能,将椭圆曲线、挑战/应答机制、生物特征、智能卡和口令认证技术相结合,提出了一种安全高效的三因素身份认证协议。协议采用椭圆曲线的点乘运算,既提升了安全性又降低了运算复杂度。认证双方使用挑战/应答机制的3次握手来实现双向认证,协议的认证过程引入随机数,并完成会话密钥协商。协议的安全性能基于Hash函数的单向性、椭圆曲线的离散对数难题和生物特征的安全特性。通过对多种已知攻击的形式化推演,证明该协议能抵御各种常见攻击,具有较高的安全性能。经仿真实验证明,协议具有更高的运算效率。
  • 图  1  针对文献[8]协议MITM攻击的细节

    图  2  新协议的注册阶段细节

    图  3  新协议的登录和认证阶段细节

    图  4  两种协议在服务器端的主要运算耗时测试结果

    表  1  符号标记与含义

    符号标记含义
    p 大素数
    q (p−1)素因子
    g 有限域GF(p)中的q阶本原元
    Ui 用户i
    Rx x挑选的随机数
    IDi 用户i的帐号
    PWi 用户i的口令
    PWinew 用户i的新口令
    Ni 用户i的注册次数
    SCi 用户i的智能卡
    Bi 用户i的生物特征
    S 服务器
    Kpri_x x的私钥
    || 字符串连接运算符
    $ \oplus $ 异或运算符
    Hash(·) Hash函数
    mod 模幂运算
    Gen 模糊提取的生成过程[9]
    Rep 模糊提取的恢复过程
    δ 模糊提取生成的随机秘密信息
    θ 模糊提取生成的辅助位串
    Tx 时间戳
    椭圆曲线点乘运算
    $K_{X,Y}^n$ n次成功身份认证以后,由X生成的用
    以向Y通信的一次性会话密钥
    下载: 导出CSV

    表  2  各协议的主要运算量比较

    运算量文献[4]文献[7]文献[8]本文协议
    UiSUiSUiSUiS
    注册阶段 2Te+1Th 1Th 1Th 2Th 1Th 3Th 1Ts +1Th
    登录阶段 4Te+2Th 1Te+3Th 2Th 2Te+3Th 1Te+2Th 2Ts+4Th 1Ts+2Th
    认证阶段 3Te+1Th 1Te+3Th 2Te+3Th 1Te+1Th 2Te+1Th 1Ts+2Th 2Ts+2Th
    密钥协商 No No Th Th Th Th Th Th
    小计 4Te+2Th 5Te+2Th 2Te+8Th 2Te+7Th 3Te+7Th 3Te+5Th 3Ts+10Th 4Ts+6Th
    下载: 导出CSV

    表  3  相同安全性能下RSA和ECC密钥位的比较

    RSA/bit ECC/bit 密钥长度比
    512 106 5:1
    768 132 6:1
    1024 160 7:1
    2048 210 10:1
    7680 410 19:1
    下载: 导出CSV
  • [1] 赵宗渠, 黄鹂娟, 汤永利. 基于RLWE的生物特征认证密钥交换协议[J]. 计算机应用研究, 2020, 37(11): 3437-3440.

    ZHAO Z Q, HUANG L J, TANG Y L. Biometric authenticated key exchange protocai basei on RLWE[J]. Application Research of Computers, 2020, 37(11): 3437-3440.
    [2] 濮光宁, 殷凤梅, 侯整风. 基于智能卡的匿名认证方案[J]. 合肥师范学院学报, 2020, 38(3): 16-19. doi:  10.3969/j.issn.1674-2273.2020.03.005

    PU G N, YIN F M, HOU Z F. Anonymous authentication scheme based on smart card[J]. Journal of Hefei Normal University, 2020, 38(3): 16-19. doi:  10.3969/j.issn.1674-2273.2020.03.005
    [3] 蒋伟, 王瑞锦, 余苏喆, 等. 基于步态识别的移动设备身份认证模型[J]. 电子科技大学学报, 2019, 48(2): 272-277.

    JIANG W, WANG R J, YU S Z, et al. Research on identity authentication model of mobile devices based on gait recognition[J]. Journal of University of Electronic Science and Technology of China, 2019, 48(2): 272-277.
    [4] LIN C S, LAI Y Y. A flexible biometrics remote user authentication scheme[J]. Computer Standards and Interfaces, 2004(1): 19-23.
    [5] LI C T, HWANG M. An efficient biometrics-based remote user authentication scheme using smart cards[J]. Journal of Network and Computer Applications, 2010, 33(1): 1-5. doi:  10.1016/j.jnca.2009.08.001
    [6] DAS A K. Analysis and improvement on an efficient biometric-based remote user authentication scheme using smart cards[J]. IET Information Security, 2011, 5(3): 145-151. doi:  10.1049/iet-ifs.2010.0125
    [7] LI X, NIU J W, WANG Z B, et al. Applying biometrics to design three-factor remote user authentication scheme with key agreement[J]. Security and Communication Networks, 2013, 7(10): 1488-1497.
    [8] CHATURVEDI A, MISHRA D, JANGIRALA S, et al. A privacy preserving biometric-based three-factor remote user authenticated key agreement scheme[J]. Journal of Information Security and Applications, 2017, 32: 15-26. doi:  10.1016/j.jisa.2016.11.002
    [9] DODIS Y, OSTROVSKY R, REYZIN L. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data[J]. SIAM Journal on Computing, 2008, 38(1): 97-139. doi:  10.1137/060651380
    [10] 刘帅, 陈建华. 无双线性对的无证书签名方案及其在配电网中的应用[J]. 计算机科学, 2020, 47(9): 304-310. doi:  10.11896/jsjkx.200500002

    LIU S, CHEN J H. Certificateless signature scheme without bilinear pairings and its application in distribution network[J]. Computer Science, 2020, 47(9): 304-310. doi:  10.11896/jsjkx.200500002
    [11] 冯志华, 罗重, 鄢军霞, 等. 基于PUF的安全固态盘双向认证协议[J]. 计算机工程与设计, 2020, 41(3): 621-627.

    FENG Z H, LUO C, YAN J X, et al. Mutual authentication protocol for secure SSD based on PUF[J]. Computer Engineering and Design, 2020, 41(3): 621-627.
    [12] 李增局, 史汝辉, 王建新, 等. 基于DPA对Gauss形式CRT-RSA的选择明文攻击[J]. 密码学报, 2016, 3(2): 202-210.

    LI Z J, SHI R H, WANG J X, et al. DPA-Based adaptive chosen-message attack on CRT-RSA[J]. Journal of Cryptologic Research, 2016, 3(2): 202-210.
    [13] 章嘉彦, 李飞, 李如翔, 等. V2X通信中基于椭圆曲线加密算法的身份认证研究[J]. 汽车工程, 2020, 42(1): 27-32.

    ZHANG J Y, LI F, LI R X, et al. Research on identity authentication in V2X communications based on elliptic curve encryption algorithm[J]. Automotive Engineering, 2020, 42(1): 27-32.
    [14] MEHTA E, SOLANKI A. Minimization of mean square error for improved euler elliptic curve secure hash cryptography for textual data[J]. Journal of Information and Optimization Sciences, 2017, 38(6): 813-826. doi:  10.1080/02522667.2017.1372131
    [15] 圣文顺, 王玉祥, 孙艳文. 基于椭圆曲线加密算法的SET协议改进研究[J]. 计算机应用与软件, 2020, 37(11): 299-333. doi:  10.3969/j.issn.1000-386x.2020.11.048

    SHENG W S, WANG Y X, SUN Y W. Improvement of set protocol based on elliptic curve encryption[J]. Computer Applications and Software, 2020, 37(11): 299-333. doi:  10.3969/j.issn.1000-386x.2020.11.048
    [16] 黄朝阳, 郭健, 汤碧玉, 等. 基于双线性对的双向认证密钥交换协议[J]. 计算机工程与设计, 2014, 35(8): 2671-2675. doi:  10.3969/j.issn.1000-7024.2014.08.010

    HUANG C Y, GUO J, TANG B Y, et al. Two-Party authenticated key exchange protocol based on bilinear pairings[J]. Computer Engineering and Design, 2014, 35(8): 2671-2675. doi:  10.3969/j.issn.1000-7024.2014.08.010
  • [1] 黄朝阳, 陈金木.  基于ECC的SIP身份认证密钥协商协议 . 电子科技大学学报, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
    [2] ALI Waqar, 邵杰, KHAN Abdullah Aman, TUMRANI Saifullah.  上下文感知推荐系统:挑战和机遇 . 电子科技大学学报, 2019, 48(5): 655-673. doi: 10.3969/j.issn.1001-0548.2019.05.002
    [3] 闫丽丽, 昌燕, 张仕斌.  基于扩展混沌映射的三方认证密钥协商协议 . 电子科技大学学报, 2018, 47(6): 882-887. doi: 10.3969/j.issn.1001-0548.2018.06.013
    [4] 张天良, 周立国, 羊恺, 陈鹏, 任向阳, 侯方焰, 杨常林.  无耦合交叉线高温超导准椭圆函数滤波器 . 电子科技大学学报, 2016, 45(1): 26-29. doi: 10.3969/j.issn.1001-0548.2016.01.003
    [5] 刘景美, 薛宁, 赵林森.  改进的Keccak算法4轮区分器 . 电子科技大学学报, 2016, 45(3): 453-457. doi: 10.3969/j.issn.1001-0548.2016.02.024
    [6] 周涛, 张子柯, 陈关荣, 汪小帆, 史定华, 狄增如, 樊瑛, 方锦清, 韩筱璞, 刘建国, 刘润然, 刘宗华, 陆君安, 吕金虎, 吕琳媛, 荣智海, 汪秉宏, 许小可, 章忠志.  复杂网络研究的机遇与挑战 . 电子科技大学学报, 2014, 43(1): 1-5. doi: 10.3969/j.issn.1001-0548.2014.01.001
    [7] 何红洲, 周明天.  基于互信息量的生物信息数据特征标注方法 . 电子科技大学学报, 2013, 42(6): 916-920. doi: 10.3969/j.issn.1001-0548.2013.06.020
    [8] 李胜强, 陈智雄, 周亮.  椭圆曲线上的二元门限序列的构造 . 电子科技大学学报, 2012, 41(5): 671-677. doi: 10.3969/j.issn.1001-0548.2012.05.006
    [9] 苏志图, 李晖, 马建峰.  双线性对快速计算中的多项式选取 . 电子科技大学学报, 2011, 40(3): 392-395. doi: 10.3969/j.issn.1001-0548.2011.03.013
    [10] 徐杰, 杨娣洁, 隆克平.  基于时滞混沌系统的带密钥Hash函数的设计与分析 . 电子科技大学学报, 2011, 40(3): 451-455. doi: 10.3969/j.issn.1001-0548.2011.03.024
    [11] 杨力, 马建峰.  可信的智能卡口令双向认证方案 . 电子科技大学学报, 2011, 40(1): 128-133. doi: 10.3969/j.issn.1001-0548.2011.01.024
    [12] 舒剑, 许春香.  高效的口令基认证组密钥协商协议 . 电子科技大学学报, 2009, 38(3): 393-396. doi: 10.3969/j.issn.1001-0548.2009.03.018
    [13] 汪秋国, 施荣华, 江玲.  新的多重代理多重签名方案 . 电子科技大学学报, 2008, 37(5): 712-715.
    [14] 郝艳华, 李磊, 王育民.  利用多基链计算椭圆曲线标量乘的高效算法 . 电子科技大学学报, 2008, 37(6): 868-871.
    [15] 谭示崇, 张宁, 王育民.  新的口令认证密钥协商协议 . 电子科技大学学报, 2008, 37(1): 17-19.
    [16] 许春香, 唐安阳.  使用双线性对构造的智能卡口令认证方案 . 电子科技大学学报, 2008, 37(5): 733-736.
    [17] 甘荣兵, 王建国.  改进的对星载SAR的应答式欺骗干扰 . 电子科技大学学报, 2005, 34(5): 614-617.
    [18] 杨春.  用户名与口令认证在SOCKS中的应用研究 . 电子科技大学学报, 2001, 30(2): 162-165.
    [19] 张险峰, 秦志光, 刘锦德.  椭圆曲线加密系统的性能分析 . 电子科技大学学报, 2001, 30(2): 144-147.
    [20] 朱峰.  q值下马丢函数特征值的快速算法 . 电子科技大学学报, 1999, 28(2): 128-131.
  • 加载中
图(4) / 表(3)
计量
  • 文章访问数:  4556
  • HTML全文浏览量:  1392
  • PDF下载量:  27
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-08-25
  • 修回日期:  2022-01-19
  • 刊出日期:  2022-05-25

安全高效的三因素远程身份认证协议

doi: 10.12178/1001-0548.2021232
    基金项目:  福建省中青年教师教育科研项目(JAT191316)
    作者简介:

    黄朝阳(1975-),男,副教授,主要从事信息安全方面的研究

    通讯作者: 黄朝阳,E-mail:trippercat@sina.com
  • 中图分类号: TP309

摘要: 为有效提高远程身份认证协议的安全性能,将椭圆曲线、挑战/应答机制、生物特征、智能卡和口令认证技术相结合,提出了一种安全高效的三因素身份认证协议。协议采用椭圆曲线的点乘运算,既提升了安全性又降低了运算复杂度。认证双方使用挑战/应答机制的3次握手来实现双向认证,协议的认证过程引入随机数,并完成会话密钥协商。协议的安全性能基于Hash函数的单向性、椭圆曲线的离散对数难题和生物特征的安全特性。通过对多种已知攻击的形式化推演,证明该协议能抵御各种常见攻击,具有较高的安全性能。经仿真实验证明,协议具有更高的运算效率。

English Abstract

黄朝阳, 赵玉超. 安全高效的三因素远程身份认证协议[J]. 电子科技大学学报, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
引用本文: 黄朝阳, 赵玉超. 安全高效的三因素远程身份认证协议[J]. 电子科技大学学报, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
HUANG Chaoyang, ZHAO Yuchao. A Secure and Efficient Remote Authenticated Protocol Based on Three Factors[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
Citation: HUANG Chaoyang, ZHAO Yuchao. A Secure and Efficient Remote Authenticated Protocol Based on Three Factors[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
  • 在信息安全的“木桶理论”中,作为“桶底”的身份认证的重要性不言而喻。近年来,加密技术和身份认证技术发展突飞猛进,各种具有不同安全性能和运算复杂度的密码体制不断涌现;从单一口令认证到结合智能卡、生物特征的多种因素身份认证技术层出不穷。但由于网络环境的开放性和多种不可靠因素的迭代,身份认证协议面临各种形式多样的攻击威胁[1],从而导致身份认证协议的分析和设计存在客观的复杂性。而正是在这种安全技术攻防易手的进程中,不断有新的更为安全高效的远程身份认证方案展现出来。

    智能卡具备方便安全的特性,生物特征有其特有的唯一性[2-3],结合智能卡及生物特征的多因素身份认证方案一直是身份认证技术研究的热点,先后涌现出多种改良的多因素身份认证协议[4]

    2010年,文献[5]提出了一种只使用少量异或运算和杂凑运算的的智能卡多因素身份认证协议,并证明了该协议具有高效性。2011年,文献[6]分析并证明了上述协议存在的漏洞,并设计一种安全性更高的多因素身份认证协议。随后,文献[7]证明此协议也不能抵抗若干种已知攻击,为修补所发现的缺陷,给出了改良的多因素身份认证协议。文献[8]指出文献[7]的运算复杂度较高,且存有多种安全漏洞,给出了更为安全高效的多因素身份认证协议。

    本文首先分析了文献[8]提出的身份认证协议,指出该协议存在的安全漏洞,然后给出一种新的三因素远程身份认证协议。新协议引入标准的挑战/应答机制,使用椭圆曲线点乘运算替换文献[8]协议中的模幂运算,由Hash函数的单向性、椭圆曲线离散对数难题和生物特征的安全特性保证协议具备更高的安全性能。经分析证明,新协议能抵御各种已知攻击,并具备更高的运算效率,还支持协商生成认证双方后续所需的一次性会话密钥。

    • 现有认证协议[8]的安全漏洞分析如下,协议中所用符号如表1所示。

      表 1  符号标记与含义

      符号标记含义
      p 大素数
      q (p−1)素因子
      g 有限域GF(p)中的q阶本原元
      Ui 用户i
      Rx x挑选的随机数
      IDi 用户i的帐号
      PWi 用户i的口令
      PWinew 用户i的新口令
      Ni 用户i的注册次数
      SCi 用户i的智能卡
      Bi 用户i的生物特征
      S 服务器
      Kpri_x x的私钥
      || 字符串连接运算符
      $ \oplus $ 异或运算符
      Hash(·) Hash函数
      mod 模幂运算
      Gen 模糊提取的生成过程[9]
      Rep 模糊提取的恢复过程
      δ 模糊提取生成的随机秘密信息
      θ 模糊提取生成的辅助位串
      Tx 时间戳
      椭圆曲线点乘运算
      $K_{X,Y}^n$ n次成功身份认证以后,由X生成的用
      以向Y通信的一次性会话密钥
    • MITM(man-in-the-middleattack)攻击亦为中间人攻击[10-11],指敌手阻拦截取并再次发送公共信息上的认证消息,同时令正常参与认证的双方彼此都还以为是直接在与对方通信。假定现有一敌手Uatt,他有能力阻拦截取认证双方的交互信息,那他就可能实现下述的MITM攻击。

      1) Uatt阻拦截取Ui传递给S的认证消息Mess1={DIDi, A, Ci, T1},同时启动一个新的与S间的会话,把伪认证消息Mess1' = {DIDi, A, Ci, T1}传递给S

      2) ST2时刻同时接收到发自用户Ui和敌手Uatt的登录求消息Mess1和Mess1',再执行两次的验证:T2T1≤ΔT,显然验证都将得以通过。S计算D = AKpri_s mod p,IDi = DDIDiW = Hash(IDi || Kpri_s || Ni ),Ci' = Hash(IDi || W || A || D || T1);S再两次验证等式Ci' = Ci,显然等式都将成立,UiUatt都将被认证为合法用户。

      3) 服务器S为两次会话分别选定随机数RS-UiRS-Uatt,读取当前时刻T3,计算F = gRs_Ui mod pG = ARs_Ui mod p$K_{S,{U_i}}^n$ = Hash(IDi || G || D || W || T3 || T1),CS = Hash(IDi || $K_{S,{U_i}}^n$ || W || T3)和F2 = gRs-Uatt mod pG2 = ARs-Uatt mod p$K_{S,U{\rm{att}}}^n$ = Hash(IDi || G2 || D || W || T3 || T1),CS2 = Hash(IDi || $K_{S,U{\rm{att}}}^n$ || W || T3);最后S分别将认证消息Mess2 = {CS,T3,F}、Mess2' = {CS2,T3,F2}返回给UiUatt

      4) 敌手Uatt拦截服务器S的返回的认证消息Mess2和Mess2'。然后,敌手Uatt将伪信息Mess2* = Mess2'发送给用户Ui

      5) 用户Ui收到Mess2*后,验证T4 T3≤ΔT,显然验证得以通过。然后智能卡SCi计算G' = F2R_SCi mod p = (gRs_Uatt)R_SCi mod p$ K_{{U_i},S}^n $ = Hash(IDi || G' || B || W || T3 || T1),CS* = Hash(IDi || $ K_{{U_i},S}^n $ || W || T3)。因为B = YR_SCi mod p = (gKpri_s)R_SCi mod p = (gR_SCi)Kpri_s mod p = DG' = (gRs_Uatt)R_SCi mod p = (gR_SCi)Rs-Uatt mod p = G2,经智能卡校验生成的CS*与接收到CS2是相等的,所以Uatt将被Ui认证为合法的服务器,MITM攻击得以实现。图1给出了针对文献[8]认证协议展开MITM攻击的细节。

    • 上节中敌手Uatt可成功顶替合法用户的身份实现服务器欺骗,同时也实现假冒服务器身份实现用户欺骗。所以文献[8]的方案无法实现安全的远程双向身份认证。

      图  1  针对文献[8]协议MITM攻击的细节

    • 本文采用椭圆曲线点乘运算改进文献[8]协议中所使用的模幂运算,并将挑战/应答机制引入其中,提出一种新的基于口令、智能卡和生物特征的三因素远程身份认证及密钥协商协议。协议通过下述步骤实现注册、双向认证和密钥协商。协议中所用符号如表1所示。

    • 1) 用户Ui选定某一高熵随机数RUi,再结合帐号IDi、安全口令PWi,计算得出I = Hash(PWi || RUi ),Ui发送注册请求消息{IDi, I }。

      2) S接收Ui发来的注册消息{IDi, I}后,计算W = Hash(IDi || Kpri_s)⊕I,计算Y = Kpri_s·p,并公开发布YS将{W, Hash(·), p, g, Y}存储到Ui的智能卡SCi中,并将SCi分发给Ui

      3) Ui接收智能卡SCiUi输入自己的生物特征Bi,计算获取Gen(Bi ) = (δi,θi ),E = Hash(δi )⊕RUiV = Hash(IDi || PWi || RUi );最后把{θi, E, V }存入SCi图2为新协议的注册阶段细节。

      图  2  新协议的注册阶段细节

    • 用户Ui和服务器S通过下列步骤实现双向认证和密钥协商。

      1) Ui在读卡器插卡,采集生物特征Bi'并输入帐号IDi ,口令PWi ,计算得δi = Rep(Bi',θi ),RUi' = Hash(δi )⊕EV' = Hash(IDi || PWi || RUi' )。SCi校验V'与智能卡内所存储的V = Hash(IDi || PWi || RUi)是否相等。如果不相等,则终止认证过程。否则,SCi生成随机数R_SCi,然后计算D = R_SCi·pF = R_SCi·YM = W⊕Hash(PWi || RUi' ),DIDi = IDiFCi = Hash(IDi || M || D || F )。用户Ui将登录请求消息Mess_request = {DIDi,D,Ci }发送给服务器S

      2) 服务器S接收用户Ui的登录求消息后,计算F' = Kpri_s·D,IDi = DIDiF'M' = Hash(Di || Kpri_s),Ci' = Hash(IDi || M' || D || F' )。S验证等式Ci' = Ci,如等式不成立,则终止认证过程。否则, S选定随机数RSH = RS·pG = RS·D$K_{S,{U_i}}^n$ = Hash(IDi || G || M),Auth_S = Hash(D || G || F' || M || $K_{S,{U_i}}^n$ || H)。S将挑战消息Mess_challenge = {realm, Auth_S,H }发送给Ui,其中realm为作用域信息。

      3) 用户Ui收到S的挑战消息后,首先计算G' = R_SCi·H$ K_{{U_i},S}^n $ = Hash(IDi || G' || M),Auth_S' = Hash(D || G' || F || M || $ K_{{U_i},S}^n $ || H)。Ui验证等式Auth_S' = Auth_S是否成立,如等式成立,则Ui完成对S的认证过程并将$ K_{{U_i},S}^n $设置为后续会话密钥,否则中止。然后,Ui计算Auth_Ui = Hash(IDi || realm || D || M || $ K_{{U_i},S}^n $ || H || G' || F ),并将应答消息Mess_response = {realm, Auth_Ui}发送给S

      4) 服务器S收到应答消息后,计算Auth_Ui' = Hash(IDi || realm || D || M || $K_{S,{U_i}}^n$ || H || G || F' ),验证Auth_Ui' = Auth_Ui的正确性。如验证通过,至此成功完成双向认证,S$K_{S,{U_i}}^n$设为后续会话密钥。图3是新协议的登录和认证阶段细节。

      图  3  新协议的登录和认证阶段细节

    • 用户Ui随时可以在没有S参与的前提下通过以下步骤完成口令更新操作。

      1) Ui在读卡器插卡,录入IDi、PWiBi',通过模糊提取得到δi = Rep(Bi',θi )。

      2) SCi计算RUi' = E⊕Hash(δi ),V' = Hash(IDi || PWi || RUi' ),并校验等式V' = V,如成立,则继续,否则中止

      3) SCi提示Ui输入新口令PWinew,计算Wnew = W⊕Hash(PWi || RUi )⊕Hash(PWinew || RUi ),Vnew = Hash(IDi || PWinew || RUi )。最后SCiWnewVnew分别替换原有的MV。口令更新操作成功。

    • Ui的智能卡被盗或丢失时,可以通过下列步骤撤销并重新获取合法的智能卡SCinew

      1) Ui选定另一高熵随机数RUi*、另一帐号IDi*以及新的口令PWi*,据此计算得到I* = Hash(PWi* || RUi* );将新的注册消息{ I* , IDi* }经过可靠信道发给S

      2) S接收Ui发来的注册消息{IDi*, I* }后,重新计算W* = Hash(IDi* || Kpri_s)⊕I*S将{W*, Hash(·), p, g, Y }存储到Ui的智能卡SCinew中,并将SCinew分发给Ui

      3) Ui接收智能卡SCinewUi输入自己的生物特征Bi,计算获取Gen(Bi ) = (δi,θi ),E* = Hash(δi )⊕RUi*V* = Hash(IDi* || PWi* || RUi* );最后把{θi, E*, V* }存入SCinew

    • 用户Ui和服务器S在第n次双向成功认证后,Ui$ K_{{U_i},S}^n $ = Hash(IDi || G' || M)作为登录认证后从UiS一次性安全会话密钥,S方则以$K_{S,{U_i}}^n$ = Hash(IDi || G || M)作为第n次成功认证后的从SUi一次性安全会话密钥。因为G' = R_SCi·H = R_SCi·RS·p = RS·(R_SCi·p) = RS·D = G,显然等式$K_{S,{U_i}}^n$ = $ K_{{U_i},S}^n $是成立的。

    • 本文协议能抵御多种已知攻击,具有较高的安全性能,同时支持协商生成认证双方后续所需的一次性会话密钥,分别在命题1~12中加以证明。

      命题1 协议能保障智能卡遗失时的安全性

      证明:假设敌手Uatt获取用户Ui的智能卡SCi,并通过公共信道非法获取认证双方的所有消息,通过差分能量攻击[12]从中成功提取W = Hash(IDi || Kpri_s)⊕Hash(PWi || RUi ),E = Hash(δi )⊕RUiV = Hash(IDi || PWi || RUi )。但本协议把智能卡中所存储的信息设计为上述的非明文形式,基于Hash函数的单向安全性,且因为用户生物特征Bi存在唯一性而不可伪造,同时因Uatt并未掌握S的私钥Kpri_sUatt想通过口令猜测攻击取得PWi无法实现,所以协议能保障智能卡遗失时的安全性。

      命题2 协议能抵御假冒攻击

      证明:本协议所设计的登录请求消息格式为Mess_request = {DIDi, D, Ci },Uatt若要假冒Ui获取S的成功认证,就必需同时掌握Ui的生物特征Bi、帐号IDi和口令PWi信息,才能生成Mess_request的组成要件Ci = Hash(IDi || M || D || F )并向S发送正确的登录请求消息,这一假设明显不成立,所以Uatt无法假冒用户Ui骗取服务器S的认证。

      命题3 协议能抵御冒充服务器攻击

      证明:本协议所设计的服务器挑战信息为挑战消息Mess_challenge = {realm, Auth_S, H },敌手因不能掌握SKpri_s,无法生成Auth_S合法的组成要件F' = Kpri_s·D,在用户对服务器的认证阶段必然被发现。因此敌手无法实现冒充服务器攻击。

      命题4 协议能抵御知识窃取类内部威胁

      证明:本协议设计为在服务器的数据库中并未存储协议参与方任何的相关信息,因此知识窃取类内部威胁对本协议无效。

      命题5 协议能抵御篡改攻击

      证明:假定敌手可以截取并篡改公共信道上传递的消息,但因为本协议的登录与双向认证阶段设计了服务器S需要计算并验证等式Ci' = Hash(IDi || M' || D || F' ) = Ci和Auth_Ui' = Hash(IDi || realm || D || M || $K_{S,{U_i}}^n$ || H || G || F' ) = Auth_Ui,同时本协议也要求Ui需要计算并验证等式Auth_S' = Hash(D || G' || F || M || $ K_{{U_i},S}^n $ || H) = Auth_S。在无法同时获取用户的生物特征Bi' 、帐号IDi和口令PWi的前提下,被敌手篡改后的消息必将无法通过SUi的上述等式验证,因此敌手无法实现篡改攻击。

      命题6 协议能抵御离线口令猜测攻击

      证明:假定敌手在公共信道上截取认证过程的所有交互消息,同时取得Ui的SCi,并且利用差分能量攻击从中成功提取W = Hash(IDi || Kpri_s)⊕Hash(PWi || RUi ),E = Hash(δi )⊕RUiV = Hash(IDi || PWi || RUi )。由以上本协议所设计的在公共信道上所传输的消息格式可知,离线口令猜测过程中若要验证所猜测的口令值是否正确,则必须用到RUi。但是RUi = Hash(δi )⊕E,必须拥有Ui的唯一生物特征Bi才可以提取并获得δi = Rep(Bi,θi ),而敌手并未掌握Ui的生物特征Bi,所以敌手的离线口令猜测攻击必将失败。

      命题7 协议能抵御重播攻击

      证明:在本协议所设计的挑战$/ $应答模式的整体框架下,能对Ui的请求消息Mess_request = {DIDi, D, Ci }给出正确回复的只能是合法的S。同时,能对S的挑战消息Mess_challenge = {realm, Auth_S, H }给出正确应答的也只能是Ui本身。所以重播攻击对本协议无效。

      命题8 协议能抵御MITM攻击

      证明:根据本协议所引入的挑战$/ $应答机制的要求,SUi在收到对方的消息后,需要先验证对方身份的正确性。根据命题2、3和5的证明可知,敌手也无法伪造认证过程的交互消息或篡改通过公共信道截取的消息。同时,协议对于每轮会话都将生成新的随机数,具备新鲜性。因此敌手想伪装成用户或者服务器来欺骗对方都难以实现,MITM攻击无法实施。

      命题9 协议能抵御Denning-Sacco攻击

      证明:假定敌手盗取某次双向认证成功后的一次性密钥$ K_{{U_i},S}^n $ = Hash(IDi || G || M) = Hash(IDi || RS·R_SCi·p || Hash(IDi || Kpri_s)) = $K_{S,{U_i}}^n$,同时截获用户Ui和服务器S在公共信道上传输的消息。但是,本协议所设计的一次性密钥信息为Hash函数的散列值,根据Hash函数的单向特性,敌手无法从中获取服务器的私钥信息,且由于一次性会话密钥中,以及本协议所定义的双方在公共信道上传输的消息中并未包含用户的口令信息PWi,所以敌手无法得到Ui的口令,Denning-Sacco攻击无法实施。

      命题10 协议具备保护用户匿名性的性能

      证明:本协议把用户所提交登录请求消息Mess_request = {DIDi, D, Ci }中的组成部分DIDi设计为用户的动态身份信息:DIDi = IDiF = IDi⊕(R_SCi· Kpri_s·p)。假定敌手获取Y = Kpri_s·p和公共信道上传输的消息D = R_SCi·p,但因面临ECCDLP数学难题,敌手无法从中得到F = R_SCi·Kpri_s·p,也就无法通过计算得出正确的IDi = DIDiF,从而实现了用户的匿名性。

      命题11 协议提供了前向安全性

      证明:假定敌手非法获取SKpri_s信息,同时敌手还获取了本协议所设计的SUi相互传递的消息DIDiDCiH,并据此计算得到用户的帐号IDi = DIDiF = DIDiF = DIDi⊕(R_SCi· Kpri_s·p) = DIDi⊕(D·Kpri_s),但敌手还是无法计算出以前的会话密钥$K_{S,{U_i}}^n$ = Hash(IDi || G || M) = Hash(IDi || RS·R_SCi·p || Hash(IDi || Kpri_s)) = $ K_{{U_i},S}^n $。因为从已获取的D = R_SCi·pH = RS·p中计算得出G = RS·R_SCi·p是ECCDLP数学难题,目前无法实现,所以协议提供了狭义的前向安全性。

      命题12 协议能同时实现双向认证和密钥协商

      证明:本协议的整体框架采用以下挑战$/ $应答机制:Ui的登录请求消息Ci = Hash(IDi || M || D || F)需要通过S的验证,以认证用户身份;S的挑战消息Auth_S = Hash(D || G || F' || M || $K_{S,{U_i}}^n$ || H)也需要通过Ui的验证,以认证服务器的身份。本协议在提供双向认证的同时,由SUi各自生成的会话密钥$K_{S,{U_i}}^n$ = Hash(IDi || G || M) $ K_{{U_i},S}^n $ = Hash(IDi || G' || M) = $ K_{{U_i},S}^n $成立,故本协议也具备密钥协商功能。

    • 字符串连接操作和异或运算的运算量很小,与协议中的其他运算相比可以忽略不计。这里主要考量协议在登录、认证和密钥协商过程中的模幂运算、点乘运算和Hash运算的运算量。协议的口令更新和智能卡撤销为偶然性操作,其运算量也不在认证过程运算复杂度考量范围之内。表2给出了文献[8]等协议和本文协议的主要运算量比较。表中,Te为模幂运算,Ts为点乘运算,Th为Hash运算。

    • 表2可以看出文献[8]等协议和本文协议在运算次数上并没有显著差别。但文献[13-15]显示,在相同的密码安全强度下,椭圆曲线所需的密钥量比RSA所需的密钥量低得多。两者安全密钥位的比较如表3所示。

      表 2  各协议的主要运算量比较

      运算量文献[4]文献[7]文献[8]本文协议
      UiSUiSUiSUiS
      注册阶段 2Te+1Th 1Th 1Th 2Th 1Th 3Th 1Ts +1Th
      登录阶段 4Te+2Th 1Te+3Th 2Th 2Te+3Th 1Te+2Th 2Ts+4Th 1Ts+2Th
      认证阶段 3Te+1Th 1Te+3Th 2Te+3Th 1Te+1Th 2Te+1Th 1Ts+2Th 2Ts+2Th
      密钥协商 No No Th Th Th Th Th Th
      小计 4Te+2Th 5Te+2Th 2Te+8Th 2Te+7Th 3Te+7Th 3Te+5Th 3Ts+10Th 4Ts+6Th

      表 3  相同安全性能下RSA和ECC密钥位的比较

      RSA/bit ECC/bit 密钥长度比
      512 106 5:1
      768 132 6:1
      1024 160 7:1
      2048 210 10:1
      7680 410 19:1
    • 远程身份认证协议的服务器通常需要同时处理多个登录认证请求,因此服务器的运算量对整个协议的效率影响最大[16]。如表2所示,文献[8]协议的登录和认证过程在服务器端所需运算量为3Ts+4Th,而本文协议相应过程在服务器端所需运算量为3Ts+5Th。在运行平台Windows 7、Intel i7 2.8 GHz、RAM 16 G,Matlab环境中,仿真这两种协议的登录和认证过程在服务器端的主要运算耗时,结果图4所示。

      在提供相同安全强度的前提下,本文协议使用的椭圆曲线点乘运算与文献[8]等协议中所使用的模幂运算相比较,具备速度更快的优势。而且,随着密钥长度的增加,这一优势将更为明显。

      综上所述,本文协议具备更高的运算效率。

      图  4  两种协议在服务器端的主要运算耗时测试结果

    • 对于采用“一次一密”思路的远程身份认证体系来说,最大的困难不只是大量密钥的生成和管理,如何低成本地安全传递密钥才是关键问题。本文方案可以自动协商产生后续一次性会话密钥,且会话密钥由认证双方根据认证过程信息自动生成,无需再次通过安全通道传递,可以有效解决上述问题。

      一种远程身份认证方案的安全性能越高,所要求的运算量、带宽要求、应用成本等各种认证开销也越高。如何找到在认证安全性能与认证开销之间达到符合认证安全实际需求的平衡点至关重要。本文协议是基于口令、智能卡和生物特征的三因素身份认证方案,其在认证安全性能与认证开销之间获得了一个较好的平衡点,可以应用于高等级的安全部门认证场景,如电子银行、电子证券、电子商务、电子政务、智能电网的远程身份认证。

    • 本文针对文献[8]提出的多因素认证协议展开研究,证明其存在的安全缺陷。然后,将标准的挑战/应答机制引入其中,并采用椭圆曲线点乘运算改进文献[8]协议中所使用的模幂运算,提出了新的基于口令、智能卡和生物特征的三因素远程身份认证方案。通过多种非形式化的安全分析证明,新的三因素远程身份认证方案对于假冒攻击、篡改攻击、服务器伪装攻击、口令猜测攻击、重播攻击、Denning-Sacco攻击和MITM攻击等多种常见攻击是安全的。新方案在提供双向认证的同时还支持认证双方后续会话所使用的一次性密钥协商,仿真实验证明了本文方案具有更高的运算效率。

参考文献 (16)

目录

    /

    返回文章
    返回