APP下载

基于椭圆曲线的跨域端到端口令认证密钥协商协议

2012-08-07张晓敏

网络安全技术与应用 2012年8期
关键词:跨域会话口令

张晓敏

陕西省行政学院 陕西 710068

0 前言

伴随着自组织网络、移动网络和普适计算等现代通信环境的快速发展,在跨域的环境下构造安全的端到端信道成为必然。跨域认证密钥协商协议主要是解决此类问题的,为处于不同域中的用户建立安全信道。口令因其容易记忆,易于选取,节省存储空间,适合实际应用等特点成为最简单的认证方法。跨域的端到端的口令认证密钥协商协议(C2C-PAKA)的主要目的是使分布在不同域中持有不同口令的两个客户端可以在各自服务器的协助下实现相互认证并协商出共同的会话密钥。

2002 年,Byun等人提出了第一个跨域的端到端的认证密钥协商协议。然而,文献[2]指出该协议不能抵抗字典攻击。随后,对此协议的其它类型的攻击或效率改进以及协议的变形在文献[3-6]中被相继提出。但是,这些协议的变形都仅提供了启发式的安全分析。在文献[7]中,Byun等人首次提出了跨域的端到端的口令认证密钥协商协议的形式化证明方法并给出了一个具有安全性证明的协议。其后,王等人指出如果服务器之间共享的密钥泄露,文献[7]中的协议易遭受口令泄露模仿攻击和中间人攻击。在文献[9]中,Phan等人展示了如何对文献[7]的协议进行在线不可测字典攻击。此外,文献[10]指出Byun等人的安全模型中的缺点并在改进后的模型中证明了一个新的跨域的端到端认证的密钥协商协议的安全性。然而,文献[10]存在使用计算负载高的公钥加密、协议的轮数没有达到最优并且改进的安全模型刻画的安全性质较少等问题。

以上的方案中用户从对应服务器获得认证所需信息,而后直接通信以建立会话密钥,这种方式称为直接通信架构。此外,用户还可以采用间接通信架构,通过相应的服务器来建立会话密钥,这样就减少了用户交互轮数。在文献[11]中,Ota等人采用了间接通信架构提出可普遍组合的C2C-PAKA方案,但需要的轮数较多。文献[12-13]提出了采用间接通信架构的跨域认证方案。但是在这两种方案中,用户和服务器之间共享的秘密信息仅有口令,因此,方案难以抵御密钥泄露模仿攻击和不可测在线字典攻击等复杂攻击。吴等人采用公钥加密技术提出了一种认证方案,可以抵御不可测在线字典攻击、未知密钥共享攻击和密钥泄露模仿攻击等,并且轮效率较高。Yoneyama等人引入服务器的公私钥对抵抗此类攻击。 但是,这两个方案采用模幂运算或对运算等复杂运算,通信代价和计算代价都偏高,不易于实现。

本文中,我们基于椭圆曲线上的离散对数问题,在直接通信架构下给出一个跨域的口令认证的密钥协商协议。该协议中,诚实的服务器是不能获取任何关于会话密钥的值。域内服务器通过口令实现和用户的相互认证,不同域的服务器之间通过公私钥对实现对对方的认证,而用户之间借助于各自域中的服务器的协助实现相互认证。与同类协议比较,该协议具有较小的通信负担和计算负担,更易于实现。此外,协议还能够抵抗字典攻击、口令泄露模仿攻击和未知会话密钥共享攻击等通用攻击类型,同时能够实现前向安全、无密钥控制和已知会话密钥安全等安全属性。

1 预备知识

p是有限域Fp的元素个数,其中p是大素数(长度大于160,或p=2m,m为正整数) 。定义Fp上的椭圆曲线E:y2=x3+ax+b ,当p>3;或y2+xy=x3+ax2+b,当p=2。P是E(Fp)中阶为q的一个基点,q为大素数。

1.1 椭圆曲线上离散对数问题(DLP)

G是由点P生成的循环加群,给定Q,找到正整数n,使得Q=nP。

1.2 椭圆曲线Diffie-Hellman 密钥交换协议(ECDH)

A选择随机数a∈Fq并计算PA=aP发送给B;B选择随机数b∈Fq并计算PB=bP发送给A。A和B分别计算aPB,bPA从而得到共同的会话密钥K=(ab)P。

2 协议描述

2.1 公开参数

P是q阶循环加群G的生成元, H:{0,1}*→{0,1}l是哈希函数;A,B是用户,pwA,pwB是用户相应的口令;VA和VB分别是用户A和B分别与对应的服务器SA和SB共享的信息。此外,服务器SA和SB分别持有公私钥对(PrSA,PKSA)和(PrSB,PKSB)。

2.2 初始化过程

本部分中,我们将给出一个安全高效的C2C-PAKA协议NC2C-PAKA。该协议中有四个参与方,分别为A,SA,B和SB,其中A和B分别处于SA和SB的域中。

