基于三因素的匿名可认证密钥协商方案研究

2017-02-13 16:17李书哲张云胜
网络空间安全 2016年12期

李书哲++张云胜

【 摘 要 】 论文以会话初始化协议(SIP)通信的安全问题为背景,提出了新的基于三因素的匿名可认证密钥协商协议。该协议采用安全性较高的椭圆曲线密码算法,在保护用户身份信息的前提下,能在用户与服务器相互认证的过程中协商出共享会话密钥,实验结果表明本文提出的认证协议具有较高的安全性和执行效率,满足VoIP语音通信的认证需求。

【 关键词 】 VoIP;SIP;匿名认证;密钥协商

【 中图分类号 】 TP309

【 文献标识码 】 A

Research on A New Three Factors

Anonymous Authenticated Key Agreement Protocol Using Smart Card

Li Shu-zhe 1 Zhang Yun-sheng 2

(1.Hubei Wuchang Experimental High School HubeiWuhan 430072;

2.China University of Geosciences HubeiWuhan 430074)

【 Abstract 】 In this paper, to the SIP communication security issues, a new three factors anonymous authenticated key agreement protocol using smart card was proposed. The proposed scheme adopts elliptic curve cryptographic algorithms with high security, session key can be negotiated in the process of mutual authentication between user and server. The experimental results show that the proposed authentication protocol has high security and efficiency, and can meet the requirements of VoIP voice communication.

【 Keywords 】 voip;sip;anonymous authentication;key agreement

1 引言

VoIP(Voice over Internet Protocol)是一种将语音技术集成于IP协议之中的全新的通讯方式,VoIP技术将待传输的声音信号进行压缩编码,最后以分组数据包的形式通过互联网实现语音传输[3]。

从2005年开始,国内外有就许多学者对VoIP通信的认证协议进行了研究。Yang等人[4]提出了基于DH密钥交换的认证机制,然而该协议很快被证明无法抵抗离线口令猜测攻击。2009年,Wu等人[5]提出了基于椭圆曲线加密算法的认证方案,并通过Canetti-Krawczyk安全模型[6]证明了其安全性,然而该协议存在共享密钥的分配问题,导致该协议难以在VoIP系统中实现。2010年,Yoon和Yoo等人[7]指出Wu等人的认证协议无法抵抗离线口令猜测攻击、Denning-Sacco攻击和验证列表盗窃攻击,并基于椭圆曲线加密算法提出了新的认证协议。2012年,Xie等人[8]证明了Yoon等人提出的协议同样无法抵抗离线口令猜测攻击和验证列表盗窃攻击,并基于椭圆曲线加密算法提出了改进的协议来解决这些安全问题。2013年,Arshad和Ikram等人[9]提出Xie等人的协议不仅同样无法抵抗上述两种攻击,而且还无法提供良好的已知密钥安全性和前向安全性。

尽管诸多学者对基于VoIP的密钥协商协议进行了不断的研究[10-14],我们发现上述研究存在一定局限性:未考虑用户隐私保护问题。在认证过程中,用户的真实身份采用明文传输,因此敌手可以通过窃听等方式获取用户的真实身份,从而实施有针对性的攻击。针对以上问题,本文提出一种基于三因素的匿名可认证密钥协商方案来弥补上述研究的局限性,并对提出协议的安全性和性能进行了分析。

2 基于三因素的匿名可认证密钥协商方案

在SIP的可认证密钥协商协议中,Tu等人提出的协议存在服务器欺骗攻击和中间人攻击等安全威胁,存在较大的安全隐患。本文在提出基于椭圆曲线加密体制,采用生物特征,智能卡和口令三因素实现相互认证和密钥协商,并在认证过程中保证用户的匿名性。本协议由三个模块组成:初始化模块,注册模块和登录认证模块。

2.1 初始化模块

