一种基于口令的三方密钥交换方法

文档序号:7760107阅读:434来源:国知局
专利名称:一种基于口令的三方密钥交换方法
技术领域
本发明涉及通信安全领域,具体涉及一种基于口令的三方密钥交换协议。
背景技术
当通信双方需要在公开信道上安全通信时,为了保证通信内容的保密性,他们需 要在通信前协商一个会话密钥来对将要传输的数据进行加密。由于基于口令的密钥交换协 议只需要通信双方共享一个简单易记的口令,因此这种协议得到了更广泛的应用。但是由 于口令的低熵性,使得这种协议更容易字典攻击。字典攻击可分为以下三类1.在线可检测字典攻击攻击者尝试猜测客户的口令并进行在线通信来验证他 猜测的口令的正确性,一旦攻击者口令猜测失败很容易被发现。2.在线不可检测字典攻击攻击者尝试猜测客户的口令并进行在线通信来验证 他猜测的口令的正确性,攻击者口令猜测失败也不会被发现。因此这种情况下攻击者可以 实施多次的猜测攻击。3.离线字典攻击攻击者猜测客户的口令并在离线的情况下验证猜测口令的正 确性。安全的基于口令的密钥交换协议应该能有效的抵御在线不可检测字典攻击和离 线字典攻击。1992年,发明人Bellovin和Merritt首先提出了一个基于口令的双方密钥交换 (2PAKE)协议,通过通信双方共享的口令,该协议成功实现了通信双方的相互认证和密钥交 换。此后,人们又提出了大量的2PAKE。但是由于双方的密钥交换协议适合“客户一服务器”模式的系统,却不适合于像 P2P这样有大量客户需要互相通信的系统。1995年,发明人Steiner提出了一个基于口令 的三方密钥交换(3PAKE)协议,但是工程技术人员Ding和Horster指出该协议不能抵御在 线不可检测字典攻击,同时工程技术人员Lin指出该协议同样不能抵御离线字典攻击,并 提出了一个基于公钥技术的改进协议。2001年,发明人Lin提出了一个新的不需要公钥技 术的3PAKE协议,但是该协议要比他前面提出的基于公钥的改进协议多执行两轮。2003年 发明人Sim提出了一个新的3PAKE,但工程技术人员Nam很快指出该协议容易遭受中间人 攻击。2004年,发明人Lee提出了一个新的3PAKE协议并声称该协议能抵御各种攻击,并 提供完美的前向安全性。2007年,发明人Lu和Cao基于CCDH假设提出了一个简单高效的 3PAKE协议,并声称该协议能抵御各种攻击。但随后人们分析发现该协议不能抵御中间人攻 击,在线不可检测字典攻击,冒充攻击,以及离线字典攻击。

发明内容
本发明所要解决的问题是如何提供一种基于口令的三方密钥交换建立方法,这 种新3PAKE协议能够抵御现有的各种攻击,并在交换轮数和通信时间上同现有的协议相比 有所改进。
本发明所提出的技术问题是这样解决的提供一种基于口令的三方密钥交换方 法,其特征在于,包括以下步骤S验证A发送的Vas 若h (gax,A, B, S)与^u(G)的后半部分相等,且S验证B发送 的 Vbs 若 h(gbx,Α, B, S)与^^的后半部分相等,h(gax,Α, B, S)和 h(gby,A, B, S)中 gx, gy分别采用‘U和 U的前半部分,则将Vsa发送给A、Vsb发送给B ;A验证S发送的Vsa 若。《(乙)包含gx,且B验证S发送的Vsa 若^V(G)包含gy,则 A,B分别计算共同建立双方统一的会话钥匙gxy = (gy)x = (gx)y ;其中A、B是会话双方,S是第三方服务器;V4s =EpwaW,h(g A’B,S)), Vbs =Epwa^MgbyMS)) ,^A=EgMjWAB) ’Vsb =£g“g',gy’B,A),函数 EK(M)是表示用密 钥K对M进行对称加密,pwA是A与S共享的口令,pwB是B与S共享的口令,Zp是模ρ剩余 类集合,8是Zp的生成元,ρ是一个大素数,函数h()是一个{0,1}* —Zlri的哈希函数;函 数Dk(M)是表示用密钥K对M进行对称解密;算式η e EZ;是表示η从模ρ乘法群中随机 选取,a,b e EZ;是S产生的随机数,χ e EZ;是A产生的随机数,y e EZ;是B产生的随机 数。按照本发明所提供的三方密钥交换方法,其特征在于,还包括S产生随机数a计算A发送给A,并产生随机数b计算& =^8(g4)发送给 B ;A收到Sa、产生随机数χ再计算并发送Vas,B收到Sb、产生随机数y再计算并发送
Vbs ο按照本发明所提供的三方密钥交换建立方法,其特征在于,S这样获取A和B,包括 以下四种方式(一)A发送 A和 B给 S;(二)B 发送 A和 B给 S;(三)A发送B给S,S识别发送方A;(四)B发送A给S,S识别发送方B。本发明有益效果在于以Sim的协议和Lee的协议为基础,提出一个新的3PAKE协 议,该协议不仅能有效的抵御各种攻击,提供完美的前向安全性,而且在交换轮数和通信时 间上都有所改进。较现有技术主要具有以下特征1.实现了每个客户A,B与第三方服务器 S的相互认证;2.该协议能够抵御现有的各种攻击;3.该协议在交换轮数和通信时间上同 现有的协议相比有所改进。


