CN101702645B - 一种三方口令认证密钥交换方法 - Google Patents

一种三方口令认证密钥交换方法 Download PDF

Info

Publication number
CN101702645B
CN101702645B CN2009102465356A CN200910246535A CN101702645B CN 101702645 B CN101702645 B CN 101702645B CN 2009102465356 A CN2009102465356 A CN 2009102465356A CN 200910246535 A CN200910246535 A CN 200910246535A CN 101702645 B CN101702645 B CN 101702645B
Authority
CN
China
Prior art keywords
subscriber equipment
server
diffie
information
hellman key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009102465356A
Other languages
English (en)
Other versions
CN101702645A (zh
Inventor
马传贵
魏福山
张汝云
程庆丰
彭建华
季新生
许明艳
江涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN2009102465356A priority Critical patent/CN101702645B/zh
Publication of CN101702645A publication Critical patent/CN101702645A/zh
Application granted granted Critical
Publication of CN101702645B publication Critical patent/CN101702645B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种三方口令认证密钥交换方法,包括:用户设备A和用户设备B分别计算并发送请求通信的信息、第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息;服务器S验证所述的验证信息,如果验证成功,服务器S分别计算用户设备A和用户设备B的第二Diffie-Hellman密钥成分信息,并发送给对端用户,服务器S计算并发送向用户设备A和用户设备B证明服务器S自身合法身份的验证信息;用户设备A和用户设备B分别验证所述的证明服务器S自身合法身份的验证信息,如果通过验证,用户设备A和用户设备B分别计算产生会话密钥。

Description

一种三方口令认证密钥交换方法
技术领域
本发明涉及通信技术领域,特别是涉及一种三方口令认证密钥交换方法。
背景技术
随着互联网络技术的发展和普及,网络已经成为一种主要的通信手段。由于互联网的开放性,不仅普通合法用户可以通过网络办理业务,恶意用户也可以通过网络进行窃听、冒充、篡改等各种攻击,给合法用户的业务安全性带来了很大的威胁。为了保护合法用户的重要业务得以安全进行,需要采用密钥建立技术来建立一个安全的信道以保护用户数据的保密性和完整性。
密钥交换协议是一种密钥建立技术,其中两个或多个参与方共同提供信息,推导出一个任何一方不能预先确定结果的会话密钥。密钥交换协议可以分为两类:第一类是基于公钥的密钥交换协议,通过使用用户公钥和私钥对消息进行加密和签名来保证传输数据的保密性和数据完整性。虽然基于公钥的密钥交换协议具有较高的安全强度,但是这种方法计算复杂度较高,并且密钥长度可能在几百比特到几千比特之间,这么长的密钥人脑无法准确记忆。为此,希望仅依据一个可以被人们记得住的共享口令就能够建立安全信道,即第二类密钥交换协议:基于口令的认证密钥交换协议。由于基于口令的认证密钥交换协议使用人们易记的口令进行认证和建立会话密钥,不需要携带诸如智能卡等储存设备就可以建立安全通信,因此具有很大的应用需求。
目前,基于口令认证密钥交换协议的研究集中在两方的应用场合,即“用户-服务器”模式,并且已经取得了不少很好的成果。但是如果网络规模比较大,那么使用两方的口令认证密钥交换协议就需要任意两个用户之间共享口令,导致同一个用户需要记忆多个口令。三方的口令认证密钥交换协议只需要每个用户与可信服务器共享口令,在服务器的协助下可以与任何处于同一服务域的用户建立会话密钥,更符合实际的应用需求。但是研究三方或者三方以上情形的成果较少,目前的结果还不够完善。
2005年,提出了通过两方的口令认证密钥交换协议构造三方口令认证密钥交换协议的一个通用构造方法,但是,发现该通用结构不能抵抗不可检测在线字典攻击,在2005年,又提出了一个高效的三方口令认证密钥交换协议,该协议仅仅通过口令来建立会话密钥,因此易受口令泄露伪装攻击,即用户的口令泄露,敌手不仅可以伪装成该用户,还可以反向伪装成服务器来欺骗该用户。
通过对现有技术的研究,发明人发现:现有的三方口令认证密钥交换协议,不能抵抗不可检测在线字典攻击和口令泄露伪装攻击,使通信的安全性无法得到保障,给用户带来很大的损失,除此之外,现有技术的通信效率较低。
发明内容
为解决上述技术问题,本发明实施例提供了一种三方口令认证密钥交换方法,以实现安全通信的目的,技术方案如下:
一种三方口令认证密钥交换方法,包括以下步骤:
1)用户设备A和用户设备B分别计算请求通信的信息、掩码后的第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息;
2)用户设备A和用户设备B分别向所述服务器S发送所述请求通信的信息、掩码后的第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息;
3)服务器S分别验证所述用户设备A和用户设备B发送的证明自身合法身份的验证信息,如果通过验证,服务器S利用所述掩码后的第一Diffie-Hellman密钥成分信息分别计算得出用户设备A和用户设备B的第二Diffie-Hellman密钥成分信息,并发送给对端用户,分别计算并发送向用户设备A和用户设备B证明服务器S自身合法身份的验证信息和会话的标识ID;
4)用户设备A和用户设备B分别验证所述的证明服务器S自身合法身份的验证信息,如果都通过验证,用户设备A和用户设备B分别计算产生会话密钥;
所述步骤1),包括:
11)用户设备A和用户设备B分别随机选择参数x和y,利用参数x和y,分别计算得出用户设备A和用户设备B的第一Diffie-Hellman密钥成分X和Y;
其中,X=xP,Y=yP,x∈Zq *,y∈Zq *
Figure GDA0000081803400000021
Zq是整数模q的一个剩余类群,P是G1的生成元,G1表示椭圆曲线上阶为大素数q的加法循环群;
12)用户设备A和用户设备B分别利用与服务器S共享的口令pwA和pwB,通过哈希函数对所述第一Diffie-Hellman密钥成分X和Y进行掩码计算,得出用户设备A的掩码后的第一Diffie-Hellman密钥成分X*,和用户设备B的掩码后的第一Diffie-Hellman密钥成分Y*
其中,X*=X+δ(pwA)Q,Y*=Y+δ(pwB)Q,δ是
Figure GDA0000081803400000022
的哈希函数,
Figure GDA0000081803400000023
Zq是整数模q的一个剩余类群,Q是G1的生成元,G1表示椭圆曲线上阶为大素数q的加法循环群;
13)用户设备A和用户设备B分别利用提前获得的服务器S的公钥Ps以及所述第一Diffie-Hellman密钥成分X和Y,并通过利用双线性对和哈希函数运算分别计算得出用户设备A的第一秘密值ZA和请求通信的信息IDAS、用户设备B的第一秘密值ZB和请求通信的信息IDBS
其中,ZA=e(xPs,H(IDAS,X)),IDAS=(A,B,S),IDAS是将用户设备A、用户设备B和服务器S的身份信息经过一定编码组合起来得到的一个整体信息,
ZB=e(yPs,H(IDBS,Y)),IDBS=(B,A,S),IDBS是将用户设备B、用户设备A以及服务器S的身份信息经过一定编码组合起来得到一个整体信息,
Ps=sP,H是{0,1}*→G1的哈希函数,e是G1×G1→G2的双线性对,G1表示椭圆曲线上阶为大素数q的加法循环群,G2表示阶为大素数q的乘法循环群,P是G1的生成元;
14)用户设备A和用户设备B分别利用所述请求通信的信息、掩码后的第一Diffie-Hellman密钥成分和第一秘密值,计算得出用户A向服务器S证明其合法身份的验证信息AuthA,和用户设备B向服务器S证明其合法身份的验证信息AuthB
其中,AuthA=H2(IDAS,X*,ZA),AuthB=H2(IDBS,Y*,ZB),
Hi
Figure GDA0000081803400000031
(i=1,2)的哈希函数,其中li(i=1,2)是哈希函数的安全参数。
优选地,在用户设备A和用户设备B分别向服务器S发送信息之前,还包括:
用户设备A向服务器S发送请求与用户设备B通信的随机信息;
服务器S将所述请求与用户设备B通信的随机信息发送给用户设备B。
通过应用以上技术方案,对用户和服务器之间交互的每条信息都增加验证信息,用户和服务器之间进行双向认证。进一步的,还可以利用双线性对加强用户和服务器之间的认证,同时利用了哈希函数难解性,实现了可以抵抗不可检测在线字典攻击和口令泄露伪装攻击,达到了安全通信的目的,除此之外,上述技术方案只需要两轮的信息交互,提高了通信效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例三方口令认证密钥交换方法的流程示意图;
图2为本发明实施例中服务器S对用户设备A和用户设备B的验证信息进行验证和相应计算的流程示意图;
图3为本发明优选实施例三方口令认证密钥交换方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了描述方便,首先对本说明书中所涉及的一些参数进行说明:
S表示服务器S的身份信息,A和B分别表示用户设备A和用户设备B的身份信息;pwA表示用户A和服务器S之间共享的口令,pwB表示用户B和服务器S之间共享的口令;S、A、B、pwA和pwB均已转化为数值形式的信息;G1表示椭圆曲线上阶为大素数q的加法循环群,P和Q是G1的生成元;G2表示阶为大素数q的乘法循环群;e是G1×G1→G2的双线性对;Hi
Figure GDA0000081803400000041
(i=1,2)的哈希函数,其中li(i=1,2)是哈希函数的安全参数,一般为160比特;H是{0,1}*→G1的哈希函数,δ是
Figure GDA0000081803400000042
的哈希函数,
Figure GDA0000081803400000043
Zq是整数模q的一个剩余类群,Ps=sP是服务器的公钥,s∈Zq *为服务器的私钥。
图1所示为三方口令认证密钥交换方法,具体步骤如下:
S110,用户设备A计算请求通信的信息、掩码的第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息,包括:
用户设备A随机选取参数x,x∈Zq *
计算X=xP,得出用户设备A的第一Diffie-Hellman密钥成分X;
用户设备A利用与服务器共享的口令pwA,通过哈希函数对所述第一Diffie-Hellman密钥成分X进行掩码计算,即X*=X+δ(pwA)Q,得出用户设备A的掩码后的第一Diffie-Hellman密钥成分X*
用户设备A利用预先获得的服务器S的公钥Ps和所述计算得出的第一Diffie-Hellman密钥成分X,并通过利用双线性对和哈希函数运算计算得出用户设备A的第一秘密值ZA,即ZA=e(xPs,H(IDAS,X)),其中,服务器的公钥Ps=sP,IDAS=(A,B,S),IDAS是将用户设备A、用户设备B以及服务器S的身份信息A、B和S经过一定编码组合起来得到一个整体信息,其中,整体信息IDAS作用在于用户设备A告知服务器S,用户设备A想与用户设备B进行通信,因此,本说明书中称IDAS为用户设备A请求通信的消息;
用户设备A利用所述计算得出的IDAS、X*和ZA,通过哈希函数运算得出用户A向服务器S证明其合法身份的验证信息AuthA,即AuthA=H2(IDAS,X*,ZA);
S120,用户设备A将步骤S110计算所得的用户设备A的请求通信的消息IDAS、掩码后的第一Diffie-Hellman密钥成分X*以及验证信息AuthA发送给服务器S;
S130,用户设备B计算请求通信的信息、掩码后的第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息,包括:
用户设备B随机选取参数y,y∈Zq *
计算Y=yP,得出用户设备B的第一Diffie-Hellman密钥成分Y;
用户设备B利用与服务器共享的口令pwB,通过哈希函数运算对所述第一Diffie-Hellman密钥交换成分Y进行掩码计算,即Y*=Y+δ(pwB)Q,得出用户设备B的掩码后的第一Diffie-Hellman密钥成分Y*
用户设备B利用提前获得的服务器S的公钥Ps和计算得出用户设备B的第一Diffie-Hellman密钥交换成分Y,并通过利用双线性对和哈希函数运算计算得出与服务器S共享的第一秘密值ZB,即ZB=e(yPs,H(IDBS,Y)),其中,Ps=sP,IDBS=(B,A,S),IDBS是将用户设备B、用户设备A以及服务器S的身份信息B、A和S经过一定编码组合起来得到一个整体信息,IDBS作用在于用户设备B告知服务器S,用户设备B想与用户设备A进行通信,因此,本说明书中IDBS称为用户设备B请求通信的消息;
用户设备B利用所述计算得出的IDBS、Y*和ZB,通过哈希函数计算得出用户B向服务器S证明其合法身份的验证信息AuthB,即AuthB=H2(IDBS,Y*,ZB);
S140,用户设备B将步骤S130计算所得用户设备B的整体信息IDBS、掩码后的第一Diffie-Hellman密钥成分Y*以及验证信息AuthB发送给服务器S;
需要说明的是,步骤110-120与步骤130-140并不因步骤的顺序而决定时间的先后,步骤130-140可与步骤110-120同时执行,也可以在步骤110-120之前执行;
S150,服务器S验证所述用户设备A发送的验证信息AuthA,如果验证通过,随机选择参数r,
Figure GDA0000081803400000051
利用参数r计算用户设备A的第二Diffie-Hellman密钥成分X′,即X′=rX,并计算得出向用户设备A证明服务器S的合法身份的验证消息AuthSA,以及本次会话的标识ID;
服务器S验证所述用户设备B发送的验证信息AuthB,如果验证通过,利用所述选取的参数r,计算用户设备B的第二Diffie-Hellman密钥成分Y′,即Y′=rY,并计算得出向用户设备B证明服务器S的合法身份的验证消息AuthSB
S160,服务器S将步骤150中计算所得的用户设备A的第二Diffie-Hellman密钥成分X′、向用户设备B证明服务器S的合法身份的验证消息AuthSB以及会话的标识ID,发送给用户设备B;
S170,服务器S将步骤150中计算所得的用户设备B的第二Diffie-Hellman密钥成分Y′、向用户设备A证明服务器S的合法身份的验证消息AuthSA以及会话的标识ID,发送给用户设备A;
需要说明的是本步骤与步骤160并不因步骤的顺序而说明时间的先后,本步骤可与步骤160同时执行,或在其之前执行;
S180,用户设备A对步骤S170中服务器S发送的用户设备B的第二Diffie-Hellman密钥成分Y′、会话的标识ID以及步骤S110中计算所得的用户设备A的第一秘密值ZA,进行哈希函数计算,即H1(ID,Y′,ZA);
用户设备A验证所述服务器S发送的证明其合法身份的验证消息AuthSA是否等于H1(ID,Y′,ZA),如果等于,验证通过,计算会话密钥,否则,结束会话;其中所述计算会话密钥包括:
用户设备A利用选取的参数x和步骤S170中服务器S发送的用户设备B的第二Diffie-Hellman密钥成分Y′进行计算,得出Diffie-Hellman密钥cs,即cs=xY′,其中,Y′=rY=ryP;
对所述Diffie-Hellman密钥cs进行哈希函数的运算,得出会话密钥skA,即skA=H0(ID,cs);
S190,用户设备B利用步骤S160中服务器S发送的用户设备A的第二Diffie-Hellman密钥成分X′和会话的标识ID,并利用步骤S130中计算所得用户设备B的第一秘密值ZB,通过哈希函数计算,即H1(ID,X′,ZB);
用户设备B验证所述服务器S发送的证明服务器S的合法身份的验证消息AuthSB是否等于H1(ID,X′,ZB),如果等于,验证通过,计算会话密钥,否则,结束会话;其中所述计算会话密钥包括:
用户设备B利用选取的参数y和步骤S160中服务器S发送的用户设备A的第二Diffie-Hellman密钥成分X′进行计算,得出Diffie-Hellman密钥cs,即cs=yX′,其中,X′=rX=rxP;
对所述Diffie-Hellman密钥cs进行哈希函数的运算,得出会话密钥skB,即skB=H0(ID,cs)。
其中,用户设备B计算得出的会话密钥skB与用户设备A计算得出的会话密钥skA相同。
所述步骤S150包括服务器S对用户设备A和用户设备B的验证信息进行验证和相应计算,参见图2所示,具体包括以下步骤:
S151,服务器S对用户设备A的验证信息进行验证;
S152,服务器S对用户设备B的验证信息进行验证;
S153,服务器S计算用户设备A和用户设备B的Diffie-Hellman密钥成分、证明自身身份信息的验证信息和会话标识;
其中,S151中,服务器S对用户设备A的验证信息进行验证,具体可以包括以下步骤:
S1511,服务器S利用与用户设备A共享的口令pwA和所述用户设备A的掩码后的第一Diffie-Hellman密钥成分X*,通过哈希函数的运算计算得出用户设备A的第一Diffie-Hellman密钥成分X,即X=X*-δ(pwA)Q;
S1512,服务器S利用步骤S1511中计算得出的用户设备A的第一Diffie-Hellman密钥成分X、服务器的私钥s以及所述用户设备A请求通信的消息IDAS,通过利用双线性对和哈希函数运算,得出用户设备A的第二秘密值ZSA,即ZSA=e(sX,H(IDAS,X));
S1513,对所述用户设备A请求通信的消息IDAS、用户设备A的掩码后的第一Diffie-Hellman密钥成分X*以及步骤S1512计算得出的用户设备A的第二秘密值ZSA,进行哈希函数运算,即H2(IDAS,X*,ZSA);
S1514,验证用户设备A发送的验证信息AuthA=H2(IDAS,X*,ZA)是否等于步骤S1513计算所得的H2(IDAS,X*,ZSA),如果等于,则说明用户设备A的验证信息AuthA中的用户设备A的第一秘密值ZA=e(xPs,H(IDAS,X)),与服务器S计算得出的用户设备A的第二秘密值ZSA=e(sX,H(IDAS,X))相等,其中服务器公钥Ps=sP,用户设备A的第一Diffie-Hellman密钥成分X=xP,说明用户设备A为合法用户,验证通过,进入步骤S153,否则结束会话;
其中,S152中,服务器S对用户设备B的验证信息进行验证,具体可以包括以下步骤:
S1521,服务器S利用与用户设备B共享的口令pwB和所述用户设备A的掩码后的第一Diffie-Hellman密钥成分Y*,通过哈希函数的运算计算得出用户设备B的第一Diffie-Hellman密钥成分Y,即Y=Y*-δ(pwB)Q;
S1522,服务器S利用步骤S1521中计算得出的用户设备B的第一Diffie-Hellman密钥成分Y、服务器的私钥s以及所述用户设备B请求通信的消息IDBS,通过利用双线性对和哈希函数运算得出用户设备B的第二秘密值ZSB,即ZSB=e(sY,H(IDBS,Y));
S1523,对所述用户设备B请求通信的消息IDBS、用户设备B的掩码后的第一Diffie-Hellman密钥成分Y*以及步骤S1522计算得出用户设备B的第二秘密值ZSB,进行哈希函数运算,即H2(IDBS,Y*,ZSB);
S1524,验证用户设备B发送的验证信息AuthB=H2(IDBS,Y*,ZB)是否等于步骤S1523计算所得的H2(IDBS,Y*,ZSB),如果等于,则说明用户设备B的验证信息AuthB中的用户设备B的第一秘密值ZB=e(yPs,H(IDBS,Y)),与服务器S计算得出的用户设备B的第二秘密值ZSB=e(sY,H(IDBS,Y))相等,其中服务器公钥Ps=sP,用户设备B的第一Diffie-Hellman密钥成分Y=yP,说明用户设备B为合法用户,验证通过,进入步骤S153,否则结束会话;
其中,S153中,服务器S计算用户设备A和用户设备B的Diffie-Hellman密钥成分、证明自身身份信息的验证信息和会话标识,具体可以包括以下步骤:
服务器S随机选取参数r,利用参数r分别计算用户设备A和用户设备B的第二Diffie-Hellman密钥成分X′和Y′,其中,X′=rX,Y′=rY;
服务器S对所述用户设备B的第二秘密值ZSB和所述用户设备A的第二Diffie-Hellman密钥成分X′,进行哈希函数运算得出向用户设备B证明其身份的验证信息AuthSB,即AuthSB=H1(ID,X′,ZSB);
服务器S对所述用户设备A的第二秘密值ZSA和所述用户设备B的第二Diffie-Hellman密钥成分Y′,进行哈希函数运算,得出向用户设备B证明其身份的验证信息AuthSA,即AuthSA=H1(ID,Y′,ZSA);
其中,ID=(A,B,S,X*,Y*),ID是用户A、用户B和服务器S的身份信息以及用户A、用户B发送的掩码后的第一Diffie-Hellman密钥成分的消息级联,作为本次会话唯一的会话标识;
需要说明的是,步骤S1511与步骤S1521并不因步骤的顺序而决定时间的先后,所述步骤S1511可以与步骤S1521同时执行,或在步骤S1521之前执行。
参见图3,对于上述实施例,在步骤S110之前还可以包括用户设备A给用户设备B发送即时信息,告知用户设备B请求进行通信,具体步骤包括:
S100,用户设备A向服务器S发送即时信息ABS,请求与用户设备B进行通信;其中,所述即时信息ABS可以是用户设备A随机选择发送的信息;
S101,服务器S将用户设备A发送的即时信息ABS,发送给用户设备B,告知用户设备B,用户设备A请求与其进行通信。
上述步骤S100和S101在用户设备A或用户设备B计算请求通信信息、密钥成分和验证信息之前执行,作用在于使用户设备A提前通知用户设备B,请求与其进行通信,达到触发用户设备A和用户设备B向服务器发送信息的目的。本领域技术人员可以理解,也可以是用户设备B向用户设备A发送即时信息请求通信,用户设备A或用户设备B也可以采用其他方式达到通知对端用户设备,请求通信的目的,上述步骤提供的方法并不构成对本发明技术方案的限制。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种三方口令认证密钥交换方法,其特征在于,包括以下步骤:
1)用户设备A和用户设备B分别计算请求通信的信息、掩码后的第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息;
2)用户设备A和用户设备B分别向所述服务器S发送所述请求通信的信息、掩码后的第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息;
3)服务器S分别验证所述用户设备A和用户设备B发送的证明自身合法身份的验证信息,如果通过验证,服务器S分别利用所述掩码后的第一Diffie-Hellman密钥成分信息,分别计算得出用户设备A和用户设备B的第二Diffie-Hellman密钥成分信息,并发送给对端用户,分别计算并发送向用户设备A和用户设备B证明服务器S自身合法身份的验证信息和会话的标识ID;
4)用户设备A和用户设备B分别验证所述的证明服务器S自身合法身份的验证信息,如果都通过验证,用户设备A和用户设备B分别计算产生会话密钥;
所述步骤1),包括:
11)用户设备A和用户设备B分别随机选择参数x和y,利用参数x和y,分别计算得出用户设备A和用户设备B的第一Diffie-Hellman密钥成分X和Y;
其中,X=xP,Y=yP,x∈Zq *,y∈Zq *
Figure FDA0000081803390000011
Zq是整数模q的一个剩余类群,P是G1的生成元,G1表示椭圆曲线上阶为大素数q的加法循环群;
12)用户设备A和用户设备B分别利用与服务器S共享的口令pwA和pwB,通过哈希函数对所述第一Diffie-Hellman密钥成分X和Y进行掩码计算,得出用户设备A的掩码后的第一Diffie-Hellman密钥成分X*,和用户设备B的掩码后的第一Diffie-Hellman密钥成分Y*
其中,X*=X+δ(pwA)Q,Y*=Y+δ(pwB)Q,δ是
Figure FDA0000081803390000012
的哈希函数,
Figure FDA0000081803390000013
Zq是整数模q的一个剩余类群,Q是G1的生成元,G1表示椭圆曲线上阶为大素数q的加法循环群;
13)用户设备A和用户设备B分别利用提前获得的服务器S的公钥Ps以及所述第一Diffie-Hellman密钥成分X和Y,并通过利用双线性对和哈希函数运算分别计算得出用户设备A的第一秘密值ZA和请求通信的信息IDAS、用户设备B的第一秘密值ZB和请求通信的信息IDBS
其中,ZA=e(xPs,H(IDAS,X)),IDAS=(A,B,S),IDAS是将用户设备A、用户设备B和服务器S的身份信息经过一定编码组合起来得到的一个整体信息,
ZB=e(yPs,H(IDBS,Y)),IDBS=(B,A,S),IDBS是将用户设备B、用户设备A以及服务器S的身份信息经过一定编码组合起来得到一个整体信息,
Ps=sP,H是{0,1}*→G1的哈希函数,e是G1×G1→G2的双线性对,G1表示椭圆曲线上阶为大素数q的加法循环群,G2表示阶为大素数q的乘法循环群,P是G1的生成元;
14)用户设备A和用户设备B分别利用所述请求通信的信息、掩码后的第一Diffie-Hellman密钥成分和第一秘密值,计算得出用户A向服务器S证明其合法身份的验证信息AuthA,和用户设备B向服务器S证明其合法身份的验证信息AuthB
其中,AuthA=H2(IDAS,X*,ZA),AuthB=H2(IDBS,Y*,ZB),
Hi
Figure FDA0000081803390000021
(i=1,2)的哈希函数,其中li(i=1,2)是哈希函数的安全参数。
2.根据权利要求1所述的方法,其特征在于,在用户设备A和用户设备B分别向服务器S发送信息之前,还包括:
用户设备A向服务器S发送请求与用户设备B通信的随机信息;
服务器S将所述请求与用户设备B通信的随机信息发送给用户设备B。
3.根据权利要求1所述的方法,其特征在于,所述步骤3)中,所述服务器S分别验证用户设备A和用户设备B发送的证明自身合法身份的验证信息,包括:
31)服务器S利用与用户设备A共享的口令pwA和用户设备A的掩码后的第一Diffie-Hellman密钥成分X*,通过哈希函数的运算计算得出用户设备A的第一Diffie-Hellman密钥成分X;服务器S利用与用户设备B共享的口令pwB和掩码后的第一Diffie-Hellman密钥成分Y*,通过哈希函数的运算计算得出用户设备B的第一Diffie-Hellman密钥成分Y;
其中,X=X*-δ(pwA)Q,Y=Y*-δ(pwB)Q,δ是
Figure FDA0000081803390000031
的哈希函数,
Figure FDA0000081803390000032
Zq是整数模q的一个剩余类群,Q是G1的生成元,G1表示椭圆曲线上阶为大素数q的加法循环群;
32)服务器S利用步骤31)中计算得出的用户设备A的第一Diffie-Hellman密钥成分X、服务器的私钥s以及用户设备A请求通信的信息IDAS,并通过利用双线性对和哈希函数运算得出用户设备A的第二秘密值ZSA;服务器S利用步骤31)中计算得出的用户设备B的第一Diffie-Hellman密钥成分Y、服务器的私钥s以及用户设备B请求通信的信息IDBS,并通过双线性对和哈希函数运算得出用户设备B的第二秘密值ZSB
其中,ZSA=e(sX,H(IDAS,X)),ZSB=e(sY,H(IDBS,Y)),H是{0,1}*→G1的哈希函数,e是G1×G1→G2的双线性对,G1表示椭圆曲线上阶为大素数q的加法循环群,G2表示阶为大素数q的乘法循环群;
33)服务器S对所述用户设备A的请求通信的信息IDAS、掩码后的第一Diffie-Hellman密钥成分X*以及步骤32)中计算得出的用户设备A的第二秘密值ZSA,进行哈希函数运算,即H2(IDAS,X*,ZSA);
服务器S对所述用户设备B的请求通信的信息IDBS、掩码后的第一Diffie-Hellman密钥成分Y*以及步骤32)计算得出用户设备B的第二秘密值ZSB,进行哈希函数运算,即H2(IDBS,Y*,ZSB);
34)服务器S验证用户设备A发送的验证信息AuthA是否等于步骤33)计算所得的H2(IDAS,X*,ZSA),如果等于,验证通过,否则结束会话;
服务器S验证用户设备B发送的验证信息AuthB是否等于步骤33)计算所得的H2(IDBS,Y*,ZSB),如果等于,验证通过,否则结束会话。
4.根据权利要求3所述的方法,其特征在于,所述步骤3)中,所述服务器S分别计算向用户设备A和用户设备B证明服务器S自身合法身份的验证信息和会话的标识ID,包括:
服务器S随机选取参数r,利用参数r分别计算用户设备A和用户设备B的第二Diffie-Hellman密钥成分X′和Y′,其中,X′=rX,Y′=rY,
Figure FDA0000081803390000033
服务器S对所述用户设备B的第二秘密值ZSB和所述用户设备A的第二Diffie-Hellman密钥成分X′,进行哈希函数运算得出向用户设备B证明其身份的验证信息AuthSB,其中,AuthSB=H1(ID,X′,ZSB);
服务器S对所述用户设备A的第二秘密值ZSA和所述用户设备B的第二Diffie-Hellman密钥成分Y′,进行哈希函数运算,得出向用户设备A证明其身份的验证信息AuthSA,其中,AuthSA=H1(ID,Y′,ZSA);
其中,ID=(A,B,S,X*,Y*),ID是用户A、用户B和服务器S的身份信息以及用户设备A、用户设备B发送的掩码后的第一Diffie-Hellman密钥成分的消息级联,作为本次会话唯一的会话标识。
5.根据权利要求4所述的方法,其特征在于,所述步骤4)中,用户设备A和用户设备B分别验证所述证明服务器S自身合法身份的验证信息,包括:
用户设备A和用户设备B分别对所述服务器S发送的第二Diffie-Hellman密钥成分X′和Y′、会话的标识ID、第一秘密值ZB和ZA,进行哈希函数运算,即H1(ID,Y′,ZA)和H1(ID,X′,ZB);
用户设备A验证所述服务器S发送的证明其合法身份的验证消息AuthSA是否等于H1(ID,Y′,ZA),如果等于,验证通过,计算会话密钥,否则,结束会话;
用户设备B验证所述服务器S发送的证明服务器S的合法身份的验证消息AuthSB是否等于H1(ID,X′,ZB),如果等于,验证通过,计算会话密钥,否则,结束会话。
6.根据权利要求4所述的方法,其特征在于,所述步骤4)中,用户设备A和用户设备B分别计算产生会话密钥,包括:
用户设备A计算Diffie-Hellman密钥cs=xY′,其中,Y′=rY=ryP;
用户设备B计算Diffie-Hellman密钥cs=yX′,其中,X′=rX=rxP;
用户设备A和用户设备B分别对所述Diffie-Hellman密钥cs进行哈希函数的运算,得出会话密钥sk,即sk=H0(ID,cs);
其中,P是G1的生成元,G1表示椭圆曲线上阶为大素数q的加法循环群。
CN2009102465356A 2009-11-30 2009-11-30 一种三方口令认证密钥交换方法 Expired - Fee Related CN101702645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102465356A CN101702645B (zh) 2009-11-30 2009-11-30 一种三方口令认证密钥交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102465356A CN101702645B (zh) 2009-11-30 2009-11-30 一种三方口令认证密钥交换方法

