一种三方认证密钥协商协议的分析与改进
2013-09-29唐祚波缪祥华
唐祚波,缪祥华
(昆明理工大学信息工程与自动化学院,昆明 650500)
1 概述
随着移动通信技术的发展,通信系统中的安全问题越来越受到重视,通过认证密钥协商协议来确认网络运营商和用户的身份,已成为一个重要的研究课题。认证密钥协商协议是密钥协商协议和实体认证协议的两者结合,能够在不安全的网络中,使通信双方相互认证,并能协商出会话密钥[1]。
本文针对文献[3]协议存在的问题,利用椭圆曲线密码学和哈希函数技术[7-9]进行改进,使其既继承了原协议的安全性,又能抵抗中间人攻击。
2 文献[3]的三方认证密钥协商协议
参与协议的实体有3个,分别是可信服务器S、发起者A、响应者B。协议分为2个阶段:初始化阶段和认证密钥协商阶段。
2.1 初始化阶段
设有限域Fq上的椭圆曲线:
Eq(a,b):y2≡x3+ax+b(mod q)
是一个由点P产生的大群,阶为n。选择一对安全的对称加解密算法 Ek()、Dk()并公布给用户。每个用户U产生一个私钥u并计算对应的公钥U=uP,服务器S选择一个私钥s并计算其公钥S=sP。
2.2 认证密钥协商阶段
在服务器S的帮助下,用户A和用户B相互认证。然后产生A和B的一个会话密钥。这阶段细分成如下3轮:
在第1轮,A执行以下步骤:
在第2轮,B执行以下步骤:
在第3轮,S收到来自A的消息(IDA, CAS, RA, tA)和来自B的消息(IDB, CBS,RB, tB)后,执行以下步骤:
最后,A收到 CSA,检查 R″A与第 1轮的 RA,并计算会话密钥SK。具体过程如下:
类似地,B收到 CSB,检查 R″B与第 2轮的 RB,并计算会话密钥SK。具体过程如下:
3 针对文献[3]协议的攻击
3.1 发起者假冒攻击
任何攻击者都能假冒协议发起者 A与 B进行协议。攻击者X选择rX, wX∈RZq*,并计算:
然后,X使用kXx加密:
并发送(IDA, Request)给 B,发送(IDA,CXS,RX, tX)给 S。
当 B收到 X的请求后,运行协议,并发送(IDB,Response)至 X,发送(IDB,CBS,RB, tB)至 S。
之后S运行协议,发送CSX给X,发送CSB给B。
B收到CSB后,使用kBx作为解密密钥解密CSB,获得(R″B, WX, IDB, tS, IDS)以及会话密钥 SK= wBWX。
同样,X计算会话密钥SK =wXWB。
在攻击过程中,X和S的共享秘密密钥KX=rXsP。因为X知道rX的值和公钥S=sP,所以他能计算共享秘密密钥KX。他在第1轮发送RX=rXP给S,S就可以计算同样的秘密密钥KX=sRX。很明显,S缺乏认证功能,S和B都被X欺骗,认为X就是A。
3.2 响应者假冒攻击
文献[3]的协议受响应者假冒攻击的过程和原因与发起者假冒攻击类似。
3.3 中间人攻击
任何可以实施发起者假冒攻击和响应者假冒攻击的人都可以实现中间人攻击。实施那2种攻击后,用户A、B都被欺骗,A认为他与B协议,B认为他与A协议,事实上它们各自都与X协议。因为X知道2个会话密钥(A与X的会话密钥以及X与B的会话密钥),它可以加密和解密所有A和B之间传输的信息,所以文献[3]的协议不具备认证功能,不能抵抗中间人攻击。
4 文献[3]协议的改进
文献[3]的协议受中间人攻击的原因是任何用户U可以与S共享秘密密钥KU=urUS=usrUP =sRU,S没有检查 U是否知道临时密钥 rU和长期私钥 u。解决此问题,可以使用身份标识符或公私钥对在S和U之间建立认证关系。
在文献[3]协议的基础上,本文利用单向哈希函数把用户的私钥融入到协议中,并加上一些变量 tU、YU,使得每次协议时TU不同。这不仅可以认证用户,而且安全性更高。另外,协议的最后使用了哈希函数,从而使会话密钥更安全,可以抵抗中间人攻击。协议分为2个阶段:第1阶段与文献[3]协议的第1阶段类似;第2阶段细分以下3轮:
在第1轮,A执行以下步骤:
在第2轮,B执行以下步骤:
在第3轮,S收到来自A的(IDA,CAS,YA,RA,TA,tA)和来自B的(IDB,CBS,YB,RB,TB,tB)后,执行以下步骤:
最后,A收到 CSA,解密出 Y″A,检查 Y″A与第 1轮的 YA是否同一点。如果两者相同,那么 A确信 B已被S认证,并计算会话密钥SK。具体过程如下:
类似地,B收到CSB,解密出Y″B,检查Y″B与第2轮的YB是否是同一点。如果两者相同,那么B确信A已被S认证,并计算会话密钥SK。具体过程如下:
5 安全性分析与证明
改进后的协议不仅继承了原协议的安全属性,而且可以抵抗发起者、响应者假冒攻击和中间人攻击。下面给出非形式化分析和形式化证明。
5.1 非形式化分析
假设攻击者X假冒A与B通信。X随机选择rX,wX∈R,并计算:
然后,X用kXx加密:
并发送(IDA,Request)给 B,发送(IDA,CXS,YX,RX,TX,tX)给 S。
B收到来自X的(IDA, Request),运行协议,发送(IDB, Response)至 X,发送(IDB, CBS, YB, RB, TB, tB)至 S。
S收到信息后运行协议,首先验证(tX, tB)是否有效。接着判断:
是否成立,由于不成立,协议停止。原因是X不知道A的私钥a,无法计算WA=aS,从而不能通过服务器的验证。要想通过验证,只有通过P和A求出a,但已知椭圆曲线上2点P、A求出整数a是非常困难的。因此,改进的协议具有认证功能,可以抵抗发起者假冒攻击。
类似地,改进的协议也可以抵抗响应者假冒攻击,原因是X不知道响应者的私钥。
因此,改进的协议可以抵抗发起者和响应者假冒攻击以及中间人攻击。另外,改进的协议还具备了原协议所具有的安全性。例如,假冒者想延时重发TA,其伪造的一个新鲜 tX可以通过 verify(tX,tB),但是 TA与H(tX,sA,YA)不等,能被检验出,因此,协议可以抵抗重放攻击。
5.2 形式化证明
定理 在标准模型下,如果 CDH(Computational Diffie-Hellman)假设[10]成立,那么改进的协议是安全的认证密钥协商协议。
证明:首先,若2个协议参与者都遵循协议规范并未被腐化,攻击者是良性的,那么参与者都能正确地收到对方发来的协议消息,最终参与者接受SK=KAB=KBA。
其次,把攻击者对协议的攻击规约到解决 CDH问题[10]的方法来证明改进协议的安全性。在此采用反证法。假设(k)是不可忽略的,那么可以使用攻击者F构造一个算法E去解决CDH问题,且成功效率是不可忽略的,这一过程如下,其中,(k)是攻击者F在询问多项式次数后的成功优势:
(1)攻击者输入:(Rx,Ry)=(xP,yP)
其中,x,y∈RZq*;P是阶为q的群G1的生成元。
(2)仿真
仿真器可以回答 Execution查询、Send查询、Reveal查询、Corrupt查询、Test查询。另外,允许攻击者F进行Hash查询。
(3)Execution查询:这种查询模仿被动攻击。仿真器任意选择rA∈RZq*,计算:
并发送(IDA,CAS,YA,RA,TA,tA)给 S。
同时,仿真器任意选择rB∈RZq*,计算:
并发送(IDB, CBS,YB,RB,TB,tB)给 S。
类似地,仿真器计算:
并发送CSA给参与者A,发送CSB给参与者B。
(4)Send查询:这种查询模仿主动攻击。
仿真器回答对服务器的Send查询过程如下:
仿真器计算对称密钥(kAx,kBx),加密:
并发送CSA至参与者A,发送CSB至参与者B。
仿真器回答对用户的Send查询的过程如下:
仿真器任意选择rA∈RZq*,计算:
并使用kAx加密:
之后返回(IDA,CAS,YA,RA,TA,tA)。
类似地,仿真器返回(IDB,CBS,YB,RB,TB,tB)。
(5)Reveal查询:这种查询是模仿某个实例中会话密钥的泄漏。查询时,如果会话密钥已被定义,返回SK,否则,报错退出。
(6)Corrupt查询:该查询要求被查询的实例返回它所拥有的长期私钥。
(7)Test查询
仿真器首先通过Reveal查询获得SK,然后协议随机选择一个比特b(1或0)。如果b=1,仿真器返回SK,否则,返回随机值。
(8)Hash查询:该查询用于仿真器保存(SK,Y),返回 Y(rBYA或 rAYB)。
(9)通过算法E输出:
其中,Y是一个计算会话密钥SK=H(Y)的值。
攻击者 F在仿真和真实协议运行中是不可区分的,只要能Hash查询Y,E将成功计算yRX或者xRy,进一步说,E将有一个不可忽略的概率:
所以,改进的协议是安全的。
6 结束语
本文提出了一种新的三方认证密钥协商协议,通过新增的哈希函数来实现用户的认证。随后,给出了非形式化分析与形式化证明,新协议不仅具有原协议的安全性,而且可以抵抗假冒攻击和中间人攻击。如何在安全假设和安全目标不变的情况下,提出效率更高的三方认证密钥协商协议是下一步值得研究的问题。
[1]邱卫东, 黄 征, 李祥学, 等.密码协议基础[M].北京:高等教育出版社, 2009.
[2]Yang Jen-Ho, Chang Chin-Chen.An Efficient Three-party Authenticated Key Exchange Protocol Using Elliptic Curve Cryptography for Mobile-commerce Environments[J].The Journal of Systems and Software, 2009, 82(9):1497-1502.
[3]Tan Zuowen.An Enhanced Three-party Authentication Key Exchange Protocol for Mobile Commerce Environments[J].Journal of Communications, 2010, 5(5):436-443.
[4]Nose P.Security Weaknesses of Authenticated Key Agreement Protocols[J].Information Processing Letters,2011, 111(14): 687-696.
[5]Tan Zuowen.An Improvement on A Three-party Authentication Key Exchange Protocol Using Elliptic Curve Cryptography[J]. Journal of Convergence Information Technology, 2010, 5(4): 120-121.
[6]陈建熊, 孙乐昌.认证测试对分析重放攻击的缺陷[J].计算机应用研究, 2009, 26(2): 739-741.
[7]Zhao Jianjie, Gu Dawu.Provably Secure Three-party Password-based Authenticated Key Exchange Protocol[J].Information Sciences, 2012, 184(1): 310-323.
[8]隋爱芬, 杨义先, 钮心忻, 等.基于椭圆曲线密码的可认证密钥协商协议的研究[J].北京邮电大学学报, 2004,27(3): 28-32.
[9]Chang Tingyi, Hwang Min-Shiang, Yang Weipang.A Communication-efficient Three-party Password Authenticated Key Exchange Protocol[J].Information Sciences,2011, 181(1): 217-226.
[10]Tan Zuowen.Efficient Identity-based Authenticated Multiple Key Exchange Protocol[J].Computers and Electrical Engineering, 2011, 37(2): 191-198.