[发明专利]无需智能卡的三方口令认证与密钥协商协议在审
申请号: | 201710323859.X | 申请日: | 2017-05-09 |
公开(公告)号: | CN107592197A | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 陈建铭;吴祖扬;王景行;徐琳琳 | 申请(专利权)人: | 哈尔滨工业大学深圳研究生院 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32;H04L29/06 |
代理公司: | 长沙星耀专利事务所(普通合伙)43205 | 代理人: | 许伯严 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种无需智能卡的三方口令认证与密钥协商协议,其包括以下步骤A、初始化阶段服务器S初始化一些参数并发布这些参数{p,α,h1(.),IDS,Ts(α)},其中Ts(α)作为S的公钥,并将s作为S的私钥,存储在数据库中;该协议不需要智能卡;B、注册阶段合法用户Ui如果想要将自己的信息注册到服务器S上,会先发起注册请求;C、认证和密钥协商阶段;D、口令更换阶段当用户A觉得目前的口令可能或已经泄露出去,为了减少不必要的损失需要更换新口令;本发明解决了互联网通信中通信双方信息的泄露、被窃取等不安全问题,通信过程无需智能卡的辅助来实现认证与密钥协商的目的,并且在同类安全协议中有更高的性能和效率。 | ||
搜索关键词: | 无需 智能卡 口令 认证 密钥 协商 协议 | ||
【主权项】:
一种无需智能卡的三方口令认证与密钥协商协议,其特征在于,包括以下步骤:A、初始化阶段:服务器S初始化一些参数并发布这些参数{p,α,h1(.),IDS,Ts(α)},其中Ts(α)作为S的公钥,并将s作为S的私钥,存储在数据库中;该协议不需要智能卡;B、注册阶段:合法用户Ui如果想要将自己的信息注册到服务器S上,会先发起注册请求,具体的步骤如下;B1:Ui选择自己的IDi和密码PWi,然后通过秘密途径将二者发送给S;B2:服务器S把如下信息{IDi,PWi}保存到数据库中;C、认证和密钥协商阶段:假设有两个用户UA和UB想要认证彼此然后建立公共的会话密钥,具体过程如下:C1:用户UA随机选择一个数a∈R[1,p+1]并计算RA=Ta(α)mod p和KAS=Ta(Ts(α));UA再次计算HAS=h1(IDA||IDS||RA||KAS||PWA),然后给服务器S发送如下信息{IDA,IDB,RA,HAS};C2:一旦收到UA发送来的信息,S先计算KAS=Ts(RA)=Ts(Ta(α)),然后验证HAS;如果验证通过,发送信息{IDA,RA}给用户UB;C3:用户UB任意选择一个随机数b∈R[1,p+1]并计算RB=Tb(α)mod p和KBS=Tb(Ts(α));UB再次计算HBS=h1(IDB||IDS||RB||KBS||PWB),然后给S发送如下信息{IDB,IDA,RB,HBS};C4:服务器S收到来自用户UB的信息后,计算KBS=Ts(RB)=Ts(Tb(α))并验证HBS;如果验证通过,服务器S会任意选择一个新随机数s',分别计算出KBS'=Ts'(RB)=Ts'(Tb(α))和KAS'=Ts'(RA)=Ts'(Ta(α)),然后分别计算出HSA=h1(KBS'⊕KAS||KAS)和HSB=h1(KAS'⊕KBS||KBS),接着发送信息{HSA,KBS'⊕KAS}给用户UA,发送信息{HSB,KAS'⊕KBS}给用户UB;C5:UA收到信息后验证HAS,若验证通过则计算KBS'=KBS'⊕KAS⊕KAS,K=Ta(KBS'),SK=h1(K)=h1(Ta(Tb(Ts'(α)))),MAB=h1(1||IDA||IDB||K),MAS=h1(1||KAS||MAB),将信息{MAS,MAB}发送给服务器S;用户UB收到信息后会检查HSB的正确性;如果检查结果正确,UB计算KAS'=KAS'⊕KBS⊕KBS,K=Tb(KAS'),SK=h1(K)=h1(Tb(Ta(Ts'(α)))),MBA=h1(1||IDA||IDB||K),MBS=h1(1||KBS||MBA),将信息{MBS,MBA}发送给服务器S;C6:S验证收到的信息MAS和MBS,验证通过后S分别发送信息MBA和MAB给用户UA和UB;C7:UA收到信息后检查MBA?=MAB,如果结果一致则UA认为UB是合法可靠的真实用户;UB收到信息后检查MAB?=MBA,如果结果一致则UB认为UA是合法可信赖的用户;D、口令更换阶段:当用户A觉得目前的口令可能或已经泄露出去,为了减少不必要的损失需要更换新口令;这时,用户A按照下述步骤来更换口令;D1:用户UA随机选择一个数a∈R[1,p+1],并计算RA=Ta(α)mod p和KAS=Ta(Ts(α));UA再次计算HAS=h1(IDA||IDS||RA||KAS||PWA),然后给服务器S发送如下信息{IDA,RA,HAS};D2:一旦收到UA发送来的信息,S先计算KAS=Ts(RA)=Ts(Ta(α)),然后验证HAS;如果验证通过,计算HSA=h1(IDA||IDS||RA||KAS||RS||1);发送信息{HSA,RS}给用户A;D3:UA收到信息后验证HSA,如果验证通过便可以选择新的口令再计算M=h(KAS⊕PWA*||KAS),发送信息{M,KAS⊕PWA*}给S;D4:S收到信息后,验证M?=h(KAS⊕PWA*||KAS);如果验证通过,则S计算UA的新口令PWA*=KAS⊕PWA*⊕KAS,然后更新数据库中的数据{IDA,PWA}为到此,口令更新操作完成;在上述步骤A到D种,各符号代表含义为:Ui为合法用户i;S为服务器server;s为server的私钥;Ts(α)为server的公钥;IDi为用户i的身份ID;PWi为用户i的密码;h1(.),为单向哈希函数;SK为会话密钥。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学深圳研究生院,未经哈尔滨工业大学深圳研究生院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710323859.X/,转载请声明来源钻瓜专利网。