初始化阶段:客户端A、B和相应的服务器共享利用算法gpw获取的口令pw,SA和SB分别存储A、B的验证元:VA=H(IDSA,IDA,pwA)P ,VB=H(IDSB,IDB,pwB)P 。此外,初始化阶段还定义了一系列的密码学函数和参数,例如Hash函数等。

算法gpw口令生成算法:从口令字典中随机选取口令pw给客户端。

算法ℜ注册算法:客户端将其口令pw与其服务器共享,服务器同时将其选取的公开参数发送给客户端。

协议描述 NC2C-PAKA协议的具体描述见下文,协议运行的一个实例如图1所示。

(1) A选取随机值rA∈Zq*,计算TA=rAPKSA+H(IDA,pwA)P 和RA=rAP。随后,A利用TA加密消息{IDA,IDB,IDSA,IDSB,RA},然后将加密结果和RA一起发送给SA。

(2) 收到消息后,SA先利用RA计算TA′=PrSARA+VA,然后用TA′解密收到的消息,将解密后的消息和接收到的消息进行对比。如果各项数值不一致,则协议终止。如果验证成功,SA选取sA∈Zq*,计算,然后利用KAB加密消息{IDA,IDB,IDSA,IDSB,R*A} ,并将加密结果发送至SB。

(3) 与此同时,B和SB同样执行步骤(1)(2)中相应的操作。

(4) SA收到加密消息{IDB,IDA,IDSB,IDSA,RB*}后,用KAB解密消息,对比各参与方的身份信息。如果验证没有通过,协议中止。否则,SA计算,然后将消息发送给A。

(5) 同时,SB将会收到加密消息{IDA,IDB,IDSA,IDSB,R*A},用KAB解密消息,对比各参与方的身份信息。如果验证没有

通过,协议终止。否则,SB计算,然后将消息发送给B。

(6) A收到SA的消息后,利用接收到的计算并验证α′=?α。如果验证失败,则协议终止。否则,A按如下方式计算最终的会话密钥:

(7) B执行和A在第五步中类似的操作,通过验证收到的消息β来验证的合法性。如果验证通过,则按如下方式计算和A的共同会话密钥:

正确性:如下所述,诚实执行协议后,各用户能够计算获得相同的会话密钥。

图1 NC2C-PAKA协议运行实例

3 效率和安全性分析

3.1 效率分析

我们分析协议的通信、计算和轮复杂度以及存储开销和实现成本。我们的协议中,用户A和服务器SA与用户B和服务器SB各自之间的交互是同步进行的。此外,服务器SA和SB之间的信息传递也是并行的。因此,我们减少了通信步骤,降低了通信代价。与同类协议比较,我们的协议避免了消耗较高的模幂运算和对运算。具体比较结果如表1所示。为了比较计算复杂度,我们使用了下列符号表示消耗的时间以及采用如下对比关系: TS表示一次对称加密所需时间;TPa表示一次对运算所需时间;TMul表示一次点乘运算所需时间;TExp表示一次模幂运算所需时间,并且1TExp≃240TMul;TEC Mul表示一次椭圆曲线上的点乘运算所需的时间,1TECMul≃29TMul;由于哈希运算所需时间较少,在此我们将其忽略。

表1 效率比较

3.2 安全性分析

(1) 抵抗字典攻击。首先,在离线字典攻击中,攻击者利用其截获的信息验证猜测的口令是否正确。该协议中,以用户A为例,协议中传递的信息与口令相关的仅有以TA′作为部分输入的和以TA加密的消息{IDA,IDB,IDSA,IDSB,RA}。攻击者在各轮中通信中截获这些信息,由于TA′=PrSARA+VA和TA=rAPKSA+H(IDA,pwA)P,这里,PrSA是服务器SA的私钥,rA是用户选取的随机数,公开信道上传递是其椭圆曲线上的离散对数形式RA。因此,敌手没有足够的信息来验证其猜测的口令是否正确。离线字典攻击可以避免。其次,本协议可以抵抗在线字典攻击,因为服务器A在解密消息后需要验证被加密的信息是否和自己掌握的信息一致,以此来确定用户是否真正知道口令。一旦验证失败,服务器就会意识到是谁的口令已经作为在线字典攻击的目标了。如果失败的次数超过预定的门限值,服务器A就会通知该用户停止使用该口令并启用新的口令。

(2) 抵抗口令泄露模仿攻击。口令泄露模仿攻击是指如果一个用户的口令泄露,敌手可以伪装成其它用户来和该用户进行交互协商会话密钥,以达到其攻击目的。本协议中,假设用户A(B)的口令泄露,敌手可以利用该口令计算口令信息VA=H(IDSA,IDA,pwA)P 或 (VB=H(IDSB,IDB,pwB)P ),但敌手仍然无法获取服务器SA(SB)的私钥信息PrSA(PrSB)。因此,敌手仍然不能计算有效的验证信息α(β),也就是说,敌手不能成功伪装为服务器与用户进行交互。我们的协议能够抵抗口令泄露模仿攻击。