设系统参数为(p,a,b,P,n),其中p是一个大素数,a和b是有限域FP中的元素,确定了一条椭圆曲线E:y2=x3+ax+b(a,b∈FP)。SIP服务器选择基点P∈E(FP),其阶为n,服务器S首先随机选取一个主密钥s和三个哈希函数h(·):{0,1}*→{0,1}k,h1(·):G×{0,1}*→{0,1}k和h2(·):G×{0,1}*×{0,1}*×{0,1}*→{0,1}k。然后,服务器计算公钥Ppub=sP,最后将EP(a,b),Ppub,h(·),h1(·)和h2(·)公开,将s作为密钥保管。

2.2 注册模块

在VoIP系统中,当一个新用户Ui准备向服务器S进行注册时,执行如下操作。

Ui首先选取自己的用户名IDi,登录口令PWi,录入并提取指纹特征Bi,选择一个随机数r∈Z■■,计算Ki,Mi和Ni,随后将注册请求信息REG(IDi ,Ki )通过安全方式传送给服务器S。

Ki =h(PWi ?茌IDi )

Mi = r ?茌Ki

Ni = r ?茌Bi

服务器S接收到注册请求消息REG(IDi ,Ki )后,首先在数据库中查找用户Ui申请的用户名IDi是否已经被使用,如果该用户名已被其他用户注册,服务器S则要求用户Ui选取新的用户名并重新发送注册请求,若该用户名可用,服务器则用主密钥s计算Vi和Wi,并将消息{Wi}存储在智能卡SCi中,然后通过安全的方式递交给用户Ui。

Vi =h( IDi ?茌 s)

Wi =Vi ?茌Ki =h( IDi ?茌 s)?茌h(PWi ?茌IDi )

用户Ui接收到服务器S发放的智能卡SCi(Wi)后,将Mi和Ni存入智能卡SCi中,至此注册过程结束,智能卡SCi中存储的消息为{Wi,Mi,Ni}。

2.3 登录认证模块

合法用户Ui首先在读卡器中插入智能卡SCi,输入用户名IDi和口令PWi,并录入提取指纹特征信息Bi'■。智能卡SCi会根据用户输入的身份信息进行验证,如果验证通过则会创建认证请求消息。当用户Ui通过服务器S的认证后,服务器将会返回一条消息作为用户Ui对服务器的认证凭据,同时双方认证过程中协商出共享的会话密钥。

用户Ui在读卡设备中插入智能卡SCi,输入用户名IDi和口令PWi,并录入提取指纹特征信息Bi'■。智能卡SCi首先根据用户的输入计算Ni'■:

r=Mi ?茌Ki =Mi ?茌h(PWi ?茌IDi )

Ni' = r ?茌Bi'■

