发明名称 一种三方口令认证密钥交换方法
摘要 本发明公开了一种三方口令认证密钥交换方法,包括:用户设备A和用户设备B分别计算并发送请求通信的信息、第一Diffie-Hellman密钥成分信息和向服务器S证明自身合法身份的验证信息;服务器S验证所述的验证信息,如果验证成功,服务器S分别计算用户设备A和用户设备B的第二Diffie-Hellman密钥成分信息,并发送给对端用户,服务器S计算并发送向用户设备A和用户设备B证明服务器S自身合法身份的验证信息;用户设备A和用户设备B分别验证所述的证明服务器S自身合法身份的验证信息,如果通过验证,用户设备A和用户设备B分别计算产生会话密钥。
申请公布号 CN101702645B 申请公布日期 2011.12.21
申请号 CN200910246535.6 申请日期 2009.11.30
申请人 中国人民解放军信息工程大学 发明人 马传贵;魏福山;张汝云;程庆丰;彭建华;季新生;许明艳;江涛
分类号 H04L9/08(2006.01)I;H04L9/32(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L9/08(2006.01)I
代理机构 北京集佳知识产权代理有限公司 11227 代理人 逯长明;王宝筠
主权项 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∈Z<sub>q</sub><sup>*</sup>,y∈Z<sub>q</sub><sup>*</sup>,<img file="FDA0000081803390000011.GIF" wi="323" he="74" />Z<sub>q</sub>是整数模q的一个剩余类群,P是G<sub>1</sub>的生成元,G<sub>1</sub>表示椭圆曲线上阶为大素数q的加法循环群;12)用户设备A和用户设备B分别利用与服务器S共享的口令pw<sub>A</sub>和pw<sub>B</sub>,通过哈希函数对所述第一Diffie-Hellman密钥成分X和Y进行掩码计算,得出用户设备A的掩码后的第一Diffie-Hellman密钥成分X<sup>*</sup>,和用户设备B的掩码后的第一Diffie-Hellman密钥成分Y<sup>*</sup>;其中,X<sup>*</sup>=X+δ(pw<sub>A</sub>)Q,Y<sup>*</sup>=Y+δ(pw<sub>B</sub>)Q,δ是<img file="FDA0000081803390000012.GIF" wi="258" he="72" />的哈希函数,<img file="FDA0000081803390000013.GIF" wi="323" he="74" />Z<sub>q</sub>是整数模q的一个剩余类群,Q是G<sub>1</sub>的生成元,G<sub>1</sub>表示椭圆曲线上阶为大素数q的加法循环群;13)用户设备A和用户设备B分别利用提前获得的服务器S的公钥P<sub>s</sub>以及所述第一Diffie-Hellman密钥成分X和Y,并通过利用双线性对和哈希函数运算分别计算得出用户设备A的第一秘密值Z<sub>A</sub>和请求通信的信息ID<sub>AS</sub>、用户设备B的第一秘密值Z<sub>B</sub>和请求通信的信息ID<sub>BS</sub>;其中,Z<sub>A</sub>=e(xP<sub>s</sub>,H(ID<sub>AS</sub>,X)),ID<sub>AS</sub>=(A,B,S),ID<sub>AS</sub>是将用户设备A、用户设备B和服务器S的身份信息经过一定编码组合起来得到的一个整体信息,Z<sub>B</sub>=e(yP<sub>s</sub>,H(ID<sub>BS</sub>,Y)),ID<sub>BS</sub>=(B,A,S),ID<sub>BS</sub>是将用户设备B、用户设备A以及服务器S的身份信息经过一定编码组合起来得到一个整体信息,P<sub>s</sub>=sP,H是{0,1}<sup>*</sup>→G<sub>1</sub>的哈希函数,e是G<sub>1</sub>×G<sub>1</sub>→G<sub>2</sub>的双线性对,G<sub>1</sub>表示椭圆曲线上阶为大素数q的加法循环群,G<sub>2</sub>表示阶为大素数q的乘法循环群,P是G<sub>1</sub>的生成元;14)用户设备A和用户设备B分别利用所述请求通信的信息、掩码后的第一Diffie-Hellman密钥成分和第一秘密值,计算得出用户A向服务器S证明其合法身份的验证信息Auth<sub>A</sub>,和用户设备B向服务器S证明其合法身份的验证信息Auth<sub>B</sub>;其中,Auth<sub>A</sub>=H<sub>2</sub>(ID<sub>AS</sub>,X<sup>*</sup>,Z<sub>A</sub>),Auth<sub>B</sub>=H<sub>2</sub>(ID<sub>BS</sub>,Y<sup>*</sup>,Z<sub>B</sub>),H<sub>i</sub>是<img file="FDA0000081803390000021.GIF" wi="373" he="64" />(i=1,2)的哈希函数,其中l<sub>i</sub>(i=1,2)是哈希函数的安全参数。
地址 450002 河南省郑州市文化路俭学街7号院