(3) 抵抗未知会话密钥共享攻击。未知会话密钥共享攻击是指敌手致使用户A认为自己与用户B共享了一个会话密钥,实际上这个会话密钥是用户A和敌手共享的。产生此类攻击的根本原因是协议执行时用户身份信息被替换,同时其它参与方没有发现。我们的协议中, 协议所有参与方的身份信息均和协议运行的其它信息一起经过只有通信双方才能产生的密钥加密传递的,接收方可以验证发送方的消息是否被篡改。因此,我们的协议从根本上避免了此类问题的发生,协议能够抵抗未知会话密钥共享攻击。

(4) 前向安全性。由于最终的会话密钥是由随机数构成的,而随机数是由各参与方随机选取的,在协议交互过程中,传递的信息是随机数所对应的离散对数形式。由于离散对数问题的困难性,攻击者即使获得用户与服务器的长期密钥,仍然无法获得随机数,因此不能计算出会话密钥。所以协议提供前向安全性。

(5) 无密钥控制。协议使用Diffie-Hellman密钥交换协议的思想协商会话密钥,此外rA是由用户A随机选取的,sA是由服务器SA随机选取的,rB是由用户B随机选取的,sB是由服务器SB随机选取的。因此,任何一方不能单独控制会话密钥的选择,达到了协议无密钥控制的目的。

(6) 已知会话密钥安全。攻击者攻破一次通信的会话密钥,无助于攻破另一次通信的会话密钥。这是因为通信双方最终得到的会话密钥是由随机数构成,由于两次通信使用的是不同的随机数,这种随机数的不相关性使得攻击者即使攻破了一个会话密钥也无法利用该信息攻破另一次通信的会话密钥,以此实现已知密钥安全。

[1] Byun J.,Jeong I.,Lee D.,et al.Springer Berlin/Heidelberg.2002.

[2] Chen L. A weakness of the password-authenticated key agreement between clients with different passwords scheme.ISO/IEC JTC 1/SC27 N3716.

[3] Kim J.,Kim S.,Kwak J. et al.Springer Berlin/Heidelberg.2004.

[4] Byun J.W.,Jeong I.R., Lee D.H.,et al.assword-Authenticated Key Exchange between Clients with Different Passwords.In Proceedings of Proceedings of the 4th International Conference on Information and Communications Security.2002.

[5] Phan R.,Goi B.M.Springer Berlin/Heidelberg.2005.

[6] Wang S.,Wang J.,Xu M.Springer Berlin/Heide lberg. 2004.

[7] Byun J.W.,Lee D.H.,Lim J.I.EC2C-PAKA:An efficient client-to-client password-authenticated key agreement[J].Information Science.2007.

[8] J. Wang, Y.Z.Cryptanalysis of a client-to-client password--authenticated key agreement protocol.2008.

[9] Phan R., Goi B.M.Springer Berlin/Heidelberg.2006.

[10] Feng D.G.,Xu J.Springer Berlin/Heidelberg.2009.

[11] Ota,.,Yoneyama,K.,Kiyomoto,S.,Tanak,T.,Ohta,K.Universal ly Compos-able Client-to-Client General Authenticated Key Exchange[J]. IPSJ Journal.2007.

[12] Yin,Y.,Bao, L.Secure Cross-Realm C2C-PAKE Protocol.In:Batten,L.M.,Safavi-Naini,R.(eds.) ACISP 2006.LNCS,4058,Springer,Heidelberg (2006).

[13] Wang,F.,Zhang,Y.A New Security Model for Cross-Realm C2C-PAKE Protocol.In: Cryptology ePrint Archive:2007/342(2007).

[14] Wu, S.,Zhu, Y.Password-Authenticated Key Exchange between Clients in a Cross-Realm Setting.In: Cao,J.,Li,M.,Wu,M.-Y.,Chen, J.(eds.) NPC 2008. LNCS,vol.5245, pp. 94-104.Springer, Heidelberg (2008).

[15] Kazuki Yoneyama, Haruki Ota, Kazuo Ohta. Secure cross-realm client-to-client password-based authenticated key exchange against undetectable on-line dictionary attacks.Proceedings of the 17th international conference on Applied algebra, algebraic algorithms and error-correcting codes,Bangalore, India, 257-266, Springer-Verlag(2007).

猜你喜欢

跨域会话口令
跨域异构体系对抗联合仿真试验平台
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
G-SRv6 Policy在跨域端到端组网中的应用
QQ和微信会话话轮及话轮转换特点浅析
高矮胖瘦
口 令
好玩的“反口令”游戏
基于集群节点间即时拷贝的会话同步技术研究①
汉语教材中的会话结构特征及其语用功能呈现——基于85个会话片段的个案研究