Publications (2)

Publication Number Publication Date
CN101702645A CN101702645A (zh) 2010-05-05
CN101702645B true CN101702645B (zh) 2011-12-21

Family

ID=42157540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102465356A Expired - Fee Related CN101702645B (zh) 2009-11-30 2009-11-30 一种三方口令认证密钥交换方法

Country Status (1)

Country Link
CN (1) CN101702645B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618097A (zh) * 2015-01-24 2015-05-13 刘勇 一种数据加密发送的方法、数据终端及服务器
CN106487502B (zh) * 2015-09-02 2020-01-24 全球能源互联网研究院 一种基于口令的轻量级密钥协商方法
CN107959725B (zh) * 2017-12-14 2020-08-25 浙江工商大学 基于椭圆曲线的考虑发布与订阅双方隐私的数据交互方法
CN110098928B (zh) * 2019-05-08 2022-02-25 国家电网有限公司 一种协同签名的密钥生成方法及装置
CN110572800B (zh) * 2019-08-14 2022-04-05 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置
CN110839084B (zh) * 2019-11-19 2022-04-05 中国建设银行股份有限公司 会话管理方法、装置、设备和介质
CN113094721B (zh) * 2021-03-16 2022-06-24 中国科学院信息工程研究所 一种基于模上错误学习的后量子口令认证密钥交换方法
CN118018204B (zh) * 2024-04-07 2024-06-18 北京信安世纪科技股份有限公司 一种基于椭圆曲线的消息处理系统以及消息处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2407236A (en) * 2003-10-17 2005-04-20 Toshiba Res Europ Ltd Diffie-Hellman exchange of a session key
CN101083526A (zh) * 2007-08-07 2007-12-05 华为技术有限公司 生成密钥的方法、通信系统、通信设备和服务器
CN101252577A (zh) * 2008-04-17 2008-08-27 电子科技大学 一种三方密钥协商产生方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2407236A (en) * 2003-10-17 2005-04-20 Toshiba Res Europ Ltd Diffie-Hellman exchange of a session key
CN101083526A (zh) * 2007-08-07 2007-12-05 华为技术有限公司 生成密钥的方法、通信系统、通信设备和服务器
CN101252577A (zh) * 2008-04-17 2008-08-27 电子科技大学 一种三方密钥协商产生方法

