CN108965338B - 多服务器环境下的三因素身份认证及密钥协商的方法 - Google Patents

多服务器环境下的三因素身份认证及密钥协商的方法 Download PDF

Info

Publication number
CN108965338B
CN108965338B CN201811104561.0A CN201811104561A CN108965338B CN 108965338 B CN108965338 B CN 108965338B CN 201811104561 A CN201811104561 A CN 201811104561A CN 108965338 B CN108965338 B CN 108965338B
Authority
CN
China
Prior art keywords
user
server
authentication
key
sid
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.)
Active
Application number
CN201811104561.0A
Other languages
English (en)
Other versions
CN108965338A (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.)
Hangzhou Normal University
Original Assignee
Hangzhou Normal 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 Hangzhou Normal University filed Critical Hangzhou Normal University
Priority to CN201811104561.0A priority Critical patent/CN108965338B/zh
Publication of CN108965338A publication Critical patent/CN108965338A/zh
Application granted granted Critical
Publication of CN108965338B publication Critical patent/CN108965338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种多服务器环境下的三因素身份认证及密钥协商的方法。本发明包含以下阶段:注册中心初始化阶段、服务端注册阶段、用户端注册阶段和认证与密钥协商阶段,以及用户端口令更换的功能部分。本发明实现了在认证阶段不需要可信第三方注册/认证中心的参与以降低通信步骤与成本,提高协议运行效率的同时实现了对协议的安全性的保证。通过用户端和服务端唯一共享的静态DH值来实现了双方的相互认证,并通过双方唯一共享并用于计算会话密钥的动态DH值来实现了会话密钥的机密性,以保证建立的信道的安全性。本发明具有认证性和机密性,是安全且在通信上高效的多服务器三因素身份认证与密钥协商协议。

Description

