CN112055008A - 一种身份验证方法、装置、计算机设备和存储介质 - Google Patents
一种身份验证方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112055008A CN112055008A CN202010895360.8A CN202010895360A CN112055008A CN 112055008 A CN112055008 A CN 112055008A CN 202010895360 A CN202010895360 A CN 202010895360A CN 112055008 A CN112055008 A CN 112055008A
- Authority
- CN
- China
- Prior art keywords
- counter
- verification
- client
- user
- ciphertext
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种身份验证方法、装置、计算机设备和存储介质,该方法包括:接收客户端发送的验证请求,验证请求包括用户名、验证摘要信息、用户计数器,验证摘要信息为以用户计数器作为计算摘要的次数、对口令生成的摘要信息,查找在客户端注册时记录的、与用户名关联的注册参数,注册参数包括服务计数器、标准密文,将用户计数器与服务计数器进行匹配,以检测在身份验证时降低数值的一致性,若用户计数器与服务计数器匹配成功,则根据标准密文与验证摘要信息之间的差异对客户端的身份进行验证,在1‑RTT内,客户端完成口令的验证,递减对口令计算摘要的次数,可防止口令在网络传输过程中的窃听攻击和重放攻击,防止潜在的字典攻击。
Description
技术领域
本发明实施例涉及安全的技术领域,尤其涉及一种身份验证方法、装置、计算机设备和存储介质。
背景技术
口令认证是一种广泛使用的身份验证方式,即用户在服务端注册用户名与口令,服务端持久化存储用户名与口令。在用户使用口令认证登录账户时,用户通过客户端输入用户名和口令,客户端将用户名与口令发送给服务端,服务端收到用户名与口令后,取出数据库中存储的相同用户名与口令进行对比,如果两者一致,则用户的身份验证成功,否则验证失败。
当前使用的口令认证协议包含密码认证协议(Password AuthenticationProtocol,PAP)和基于挑战-响应的口令认证协议CRAM-MD5。
在PAP中,服务端在注册时存储用户名和明文形式的口令,在验证时,客户端直接提交用户输入的用户名和明文形式的口令。明文形式的口令在不安全网络环境中,能够被攻击者使用窃听攻击和重放攻击,成功冒充合法用户成功登陆;并且,服务端存储明文形式的口令,一旦数据库被攻破,口令则被直接泄漏,造成用户身份被冒充的可能性。
在CRAM-MD5中,服务端在注册阶段使用单向散列函数对口令计算摘要信息,在数据库中存储用户名及摘要信息。在登录时,客户端向服务端发起验证请求;服务端收到验证请求后,生成随机数并发送给客户端,客户端对用户输入的口令计算摘要信息之后,与随机数一同再次计算摘要信息,将用户输入的用户名和最终的摘要信息发送给服务端;服务端从数据库中取出该用户名关联的摘要信息,与随机数一同再次计算摘要信息,如果客户端发送的摘要信息与服务端计算的摘要信息一致,则用户的身份验证成功,否则验证失败。
每次验证,服务端额外向客户端发起一个随机数进行挑战,造成客户端与服务端之间的验证需要2-RTT(Round-Trip Time,往返时延,2-RTT为两次交互),验证耗时较长;此外,服务端使用单向散列函数对口令计算摘要信息,摘要信息被泄漏,攻击者仍然有可能使用字典攻击破解出口令。
发明内容
本发明实施例提出了一种身份验证方法、装置、计算机设备和存储介质,以解决如何在降低验证耗时的情况下,防止不安全网络传输过程中的窃听攻击和重放攻击,以及防止服务端的数据库泄漏造成字典攻击的威胁的问题。
第一方面,本发明实施例提供了一种身份验证方法,包括:
接收客户端发送的验证请求,所述验证请求包括用户名、验证摘要信息、用户计数器,所述验证摘要信息为以所述用户计数器作为计算摘要的次数、对口令生成的摘要信息;
查找在所述客户端注册时记录的、与所述用户名关联的注册参数,所述注册参数包括服务计数器、标准密文;
将所述用户计数器与所述服务计数器进行匹配,以检测在身份验证时降低数值的一致性;
若所述用户计数器与所述服务计数器匹配成功,则根据所述标准密文与所述验证摘要信息之间的差异对所述客户端的身份进行验证。
第二方面,本发明实施例还提供了一种身份验证装置,包括:
验证请求接收模块,用于接收客户端发送的验证请求,所述验证请求包括用户名、验证摘要信息、用户计数器,所述验证摘要信息为以所述用户计数器作为计算摘要的次数、对口令生成的摘要信息;
注册参数查找模块,用于查找在所述客户端注册时记录的、与所述用户名关联的注册参数,所述注册参数包括服务计数器、标准密文;
计数器匹配模块,用于将所述用户计数器与所述服务计数器进行匹配,以检测在身份验证时降低数值的一致性;
差异验证模块,用于若所述用户计数器与所述服务计数器匹配成功,则根据所述标准密文与所述验证摘要信息之间的差异对所述客户端的身份进行验证。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的身份验证方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方所述的身份验证方法。
在本实施例中,接收客户端发送的验证请求,验证请求包括用户名、验证摘要信息、用户计数器,验证摘要信息为以用户计数器作为计算摘要的次数、对口令生成的摘要信息,查找在客户端注册时记录的、与用户名关联的注册参数,注册参数包括服务计数器、标准密文,将用户计数器与服务计数器进行匹配,以检测在身份验证时降低数值的一致性,若用户计数器与服务计数器匹配成功,则根据标准密文与验证摘要信息之间的差异对客户端的身份进行验证,一方面,在1-RTT(即一次交互)内,客户端完成口令的验证,减少了RTT的次数,从而降低了验证的耗时,另一方面,利用单向散列函数的不可逆性,在验证的过程中递减对口令计算摘要的次数,能够防止口令在网络传输过程中的窃听攻击和重放攻击,以及,防止口令在存储时面临的潜在的字典攻击,从而提高了用户身份的安全性。
附图说明
图1为本发明实施例一提供的一种身份验证方法的流程图;
图2为本发明实施例一提供的一种注册的信令图;
图3是本发明实施例二提供的一种身份验证方法的流程图;
图4为本发明实施例二提供的一种验证的信令图;
图5是本发明实施例三提供的一种身份验证方法的流程图;
图6为本发明实施例四提供的一种身份验证装置的结构示意图;
图7为本发明实施例五提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种身份验证方法的流程图,本实施例可适用于客户端注册的情况,该方法可以由身份验证装置来执行,该身份验证装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,该计算机设备作为服务端Server,与客户端Client建立安全传输通道,如超文本传输安全协议(Hyper TextTransfer Protocol over SecureSocket Layer,HTTPS),以便服务端Server与客户端Client进行通信,该方法具体包括如下步骤:
步骤101、接收客户端发送的注册请求。
在本实施例中,用户向服务端Server注册身份时,可在客户端Client提供的用户界面(User Interface,UI)中输入用户名username、口令password。
一般情况下,客户端Client为独立的应用,如直播应用、短视频应用、即时通讯工具、支付应用、购物应用等,以便于生成用户计数器CT,并进行计数。
当然,若浏览器可支持在本地存储用户计数器CT,也可以作为客户端Client参与身份的注册、验证,本实施例对此不加以限制。
此外,用户名username又可以称为用户账号、用户ID等,是标识用户的信息,口令password又可以称为密码,用户可以根据业务规则设置口令password,例如,将口令password设置为数字、字母、符号的组合,等等。
如图2所示,在注册时,客户端Client将用户名username、口令password作为注册参数组装至注册请求M11中,并将该注册请求M11发送至服务端Server,即注册请求M11包括用户名username、口令password。
服务端Server可接收客户端Client发送的注册请求M11,并从注册请求M11中读取用户名username、口令password。
步骤102、设置目标数值,以目标数值作为计算摘要的次数、对口令生成摘要信息,作为标准摘要信息。
在本实施例中,如图2所示,服务端Server可以根据业务场景对验证用户的身份的需求,设置一个相适配长度的数值,作为目标数值Nmax。
其中,目标数值Nmax是服务端Server设置的最大序数(整数),表示对口令password计算摘要的起始次数、上限次数,可根据安全策略设定。
具体而言,目标数值Nmax的长度与其安全性负相关、与其有效期正相关,即目标数值Nmax的长度越大,其安全性越低、其有效期越长,反之,目标数值Nmax的长度越短,其安全性越高、其有效期越短。
在对安全性要求较低的应用场景,可以生成长度较大的目标数值Nmax,减少注册的频次,在对安全性要求较高的应用场景,可以生成长度较短的目标数值Nmax,提高身份验证的安全性。
例如,若业务场景为登录,用户体验更为重要,若用户平均每天登录2次,则可以设置目标数值Nmax为400,这样,目标数值Nmax的有效期在半年,即客户端Client在半年左右的时间不需要修改口令password、重新注册。
又例如,若应用场景为支付,安全性更为重要,若用户平均每周支付5次,则可以设置目标数值Nmax为20,这样,目标数值Nmax的有效期在1个月左右,保证一个月内要更新一次口令password,防止客户端Client的口令password外泄造成经济损失。
在确定了计算摘要信息的次数(即目标数值Nmax)之后,可使用串行单向散列函数对口令password计算摘要信息,作为标准摘要信息。
其中,Nmax≥0,尤其是,当Nmax=0时,H0(passward)=passward,当Nmax=1时,H1(passward)=H(passward),等等。
进一步而言,单向散列函数H为标准安全单向散列函数,可将任意长度数据计算生成L字节固定长度的摘要信息B0B1B2…BL-2BL-1,可以包括消息摘要算法第五版(MessageDigest Algorithm 5,MD5)、安全哈希算法(Secure Hash Algorithm,SHA),等等。其中,MD5输出16B的摘要信息、SHA1输出20B的摘要信息、SHA256输出32B的摘要信息、SHA512输出64B的摘要信息,等等。
步骤103、对标准摘要信息进行加密,获得标准密文。
在本实施例中,如图2所示,可以预先设置加密方式,按照该加密方式对标准摘要信息D1进行加密,加密之后的密文为标准密文D。
在一种加密方式中,可调用rand()、srand()等随机函数,随机生成一数值,作为随机数Salt,从而防止中间人攻击(Man-in-the-MiddleAttack,MITM攻击)和重放攻击,增加安全性。
其中,中间人攻击是一种间接的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
将标准摘要信息D1与随机数Salt按照预设的组合方式组合为注册数组,如随机数Salt衔接在标准摘要信息D1的尾部,将随机数Salt插入在标准摘要信息D1指定的字节之后,等等。
对注册数组计算摘要信息,即可获得标准密文D,则标准密文D表示为:
D=H(D1|Salt)
当然,上述生成标准密文的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他生成标准密文的方式,例如,生成与标准摘要信息长度相同的掩码,将标准摘要信息与掩码按位进行异或操作,从而生成标准密文,等等,本发明实施例对此不加以限制。另外,除了上述生成标准密文的方式外,本领域技术人员还可以根据实际需要采用其它生成标准密文的方式,本发明实施例对此也不加以限制。
步骤104、将目标数值赋值给服务计数器。
在本实施例中,如图2所示,在服务端Server可中设置一个计数器,作为服务计数器N,该服务计算器用于记录串行单向散列函数当前计算摘要的次数。
在客户端Client注册时,可将目标数值Nmax赋值给服务计数器N,表示为N=Nmax,实现服务计数器N的初始化。
步骤105、将用户名、标准密文、服务计数器与目标数值作为注册参数进行存储。
在本实施例中,如图2所示,服务端Server在接收到客户端Client的注册请求M11之后,响应该注册请求M11,对客户端Client进行注册,在注册成功时,将注册过程中用户名username、标准密文D、服务计数器N与目标数值Nmax作为注册参数,存储在计算机设备本地的数据库中。
进一步而言,若服务端Server在先使用了除用户名username、服务计数器N与目标数值Nmax之外的其他参数生成标准密文D,则可以将该参数作为注册参数进行持久化存储。
在一个示例中,如图2所示,若使用了随机数Salt生成标准密文D1,则可以将用户名username、标准密文D、服务计数器N、目标数值Nmax与随机数Salt作为注册参数进行持久化存储,即存储元组{username,D,N,Nmax,Salt}。
此外,对于口令password,则在完成注册时删除,并不进行持久化存储。
步骤106、将服务计数器N发送至客户端。
在本实施例中,如图2所示,服务端Server将服务计数器N封装至注册响应M12中,将该注册响应M12发送至客户端Client。
客户端Client在本地生成一计数器,作为用户计数器CT,在接收到注册响应M12时,可从注册响应M12中读取服务计数器N,将服务计数器N的数值赋值给本地的用户计数器CT,此时,客户端Client完成向服务端Server注册。
在注册的过程中,计算机设备接收客户端发送的注册请求,该注册请求包括用户名、口令,设置目标数值,以目标数值作为计算摘要的次数、对口令生成摘要信息,作为标准摘要信息,对标准摘要信息进行加密,获得标准密文,将目标数值赋值给服务计数器,将用户名、标准密文、服务计数器与目标数值作为注册参数进行存储,将服务计数器发送至客户端,客户端用于将服务计数器的数值赋值给本地的用户计数器,利用单向散列函数的不可逆性,在注册的过程中对口令进行加密存储,防止口令在存储时面临的潜在的字典攻击,从而提高了用户身份的安全性,并且,计算机设与客户端同步计数,以支持在认证的过程中以递减的方式对口令计算摘要,并保持一致。
实施例二
图3为本发明实施例二提供的一种身份验证方法的流程图,本实施例以前述实施例为基础,进一步增加身份验证的操作,该方法具体包括如下步骤:
步骤301、接收客户端发送的验证请求。
如图4所示,客户端Client在向服务端Server注册时,客户端Client的用户计数器CT同步服务端Server的服务计数器N。
在用户进行身份验证时,可在客户端Client提供的用户界面中输入用户名username、口令password等信息。
客户端Client提取本地存储的用户计数器CT,以当前用户计数器CT存储的数值作为计算摘要的次数、对口令password生成的摘要信息,获得验证摘要信息Dc,表示如下:
Dc=HCT(passward)
客户端Client将用户名username、验证摘要信息Dc、用户计数器CT封装至验证请求M21中,并将验证请求消息M21发送至服务端Server,即验证请求M21中包括用户名username、验证摘要信息Dc、用户计数器CT。
服务端Server可接收客户端Client发送的验证请求M21,并从验证请求M21中读取用户名username、验证摘要信息Dc、用户计数器CT。
步骤302、查找在客户端注册时记录的、与用户名关联的注册参数。
如图4所示,客户端Client在向服务端Server注册时,服务端Server可将用户名username、标准密文D、服务计数器N、目标数值Nmax与随机数Salt等参数作为注册参数持久化存储。
在客户端Client在接收到验证请求M21时,可以以验证请求M21中的用户名username作为索引,在服务端Server中的数据库查找相同的用户名username,从而提取该用户名username关联的注册参数。
在本实施例中,服务端Server提取的注册参数至少包括服务计数器N、标准密文D。
步骤303、将用户计数器与服务计数器进行匹配,以检测在身份验证时降低数值的一致性。
如图4所示,在身份验证的过程中,客户端Client的用户计数器CT与服务端Server的服务计数器N以相同的方式降低数值,从而实现计数的调整,即本次身份验证中客户端Client对口令password计算摘要的次数少于上一次身份验证中客户端Client对口令password计算摘要的次数。
因此,在本实施例中,服务端Server可以将用户计数器CT与服务计数器N进行匹配,从而检测在身份验证的过程中,用户计数器CT降低数值与服务计数器N降低数值是否保持一致。
如果用户计数器CT降低数值与服务计数器N降低数值保持一致,则可以认为用户计数器CT与服务计数器N匹配成功。
如果用户计数器CT降低数值与服务计数器N降低数值未保持一致,则可以认为用户计数器CT与服务计数器N匹配失败。
在一种匹配的方式中,考虑到客户端Client在运行的过程中,会出现一些错误,导致用户计数器CT计数出错。
为提高容错的能力,保证客户端Client正常进行身份验证,在本方式中,可对用户计数器CT与服务计数器N进行比较。
若用户计数器CT小于或等于服务计数器N(即CT≤N),则可能是客户端Client正常运行,用户计数器CT与服务计数器N计数均准确、两者相等,或者,客户端Client运行出错导致用户计数器CT小于服务计数器N,此时,可确定用户计数器CT降低数值与服务计数器N降低数值保持一致,即用户计数器CT与服务计数器N匹配成功。
若用户计数器CT大于服务计数器N(即CT>N),则客户端Client可能出现重放攻击的情况,此时,可确定用户计数器CT降低数值与服务计数器N降低数值未保持一致,即用户计数器CT与服务计数器N匹配失败。
步骤304、若用户计数器与服务计数器匹配成功,则根据标准密文与验证摘要信息之间的差异对客户端的身份进行验证。
如图4所示,如果用户计数器CT与服务计数器N匹配成功,则可以进一步比较标准密文D与验证摘要信息Dc,参考标准密文D与验证摘要信息Dc之间的差异,对客户端Client进行身份验证。
在一种身份验证的方式中,为提高容错的能力,保证客户端Client正常进行身份验证,可从客户端Client的注册参数提取目标数值Nmax。
则在本方式中,以目标数值Nmax与用户计数器CT之间的差值作为计算摘要的次数、对验证摘要信息Dc生成摘要信息,作为中间摘要信息D2,表示如下:
按照预设的加密方式对中间摘要信息D2进行加密,获得验证密文D′。
示例性地,可从客户端Client的注册参数中提取随机数Salt,将中间摘要信息D2与随机数Salt组合为验证数组,如随机数Salt衔接在中间摘要信息D2的尾部,将随机数Salt插入在中间摘要信息D2指定的字节之后,等等。
对验证数组计算摘要信息,作为验证密文D′,则标准密文D′表示为:
D′=H(D2|Salt)
将验证密文D′与标准密文D进行比较。
若验证密文D′与标准密文D相同(即D′=D),则确定对客户端的身份验证成功。
若验证密文D′与标准密文D不同(即D′≠D),则确定对客户端的身份验证失败。
在本实施例中,以目标数值与用户计数器之间的差值作为计算摘要的次数、对验证摘要信息生成摘要信息,作为中间摘要信息,按照预设的加密方式对中间摘要信息进行加密,获得验证密文,将验证密文与标准密文进行比较,从而对客户端的身份进行验证,可对客户端运行出现错误导致计数错误的情况实现容错,提高身份验证的成功率,避免客户端反复进行身份验证。
在一个示例中,假设目标数值Nmax=100,服务计数器N=90,用户计数器CT=80。
在注册时,服务端Server可生成标准摘要信息D1=H100(password),则可生成标准密文D=H(D1|Salt)=H(H100(password)|Salt)。
在验证时,客户端Client生成验证摘要信息Dc=H80(password),服务端Server在确定用户计数器CT(80)<服务计数器N(90时),计算中间摘要信息D2=H100-80(H80(password))=H100(password),相应地,可生成验证密文D′=H(H100(password)|Salt)。
因此,标准密文D=验证密文D′,客户端Client的身份验证成功。
此外,在非容错的情况下,可按照预设的加密方式对验证摘要信息Dc进行加密,获得验证密文D′,将验证密文D′与标准密文D进行比较,从而对客户端的身份进行验证,本实施例对此不加以限制。
在验证的流程中,接收客户端发送的验证请求,验证请求包括用户名、验证摘要信息、用户计数器,验证摘要信息为以用户计数器作为计算摘要的次数、对口令生成的摘要信息,查找在客户端注册时记录的、与用户名关联的注册参数,注册参数包括服务计数器、标准密文,将用户计数器与服务计数器进行匹配,以检测在身份验证时降低数值的一致性,若用户计数器与服务计数器匹配成功,则根据标准密文与验证摘要信息之间的差异对客户端的身份进行验证,一方面,在1-RTT(即一次交互)内,客户端完成口令的验证,减少了RTT的次数,从而降低了验证的耗时,另一方面,利用单向散列函数的不可逆性,在验证的过程中递减对口令计算摘要的次数,能够防止口令在网络传输过程中的窃听攻击和重放攻击,以及,防止口令在存储时面临的潜在的字典攻击,从而提高了用户身份的安全性。
实施例三
图5为本发明实施例三提供的一种身份验证方法的流程图,本实施例以前述实施例为基础,进一步增加验证响应的操作,该方法具体包括如下步骤:
步骤501、接收客户端发送的验证请求。
其中,验证请求包括用户名、验证摘要信息Dc、用户计数器,验证摘要信息Dc为以用户计数器作为计算摘要的次数、对口令生成的摘要信息。
步骤502、查找在客户端注册时记录的、与用户名关联的注册参数。
其中,注册参数包括服务计数器N、标准密文D。
步骤503、将用户计数器与服务计数器进行匹配,以检测在身份验证时降低数值的一致性。
步骤504、若用户计数器与服务计数器匹配失败,则确定对客户端的身份验证失败。
如图4所示,如果用户计数器CT与服务计数器N匹配失败(如CT>N),客户端Client可能出现重放攻击的情况,则可以认定对客户端Client的身份验证失败,停止对客户端Client的身份进行验证,防止重放攻击,保护用户数据安全。
步骤505、若用户计数器与服务计数器匹配成功,则根据标准密文与验证摘要信息之间的差异对客户端的身份进行验证。
步骤506、若对客户端的身份验证成功,则降低用户计数器的数值。
步骤507、将降低数值之后的用户计数器赋值给服务计数器。
如图4所示,在客户端的身份验证成功的情况下,服务端Server可生成表示验证成功的标识,如success,将表示验证成功的标识封装验证响应M22中。
此外,客户端Client的用户计数器CT与服务端Server的服务计数器N,均用于记录使用串行单向散列函数对口令password计算摘要的次数。
在本实施例中,利用单向散列函数的单向性,即从摘要信息至原数据之间具有不可逆性,在客户端的身份验证成功的情况下,对客户端Client的用户计数器CT与服务端Server的服务计数器N进行递减,防止口令password在网络传输过程中的重放攻击。
例如,客户端Client在上一次验证身份时,对口令password计算了5次摘要,表示为H5(password),在本次验证身份时,对口令password计算了4次摘要,表示为H4(password),假设在网络传输过程中,攻击者拦截了H5(password),鉴于单向散列函数的单向性,攻击者难以从H5(password)重放至H4(password)。
在具体实现中,为了尽可能提高客户端Client的用户计数器CT与服务端Server的服务计数器N的使用时长,减少重新注册的频次,客户端Client的用户计数器CT与服务端Server的服务计数器N每次降低的数值为最小单位的数值,如1,即降低数值的过程可表示如下:
N=CT-1
当然,为了进一步防止重放攻击,提高口令password在网络传输过程中的安全性,除了最小单位的数值(如1)之外,也可以设置其他数值,例如,2、3、4,等等,本实施例对此不加以限制。
步骤508、将服务计数器发送至客户端。
如图4所示,服务端Server在降低服务计数器N的数值之后,可将服务计数器N封装至验证响应M22中,并将验证响应M22发送至客户端。
客户端Client在接收到验证响应M22之后,从验证响应M22中读取表示验证成功的标识,如success,以及,服务计数器N,一方面,客户端Client基于表示验证成功的标识进行业务操作,如执行登录、支付等操作,另一方面,将服务计数器N赋值给本地的用户计数器CT(即CT=N),从而降低本地的用户计数器CT的数值,并与服务端Server的服务计数器N保持一致,保证后续验证的准确性。
步骤509、若服务计数器小于或等于预设的阈值,则通知客户端修改口令、以重新注册。
在本实施例中,服务端Server可检查服务计数器N,将服务计数器N的数值与预设的阈值进行比较,如果服务计数器N的数值小于或等于该阈值,表示服务计数器N的数值较低,为避免服务计数器N耗尽导致无法进行身份验证,可发送提示消息至客户端Server,提示用户修改口令password,从而重新进行注册,变更口令,从而保证用户数据的安全性。
步骤510、若对客户端的身份验证失败,则将服务计数器发送至客户端。
如图4所示,对于客户端Client的身份验证失败的情况,可能是用户计数器CT与服务计数器N匹配失败,也可能是根据标准密文D与验证摘要信息Dc之间的差异不满足验证的条件。
一方面,服务端Server可生成表示验证失败的标识,如failure,将表示验证失败的标识封装验证响应M22中,另一方面,服务端Server将本地的服务计数器N封装至验证响应M22中,并将验证响应M22发送至客户端Client。
客户端Client在接收到验证响应M22之后,从验证响应M22中读取表示验证失败的标识,如failure,以及,服务计数器N,一方面,客户端Client基于表示验证失败的标识进行业务操作,如提示身份验证失败,禁止登录、支付等操作,另一方面,将服务计数器N赋值给本地的用户计数器CT(即CT=N),与服务端Server的服务计数器N保持一致,减少因客户端运行出错、网络传输出错等因素造成验证失败的情况。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例四
图6为本发明实施例四提供的一种身份验证装置的结构框图,具体可以包括如下模块:
验证请求接收模块601,用于接收客户端发送的验证请求,所述验证请求包括用户名、验证摘要信息、用户计数器,所述验证摘要信息为以所述用户计数器作为计算摘要的次数、对口令生成的摘要信息;
注册参数查找模块602,用于查找在所述客户端注册时记录的、与所述用户名关联的注册参数,所述注册参数包括服务计数器、标准密文;
计数器匹配模块603,用于将所述用户计数器与所述服务计数器进行匹配,以检测在身份验证时降低数值的一致性;
差异验证模块604,用于若所述用户计数器与所述服务计数器匹配成功,则根据所述标准密文与所述验证摘要信息之间的差异对所述客户端的身份进行验证。
在本发明的一个实施例中,所述计数器匹配模块603包括:
计数器比较子模块,用于对所述用户计数器与所述服务计数器进行比较;
匹配成功子模块,用于若所述用户计数器小于或等于所述服务计数器,则确定所述用户计数器与所述服务计数器匹配成功;
匹配失败子模块,用于若所述用户计数器大于所述服务计数器,则确定所述用户计数器与所述服务计数器匹配失败。
在本发明的一个实施例中,所述注册参数还包括目标数值;
所述差异验证模块604包括:
中间摘要信息计算子模块,用于以所述目标数值与所述用户计数器之间的差值作为计算摘要的次数、对所述验证摘要信息生成摘要信息,作为中间摘要信息;
验证密文加密子模块,用于对所述中间摘要信息进行加密,获得验证密文;
验证成功子模块,用于若所述验证密文与所述标准密文相同,则确定对所述客户端的身份验证成功;
验证失败子模块,用于若所述验证密文与所述标准密文不同,则确定对所述客户端的身份验证失败。
在本发明的一个实施例中,所述参数还包括随机数;
所述验证密文加密子模块包括:
验证数组组合单元,用于将所述中间摘要信息与所述随机数组合为验证数组;
验证密文计算单元,用于对所述验证数组计算摘要信息,作为验证密文。
在本发明的一个实施例中,还包括:
数值降低模块,用于若对所述客户端的身份验证成功,则降低所述用户计数器的数值;
降值赋值模块,用于将降低数值之后的所述用户计数器赋值给所述服务计数器;
第一计数器同步模块,用于将所述服务计数器发送至所述客户端,所述客户端用于将所述服务计数器赋值给本地的用户计数器。
在本发明的一个实施例中,还包括:
验证失败确定模块,用于若所述用户计数器与所述服务计数器匹配失败,则确定对所述客户端的身份验证失败;
第二计数器同步模块,用于若对所述客户端的身份验证失败,则将所述服务计数器发送至所述客户端,所述客户端用于将所述服务计数器赋值给本地的用户计数器。
在本发明的一个实施例中,还包括:
更新通知模块,用于若所述服务计数器小于或等于预设的阈值,则通知所述客户端修改口令、以重新注册。
在本发明的一个实施例中,还包括:
注册请求接收模块,用于接收客户端发送的注册请求,所述注册请求包括用户名、口令;
标准摘要信息计算模块,用于设置目标数值,以所述目标数值作为计算摘要的次数、对所述口令生成摘要信息,作为标准摘要信息;
标准密文加密模块,用于对所述标准摘要信息进行加密,获得标准密文;
目标数值赋值模块,用于将所述目标数值赋值给服务计数器;
注册参数存储模块,用于将所述用户名、所述标准密文、所述服务计数器与所述目标数值作为注册参数进行存储;
第三计数器同步模块,用于将所述服务计数器发送至所述客户端,所述客户端用于将所述服务计数器的数值赋值给本地的用户计数器。
在本发明的一个实施例中,所述标准密文加密模块包括:
随机数生成子模块,用于随机生成一数值,作为随机数;
注册数组组合子模块,用于将所述标准摘要信息与所述随机数组合为注册数组;
标准密文计算子模块,用于对所述注册数组计算摘要信息,获得标准密文;
所述注册参数存储模块还用于:
将所述用户名、所述标准密文、所述服务计数器、所述目标数值与所述随机数作为注册参数进行存储。
本发明实施例所提供的身份验证装置可执行本发明任意实施例所提供的身份验证方法,具备执行方法相应的功能模块和有益效果。
实施例五
图7为本发明实施例五提供的一种计算机设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图7显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的身份验证方法。
实施例六
本发明实施例六还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述身份验证方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种身份验证方法,其特征在于,包括:
接收客户端发送的验证请求,所述验证请求包括用户名、验证摘要信息、用户计数器,所述验证摘要信息为以所述用户计数器作为计算摘要的次数、对口令生成的摘要信息;
查找在所述客户端注册时记录的、与所述用户名关联的注册参数,所述注册参数包括服务计数器、标准密文;
将所述用户计数器与所述服务计数器进行匹配,以检测在身份验证时降低数值的一致性;
若所述用户计数器与所述服务计数器匹配成功,则根据所述标准密文与所述验证摘要信息之间的差异对所述客户端的身份进行验证。
2.根据权利要求1所述的方法,其特征在于,所述将所述用户计数器与所述服务计数器进行匹配,以检测在身份验证时降低数值的一致性,包括:
对所述用户计数器与所述服务计数器进行比较;
若所述用户计数器小于或等于所述服务计数器,则确定所述用户计数器与所述服务计数器匹配成功;
若所述用户计数器大于所述服务计数器,则确定所述用户计数器与所述服务计数器匹配失败。
3.根据权利要求1所述的方法,其特征在于,所述注册参数还包括目标数值;
所述根据所述标准密文与所述验证摘要信息之间的差异对所述客户端的身份进行验证,包括:
以所述目标数值与所述用户计数器之间的差值作为计算摘要的次数、对所述验证摘要信息生成摘要信息,作为中间摘要信息;
对所述中间摘要信息进行加密,获得验证密文;
若所述验证密文与所述标准密文相同,则确定对所述客户端的身份验证成功;
若所述验证密文与所述标准密文不同,则确定对所述客户端的身份验证失败。
4.根据权利要求3所述的方法,其特征在于,所述参数还包括随机数;
所述对所述中间摘要信息进行加密,获得验证密文,包括:
将所述中间摘要信息与所述随机数组合为验证数组;
对所述验证数组计算摘要信息,作为验证密文。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
若对所述客户端的身份验证成功,则降低所述用户计数器的数值;
将降低数值之后的所述用户计数器赋值给所述服务计数器;
将所述服务计数器发送至所述客户端,所述客户端用于将所述服务计数器赋值给本地的用户计数器。
6.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
若所述用户计数器与所述服务计数器匹配失败,则确定对所述客户端的身份验证失败;
若对所述客户端的身份验证失败,则将所述服务计数器发送至所述客户端,所述客户端用于将所述服务计数器赋值给本地的用户计数器。
7.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
若所述服务计数器小于或等于预设的阈值,则通知所述客户端修改口令、以重新注册。
8.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
接收客户端发送的注册请求,所述注册请求包括用户名、口令;
设置目标数值,以所述目标数值作为计算摘要的次数、对所述口令生成摘要信息,作为标准摘要信息;
对所述标准摘要信息进行加密,获得标准密文;
将所述目标数值赋值给服务计数器;
将所述用户名、所述标准密文、所述服务计数器与所述目标数值作为注册参数进行存储;
将所述服务计数器发送至所述客户端,所述客户端用于将所述服务计数器的数值赋值给本地的用户计数器。
9.根据权利要求8所述的方法,其特征在于,
所述对所述标准摘要信息进行加密,获得标准密文,包括:
随机生成一数值,作为随机数;
将所述标准摘要信息与所述随机数组合为注册数组;
对所述注册数组计算摘要信息,获得标准密文;
所述将所述用户名、所述标准密文、所述服务计数器与所述目标数值作为注册参数进行存储,包括:
将所述用户名、所述标准密文、所述服务计数器、所述目标数值与所述随机数作为注册参数进行存储。
10.一种身份验证装置,其特征在于,包括:
验证请求接收模块,用于接收客户端发送的验证请求,所述验证请求包括用户名、验证摘要信息、用户计数器,所述验证摘要信息为以所述用户计数器作为计算摘要的次数、对口令生成的摘要信息;
注册参数查找模块,用于查找在所述客户端注册时记录的、与所述用户名关联的注册参数,所述注册参数包括服务计数器、标准密文;
计数器匹配模块,用于将所述用户计数器与所述服务计数器进行匹配,以检测在身份验证时降低数值的一致性;
差异验证模块,用于若所述用户计数器与所述服务计数器匹配成功,则根据所述标准密文与所述验证摘要信息之间的差异对所述客户端的身份进行验证。
11.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的身份验证方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9中任一项所述的身份验证方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895360.8A CN112055008B (zh) | 2020-08-31 | 2020-08-31 | 一种身份验证方法、装置、计算机设备和存储介质 |
PCT/CN2021/109292 WO2022042198A1 (zh) | 2020-08-31 | 2021-07-29 | 身份验证方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895360.8A CN112055008B (zh) | 2020-08-31 | 2020-08-31 | 一种身份验证方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112055008A true CN112055008A (zh) | 2020-12-08 |
CN112055008B CN112055008B (zh) | 2022-10-14 |
Family
ID=73608104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010895360.8A Active CN112055008B (zh) | 2020-08-31 | 2020-08-31 | 一种身份验证方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112055008B (zh) |
WO (1) | WO2022042198A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022042198A1 (zh) * | 2020-08-31 | 2022-03-03 | 百果园技术(新加坡)有限公司 | 身份验证方法、装置、计算机设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117118757B (zh) * | 2023-10-24 | 2024-01-09 | 长扬科技(北京)股份有限公司 | 工控环境下的终端登录方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931530A (zh) * | 2009-12-14 | 2010-12-29 | 北京神州付电子支付科技有限公司 | 动态口令生成方法、认证方法和装置及网络系统 |
CN102045349A (zh) * | 2010-12-03 | 2011-05-04 | 北京航空航天大学 | 一种基于时间和事件的一次性口令生成和验证方法 |
US20110252229A1 (en) * | 2010-04-07 | 2011-10-13 | Microsoft Corporation | Securing passwords against dictionary attacks |
CN109088890A (zh) * | 2018-10-18 | 2018-12-25 | 国网电子商务有限公司 | 一种身份认证方法、相关装置及系统 |
CN109815666A (zh) * | 2018-12-26 | 2019-05-28 | 航天信息股份有限公司 | 基于fido协议的身份认证方法、装置、存储介质和电子设备 |
CN111586023A (zh) * | 2020-04-30 | 2020-08-25 | 广州市百果园信息技术有限公司 | 一种认证方法、设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395627B (zh) * | 2017-08-22 | 2020-07-17 | 河海大学 | 一种基于单向函数的轻量级认证协议 |
US10841305B2 (en) * | 2017-10-02 | 2020-11-17 | Blackberry Limited | Authenticating for a software service |
CN108833109B (zh) * | 2018-05-28 | 2021-09-14 | 苏州科达科技股份有限公司 | 身份认证方法、装置以及电子设备 |
US11140155B2 (en) * | 2018-11-20 | 2021-10-05 | Imam Abdulrahman Bin Faisal University | Methods, computer readable media, and systems for authentication using a text file and a one-time password |
CN112055008B (zh) * | 2020-08-31 | 2022-10-14 | 广州市百果园信息技术有限公司 | 一种身份验证方法、装置、计算机设备和存储介质 |
-
2020
- 2020-08-31 CN CN202010895360.8A patent/CN112055008B/zh active Active
-
2021
- 2021-07-29 WO PCT/CN2021/109292 patent/WO2022042198A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931530A (zh) * | 2009-12-14 | 2010-12-29 | 北京神州付电子支付科技有限公司 | 动态口令生成方法、认证方法和装置及网络系统 |
US20110252229A1 (en) * | 2010-04-07 | 2011-10-13 | Microsoft Corporation | Securing passwords against dictionary attacks |
CN102045349A (zh) * | 2010-12-03 | 2011-05-04 | 北京航空航天大学 | 一种基于时间和事件的一次性口令生成和验证方法 |
CN109088890A (zh) * | 2018-10-18 | 2018-12-25 | 国网电子商务有限公司 | 一种身份认证方法、相关装置及系统 |
CN109815666A (zh) * | 2018-12-26 | 2019-05-28 | 航天信息股份有限公司 | 基于fido协议的身份认证方法、装置、存储介质和电子设备 |
CN111586023A (zh) * | 2020-04-30 | 2020-08-25 | 广州市百果园信息技术有限公司 | 一种认证方法、设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022042198A1 (zh) * | 2020-08-31 | 2022-03-03 | 百果园技术(新加坡)有限公司 | 身份验证方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022042198A1 (zh) | 2022-03-03 |
CN112055008B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10637855B2 (en) | Enhanced authentication for secure communications | |
EP3269082B1 (en) | Methods and systems for managing network activity using biometrics | |
US10574648B2 (en) | Methods and systems for user authentication | |
US9544280B2 (en) | Utilization of a protected module to prevent offline dictionary attacks | |
US10797879B2 (en) | Methods and systems to facilitate authentication of a user | |
US8789166B2 (en) | Verification method and system thereof | |
US8478998B2 (en) | Authenticated communication using a shared unpredictable secret | |
US10103888B2 (en) | Method of performing keyed-hash message authentication code (HMAC) using multi-party computation without Boolean gates | |
KR101739203B1 (ko) | 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법 | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
US11997210B2 (en) | Protection of online applications and webpages using a blockchain | |
WO2021137769A1 (en) | Method and apparatus for sending and verifying request, and device thereof | |
CN112055008B (zh) | 一种身份验证方法、装置、计算机设备和存储介质 | |
EP3133791B1 (en) | Double authentication system for electronically signed documents | |
CN111639325A (zh) | 基于开放平台的商户认证方法、装置、设备和存储介质 | |
CN112689014A (zh) | 一种双全工通信方法、装置、计算机设备和存储介质 | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN113676452A (zh) | 基于一次性密钥的重放攻击抵御方法及系统 | |
CN112968910B (zh) | 一种防重放攻击方法和装置 | |
CN111324885A (zh) | 一种分布式身份认证方法 | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN116527261A (zh) | 密钥恢复方法、电子设备、存储介质 | |
CN111628985A (zh) | 安全访问控制方法、装置、计算机设备和存储介质 | |
CN114553566B (zh) | 数据加密方法、装置、设备及存储介质 | |
US11689923B2 (en) | Method and system for generating a secure one-time passcode using strong authentication |
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 |