Also Published As

Publication number Publication date
CN101702645A (zh) 2010-05-05

Similar Documents

Publication Publication Date Title
CN101702645B (zh) 一种三方口令认证密钥交换方法
EP3005608B1 (en) Authentication
US8971540B2 (en) Authentication
Sun et al. Secure key agreement protocols for three-party against guessing attacks
CN101902476B (zh) 移动p2p用户身份认证方法
US9106644B2 (en) Authentication
CN112106322A (zh) 基于密码的阈值令牌生成
CN102685749B (zh) 面向移动终端的无线安全身份验证方法
CN106506165B (zh) 基于同态加密的虚拟资产匿名排序方法
CN105075175A (zh) 用于建立会话密钥的方法和设备
Li et al. A Secure Dynamic Identity Based Authentication Protocol with Smart Cards for Multi-Server Architecture.
CN100579007C (zh) 生成密钥的方法、通信系统、通信设备和服务器
Hussain et al. An improved authentication scheme for digital rights management system
Chang et al. A robust and efficient smart card based remote login mechanism for multi-server architecture
Hu et al. An efficient multi-server password authenticated key agreement scheme using smart cards
Gaharana et al. A new approach for remote user authentication in a Multi-server environment based on DYNAMIC-ID using SMART-CARD
Li et al. A simple and robust anonymous two‐factor authenticated key exchange protocol
CN114095229B (zh) 能源互联网的数据传输协议构建方法、装置和系统
Yang et al. Security enhancement for protecting password transmission
Jiang et al. An anonymous user authentication with key agreement scheme without pairings for multiserver architecture using SCPKs
Chatterjee et al. A novel multi-server authentication scheme for e-commerce applications using smart card
Saxena et al. Mutual authentication protocol using identity-based shared secret key in cloud environments
Lo et al. An advanced password authenticated key exchange protocol for imbalanced wireless networks.
Zhang et al. Mobile payment protocol based on dynamic mobile phone token
Ling et al. An Improved Anonymous Password Authentication Scheme Using Nonce and Bilinear Pairings.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111221

Termination date: 20181130

CF01 Termination of patent right due to non-payment of annual fee