多服务器环境下的三因素身份认证及密钥协商的方法
技术领域
本发明涉及一种在认证阶段无需可信第三方参与的多服务器环境下三因素用户身份认证和密钥生成协议,属于密码协议技术领域。
背景技术
随着当代网络技术的迅猛发展,特别是近几年物联网等一系列与生活息息相关的网络技术的发展壮大,我们的生活和网络已经紧密的结合在一起。从菜场里都能使用的电子钱包,到网购服装,从手机app中预定酒店,到网络购票共享单车。人们生活中最大的四部分:衣食住行。都可以通过网络实现。人们的生活越离不开网络就越是需要注重网络与信息的安全。因为当人们的衣食住行都通过网络时,也就意味着人们的信息都将曝露在网络之中。同时网络空间,是一个开放的公共空间,因此人们对于信息安全的需求越来越强烈。
用户身份认证是解决网络安全机制中最基础的一步,通过身份认证,服务器可以分辨合法用户和带有敌意的攻击者,进而决定给予访问者什么样的权限,能有效控制用户的访问。在用户身份认证成功之后的问题,就是如何建立一个安全信道以传输用户和服务器之间的信息。而现行技术下最简单有效的方式是,通信的双方即用户和服务器建立一个只有通信双方才能共享的会话密钥(session key)。然后使用会话密钥加密通信信息,以建立安全信道防止有敌意的攻击者窃听,并配合消息验证码以防止信息被篡改。而同时满足以上要求的,同时提供用户认证和密钥生成的协议通常被称为认证密钥生成协议(authenticated key establishment protocol),它能够将认证和密钥生成结合在一起,是网络通信中最普遍的安全协议之一。而认证密钥生成协议又可分为认证密钥传输协议(authenticated keytransport protocol)和认证密钥协商协议(authenticatedkeyagreement protocol)两类。通过认证密钥协商协议通信双方可以在公开信道上建立会话密钥,以保证后续通信的安全性和完整性。
在1981年Lamport L就提出了远程用户身份鉴别,这也是一种早期的用户认证。随后很多研究者开展了关于单一服务器认证的研究工作。而后就开始出现用智能卡存储复杂参数而设计的单服务器认证协议,同时生物识别技术也被引入服务器认证方案中,例如由Li等人提出的使用智能卡的基于生物特征的远程用户认证。然而随着网络技术在不断的发展,单一的服务器认证在当今社会下显的愈发力不从心。在SAAS(Software-as-a-Service,软件即服务)广泛使用的今天,各种软件公司更倾向于将软件部署在服务器中,那就要求使用更多的节点服务器,并且更多的使用CDN(Content Delivery Network,内容分发网络)技术,以提供更好的用户体验,以及满足各方面的需求。同时在移动网络更加繁荣的今天,在移动网络设备上使用移动网络登录验证以获得服务便的越来越频繁。如果始终使用单服务器架构的认证协议,将极大的限制以上各项技术的发展与使用,并且在维护上也产生了额外的人力负担,这显然极大的增加了管理麻烦。
多服务器用户认证和密钥协商协议能够有效的解决单一服务器认证在多服务器环境的不适应问题。先多服务器认证和密钥协商协议多使用公钥密码技术来实现认证和密钥协商建立。自从Li等人在2001年提出基于神经网络的多服务器体系结构远程口令认证方案以来,研究人员提出了多种多服务器认证方案。2014年Xue等人提出的协议就可以不使用验证表。同样不用验证表的还有Tsai等人提出的协议,这篇文章更是早在2008年就已经发表,这个方案效率大大高于Li等人的方案,其成本和操作成本都比较低,当然这个方案也被证明容易受到内部人员攻击和服务器欺骗攻击。由Liao和Wang在2009年提出的一种基于安全动态身份的多服务器环境远程用户认证方案,但是这个方案被认为是无法真正做到相互认证。如同单一服务器认证一样,多服务器认证也延伸到了使用生物识别技术,例如HanShen等人的一种新型的基于生物识别的关键系统多服务器环境认证方案和之前提到过得Hao Lin等人的方案。
而上述被提出的协议都存在安全性漏洞,并且在认证阶段需要服务器将用户的认证信息发送给注册/认证中心(Registered/Authenticate Center)。这使得通信步骤增多,并使得通信成本也很高。同时在大量用户发送认证请求的情况下,存在通信流量的瓶颈。而随着在认证阶段不需要注册/认证中心参与的协议的出现,通信成本大幅下降,协议的效率大幅的提高。
发明内容
本发明的目的是要克服现有安全协议在安全性上的弱点,并且简化协议的通信步骤,使得协议执行速率加快。在提供认证性的同时也能完成会话密钥的协商与建立。
本发明的主要目的是提供一种认证密钥协商方法,从而在公共信道上建立安全信道,以保证通信双方的信息的机密性和完整性等安全属性。
本发明方法中除可信第三方注册中心外,还有互相认证并协商建立会话密钥的两方:用户端和服务端。其认证和密钥协商方法包括以下步骤:
步骤1:可信第三方即注册中心(Registered Center)初始化阶段,注册中心选择大素数p和q作为其自身的长期私钥。选择一个单向散列函数h(.)以及DH(Diffie-Hellman)算法中的大素数Q和其本原根g。
步骤2:服务端注册阶段,其中包涵以下步骤:
2-1:服务端选择一个自己的身份SID,并将其通过注册使用的安全信道传输给注册中心。
2-2:注册中心记录服务端的注册序列RCID,并使用自身的长期私钥计算服务端的长期私钥s=h(SID||p)和t=h(SID||p||RCID),然后计算服务端的长期公钥
Figure GDA0001845669810000031
和PKt=gt(省略写出DH算法中的模运算mod Q,下同,即幂运算实为模幂运算)。
2-3:将服务端的私钥s和t通过安全信道发还给服务端,并将公钥Pks和Pkt发布公钥证书。
步骤3:用户端注册阶段,其中包涵以下步骤。
3-1:用户选择自己的身份ID和口令Pw并输入自己的生物信息Bi以及生成的一个随机数n。然后计算RPw=h(ID||Pw||n),
Figure GDA0001845669810000045
并将RPw和ID通过安全信道传输给注册中心。
3-2:注册中心计算用户端私钥u=h(ID||p)*q和用户端公钥Pku=gh(ID||p),并计算
Figure GDA0001845669810000046
将存有用户端私钥的Xi存入智能卡中交还给用户端,并发布其公钥PKu的公钥证书。
3-3:用户端计算Z=h(ID||n||Bi||Pw),将Z和N存入智能卡中,智能卡中信息为<N,Xi,Z>。
步骤4:用户端和服务端相互认证与密钥协商阶段,其中包涵以下步骤。
4-1:用户端输入口令Pw和身份ID以及生物信息Bi,计算
Figure GDA0001845669810000041
和Z'=h(ID||n'||Bi||Pw)并比较Z'和卡内信息Z,如果不相等,则智能卡拒绝服务,认证失败。若相等,则进行步骤4-2。
4-2:用户端计算RPw=h(ID||Pw||n),
Figure GDA0001845669810000042
然后寻找服务端的公钥证书,得到服务端公钥,计算A1=(Pks)u。生成一个随机数a,计算A2=ga、A3=Pkt a
Figure GDA0001845669810000043
和A5=h(ID||SID||t1||A1||A3),其中t1是当前时间的时间戳。然后将<A2,A4,A5,t1>通过公共信道发送给服务端。
4-3:服务端验证时间戳t1的合法性,然后计算A3'=A2 t
Figure GDA0001845669810000044
通过用户端身份ID寻找其公钥证书得到用户端公钥,并计算A1'=(Pku)s和A5'=h(ID||SID||t1||A1'||A3')。将A5'和发送来的A5进行比较,如果不相等,则服务端拒绝服务,认证失败。如相等,则进入步骤4-4。
本步骤中A1'=(Pku)s=A1=(Pks)u是双方唯一共享的静态DH值(StaticDiffie-Hellman Value),只能由该协议中合法双方共享,第三者无法得到。
4-4:服务端生成一个随机数b,计算A6=gb,A7=A2 b,然后计算会话密钥Sks=h(ID||SID||A1'||A3'||A7||t1||t2)以及
Figure GDA0001845669810000047
其中t2是当前时间的时间戳,将<A6,A8,t2>通过公共信道发送给用户端。
本步骤中A7=A2 b=gab是只用双方共享的动态DH值(DynamicDiffie-HellmanValue),不能被第三方获得,且具有时效性,不能通过记录在此使用。
4-5:用户端验证时间戳t2的合法性,计算A7'=A6 a
Figure GDA0001845669810000053
将A8'和发送来的A8进行比较,如果不相等,则服务端拒绝服务,认证失败。如相等,则进行步骤4-6。
4-6:用户端计算会话密钥Sku=h(ID||SID||A1||A3||A7'||t1||t2)。
由此用户端和服务端在没有可信第三方注册/认证中心的情况下完成了双向认证,并实现了会话密钥Sku=h(ID||SID||A1||A3||A7'||t1||t2)=Sks=h(ID||SID||A1'||A3'||A7||t1||t2)的协商和建立。
本发明还设计有用户端口令更改功能,通过以下步骤实现:
步骤A:用户端输入口令Pw和身份ID以及生物信息Bi,计算
Figure GDA0001845669810000054
和Z'=h(ID||n'||Bi||Pw)并比较Z'和卡内信息Z,如果不相等,则智能卡拒绝服务,认证失败。若相等,则进行步骤B。
步骤B:用户端输入一个新的口令Pwnew以及生成一个新的随机数nnwe,并计算RPw=h(ID||Pwnew||nnew)和RPw=h(ID||Pw||n),然后计算
Figure GDA0001845669810000051
以及
Figure GDA0001845669810000052
步骤C:将卡内信息Xi和N替换为Xinew和Nnew,完成用户端口令的更新。
本发明的优点在于:
本发明实现了在认证阶段不需要可信第三方注册/认证中心的参与以降低通信步骤与成本,提高协议运行效率的同时实现了对协议的安全性的保证。通过用户端和服务端唯一共享的静态DH值来实现了双方的相互认证,并通过双方唯一共享并用于计算会话密钥的动态DH值来实现了会话密钥的机密性,以保证建立的信道的安全性。因为动态和静态Diffie-Hellman值是任何第三方不可能以截取、计算或猜测等方式生成或得到得,所以本协议具有认证性和机密性,是安全且在通信上高效的多服务器三因素身份认证与密钥协商协议。
本发明提出的多服务器环境下的身份认证与密钥协商的方法具有良好的可扩展性,在注册中心运算能力饱和的情况下,可将复杂运算即公钥中的模幂乘运算分配给其他可信运算终端,因为Diffie-Hellman算法中的大素数Q和其本原根g是公开的,所以注册中心无需给出自己的长期私钥即主密钥来获得额外的运算能力。
具体实施方式
下面进一步说明本发明。
本发明提出的一种在多服务环境下在认证阶段不需要可信第三方注册/认证中心的参与的三因素身份认证及密钥协商的方法,包含以下阶段:注册中心初始化阶段、服务端注册阶段、用户端注册阶段和认证与密钥协商阶段,以及用户端口令更换的功能部分,具体步骤如下:
阶段一:可信第三方即注册中心(Registered Center)初始化阶段,注册中心选择大素数p和q作为自己的长期私钥。选择一个单向散列函数h(.)。以及DH(Diffie-Hellman)算法中的大素数Q和其本原根g。
阶段二:服务端注册阶段,其中包涵以下步骤:
步骤A:服务端选择一个自己的身份SID,并将其通过注册使用的安全信道传输给注册中心。
步骤B:注册中心记录服务端的注册序列RCID,并使用自己的长期私钥计算服务端的长期私钥s=h(SID||p)和t=h(SID||p||RCID),然后计算服务端的长期公钥
Figure GDA0001845669810000061
和PKt=gt(省略写出DH算法中的模运算mod Q,下同,即幂运算实为模幂运算)。
步骤C:将服务端的私钥s和t通过安全信道发还给服务端,并将公钥Pks和Pkt发布公钥证书。
阶段三:用户端注册阶段,其中包涵以下步骤。
步骤A:用户选择自己的身份ID和口令Pw并输入自己的生物信息Bi,以及生成一个随机数n。然后计算RPw=h(ID||Pw||n),
Figure GDA0001845669810000062
并将RPw和ID通过安全信道传输给注册中心。
步骤B:注册中心计算用户端私钥u=h(ID||p)*q和用户端公钥Pku=gh(ID||p),并计算
Figure GDA0001845669810000071
将存有用户端私钥的Xi存入智能卡中交还给用户端,并发布其公钥PKu的公钥证书。。
步骤C:用户端计算Z=h(ID||n||Bi||Pw),将Z和N存入智能卡中,智能卡中信息为<N,Xi,Z>。
阶段四:用户端和服务端相互认证与密钥协商阶段,其中包涵以下步骤。
步骤A:用户端输入口令Pw和身份ID以及生物信息Bi,计算
Figure GDA0001845669810000072
和Z'=h(ID||n'||Bi||Pw)并比较Z'和卡内信息Z,如果不相等,则智能卡拒绝服务,认证失败。若相等,则进行下一步骤。
步骤B:用户端计算RPw=h(ID||Pw||n),
Figure GDA0001845669810000073
然后寻找服务端的公钥证书,得到服务端公钥,计算A1=(Pks)u。生成一个随机数a,计算A2=ga,A3=Pkt a
Figure GDA0001845669810000074
和A5=h(ID||SID||t1||A1||A3)其中t1是当前时间的时间戳。然后将<A2,A4,A5,t1>通过公共信道发送给服务端。
步骤C:服务端验证时间戳t1的合法性,然后计算A3'=A2 t
Figure GDA0001845669810000076
通过用户端身份ID寻找其公钥证书得到用户端公钥,并计算A1'=(Pku)s和A5'=h(ID||SID||t1||A1'||A3')。将A5'和发送来的A5进行比较,如果不相等,则服务端拒绝服务,认证失败。如相等,则进行下一个步骤。本步骤中A1'=(Pku)s=A1=(Pks)u是双方唯一共享的静态DH值(Static Diffie-Hellman Value),只能由该协议中合法双方共享,第三者无法得到。
步骤D:服务端生成一个随机数b,计算A6=gb,A7=A2 b,然后计算会话密钥Sks=h(ID||SID||A1'||A3'||A7||t1||t2)以及
Figure GDA0001845669810000075
其中t2是当前时间的时间戳,将<A6,A8,t2>通过公共信道发送给用户端。在本步骤中A7=A2 b=gab是只用双方共享的动态DH值(Dynamic Diffie-Hellman Value),不能被第三方获得,且具有时效性,不能通过记录在此使用。
步骤E:用户端验证时间戳t2的合法性,计算A7'=A6 a和,
Figure GDA0001845669810000077
将A8'和发送来的A8进行比较,如果不相等,则服务端拒绝服务,认证失败。如相等,则进行下一个步骤。
步骤F:用户端计算会话密钥Sku=h(ID||SID||A1||A3||A7'||t1||t2)。
由此用户端和服务端在没有可信第三方注册/认证中心的情况下完成了双向认证,并实现了会话密钥Sku=h(ID||SID||A1||A3||A7'||t1||t2)=Sks=h(ID||SID||A1'||A3'||A7||t1||t2)的协商和建立。
本发明还设计了用户端口令更改功能,通过以下步骤实现:
步骤A:用户端输入口令Pw和身份ID以及生物信息Bi,计算
Figure GDA0001845669810000081
和Z'=h(ID||n'||Bi||Pw)并比较Z'和卡内信息Z,如果不相等,则智能卡拒绝服务,认证失败。若相等,则进行下一步骤。
步骤B:用户端输入一个新的口令Pwnew以及生成一个新的随机数nnwe,并计算RPw=h(ID||Pwnew||nnew)和RPw=h(ID||Pw||n),然后计算
Figure GDA0001845669810000082
以及
Figure GDA0001845669810000083
步骤C:将卡内信息Xi和N替换为Xinew和Nnew
至此完成了用户端口令的更新。
第四阶段(认证与密钥协商阶段)步骤D和步骤F表明,服务端和用户端两方都可以得到计算唯一会话密钥的所有参数,且双方的参数都相等,故而双方最终都能获得相同的会话密钥。利用会话密钥可以加解密传递的信息,从而实现安全信道的建立。而计算会话密钥的参数内有静态和动态Diffie-Hellman值。又因只有拥有用户端或服务端的私钥才能计算静态DH值,因此其具有认证性,而在认证完成且通过后才能使用随机数a或b计算动态DH值,而且随机数是任何第三方都不能得到甚至其中之一的,这保证了会话密钥的机密性。而上述条件说明了,在没有获得用户端或服务端私钥的情况下,是无法得到会话密钥的。在实际过程中,用户可以自主选择不同的服务端进行认证和密钥协商,只需将阶段四,步骤B中的A1=(Pks)u和A3=Pkt a中的Pks和Pkt换成目标服务端的公钥即可。其中A1'=(Pku)s和A1=(Pks)u两者相等,是利用双方的公私钥计算得出的,在未获得双方私钥的情况下,是无法被第三方得到的,在提供认证性的同时也保证了安全性,同时也起到了数字签名的作用。
本发明根据上述步骤可以完成认证和密钥协商的功能,且服务端对用户端的私钥信息一无所知。反之,用户端也对服务端的私钥信息一无所知。双方的私钥是具有唯一性的,只有各种掌握,保证了协议反复运行时也满足安全性的各种需要。且登陆记录具有不可抵赖性。
由于认证密钥协商协议可以轻易的修改其他变形协议,所以本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (4)

1.多服务器环境下的三因素身份认证及密钥协商的方法,其特征在于包括以下步骤:
步骤1:可信第三方即注册中心初始化阶段,注册中心选择大素数p和q作为其自身的长期私钥;选择一个单向散列函数h(.)以及DH算法中的大素数Q和其本原根g;
步骤2:服务端注册阶段,其中包涵以下步骤:
2-1:服务端选择一个自己的身份SID,并将其通过注册使用的安全信道传输给注册中心;
2-2:注册中心记录服务端的注册序列RCID,并使用自身的长期私钥计算服务端的长期私钥s=h(SID||p)和t=h(SID||p||RCID),然后计算服务端的长期公钥
Figure FDA0002900470020000011
和PKt=gt,省略写出DH算法中的模运算mod Q,下同,即幂运算实为模幂运算;
2-3:将服务端的私钥s和t通过安全信道发还给服务端,并将公钥Pks和Pkt发布公钥证书;
步骤3:用户端注册阶段,其中包涵以下步骤;
3-1:用户选择自己的身份ID和口令Pw并输入自己的生物信息Bi以及生成的一个随机数n;然后计算RPw=h(ID||Pw||n),
Figure FDA0002900470020000015
并将RPw和ID通过安全信道传输给注册中心;
3-2:注册中心计算用户端私钥u=h(ID||p)*q和用户端公钥Pku=gh(ID||p),并计算
Figure FDA0002900470020000012
将存有用户端私钥的Xi存入智能卡中交还给用户端,并发布其公钥PKu的公钥证书;
3-3:用户端计算Z=h(ID||n||Bi||Pw),将Z和N存入智能卡中,智能卡中信息为<N,Xi,Z>;
步骤4:用户端和服务端相互认证与密钥协商阶段,其中包涵以下步骤;
4-1:用户端输入口令Pw和身份ID以及生物信息Bi,计算
Figure FDA0002900470020000013
和Z'=h(ID||n'||Bi||Pw)并比较Z'和卡内信息Z,如果不相等,则智能卡拒绝服务,认证失败;若相等,则进行步骤4-2;
4-2:用户端计算RPw=h(ID||Pw||n'),
Figure FDA0002900470020000014
然后寻找服务端的公钥证书,得到服务端公钥,计算A1=(Pks)u;生成一个随机数a,计算A2=ga、A3=Pkt a
Figure FDA0002900470020000024
和A5=h(ID||SID||t1||A1||A3),其中t1是当前时间的时间戳;然后将<A2,A4,A5,t1>通过公共信道发送给服务端;
4-3:服务端验证时间戳t1的合法性,然后计算A3'=A2 t
Figure FDA0002900470020000021
通过用户端身份ID寻找其公钥证书得到用户端公钥,并计算A1'=(Pku)s和A5'=h(ID||SID||t1||A1'||A3');将A5'和发送来的A5进行比较,如果不相等,则服务端拒绝服务,认证失败;如相等,则进入步骤4-4;
4-4:服务端生成一个随机数b,计算A6=gb,A7=A2 b,然后计算会话密钥Sks=h(ID||SID||A1'||A3'||A7||t1||t2)以及
Figure FDA0002900470020000022
其中t2是当前时间的时间戳,将<A6,A8,t2>通过公共信道发送给用户端;
4-5:用户端验证时间戳t2的合法性,计算A7'=A6 a
Figure FDA0002900470020000023
将A8'和发送来的A8进行比较,如果不相等,则服务端拒绝服务,认证失败;如相等,则进行步骤4-6;
4-6:用户端计算会话密钥Sku=h(ID||SID||A1||A3||A7'||t1||t2);
由此用户端和服务端在没有可信第三方注册/认证中心的情况下完成了双向认证,并实现了会话密钥Sku=h(ID||SID||A1||A3||A7'||t1||t2)=Sks=h(ID||SID||A1'||A3'||A7||t1||t2)的协商和建立。
2.根据权利要求1所述的多服务器环境下的三因素身份认证及密钥协商的方法,其特征在于步骤4-3中A1'=(Pku)s=A1=(Pks)u是双方唯一共享的静态DH值,只能由该协议中合法双方共享,第三者无法得到。
3.根据权利要求1所述的多服务器环境下的三因素身份认证及密钥协商的方法,其特征在于步骤4-4中A7=A2 b=gab是只用双方共享的动态DH值,不能被第三方获得,且具有时效性,不能通过记录再次使用。
4.根据权利要求2或3所述的多服务器环境下的三因素身份认证及密钥协商的方法,其特征在于该方法还设计有用户端口令更改功能,通过以下步骤实现:
步骤A:用户端输入口令Pw和身份ID以及生物信息Bi,计算
Figure FDA0002900470020000031
和Z'=h(ID||n'||Bi||Pw)并比较Z'和卡内信息Z,如果不相等,则智能卡拒绝服务,认证失败;若相等,则进行步骤B;
步骤B:用户端输入一个新的口令Pwnew以及生成一个新的随机数nnew,并计算RPwnew=h(ID||Pwnew||nnew)和RPw=h(ID||Pw||n),然后计算
Figure FDA0002900470020000032
以及
Figure FDA0002900470020000033
步骤C:将卡内信息Xi和N替换为Xinew和Nnew,完成用户端口令的更新。
CN201811104561.0A 2018-09-21 2018-09-21 多服务器环境下的三因素身份认证及密钥协商的方法 Active CN108965338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811104561.0A CN108965338B (zh) 2018-09-21 2018-09-21 多服务器环境下的三因素身份认证及密钥协商的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811104561.0A CN108965338B (zh) 2018-09-21 2018-09-21 多服务器环境下的三因素身份认证及密钥协商的方法

Publications (2)

Publication Number Publication Date
CN108965338A CN108965338A (zh) 2018-12-07
CN108965338B true CN108965338B (zh) 2021-03-23

Family

ID=64471968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811104561.0A Active CN108965338B (zh) 2018-09-21 2018-09-21 多服务器环境下的三因素身份认证及密钥协商的方法

Country Status (1)

Country Link
CN (1) CN108965338B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109754241B (zh) * 2018-12-27 2022-02-22 恒宝股份有限公司 一种硬钱包及基于硬钱包的验证方法
CN109639731B (zh) * 2019-01-22 2021-11-30 西安电子科技大学 多因子通用可组合认证及服务授权方法、通信服务系统
CN110493272B (zh) * 2019-09-25 2020-10-02 北京风信科技有限公司 使用多重密钥的通信方法和通信系统
CN113014376B (zh) * 2019-12-21 2022-06-14 浙江宇视科技有限公司 一种用户与服务器之间安全认证的方法
CN111769937A (zh) * 2020-06-24 2020-10-13 四川大学 面向智能电网高级测量体系的两方认证密钥协商协议
CN113055394A (zh) * 2021-03-26 2021-06-29 国网河南省电力公司电力科学研究院 一种适用于v2g网络的多服务双因子认证方法及系统
CN113626794B (zh) * 2021-07-22 2024-03-08 西安电子科技大学 客户/服务器模式下的认证及密钥协商方法、系统及应用
CN113660233A (zh) * 2021-08-09 2021-11-16 华北电力科学研究院有限责任公司 一种设备交互方法、装置、电子设备和计算机存储介质
CN113849815B (zh) * 2021-08-26 2022-04-22 兰州大学 一种基于零信任和机密计算的统一身份认证平台
CN114024706A (zh) * 2021-09-22 2022-02-08 兰州大学 基于零信任组合访问控制策略的工业控制系统安全框架
CN114900288B (zh) * 2022-05-23 2023-08-25 北京科技大学 一种基于边缘服务的工业环境认证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516201A (zh) * 2016-01-20 2016-04-20 陕西师范大学 一种多服务器环境下轻量级匿名认证与密钥协商方法
CN107294725A (zh) * 2016-04-05 2017-10-24 电子科技大学 一种多服务器环境下的三因素认证方法
CN108400962A (zh) * 2017-02-08 2018-08-14 上海格尔软件股份有限公司 一种多服务器架构下的认证和密钥协商方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516201A (zh) * 2016-01-20 2016-04-20 陕西师范大学 一种多服务器环境下轻量级匿名认证与密钥协商方法
CN107294725A (zh) * 2016-04-05 2017-10-24 电子科技大学 一种多服务器环境下的三因素认证方法
CN108400962A (zh) * 2017-02-08 2018-08-14 上海格尔软件股份有限公司 一种多服务器架构下的认证和密钥协商方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Security improvement on a biometrics-based authentication protocol for multi-server environment》;Y. Gu;《2017 IEEE 17th International Conference on Communication Technology (ICCT)》;20180517;1322-1327 *
《基于智能卡的多服务器远程匿名认证密钥协商协议》;李艳平;《四川大学学报》;20160111;第48卷(第1期);91-98 *
《基于智能卡的多服务器远程认证方案的研究》;国佃利;《中国优秀硕士学位论文全文数据库》;20150115;32-47 *

Also Published As

Publication number Publication date
CN108965338A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN108965338B (zh) 多服务器环境下的三因素身份认证及密钥协商的方法
US10951423B2 (en) System and method for distribution of identity based key material and certificate
CN103763631B (zh) 认证方法、服务器和电视机
KR101237632B1 (ko) 토큰과 검증자 사이의 인증을 위한 네크워크 헬퍼
KR100811419B1 (ko) 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법
US8930704B2 (en) Digital signature method and system
US8971540B2 (en) Authentication
Shunmuganathan et al. Secure and efficient smart-card-based remote user authentication scheme for multiserver environment
JP2021500831A (ja) マルチポイント認証のためのキー生成・預託システム及び方法
US20150124963A1 (en) Authentication
CN107294725A (zh) 一种多服务器环境下的三因素认证方法
WO2006000990A2 (en) Anonymous certificates with anonymous certificate show
WO2009089764A1 (fr) Système et procédé d'authentification de réseau sécurisé
CN113411187B (zh) 身份认证方法和系统、存储介质及处理器
Tsai et al. A chaotic map‐based anonymous multi‐server authenticated key agreement protocol using smart card
Jan et al. Mitigating the desynchronisation attack in multiserver environment
Chuang et al. An independent three‐factor mutual authentication and key agreement scheme with privacy preserving for multiserver environment and a survey
CN110784305B (zh) 基于不经意伪随机函数和签密的单点登录认证方法
KR20080005344A (ko) 인증서버가 사용자단말기를 인증하는 시스템
Gaharana et al. A new approach for remote user authentication in a Multi-server environment based on DYNAMIC-ID using SMART-CARD
KR20070035342A (ko) 패스워드 기반의 경량화된 상호 인증 방법
Li et al. A simple and robust anonymous two‐factor authenticated key exchange protocol
Sood Dynamic identity based authentication protocol for two-server architecture
Aboud Secure password authentication system using smart card
CN110419196A (zh) 安全数据交换

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant