留言板

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

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

基于ECC的SIP身份认证密钥协商协议

黄朝阳 陈金木

黄朝阳, 陈金木. 基于ECC的SIP身份认证密钥协商协议[J]. 电子科技大学学报, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
引用本文: 黄朝阳, 陈金木. 基于ECC的SIP身份认证密钥协商协议[J]. 电子科技大学学报, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
HUANG Chaoyang, Chen Jinmu. A SIP Identity Authentication Key Agreement Protocol Based on ECC[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
Citation: HUANG Chaoyang, Chen Jinmu. A SIP Identity Authentication Key Agreement Protocol Based on ECC[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182

基于ECC的SIP身份认证密钥协商协议

doi: 10.12178/1001-0548.2022182
基金项目: 中国高校产学研创新基金 (2020ITA05024)
详细信息
    作者简介:

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

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

A SIP Identity Authentication Key Agreement Protocol Based on ECC

  • 摘要: 为在SIP认证协议中实现用户匿名性并提高协议的安全性能,将挑战/应答机制、椭圆曲线密码技术和口令认证相结合,提出一种新的匿名SIP认证协议。协议仅使用少量的椭圆曲线点乘运算,既保障认证的安全性又有效降低了整体运算量。协议在认证过程中引入高熵随机数,认证双方使用挑战/应答机制的三次握手实现双向认证,同时协商生成后续会话所需密钥。通过对协议的BAN逻辑分析和多种已知攻击的非形式化分析,证明该协议具有较高的安全性能。经与相关协议的效率比较,协议认证过程所需的运算量更小。
  • 图  1  文献[8]协议的注册及认证阶段细节

    图  2  针对文献[8]协议实施冒充服务器攻击的细节

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

    图  4  新协议登录和双向认证阶段的细节

    图  5  认证阶段的主要运算总耗时比较

    表  1  协议中的符号标记与含义

    符号标记 含义
    U 用户
    Rx x挑选的高熵随机数
    IDi 用户i的账号
    PWi 用户i的口令
    PWinew 用户i的新口令
    S SIP服务器
    Kpri_x x的私钥
    Kpri_xnew x的新私钥
    || 字符串连接运算符
    异或运算符
    Hash(•) hash函数
    椭圆曲线点乘运算
    $ {K}_{X,Y}^{n} $ 由X所生成用以XY之间通信
    的一次性会话密钥,n指认证次数
    下载: 导出CSV

    表  2  BAN逻辑的符号与含义

    符号 含义
    P 主体
    X,Y 语句
    K 密钥
    $ P|\equiv X $ 主体P相信X为真
    $ P⊲X $ P接收到X
    $ P| \sim X $ P曾发送X
    $ P|\Rightarrow X $ PX有管辖权
    #(X) X是新鲜的
    (X,Y)K 使用K作为密钥的XY hash值
    {X,Y}K 使用密钥K对包含XY的信息加密后的密文
    SK 用户和服务器的共享密钥
    $ P\overset K \longleftrightarrow Q$ PQ之间共享密钥K
    <X>Y X可以由Y异或生成
    下载: 导出CSV

    表  3  各种密码运算所需耗时的算术平均值 ms

    操作 TCP TPM TSED TINV TH
    算术平均值 9.8932 8.1057 0.1742 0.0735 0.0294
    下载: 导出CSV

    表  4  效率比较

    协议 计算开销 总耗时/ms 交互次数
    用户端 服务器端 小计
    文献[8]协议 3TPM+9TH 4TPM+8TH 7TPM+17TH 57.2397 3
    文献[16]协议 4TPM+8TH 5TPM+7TH+2TINV 9TPM+15TH+2TINV 73.5393 3
    文献[17]协议 3TPM+7TH 3TPM+6TH 6TPM+13TH 49.0164 3
    文献[18]协议 3TPM+2TSED+8TH 3TPM+2TSED+2TH 6TPM+4TSED+10TH 49.6250 3
    文献[19]协议 2TCP+2TSED+6TH TCP+3TSED+4TH 3TCP+5TSED+10TH 30.8446 3
    本协议 2TPM+6TH 2TPM+4TH 4TPM+10TH 32.7168 3
    下载: 导出CSV

    表  5  安全特性比较

    安全特性 文献[8]协议 文献[16]协议 文献[17]协议 文献[18]协议 文献[19]协议 本协议
    抗重播攻击 NA
    抗离线口令猜测攻击
    抗Stolen-Verifier攻击 NA
    抗冒充服务器攻击 × NA
    抗身份假冒攻击 NA
    抗内部人员攻击
    抗Denning-Sacco攻击 NA NA
    保护用户匿名性 ×
    具备前向安全性
    实现双向认证 ×
    备注:√表示该协议支持这一安全特性;×表示该协议不支持这一安全特性;NA表示该安全特性不适用于此协议
    下载: 导出CSV
  • [1] FENG Y T, XIONG F, HUANG W C, et al. Security analysis of session initiation protocol digest access authentication scheme[C]//2021 7th International Conference on Big Data Computing and Communications (BigCom). [S.l.]: IEEE, 2021, 5: 129-135.
    [2] DURLANIK A, SOGUKPINAR I. SIP authentication scheme using ECDH[J]. International Journal of Computer, Control, Quantum and Information Engineering, 2007, 1(8): 2624-2627.
    [3] YOON E J, YOO K Y. Cryptanalysis of DS-SIP authentication scheme using ECDH[C]//2009 International Conference on New Trends in Information and Service Science. Beijing: IEEE, 2009: 642-647.
    [4] LIU F, KOENIG H. Cryptanalysis of a SIP authentication scheme[C]//Communications and Multimedia Security. Berlin: IFIP, 2011, 134-143.
    [5] XIE Q. A new authenticated key agreement for session initiation protocol[J]. International Journal of Communication Systems, 2012, 25(1): 47-54. doi:  10.1002/dac.1286
    [6] FARASH M S, ATTARI M A. An enhanced authenticated key agreement for session initiation protocol[J]. European Integration Studies, 2013, 42(4): 333-342.
    [7] ZHANG Z Z, QI Q Q, KUMAR N, et al. A secure authentication scheme with anonymity for session initiation protocol using elliptic curve cryptography[J]. Multimedia Tools & Applications, 2015, 74(10): 3477-3488.
    [8] LU Y R, LI L X, PENG H P, et al. A secure and efficient mutual authentication scheme for session initiation protocol[J]. Peer-to-Peer Networking and Applications, 2016, 9(2): 449-459. doi:  10.1007/s12083-015-0363-x
    [9] KUMARI S, KARUPPIAH M, DAS A K, et al. Design of a secure anonymity-preserving authentication scheme for session initiation protocol using elliptic curve cryptography[J]. Journal of Ambient Intelligence and Humanized Computing, 2018, 9(3): 643-653. doi:  10.1007/s12652-017-0460-1
    [10] 戴聪. 基于国密算法和模糊提取的多因素身份认证方案[J]. 计算机应用, 2021, 41(S2): 139-145.

    DAI C. Multi-Factor authentication scheme based on national secret algorithm and fuzzy extractor[J]. Journal of Computer Applications, 2021, 41(S2): 139-145.
    [11] 黄可可, 刘亚丽, 殷新春. 一种基于PUF的超轻量级RFID标签所有权转移协议[J]. 密码学报, 2020, 7(1): 115-133.

    HUANG K K, LIU Y L, YIN X C. A PUF-based ultra-lightweight ownership transfer protocol for low-cost RFID tags[J]. Journal of Cryptologic Research, 2020, 7(1): 115-133.
    [12] 吴恺凡, 殷新春. 基于随机运算符的轻量级匿名射频识别系统双向认证协议[J]. 计算机应, 2021, 41(6): 1621-1631.

    WU K F, YIN X C. Lightweight anonymous mutual authentication protocol based on random operators for radio frequency identification system[J]. Journal of Computer Applications, 2021, 41(6): 1621-1631.
    [13] 黄朝阳, 赵玉超. 安全高效的三因素远程身份认证协议[J]. 电子科技大学学报, 2022, 51(3): 425-431.

    HUANG C Y, ZHAO Y C. A secure and efficient remote authenticated protocol based on three factor[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(3): 425-431.
    [14] 张平, 栗亚敏. 前向安全的椭圆曲线数字签名方案[J]. 计算机工程与应用, 2020, 56(1): 115-120. doi:  10.3778/j.issn.1002-8331.1810-0283

    ZHANG P, LI Y M. Forward secure elliptic curve digital signature scheme[J]. Computer Engineering and Applications, 2020, 56(1): 115-120. doi:  10.3778/j.issn.1002-8331.1810-0283
    [15] 曹阳, 基于扩展混沌映射的动态身份认证密钥协商协议[J]. 成都理工大学学报(自然科学版), 2021, 48(4): 505-512.

    CAO Y. Dynamic identity authentication key agreement protocol based on extended chaos mapping[J]. Journal of Chengdu University of Technology (Science & Technology Edition), 2021, 48(4): 505-512.
    [16] ZHOU Y S, CHEN X Y. An anonymous and efficient ECC-based authentication scheme for SIP[J]. Wireless Communications and Mobile Computing, 2020, 2020(11): 1-11.
    [17] HASSAN U M, CHAUDHRY S A, IRSHAD A, et al. An improved SIP authenticated key agreement based on dongqing[J]. Wireless Personal Communications, 2020, 110(4): 2087-2107. doi:  10.1007/s11277-019-06831-y
    [18] LU Y R, ZHAO D W. An anonymous SIP authenticated key agreement protocol based on elliptic curve cryptography[J]. Mathematical Biosciences and Engineering, 2021, 19(1): 66-85.
    [19] MAHOR V K, PADMAVATHY R, CHATTERJEE S. Chebyshev chaotic map-based efficient authentication scheme for secure access of VoIP services through SIP[J]. International Journal of Security and Networks, 2022, 17(1): 39-47. doi:  10.1504/IJSN.2022.122547
  • [1] 黄朝阳, 赵玉超.  安全高效的三因素远程身份认证协议 . 电子科技大学学报, 2022, 51(3): 425-431. doi: 10.12178/1001-0548.2021232
    [2] 刘景美, 薛宁, 赵林森.  改进的Keccak算法4轮区分器 . 电子科技大学学报, 2016, 45(3): 453-457. doi: 10.3969/j.issn.1001-0548.2016.02.024
    [3] 张兵, 马新新, 志光.  轻量级RFID双向认证协议设计与分析 . 电子科技大学学报, 2013, 42(3): 425-430. doi: 10.3969/j.issn.1001-0548.2013.03.021
    [4] 高悦翔, 彭代渊, 闫丽丽.  认证邮件协议的安全性分析与改进 . 电子科技大学学报, 2013, 42(2): 300-305. doi: 10.3969/j.issn.1001-0548.2013.02.023
    [5] 李胜强, 陈智雄, 周亮.  椭圆曲线上的二元门限序列的构造 . 电子科技大学学报, 2012, 41(5): 671-677. doi: 10.3969/j.issn.1001-0548.2012.05.006
    [6] 许春香, 何小虎.  高效的基于口令的三方密钥交换协议 . 电子科技大学学报, 2012, 41(4): 596-598,604. doi: 10.3969/j.issn.1001-0548.2012.04.023
    [7] 冯涛, 刘媛媛, 马建峰.  可证明安全的群组匿名认证密钥协商协议 . 电子科技大学学报, 2011, 40(2): 273-277. doi: 10.3969/j.issn.1001-0548.2011.02.023
    [8] 杨力, 马建峰.  可信的智能卡口令双向认证方案 . 电子科技大学学报, 2011, 40(1): 128-133. doi: 10.3969/j.issn.1001-0548.2011.01.024
    [9] 徐杰, 杨娣洁, 隆克平.  基于时滞混沌系统的带密钥Hash函数的设计与分析 . 电子科技大学学报, 2011, 40(3): 451-455. doi: 10.3969/j.issn.1001-0548.2011.03.024
    [10] 崔军, 刘琦, 张振涛, 忠献, 杨义先.  可转换认证加密的安全邮件协议 . 电子科技大学学报, 2010, 39(4): 598-602,622. doi: 10.3969/j.issn.1001-0548.2010.04.027
    [11] 朱辉, 李晖, 庞辽军, 王育民.  新的可证明安全的快速认证协议 . 电子科技大学学报, 2009, 38(1): 55-58.
    [12] 舒剑, 许春香.  高效的口令基认证组密钥协商协议 . 电子科技大学学报, 2009, 38(3): 393-396. doi: 10.3969/j.issn.1001-0548.2009.03.018
    [13] 郝艳华, 李磊, 王育民.  利用多基链计算椭圆曲线标量乘的高效算法 . 电子科技大学学报, 2008, 37(6): 868-871.
    [14] 张青, 张龙, 温巧燕, 陈更力.  基于签密的认证邮件协议 . 电子科技大学学报, 2008, 37(2): 282-284.
    [15] 许春香, 唐安阳.  使用双线性对构造的智能卡口令认证方案 . 电子科技大学学报, 2008, 37(5): 733-736.
    [16] 谭示崇, 张宁, 王育民.  新的口令认证密钥协商协议 . 电子科技大学学报, 2008, 37(1): 17-19.
    [17] 吴劲, 张凤荔, 何兴高, 陆庆.  SIP安全机制研究 . 电子科技大学学报, 2007, 36(6): 1211-1214.
    [18] 万仁福, 李方伟, 朱江.  匿名双向认证与密钥协商新协议 . 电子科技大学学报, 2005, 34(1): 61-64.
    [19] 杨春.  用户名与口令认证在SOCKS中的应用研究 . 电子科技大学学报, 2001, 30(2): 162-165.
    [20] 张险峰, 秦志光, 刘锦德.  椭圆曲线加密系统的性能分析 . 电子科技大学学报, 2001, 30(2): 144-147.
  • 加载中
图(5) / 表(5)
计量
  • 文章访问数:  4083
  • HTML全文浏览量:  1279
  • PDF下载量:  26
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-06-13
  • 修回日期:  2023-05-22
  • 网络出版日期:  2023-10-08
  • 刊出日期:  2023-09-30

基于ECC的SIP身份认证密钥协商协议

doi: 10.12178/1001-0548.2022182
    基金项目:  中国高校产学研创新基金 (2020ITA05024)
    作者简介:

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

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

摘要: 为在SIP认证协议中实现用户匿名性并提高协议的安全性能,将挑战/应答机制、椭圆曲线密码技术和口令认证相结合,提出一种新的匿名SIP认证协议。协议仅使用少量的椭圆曲线点乘运算,既保障认证的安全性又有效降低了整体运算量。协议在认证过程中引入高熵随机数,认证双方使用挑战/应答机制的三次握手实现双向认证,同时协商生成后续会话所需密钥。通过对协议的BAN逻辑分析和多种已知攻击的非形式化分析,证明该协议具有较高的安全性能。经与相关协议的效率比较,协议认证过程所需的运算量更小。

English Abstract

黄朝阳, 陈金木. 基于ECC的SIP身份认证密钥协商协议[J]. 电子科技大学学报, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
引用本文: 黄朝阳, 陈金木. 基于ECC的SIP身份认证密钥协商协议[J]. 电子科技大学学报, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
HUANG Chaoyang, Chen Jinmu. A SIP Identity Authentication Key Agreement Protocol Based on ECC[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
Citation: HUANG Chaoyang, Chen Jinmu. A SIP Identity Authentication Key Agreement Protocol Based on ECC[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(5): 747-755. doi: 10.12178/1001-0548.2022182
  • 身份认证协议作为网络安全的首道屏障,其重要性不言而喻。随着网络应用的增长,特别是自新型冠状病毒肺炎疫情暴发以来,带来了远程办公等工作方式的转变,全球即时通信应用程序和服务的使用呈指数级增长,导致基于SIP协议的即时通信服务的需求与日俱增。

    SIP协议(session initialization protocol)具有灵活、开放和可扩展的特性,为多种即时通信业务提供完整的会话创建和会话更改服务。因此,SIP协议的安全性对于即时通信的安全起着至关重要的作用。SIP协议一般工作在不安全的公共信道环境。而且传统SIP的原始身份认证机制是基于HTTP摘要的,其强度不足以提供针对各种流行攻击所需的安全性,这一先天缺陷使它很容易受到攻击[1]。现有的SIP协议中所使用的身份认证机制可能被攻击者绕过,导致未经授权的访问和信息泄露需要安全且高效的SIP认证和密钥协商协议来解决即时通信的安全要求。设计一种可证安全且高效的SIP身份认证协议具有紧迫性和重要意义。

    近年来对于SIP协议的研究和改良层出不穷,为了提高传统SIP协议的安全性,先后引入了多种安全机制,如Hash函数、公钥密码体制、双线性对映射、椭圆曲线密码技术、混沌映射、生物特征和智能卡等。但各种研究表明:公钥密码体制面临PKI体系证书管理复杂的困难、双线性对映射在效率上的缺陷明显、结合生物特征和智能卡的认证协议则可能出现效率明显下降等问题。而引入Hash函数、椭圆曲线密码技术或混沌映射的安全、可扩展和轻量级的SIP身份认证协议正成为当前研究热点。

    在相同的安全级别上,椭圆曲线密码(elliptic curve cryptography)在密钥长度上比RSA小很多,能有效降低计算和存储的成本开销。鉴于ECC的明显优势,文献[2]提出了基于ECC的SIP认证协议,并声称其有更好的安全性和效率。文献[3]在2009年证明了文献[2]协议对已知的Denning-Sacco攻击、Stolen-Verifier攻击和离线口令猜测攻击是不安全的,并提出了改良的基于ECDH(elliptic curve diffie–hellman key exchange)的身份认证协议。2011年,文献[4]又揭示了文献[3]的协议不能抵抗内部人员攻击和离线口令猜测攻击。文献[5]于2012年指出文献[3]协议无法抵御Stolen-Verifier攻击和离线口令猜测攻击,并提供了一种改进的方案。然而,次年文献[6]又证明了文献[5]协议仍然受到离线口令猜测攻击和冒充服务攻击威胁,并给出了一种增强方案。

    匿名认证是指用户在证明自己身份合法性的同时能够确保自己身份信息、位置信息的匿名性。在身份认证过程中保护用户匿名性是当下身份认证技术的发展趋势。2015年,文献[7]在文献[6]工作的基础上提出了一种基于椭圆曲线密码技术的匿名SIP认证协议,声称可以很好地保护用户隐私。文献[8]研究发现该协议不能抵御内部人员攻击,并在此基础上提出一种更为安全的SIP认证协议,声称协议可以抵御各种已知攻击,同时比其他相关协议具有更低的计算成本。2018年,文献[9]研究发现文献[8]协议也存在无法保护用户匿名性的安全漏洞。

    本文深入研究了文献[8]提出的SIP协议,在分析其安全漏洞的基础上通过改进认证消息构成,提出一种基于ECC的更为安全高效的SIP协议。新协议秉承ECC安全高效的特征,采用标准的挑战/应答信息交互模式,运算量小的优势明显。通过对新协议的BAN逻辑分析、非形式化安全分析证明其更为安全;通过性能比较分析展示其在效率方面的实用性。

    • 本文所用符号如表1所示。

      表 1  协议中的符号标记与含义

      符号标记 含义
      U 用户
      Rx x挑选的高熵随机数
      IDi 用户i的账号
      PWi 用户i的口令
      PWinew 用户i的新口令
      S SIP服务器
      Kpri_x x的私钥
      Kpri_xnew x的新私钥
      || 字符串连接运算符
      异或运算符
      Hash(•) hash函数
      椭圆曲线点乘运算
      $ {K}_{X,Y}^{n} $ 由X所生成用以XY之间通信
      的一次性会话密钥,n指认证次数

      文献[8]协议的认证阶段在用户端所构造生成的登录请求消息M_request存在设计缺陷,敌手可以根据在公共信道上窃取的登录请求消息来验证自己对用户账号的猜测,从而非法获得用户U的账号IDi这一关键信息;该协议的认证阶段在服务器端所构造生成的挑战消息M_challenge同样存在设计缺陷,这一缺陷将使敌手可以根据已掌握的用户账号IDi和公共信道上窃取的登录请求消息轻易伪造出可以通过用户验证的挑战消息M_challenge,从而成功实施冒充服务器攻击。文献[8]协议的注册及认证阶段细节如图1所示,针对文献[8]协议的安全漏洞分析如下。

      图  1  文献[8]协议的注册及认证阶段细节

    • 敌手Uatt可以通过以下方法非法获取用户U的账号信息IDiUatt在公共信道上窃取的U登录请求消息M_request = {B, HID, C},计算HID⊕B = (IDiT)⊕(TA) = IDiA。继而,Uatt使用一个猜测的用户账号信息IDi'计算出A' = HID⊕B⊕IDi',然后Uatt通过验证等式hash(IDi' || A') = C是否成立来判断所猜测用户账号信息IDi'的正确性。Uatt可以变换猜测新的IDi'',不断验证上述等式直到找到正确的用户账号信息IDi为止。在获取用户U的账号信息IDi后,Uatt可以通过下列步骤实施冒充服务器攻击。

      1) Uatt根据拦截到的用户登录请求消息M_request ={B, HID, C}和已获取的用户账号信息IDi计算出T' = HID⊕IDiA'' = BT'

      2) Uatt生成随机数RS*并计算D* = RS*p $ {K}_{S,U}^{n*} $ = RS*A'',Auth_s* = Hash( $ {K}_{S,U}^{n*} $ || T' || A''),然后发送挑战消息M_challenge* = {realm, D*, Auth_s* }给用户。

      3) 用户U收到Uatt发来的M_challenge*后,根据已有的高熵随机数RU计算出 $ {K}_{U,S}^{n} $ = RUD* 和Auth_s' = Hash( $ {K}_{U,S}^{n} $ || T || A),随后验证等式Auth_s' = Auth_s*是否成立。由于Uatt已事先找到正确的用户账号信息IDi,故等式必然成立。敌手Uatt的冒充服务器攻击得以实现。图2给出了针对文献[8]协议实施冒充服务器攻击的细节。

      图  2  针对文献[8]协议实施冒充服务器攻击的细节

    • 根据上述分析,敌手Uatt可以获取合法注册用户的账号信息。因此,文献[8]协议无法保护用户匿名性。由于敌手可以假冒合法服务器骗取用户的认证,这意味着文献[8]协议无法实现双向认证。

    • 为了克服文献[8]协议所暴露的安全问题,本文提出一种更为安全高效的SIP认证协议。协议所使用的椭圆曲线离散对数难题(ECDLP)以及单向hash函数是其可靠的安全基石[10]

      协议由用户注册、双向认证和口令更新3个阶段构成。协议中所用符号如表1所示。

    • 1) 用户U选定自己的账号IDi、口令PWi和私钥Kpri_U,计算出C = Hash(PWi || Kpri_U),U通过安全信道向服务器S发送向注册请求消息{IDi, C}。

      2) S收到U的消息{IDi, C }后,结合自己的私钥Kpri_S计算出W = Hash(IDi || C) ⊕ C ⊕Hash(Kpri_S)。S于本地数据库中写入W。新协议注册阶段的细节如图3所示。

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

    • 用户U与服务器S通过以下步骤实现双向认证及密钥协商。

      1) 用户U输入自己的账号IDi,口令PWi,计算出TE = Hash( IDi || Hash( PWi || Kpri_U ) )。U生成高熵随机数RU ,并计算A = RUpV = Hash ( A || Hash( PWi ⊕ Kpri_U ) )。US发送登录请求消息M_request ={ TE, A, V}。

      2) 服务器S接收用户U的登录请求消息{ TE, A, V},计算TF = W ⊕ Hash( Kpri_S ),C' = TE ⊕ TF,V' = Hash( A || C' )。S验证等式V' = V,若等式不成立,则S忽略此登录请求同时结束会话。否则,由S生成两个高熵随机数RS1RS2,并计算B = RS1p $ {K}_{S,U}^{n} $ = RS1A,Auth_s = Hash( $ {K}_{S,U}^{n} $ ||A||C'||RS2)。S将挑战消息M_challenge = {realm, B, Auth_s, RS2 }发送给U,此处realm定义为作用域的信息。

      3) U接收S发来的挑战消息,计算出后续一次性会话密钥 $ {K}_{U,S}^{n} $ = RUB 和Auth_s' = Hash( $ {K}_{U,S}^{n} $ || A || C || RS2)。随后验证等式Auth_s' = Auth_s是否成立,如果验证通过,U完成计算Auth_U = Hash( $ {K}_{U,S}^{n} $ ||B||C||RS2+1)后,发送应答消息M_response = {realm, Auth_U}给S。否则中止会话,结束此次双向认证过程。

      4) S接收U的应答消息后,计算Auth_U' = Hash( $ {{K}}_{{S},{U}}^{{n}} $ || B || C' || RS2+1 ),并验证等式Auth_U' = Auth_U。如等式不成立,会话终止。若验证通过,则S成功认证U的身份,并将 $ {{K}}_{{S},{U}}^{{n}} $ = RS1 • A = RS1 • RU • p = RU • RS1 • p = RU • B = $ {{K}}_{{U},{S}}^{{n}} $ 作为后续一次性会话密钥。新协议的登录和双向认证阶段细节如图4所示。

      图  4  新协议登录和双向认证阶段的细节

    • 用户U凭借成功双向认证后所协商产生的一次性会话密钥 $ {K}_{U,S}^{n} $ ,随时可以依据下列步骤替换自己的新口令PWinew

      1) 用户U选取新的口令PWinew和新的私钥Kpri_xnew,计算出TN = Hash( $ {K}_{U,S}^{n} $ || Hash( IDi || Hash( PWi || Kpri_U ))⊕Hash( PWi || Kpri_U )), TM = Hash( IDi || $ {K}_{U,S}^{n} $ )⊕Hash( IDi || Hash( PWinew || Kpri_xnew ) )) ⊕Hash( PWinew || Kpri_xnew )。US发送计算结果{ IDi, TN, TM }。

      2) 服务器S接收U的消息后,通过验证等式Hash( IDi || W⊕Hash(Kpri_S )) = TN来确认U身份的合法性。等式证明如下:

      Hash( $ {K}_{S,U}^{n} $ ||W⊕Hash(Kpri_S)) =

      Hash( $ {K}_{S,U}^{n} $ ||Hash(IDi||C)⊕C⊕Hash(Kpri_S)⊕Hash(Kpri_S)) = Hash( $ {K}_{S,U}^{n} $ || Hash(IDi|| Hash(PWi|| Kpri_U))⊕

      Hash(PWi||Kpri_U)⊕Hash(Kpri_S)⊕

      Hash(Kpri_S)) = Hash( $ {K}_{U,S}^{n} $ ||Hash(IDi||Hash(PWi||Kpri_U))⊕

      Hash(PWi||Kpri_U)) = TN

      等式验证通过后,S计算出Wnew = TM⊕Hash( IDi || $ {K}_{S,U}^{n} $ )⊕Hash( Kpri_S )。最后,SWnew替换数据库中的W,口令更新完成。

      新协议在认证阶段巧妙设计了在用户端所生成的登录请求消息M_request格式,让用户账号及其伴随信息都置于hash函数的保护之下,规避了用户账号信息泄露的可能性,真正实现用户匿名性;同时,新协议改进了服务器端挑战消息M_challenge的组成部分Auth_s的格式,使敌手无法通过在公共信道上窃取的消息计算出Auth_s*,有效阻止敌手通过伪造服务器的挑战消息实施冒充服务器攻击。新协议增加一个服务器端所生成的高熵随机数RS2,以保证后续消息的新鲜性,有效防止重播攻击。

    • Burrows、Abadi和Needham于1989年提出BAN逻辑分析方法具有里程碑式的意义,它是第一个将形式化手段用于验证密码协议安全性的分析方法,作为分析密码协议一种公认的重要工具而广为使用[11]。它在用户设置的理想假设和协议步骤的前提下,对协议能否在没有冗余信息的条件下实现安全认证的目的,以及协议中的加密信息是否在明文传输时不会影响协议的安全性这两个问题给出解答[12]。BAN逻辑分析过程所使用的符号与含义如表2 所示。

      表 2  BAN逻辑的符号与含义

      符号 含义
      P 主体
      X,Y 语句
      K 密钥
      $ P|\equiv X $ 主体P相信X为真
      $ P⊲X $ P接收到X
      $ P| \sim X $ P曾发送X
      $ P|\Rightarrow X $ PX有管辖权
      #(X) X是新鲜的
      (X,Y)K 使用K作为密钥的XY hash值
      {X,Y}K 使用密钥K对包含XY的信息加密后的密文
      SK 用户和服务器的共享密钥
      $ P\overset K \longleftrightarrow Q$ PQ之间共享密钥K
      <X>Y X可以由Y异或生成

      BAN逻辑是一种基于信仰的内涵逻辑,它不计量由于协议的真实实现额外带来的安全问题,也不考虑由于加密体制的安全缺陷可能带来的协议缺陷,所以BAN逻辑存在一定的局限性。但是,在协议设计阶段使用BAN逻辑分析可尽早规避潜在的设计缺陷。

      下面在假定密码算法是安全的前提下,使用BAN逻辑分析方法对协议本身结构的安全性展开形式化证明。

    • 本文所使用的BAN逻辑推理法则主要有:

      1) R1消息含义法则: $ \dfrac{{P | { \equiv P{\overset K \longleftrightarrow} Q,P \triangleleft \left\{ X \right\}K} }}{{P\left| { \equiv Q} \right| \sim X}} $

      2) R2临时值验证法则: $\dfrac{P|\equiv \#(X),P|\equiv Q|\sim X}{P|\equiv Q|\equiv X}$

      3) R3管辖权法则: $\dfrac{P|\equiv Q|\Rightarrow X,P|\equiv Q|\equiv X}{P|\equiv X}$

      4) R4消息新鲜法则: $\dfrac{P|\equiv \#(X)}{P|\equiv \#(X,Y)}$

      5) R5信念法则: $ \dfrac{P|\equiv X,P|\equiv Y}{P|\equiv (X,Y)} $

    • 本协议的理想化形式为:

      1) $ U\to S $ : ${\left\langle C \right\rangle _{U\overset {{\rm{TE}}} \longleftrightarrow S}}$ , $ {\left( A \right)_{U\overset C \longleftrightarrow S}}$ , $ {\left( {U\overset {{\rm{SK}}} \longleftrightarrow S,B,{R_{S 2}}} \right)_{U\overset C \longleftrightarrow S}} $

      2) $ S\to U $ : $ {\left( {U\overset {{\rm{SK}}} \longleftrightarrow S,A,{R_{S 2}}} \right)_{U\overset C \longleftrightarrow S}}$

    • 本文协议满足下列基本假设:

      P1: $ U|\equiv \#{R}_{Ui} $ , $ S|\equiv \#{R}_{S 2} $

      P2: $ S|\equiv \#{R}_{S 1} $ , $ S|\equiv \#{R}_{S 2} $

      P3: $ S|\equiv \left( {U\overset C \longleftrightarrow S} \right) $

      P4: $ U|\equiv \left( {U\overset C \longleftrightarrow S} \right)\ $

      P5: $ S|\equiv U|\Rightarrow \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $

      P6: $ U|\equiv S|\Rightarrow \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $

    • 假设协议所设置的参数和流程是正确的,那么本文协议必须满足下列安全目标:

      G1: $ S|\equiv U|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $

      G2: $ S|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $

      G3: $ U|\equiv S|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $

      G4: $ U|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $

    • 分析推理过程如下。

      $ S \triangleleft {\left( {U\overset {{\rm{SK}}} \longleftrightarrow S,B,{R_{S2}}} \right)_{U\overset C \longleftrightarrow S}} $ 和P3,以及消息含义法则R1可得:

      $$ S|\equiv U| \sim \left( {U\overset {{\rm{SK}}} \longleftrightarrow S,B,{R_{S2}}} \right) $$ (1)

      由P2和消息新鲜法则R4可得:

      $$ S|\equiv \# \left( {U\overset {{\rm{SK}}} \longleftrightarrow S,B,{R_{S2}}} \right) $$ (2)

      由式(1)、式(2)和临时值验证法则R2可得:

      $$ S|\equiv U|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S,B,{R_{S2}}} \right) $$ (3)

      由式(3)和信念法则R5可得:

      $$ S|\equiv U|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $$ (4)

      于是,G1得以证明。

      由式(4)和P5,以及管辖权法则R3可得:

      $$ S|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $$ (5)

      于是,G2得以证明。

      $ U \triangleleft {\left( {U\overset {{\rm{SK}}} \longleftrightarrow S,A,{R_{S2}}} \right)_{U\overset C \longleftrightarrow S}} $ 和P4,以及消息含义法则R1可得:

      $$ U|\equiv S| \sim \left( {U\overset {{\rm{SK}}} \longleftrightarrow S,A,{R_{S2}}} \right) $$ (6)

      由P1和消息新鲜法则R4可得:

      $$ U|\equiv \# \left( {U\overset {{\rm{SK}}} \longleftrightarrow S,A,{R_{S2}}} \right) $$ (7)

      由式(6)、式(7)和临时值验证法则R2可得:

      $$ U|\equiv S|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $$ (8)

      由式(8)和信念法则R5可得:

      $$ U|\equiv S|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $$ (9)

      于是,G3得以证明。

      由式(9)和P6,以及管辖权法则R3可得:

      $$ U|\equiv \left( {U\overset {{\rm{SK}}} \longleftrightarrow S} \right) $$ (10)

      于是,G4得以证明。

      通过上述BAN逻辑形式化证明,本协议的4个安全目标全部得以证实。所以,在理想化的环境下,本协议可以实现真实有效的双向认证和会话密钥协商。

    • 围绕几个相关协议[2-3,5,7-8]所暴露出来的安全问题,对本协议的一些重要的安全目标开展启发式安全分析。

      1) 抵御重播攻击

      在本协议框架内,假定某敌手Uatt伪装成合法用户U向服务器S重播登录请求消息M_request ={TE, A, V},S将返回挑战消息M_challenge = {realm, B, Auth_s, RS2}。但Uatt因不掌握RUC从而无法伪造出Auth_U进行应答,从而无法通过S的验证。同时,由于随机数RURS2的新鲜性,Uatt如果通过重播S的挑战消息M_challenge = {realm, B, Auth_s, RS2 }来伪装成合法S时,根本无法通过U方Auth_s' = Auth_s这一等式验证。所以协议可以抵御重播攻击。

      2) 保护用户匿名性

      在新协议的双向认证实施过程中,公共信道上传输的用户账号信息以hash函数散列值的形式TE = Hash(IDi || Hash( PWi || Kpri_U) )存在。根据hash函数的单向安全特性,敌手Uatt无法从截取的TE中计算获取用户U的账号信息IDi 。与用户账号信息IDi同时存在于TE中的伴随信息是C = Hash( PWi || Kpri_U ),协议设计了用户在注册阶段通过安全信道发送C给服务器SC也不以明文的形式存储于S的数据库中,故如果敌手Uatt使用本文1.1节所述方法来猜测并验证用户账号信息必然失败。所以新协议可以实现保护用户匿名性的目标。

      3) 抵御冒充服务器攻击

      敌手Uatt想成功冒充服务器S骗取用户U的认证,必须能生成正确的挑战消息M_challenge = {realm, B, Auth_s, RS2},但因Uatt无法获取S的私钥Kpri_SS本地数据库所存储的W,故不能计算得出C' ,当然也就无法生成正确的挑战消息要件Auth_s。所以,Uatt无法成功冒充服务器S骗取用户U的认证。

      4) 抵御内部人员攻击

      在注册阶段,用户的口令以密文C = Hash( PWi || Kpri_U )的形式在安全信道上传输,服务器数据库中所存储W = Hash( IDi || C ) ⊕ C ⊕Hash( Kpri_S )也非明文形式。在没有掌握U口令PWi和私钥Kpri_U的前提下,敌手Uatt无法在多项时间内把它们同时猜中,更无法使用W来验证这一猜测。并且,由于hash函数的单向安全特性,从C中计算得出U的口令PWi也是行不通的。所以,内部人员无法从用户的注册信息中获取U的口令PWi。内部人员攻击对本协议无效。

      5) 抵御身份假冒攻击

      如前1)所证明,重播攻击已无法实施。敌手Uatt伪装成U实现身份假冒攻击的前提是能生成正确的登录请求消息M_request ={TE, A, V}和应答消息M_response = {realm, Auth_U},但并不掌握的U的账号IDi、口令PWi和私钥Kpri_U,根本无法计算出TE,生成正确的CV则更为困难,根本伪造不出正确的M_request和M_response要件Auth_U,从而无法通过S的身份认证。所以,身份假冒攻击无法实施。

      6) 抵御离线口令猜测攻击

      敌手随机猜测用户的口令值,然后使用非法获取的消息来验证这一猜测,所以离线口令猜测攻击往往最具有破坏性。假定Uatt在公共信道上截取认证过程的所有交互消息{TE, A, V, B, Auth_s, RS2, Auth_U}。然后Uatt猜测一个口令PWi' ,但在未掌握用户私钥Kpri_U的前提下,显然无法使用TE或V验证所猜测口令PWi'的正确性。所以,离线口令猜测攻击对本协议无效。

      7) 实现双向认证同时协商一次性会话密钥

      协议在整体框架上采用挑战/应答机制,U通过验证等式Hash( $ {K}_{U,S}^{n} $ || A || C || RS2) = Auth_s来验证S的身份;S则通过验证等式Hash ( A || ( TE ⊕ (W ⊕ Hash( Kpri_S )))) = V和验证等式Hash( $ {K}_{S,U}^{n} $ || B || C' || RS2+1) = Auth_U来认证U的身份。在双向认证的过程中,只有合法的用户和服务器才可能拥有正确的信息来计算出响应对方请求的应答消息。

      认证双方各自生成的会话密钥 $ {K}_{S,U}^{n} $ = RS1A = RS1RUp = RURS1p = RUB = $ {K}_{U,S}^{n} $ 是相等的,可以用于后续会话的加密通信。本协议具备密钥协商功能。

      根据以上分析,本协议在安全性上填补了相关协议的常见漏洞,同时展现出较强的保护用户匿名性和双向认证功能,可以协商生成一次性会话密钥,具有较高的安全性能。

    • 效率比较主要考量各相关协议在双向认证阶段执行椭圆曲线点乘、切比雪夫多项式、对称加密/解密、模逆运算和hash运算所需的计算开销。与上述运算相比较而言,字符串连接操作和异或运算所需耗时要小得多,不列入各协议的计算开销比较[13]。用户注册和口令更新为非经常性操作,其计算开销也不计算在内[14-15]

      为了更准确地评估各相关协议在双向认证阶段的计算效率,在运行平台Windows 10、Intel Core i7-3770、16GB RAM,matlab仿真环境中测试ECC点乘、切比雪夫多项式、模逆运算、AES-128和SHA-3运算耗时。每种密码操作均运行10000次后,统计所需耗时的算术平均值如表3所示。相关协议和本文新协议在双向认证阶段的主要计算开销及交互次数比较如表4所示。

      表 3  各种密码运算所需耗时的算术平均值 ms

      操作 TCP TPM TSED TINV TH
      算术平均值 9.8932 8.1057 0.1742 0.0735 0.0294

      表 4  效率比较

      协议 计算开销 总耗时/ms 交互次数
      用户端 服务器端 小计
      文献[8]协议 3TPM+9TH 4TPM+8TH 7TPM+17TH 57.2397 3
      文献[16]协议 4TPM+8TH 5TPM+7TH+2TINV 9TPM+15TH+2TINV 73.5393 3
      文献[17]协议 3TPM+7TH 3TPM+6TH 6TPM+13TH 49.0164 3
      文献[18]协议 3TPM+2TSED+8TH 3TPM+2TSED+2TH 6TPM+4TSED+10TH 49.6250 3
      文献[19]协议 2TCP+2TSED+6TH TCP+3TSED+4TH 3TCP+5TSED+10TH 30.8446 3
      本协议 2TPM+6TH 2TPM+4TH 4TPM+10TH 32.7168 3

      表中,TCP为计算一次切比雪夫多项式;TPM为执行一次椭圆曲线点乘;TSED为执行一次对称加密/解密;TINV为执行一次模逆运算;TH为执行一次hash运算。

      表4可知,本协议的总计算开销为4TPM+10TH,总耗时为32.7168 ms,与文献[19]协议基本持平,并明显少于其他相关协议。本协议展现出更高的计算效率。各相关协议在双向认证阶段所需总交互次数都是3次,无差别。各相关协议认证阶段的主要运算总耗时比较如图5所示。

      图  5  认证阶段的主要运算总耗时比较

    • 本协议与其他几个相关协议的安全特性对比如表5所示。文献[8]协议无法抵御冒充服务器攻击,无法保护用户匿名性,无法真正实现双向认证。文献[17-19]未给部分安全特性的分析结果。本文协议克服了文献[8]协议的安全缺陷,能抵御多种常见攻击,提供用户匿名性保护和前向安全性,可以真正实现双向认证,展示出比文献[17-19]更高的安全性能。文献[16]虽然也可以抵御各种已知攻击,但它在认证过程中所使用的椭圆曲线点乘点运算达9次之多,明显增加了运算总用时。根据表4表5的比较分析可知,本协议在安全性和效率方面的综合性能优于其他相关协议。

      表 5  安全特性比较

      安全特性 文献[8]协议 文献[16]协议 文献[17]协议 文献[18]协议 文献[19]协议 本协议
      抗重播攻击 NA
      抗离线口令猜测攻击
      抗Stolen-Verifier攻击 NA
      抗冒充服务器攻击 × NA
      抗身份假冒攻击 NA
      抗内部人员攻击
      抗Denning-Sacco攻击 NA NA
      保护用户匿名性 ×
      具备前向安全性
      实现双向认证 ×
      备注:√表示该协议支持这一安全特性;×表示该协议不支持这一安全特性;NA表示该安全特性不适用于此协议
    • 与所有新兴技术一样,即时通信面临着需要克服安全方面的挑战,以确保该技术能够成功大规模部署。在保密性、完整性和真实性方面,安全方面的挑战尤为重要。SIP协议有良好的可扩展性,在语音通信、视频通信、网络游戏、物联网等领域应用前景广阔,但如果把生物特征、智能卡和公钥密码体制等多种安全因素同时糅合到改良的SIP协议中,确实可以大大提升SIP协议的安全性能,但同时也将给协议带来臃肿,执行效率退化等问题。

      身份认证协议的安全级别越高,它所需的运算量、带宽要求、应用成本等各种开销也大。找寻认证协议的安全性能和开销的合理平衡点一直是协议设计者的追求目标。本协议使用少量的椭圆曲线点乘运算和必要的hash运算,较好地保持了SIP协议轻量化的优势,可以认为本协议在认证安全性能与认证开销之间获得一个较好的平衡点,适用于对安全性能有较高要求的应用场景:涉及商业机密的企业通信、涉及国家机密的政府和军事应用、涉及个人健康信息的医疗保健行业以及可能使用SIP协议来传输银行交易敏感信息的金融机构。

    • 本文对文献[8]提出的SIP认证协议展开深入研究,指出其存在的安全缺陷。通过改良协议的认证消息格式,提出一种新的SIP认证协议。通过BAN逻辑形式化分析,以及多种非形式化的安全分析证明,新的SIP认证协议可以安全地抵御各种已知的安全攻击,既保护了用户匿名性又可以实现双向认证,具备协商生成后续会话所需一次性密钥的功能。通过效能比较分析可知,新协议是高效、安全的,具有较高的实际应用和推广价值。

参考文献 (19)

目录

    /

    返回文章
    返回