智能卡将计算得到的Ni'与智能卡中存储的Ni进行对比得到?驻(Ni,Ni'),如果该值不在规定的阈值范围内,则拒绝该用户的登录请求;若?驻(Ni,Ni')的值在规定的阈值范围内,智能卡SCi将接受该用户的登录请求,并选取两个随机数m1,m2∈Z■■,计算Qi,Vi,Ri和Si,并将认证请求消息REQUEST(Ri,Qi,Si,m2)通过公开信道发送给服务器S:

Qi =m1 P

Vi = Wi ?茌Ki

Ri = IDi ?茌h((m1 Ppub )X || m2 || (m1 Ppub )Y)

Si = h(IDi || Vi || h((m1 Ppub )X || m2 || (m1 Ppub )Y))

服务器S接收到用户端发送的认证请求消息REQUEST(Ri,Qi,Si,m2),首先提取用户身份信息IDi,并在数据库中检查提取的用户名IDi是否有效,若该用户名无效,服务器S直接终止该次会话,若该用户名有效,服务器则继续计算Vi和Si:

IDi =Ri ?茌h((sQ1 )X || m2 || (sQ1 )Y)

Vi = h(IDi ?茌s)

Si ■ h(IDi || Vi || h((sQ1 )X || m2 || (sQ1 )Y))

服务器S通过判断上述等式是否成立,来验证用户Ui的身份,若上述等式不成立,服务器S认为该用户不是合法用户,并结束该会话;若等式成立,则对用户Ui的身份验证通过,服务器S继续选取随机数n1,n2∈Z■■,计算会话密钥SK和认证消息AuthS,并将挑战消息CHALLENGE(realm,Ci,n2,AuthS )通过公开的信道传送给用户Ui:

Ci =n1P

Hi =n1Qi

SK=h1 ( Hi || IDi )

AuthS =h2 ( Hi || SK || Vi || n2 )

用户Ui接受到服务器S的挑战消息CHALLENGE(realm,Ci,n2,AuthS ),计算Hi和SK,并验证AuthS:

Hi =m1Ci

SK=h1 ( Hi || IDi )

AuthS ■h2 ( Hi || SK || Vi || n2 )

用户Ui通过判断上述等式是否成立,来验证服务器S的身份,若上述等式不成立,用户Ui认为S不是合法的服务器,并终止该次会话;若等式成立,则用户Ui对服务器S的身份验证通过,并继续计算认证消息AuthS ,将应答消息RESPONSE(realm,Authu )通过公开信道传送给服务器S。

Authu =h2 ( Hi || SK || Vi || n2 +1)

服务器S接收到用户Ui的应答消息RESPONSE(realm,Authu )后,对Authu进行验证,若验证通过,服务器S将把SK设为与用户Ui的共享密钥Authu ■h2 ( Hi || SK || Vi || n2 +1)。

3 安全性分析

本协议对Tu等人和Irshad等人提出的SIP可认证密钥协商协议进行了改进,在保证用户和服务器高效通信的同时,增强了协议的安全性。

3.1 匿名性(User anonymity)

认证阶段,用户Ui在公开信道向服务器S发送登录请求消息REQUEST(Ri, Qi, Si, m2),其中,Qi =m1 P,Ppub =sP,Ri = IDi ?茌h((m1 Ppub )X || m2 || (m1 Ppub )Y),攻击者必须通过计算IDi = Ri ?茌h((m1 Ppub )X || m2 || (m1 Ppub )Y)来获取用户的身份信息IDi 。然而当攻击者想要通过Qi =m1 P和Ppub =sP来获m1 Ppub时将面临解决椭圆曲线离散对数问题。因此,攻击者无法通过捕获的消息REQUEST(Ri, Qi, Si, m2)获得用户的身份信息,因此,本协议能实现用户匿名。

3.2 双向认证(Mutual authentication)

在本协议中,服务器接收到用户Ui发送的消息REQUEST(Ri, Qi, Si, m2 )后,首先提取用户身份信息IDi,并使用身份信息IDi,服务器主密钥s,加密信息Vi来计算Si。显然,攻击者无法伪造所有信息来获得Si的值。之后用户Ui需要判断AuthS ■h2 ( Hi || SK || Vi || n2 ),以此来对服务器S进行认证,其中SK为用户和服务器协商出的共享密钥,Vi是用户的加密信息,这些消息也都是攻击者无法获取的,同样Authu也是无法被伪造的。因此,本协议实现了用户与服务器间的相互认证。

4 性能分析

本文提出的改进协议中,用户与服务器各模块的执行时间具体分析。

注册模块:用户端Ui需要执行一次哈希运算得到h(PWi ?茌IDi ),服务器端S需要执行一次哈希运算得到h(IDi ?茌s )。

登录认证模块:用户Ui计算得到h(PWi ?茌IDi ),m1P,Ri 和Si,需要执行四次哈希运算和两次椭圆曲线标量乘法运算,除此之外,为了计算得到m1Ci ,h1 ( Hi || IDi ),h2 ( Hi || SK || Vi || n2 )和Authu ,需要执行三次哈希运算和一次椭圆曲线标量乘法运算。服务器S为了计算IDi ,Vi ,h(IDi || Vi || h((sQ1 )X || m2 || (sQ1 )Y)), n1P ,n1Qi ,h1 (Hi || IDi )和AuthS ,需要执行六次哈希运算和三次椭圆曲线标量乘法运算,除此之外,服务器为了计算Authu ,还需要执行一次哈希运算操作。

三种认证方案的执行时间对比如表1所示,通过分析可以发现,本文提出的认证方案在注册阶段的执行时间优于Irshad等人和Tu等人的协议。在认证模块,三类认证方案的执行时间相近,主要开销均为椭圆曲线的标量乘法运算。因此,总的来说,本文提出的协议在总的执行时间上要优于Irshad等人和Tu等人提出的协议。

综合以上分析,在协议的执行时间方面,本文提出协议的执行时间为13.393ms,要明显优于Irshad等人协议的17.866ms和Tu等人协议的15.634ms。因此,本文提出协议的性能要优于Irshad等人和Tu等人的协议,具有较高的实际应用价值。

5 结束语

本文提出了一种新的基于三因素的匿名可认证密钥协商协议,该协议能在保护用户身份信息的前提下高效的完成密钥协商和相互认证,为SIP的认证过程提供了安全保障。最后将本文提出的认证协议和现有的相关协议做了性能对比分析,分析表明在保证协议抵抗诸多风险的同时,提出协议具有较高的执行效率,这些特点都有利于保证SIP认证协议的通用性和实用性。

参考文献

[1] 廖蓉晖,王娟,彭凯.DH密钥体制在VoIP通信中的应用[J].通信技术,2015,48(3):367-370.

[2] 侯宾,叶德信,吕玉琴,等.基于身份的VoIP媒体流安全方案与实现[J].计算机系统应用,2006,15(2):26-28.

[3] 胡萍,黄永峰.VoIP的创新应用及其发展趋势[J].科学管理研究,2009,27(5):117-120.

[4] Yang C C, Wang R C, Liu W T. Secure authentication scheme for session initiation protocol[J]. Computers & Security, 2005, 24(5): 381-386.

[5] Wu L, Zhang Y, Wang F. A new provably secure authentication and key agreement protocol for SIP using ECC[J]. Computer Standards & Interfaces,2009,31(2): 286-291.

[6] Ran C,Krawczyk H.Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels[J]. Lecture Notes in Computer Science,2001,2045:453-474.

[7] Yoon E J,Yoo K Y, Kim C, et al. A secure and efficient SIP authentication scheme for converged VoIP networks[J]. Computer Communications,2010,33(14): 1674-1681.

[8] Xie Q. A new authenticated key agreement for session initiation protocol[J]. International Journal of Communication Systems, 2012, 25(1): 47-54.

[9] Arshad R, Ikram N. Elliptic curve cryptography based mutual authentication scheme for session initiation protocol[J]. Multimedia tools and applications,2013,66(2): 165-178.

[10] Durlanik A, Sogukinar I. SIP Authentication Scheme using ECDH [C]. World Enformatika Sociieety Transaction on Engineering Compuing and Technology 8,2005:350-353.

[11] Huang H F, Wei W C. A new efficient authentication scheme for session initiation protocol[J]. computing,2006,1(2).

[12] Jo H,Lee Y,Kim M, et al. Off-line password-guessing attack to Yang's and Huang's authentication schemes for session initiation protocol[C]//INC, IMS and IDC,2009. NCM'09. Fifth International Joint Conference on. IEEE, 2009: 618-621.

[13] Ring J W,Cho K K R,Foo E,et al. A new authentication mechanism and key agreement protocol for SIP using identity-based cryptography[J]. 2006.

[18] Wang F,Zhang Y.A new provably secure authentication and key agreement mechanism for SIP using certificateless public-key cryptography[J]. Computer Communications,2008,31(10): 2142-2149.

基金项目:

本文获得国家自然科学基金(No.41571403)以及中国博士后科学基金特别资助项目(No.2012T50681)的资助。

作者简介:

李书哲(1999-),男,汉族,湖北武汉人,湖北省武昌实验中学,高中生;主要研究方向和关注领域:计算数学、网络空间安全、密码算法。

张云胜(1991-),男,汉族,湖北武汉人,中国地质大学(武汉)计算机学院,硕士研究生;主要研究方向和关注领域:网络空间安全、密码算法。