图1是本发明基于口令的三方密钥交换方法流程示意图。
具体实施例方式下面,结合附图对本发明方法进行详细说明,其中采用符号A,B代表协议中需要协商密钥的两个客户S代表可信第三方服务器pwA表示A与S共享的口令
pwB表示B与S共享的口令Zp表示模ρ剩余类集合a e RZp*表示a从模ρ乘法群中随机选取(G,g,ρ)表示有限循环群G,g为Zp的生成元,ρ是一个大素数h()是一个{0,1}*-Zp^1的哈希函数Ek (M),Dk (M)分别表示用密钥K对M进行对称加密和对称解密为了简便起见,在协议描述中省略了 “mod ρ”本发明基于口令的三方密钥交换方法以Sun和Lee的3PAKE协议为基础,并结合 对称加密,提出了一个新的三方密钥交换协议。协议开始前A,B分别和S共享口令pwA,pwBO 新协议的具体步骤如图1所示,包括以下步骤101) A发送A,B给S,表明A想通过S与B协商一个会话密钥。102) S 收到 A,B 后,首先 S 产生随机数 a,b e EZ;,计算& = Epw^ga) ,Sb = E^ig"),
然后将SA,Sb分别发送给A,B。103) A,B分别收到SA, Sb后,利用自己的口令pwA, pwB解密Sa,Sb得到g" =A^(A), g4=U&)。然后A,B分别产生随机数X,y e EZ;,并计算&二五^VAga^,尾幻), Ks = Epw^Mgb", A,B,S))。最后分别将 Vas,Vbs 发送给S。104) S收到A,B发送的Vas,Vbs后,分别计算^JG),得到解密后的前半 部分gx,gy,然后利用自己保存的a, b计算h(gax,Α, B, S),h(gby,A, B, S),并验证是否与解 密后的后半部分相等,若相等,S分别计算& =V W 乂灼& =^WA々。然后分别 将Vsa,Vsb发送给A,B。105)A,B收到Vsa,Vsb后,分别利用保存Wgax,gby对它们解密,计算
A验证解密后的消息中是否含有gx,B验证解密后的消息中是否含有gy。若验证都含有,则 A, B 计算 Kab = (gy)x,Kab = (gx)y。A, B 双方的会话密钥 K = Kab = Kba = gxy。进一步,对本发明方法进行安全和效率分析(一 )安全性分析假设攻击者具有窃听,重放,冒充,伪造等手段对协议进行攻击。我们从现有的协 议常遭受的几种攻击来分析新协议的安全性。(1)假设攻击者截获了 A,B, SA, Sb, Vas,Vbs,Vsa,Vsb,除了身份外其他消息都进行了 对称加密,攻击者无法在不知道密钥的情况下得到任何其他有用的信息。(2)假设攻击者试图冒充A,B,但是在协议执行第二步中S用pwA,pwB分别加密了 g% gb产生了 SA,Sb,攻击者在不知道口令的情况下无法对SA,Sb解密,所以无法得到g% gb, 所以攻击者无法产生用于冒充的消息Vas,VBS。(3)假设攻击者试图冒充S,但是在协议执行第三步中A,B分别用pwA,pwB分别加 密了 gx,gy产生了 Sas,Sbs,攻击者在不知道口令的情况下无法对Vas,Vbs解密,所以无法得到 gx,gy,所以攻击者无法产生用于冒充的消息Vsa,Vsbo(4)假设攻击者试图进行在线不可检测猜测攻击,攻击者可以选择可能的口令 PW‘ A, pw' B,但是A,B能在验证Vsa,Vsb时发现这种口令猜测攻击,S能在验证Vas,Vbs时 发现这种口令猜测攻击。
(5)假设攻击者得到了 口令pwA或pwB,攻击者无法计算出以前的会话密钥K,因为 攻击者想要得到以前的会话密钥就必须解一个离散对数问题,而这个问题是现在公认的难 解问题。所以该协议具有完美的前向安全性。( 二 )效率分析与Sim协议和Lee协议进行效率对比,对比结果如表1。对比内容包括随机数个 数,指数运算次数,非对称加密/解密次数,交换轮数和执行时间。因为对称加密和哈希函 数的计算量很小,相较于非对称加密/解密和指数运算可以忽略不计,所以我们这里也不 做考虑。通常我们认为非对称加密/解密和指数运算的计算量相当,通过对它们的对比可 以看出新协议的计算量与Lee协议和Sim协议相当,但随机数个数少于Sim协议。在新协 议中SA,SB, g\ gy可以预先计算出(其他两个协议也做同样考虑),所以在执行新协议时只 需要3次指数运算(用3E表示,E表示非对称加密/解密次数和指数运算次数)的时间就 能完成,优于Sim协议和Lee协议。并且新协议只需要执行4次信息交换,在交换轮数上要 优于Sun协议和Lee协议。
协议
Sun协议
Lee协议
新协议
权利要求
一种基于口令的三方密钥交换方法,其特征在于,包括以下步骤S验证A发送的VAS若h(gax,A,B,S)与的后半部分相等,且S验证B发送的VBS若h(gbx,A,B,S)与的后半部分相等,h(gax,A,B,S)中gx采用前半部分,h(gby,A,B,S)中gy采用的前半部分,则将VSA发送给A、VSB发送给B;A验证S发送的VSA若包含gx,且B验证S发送的VSA若包含gy,则A,B分别计算共同建立双方统一的会话钥匙gxy=(gy)x=(gx)y;其中A、B是会话双方,S是第三方服务器;函数EK(M)是表示用密钥K对M进行对称加密,pwA是A与S共享的口令,pwB是B与S共享的口令,Zp是模p剩余类集合,g是Zp的生成元,p是一个大素数,函数h()是一个{0,1}*→Zp 1的哈希函数;函数DK(M)是表示用密钥K对M进行对称解密;算式n∈RZp*是表示n从模p乘法群中随机选取,a,b∈RZp*是S产生的随机数,x∈RZp*是A产生的随机数,y∈RZp*是B产生的随机数。FSA00000275867300011.tif,FSA00000275867300012.tif,FSA00000275867300013.tif,FSA00000275867300014.tif,FSA00000275867300015.tif,FSA00000275867300016.tif,FSA00000275867300017.tif,FSA00000275867300018.tif,FSA00000275867300019.tif,FSA000002758673000110.tif
2.根据权利要求1所述的密钥交换方法,其特征在于,还包括S产生随机数a计算& = Epwa 发送给A,并产生随机数b计算& = ^8(Z)发送给B ;A收到Sa、产生随机数χ再计算并发送Vas,B收到Sb、产生随机数y再计算并发送VBS。
3.根据权利要求1或2所述的密钥交换方法,其特征在于,还包括A发送A和B给S, 或者B发送A和B给S。
4.根据权利要求1或2所述的密钥交换方法,其特征在于,还包括A发送B给S,或者 B发送A给S。
全文摘要
本发明公开了一种基于口令的三方密钥交换方法,包括S验证A发送的VAS若h(gax,A,B,S)与的后半部分相等,且S验证B发送的VBS若h(gby,A,B,S)与的后半部分相等,h(gax,A,B,S)和h(gby,A,B,S)中gx,gy分别采用和的前半部分,则将VSA发送给A、VSB发送给B;A验证S发送的VSA若包含gx,且B验证S发送的VSA若包含gy,则A,B分别计算共同建立双方统一的会话钥匙gxy。这种密钥交换方法不仅能有效的抵御各种攻击,提供完美的前向安全性,而且在交换轮数和通信时间上都有所改进。
文档编号H04L29/06GK101938491SQ20101028622
公开日2011年1月5日 申请日期2010年9月19日 优先权日2010年9月19日
发明者何小虎, 许春香 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1