CN111327629A - 身份验证方法、客户端和服务端 - Google Patents
身份验证方法、客户端和服务端 Download PDFInfo
- Publication number
- CN111327629A CN111327629A CN202010142543.2A CN202010142543A CN111327629A CN 111327629 A CN111327629 A CN 111327629A CN 202010142543 A CN202010142543 A CN 202010142543A CN 111327629 A CN111327629 A CN 111327629A
- Authority
- CN
- China
- Prior art keywords
- dynamic password
- server
- user name
- authorization code
- client
- 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
- 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/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
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种身份验证方法、客户端和服务端,其中方法包括:向服务端发送待验证的用户名;接收服务端返回的授权码和身份验证标识,其中授权码是服务端基于用户名和预设密钥交换算法生成的,身份验证标识是服务端随机生成的;将用户名和授权码输入至动态密码生成器,得到动态密码生成器输出的动态密码;其中,动态密码生成器用于基于预设密钥交换算法和随机字符串加密算法,确定用户名和授权码所对应的动态密码;将身份验证标识和动态密码发送至服务端,以供服务端进行身份验证。本发明实施例提供的方法、客户端和服务端,简化了身份验证流程,提高了身份验证效率,极大程度上提高了身份验证的安全性。
Description
技术领域
本发明涉及身份验证技术领域,尤其涉及一种身份验证方法、客户端和服务端。
背景技术
信息系统日益普遍,用户登录和验证作为信息系统的身份验证方式,是基本又重要的功能。用户登录成功后,客户端即取得授权钥匙,后续所有系统操作,服务器端都会通过授权钥匙来识别相关用户,进而进行相关的业务逻辑处理。
目前大多数信息系统,都是通过填写用户名和密码,进行用户注册,然后再通过填写用户名和密码,进行用户登录。这种方式能够简单且有效地对用户身份进行验证,但是也存在着一些安全隐患和其他问题,例如密码被盗取,忘记了密码,用户需要先注册才能使用等,这些问题使得用户的隐私面临极大的安全隐患,且从实际操作的角度看,身份验证流程的复杂和密码的记忆难度给用户造成了诸多不便。
发明内容
本发明实施例提供一种身份验证方法、客户端和服务端,用以解决结合用户名和密码的身份验证方法存在安全隐患、流程繁琐且不易操作的问题。
第一方面,本发明实施例提供一种身份验证方法,包括:
向服务端发送待验证的用户名;
接收所述服务端返回的授权码和身份验证标识,其中所述授权码是所述服务端基于所述用户名和预设密钥交换算法生成的,所述身份验证标识是所述服务端随机生成的;
将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码;其中,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
将所述身份验证标识和所述动态密码发送至所述服务端,以供所述服务端进行身份验证。
第二方面,本发明实施例提供一种身份验证方法,包括:
接收客户端发送的待验证的用户名;
基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向所述客户端返回所述授权码和所述身份验证标识;
接收所述客户端返回的所述身份验证标识和动态密码;其中,所述动态密码是所述客户端将所述用户名和所述授权码输入至动态密码生成器得到的,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
基于所述身份验证标识和所述动态密码进行身份验证。
第三方面,本发明实施例提供一种客户端,包括:
授权码请求单元,用于向服务端发送待验证的用户名;
授权码接收单元,用于接收所述服务端返回的授权码和身份验证标识,其中所述授权码是所述服务端基于所述用户名和预设密钥交换算法生成的,所述身份验证标识是所述服务端随机生成的;
动态密码获取单元,用于将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码;其中,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
动态密码发送单元,用于将所述身份验证标识和所述动态密码发送至所述服务端,以供所述服务端进行身份验证。
第四面,本发明实施例提供一种服务端,包括:
用户名接收单元,用于接收客户端发送的待验证的用户名;
授权码生成单元,用于基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向所述客户端返回所述授权码和所述身份验证标识;
动态密码接收单元,用于接收所述客户端返回的所述身份验证标识和动态密码;其中,所述动态密码是所述客户端将所述用户名和所述授权码输入至动态密码生成器得到的,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
身份验证单元,用于基于所述身份验证标识和所述动态密码进行身份验证。
第五方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑命令,以执行如第一方面或第二方面所提供的方法的步骤。
第六方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第二方面所提供的方法的步骤。
本发明实施例提供的一种身份验证方法、客户端和服务端,基于动态密码生成器生成动态密码用于身份验证,身份验证过程无需预先注册,简化了身份验证流程,提高了身份验证效率;基于预设密钥交换算法和随机字符串加密算法生成的动态密码具有随机性和动态性,相比现有的固定密码,动态密钥极其不易被破解,极大程度上提高了身份验证的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的身份验证方法的流程示意图;
图2为本发明另一实施例提供的身份验证方法的流程示意图;
图3为本发明又一实施例提供的身份验证方法的流程示意图;
图4为本发明实施例提供的动态密码生成方法的流程示意图;
图5为本发明实施例提供的动态密码验证方法的流程示意图;
图6为本发明实施例提供的客户端的结构示意图;
图7为本发明实施例提供的服务端的结构示意图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着信息安全问题日益凸显,如何提高身份验证的安全性成为了用户普遍关注的问题。而常规的密码验证方法,前期需要用户进行注册,流程繁琐,且通过增加密码长度和复杂度提高安全性的方式,会导致用户极易记错或者忘记密码,很大程度上牺牲了密码的实用性,增加了身份验证难度,给用户造成了诸多不便。
对此,本发明实施例提供了一种身份验证方法,在保证安全性的同时提高了身份验证方法的实用性,实现简单便捷。图1为本发明实施例提供的身份验证方法的流程示意图,如图1所示,该方法的执行主体为客户端,该方法包括:
步骤110,向服务端发送待验证的用户名。
此处,待验证的用户名可以是用户输入的,也可以是客户端随机生成的,用户名可以是任意字符串,仅用于对进行身份验证的用户进行标识。在此步骤之前,客户端无需预先向服务端注册该用户名。
步骤120,接收服务端返回的授权码和身份验证标识,其中授权码是服务端基于用户名和预设密钥交换算法生成的,身份验证标识是服务端随机生成的。
具体地,预设密钥交换算法即预先设定的一种密钥交换算法,例如DH(Diffie-Hellman)密钥交换算法、ECDH(Elliptic Curve Diffie-Hellman)密钥交换算法,或者Oakley算法等,本发明实施例对此不作具体限定。需要说明的是,预设密钥交换算法是服务端和客户端安装的动态密码生成器预先约定的,两者所执行的预设密钥交换算法是同一种密钥交换算法。
服务端在接收到客户端发送的用户名之后,可以根据预设密钥交换算法生成该用户名所对应的服务端的公钥和私钥,此处记为第一公钥和第一私钥,随即基于第一公钥和用户名生成授权码。此外,服务端还可以随机生成一段字符串作为此次身份验证的身份验证标识,身份验证标识直接对应于该用户名的第一公钥和第一私钥。
随后,服务端将授权码和身份验证标识返回客户端。
步骤130,将用户名和授权码输入至动态密码生成器,得到动态密码生成器输出的动态密码;其中,动态密码生成器用于基于预设密钥交换算法和随机字符串加密算法,确定用户名和授权码所对应的动态密码。
此处,动态密码生成器可以是预先安装在客户端的,也可以是设置在能够与客户端直接通信的处理设备上,动态密码生成器默认客户端具备服务器的登陆权限。例如,客户端可以直接将用户名和授权码输入到预先安装并存储在自身上的动态密码生成器,从而得到动态密码生成器生成的动态密码,也可以将用户名和授权码传输到安装有动态密码生成器的处理设备上,在动态密码生成器生成动态密码后,由安装由动态密码生成器的处理设备将动态密码返回到客户端。
客户端在得到服务器返回的授权码后,将授权码和用户名输入到动态密码生成器,由动态密码生成器基于授权码和用户名得到服务器生成的第一公钥,并基于预设密钥交换算法生成用户名所对应的客户端的公钥和私钥,此处记为第二公钥和第二私钥。在动态密码生成器得到服务器生成的第一公钥和客户端对应的第二私钥后,即可基于第一公钥和第二私钥得到预设密钥交换算法所对应的密钥,记为客户端密钥,在此基础上,将客户端密钥与随机字符串加密算法相结合,得到动态密码。
步骤130结合了预设密钥交换算法和随机字符串加密算法,由此生成的动态密码具有随机性和动态性,相比现有的固定密码,动态密钥极其不易被破解,极大程度上提高了身份验证的安全性。
步骤140,将身份验证标识和动态密码发送至服务端,以供服务端进行身份验证。
具体地,客户端在得到动态密码生成器输出的动态密码后,将动态密码与身份验证标识发送到服务端,服务端在接收到动态密码与身份验证标识后,基于身份验证标识确定此次身份验证所对应的第一私钥,应用与动态密码生成器相同的动态密码生成方法,基于第一私钥和第二公钥生成预设密钥交换算法所对应的密钥,记为服务端密钥,在此基础上结合随机字符串加密算法,验证所得到的密码是否与接收到的动态密码一致,从而判断身份验证是否通过。
本发明实施例提供的方法,基于动态密码生成器生成动态密码用于身份验证,身份验证过程无需预先注册,简化了身份验证流程,提高了身份验证效率;基于预设密钥交换算法和随机字符串加密算法生成的动态密码具有随机性和动态性,相比现有的固定密码,动态密钥极其不易被破解,极大程度上提高了身份验证的安全性。
基于上述实施例,步骤130具体包括:
步骤131,基于用户名对授权码进行解密,得到第一公钥。
具体地,服务端在接收到待验证的用户名后,基于预设密钥交换算法生成第一公钥和第一私钥,并对用户名和第一公钥进行加密,得到授权码。对应地,动态密码生成器可以基于用户名对授权码进行解码,从而还原服务端生成的第一公钥。
步骤132,基于预设密钥交换算法生成第二密钥对。
步骤133,基于第一公钥和第二私钥生成客户端密钥;第二私钥为第二密钥对中的私钥。
此处,第二密钥对是动态密码生成器生成的,包括第二公钥和第二私钥。动态密码生成器可以基于第一公钥和第二私钥生成预设密钥交换算法所对应的密钥,即客户端密钥。
步骤134,基于第二公钥、客户端密钥和随机字符串生成动态密码;第二公钥为第二密钥对中的公钥。
具体地,随机字符串是随机生成的字符串,基于客户端密钥对随机字符串进行加密,并基于第二公钥、随机字符串和加密后的随机字符串生成动态密码。
基于上述任一实施例,步骤134具体包括:基于客户端密钥对随机字符串进行加密,得到客户端签名;拼接第二公钥、随机字符串,以及客户端签名的部分或全部字符串,得到动态密码。
具体地,动态密码可以包括第二公钥、随机字符串以及客户端签名的全部字符串,或者包括第二公钥、随机字符串以及客户端签名的部分字符串,例如可以将客户端签名的后8位字符串作为该客户端签名的部分字符串。
对应地,服务端在接收到身份验证标识和动态密码后,基于接收到的身份验证标识确定此次身份验证所对应的第一公钥和第一私钥,从动态密码中提取得到第二公钥、随机字符串以及客户端签名的部分或全部字符串。服务端可以基于第一私钥和第二公钥生成预设密钥交换算法所对应的密钥,即服务端密钥,并基于服务端密钥对随机字符串进行加密,得到服务端签名,将服务端签名与客户端签名进行比较,若一致,则确定身份验证通过,否则身份验证失败。
基于上述任一实施例,图2为本发明另一实施例提供的身份验证方法的流程示意图,如图2所示,该方法的执行主体为服务端,该方法包括:
步骤210,接收客户端发送的待验证的用户名。
此处,待验证的用户名可以是用户输入到客户端中的,也可以是客户端随机生成的,用户名可以是任意字符串,仅用于对进行身份验证的用户进行标识。在此步骤之前,客户端无需预先向服务端注册该用户名。
步骤220,基于用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向客户端返回授权码和身份验证标识。
具体地,服务端在接收到用户名之后,可以根据预设密钥交换算法生成该用户名所对应的服务端的公钥和私钥,即第一公钥和第一私钥,随即基于第一公钥和用户名生成授权码。此外,服务端还可以随机生成一段字符串作为此次身份验证的身份验证标识,身份验证标识直接对应于该用户名的第一公钥和第一私钥。在生成授权码和身份验证标识后,服务器将授权码和身份验证标识返回至客户端。
步骤230,接收客户端返回的身份验证标识和动态密码;其中,动态密码是客户端将用户名和授权码输入至动态密码生成器得到的,动态密码生成器用于基于预设密钥交换算法和随机字符串加密算法,确定用户名和授权码所对应的动态密码。
具体地,客户端在得到服务器返回的授权码后,将授权码和用户名输入到动态密码生成器,由动态密码生成器基于授权码和用户名得到服务器生成的第一公钥,并基于预设密钥交换算法生成用户名所对应的客户端的公钥和私钥,此处记为第二公钥和第二私钥。在动态密码生成器得到服务器生成的第一公钥和客户端对应的第二私钥后,即可基于第一公钥和第二私钥得到预设密钥交换算法所对应的密钥,记为客户端密钥,在此基础上,将客户端密钥与随机字符串加密算法相结合,得到动态密码。
随即,客户端将身份验证标识和动态密码返回至服务端。
步骤240,基于身份验证标识和动态密码进行身份验证。
具体地,对应于动态密码的生成方法,客户端在得到身份验证标识和动态密码后,可以基于身份验证标识得到第一私钥,应用与动态密码生成器相同的动态密码生成方法,基于第一私钥和第二公钥生成预设密钥交换算法所对应的密钥,记为服务端密钥,在此基础上结合随机字符串加密算法,验证所得到的密码是否与接收到的动态密码一致,从而判断身份验证是否通过。
本发明实施例提供的方法,客户端基于动态密码生成器生成动态密码用于身份验证,身份验证过程无需预先注册,简化了身份验证流程,提高了身份验证效率;基于预设密钥交换算法和随机字符串加密算法生成的动态密码具有随机性和动态性,相比现有的固定密码,动态密钥极其不易被破解,极大程度上提高了身份验证的安全性。
基于上述任一实施例,步骤220具体包括:
步骤221,基于预设密钥交换算法生成的第一密钥对,第一密钥对包括第一公钥和第一私钥。
步骤222,对用户名和第一公钥进行加密,得到授权码。
步骤223,随机生成身份验证标识,并将身份验证标识和第一私钥存储至数据库。
此处,身份验证标识是一段随机生成字符串,用于标识此次身份验证,身份验证标识直接对应于该用户名的第一公钥和第一私钥,在对身份验证标识和第一私钥进行存储时,需要将身份验证标识和第一私钥对应存储在数据库中。
基于上述任一实施例,步骤240具体包括:
步骤241,基于身份验证标识确定第一私钥。
具体地,在步骤223中,服务端将身份验证标识和第一私钥存储至数据库。服务端在接收到身份验证标识后,可以基于身份验证标识,从数据库中提取得到对应的第一私钥。
步骤242,基于第一私钥以及动态密码中的第二公钥生成服务端密钥。
具体地,动态密码包含有第二公钥、随机字符串,以及客户端签名的部分或全部字符串,从动态密码中可以分别提取得到第二公钥、随机字符串,以及客户端签名的部分或全部字符串。基于第一私钥和第二公钥,即可生成预设密钥交换算法所对应的密钥,即服务端密钥。
步骤243,基于服务端密钥对动态密码中的随机字符串进行加密,得到服务端签名。
步骤244,基于服务端签名和动态密码中的客户端签名的部分或全部字符串,进行身份验证。
具体地,在得到服务端签名之后,可以将服务端签名的全部字符串与动态密码中的客户端签名的全部字符串进行比较,或将服务端签名的部分字符串与动态密码中的客户端签名的部分字符串进行比较,若比较一致,则确定身份验证通过,否则,确定身份验证失败。
基于上述任一实施例,步骤223之后还包括:若存储时间大于等于预设存储时间阈值,则删除身份验证标识和第一私钥。
具体地,预设存储时间阈值是身份验证标识和第一私钥在数据库存储中的最大时间。在完成身份验证标识和第一私钥的存储后,可以对身份验证标识和第一私钥的存储时间进行计时,并在存储时间大于等于预设存储时间阈值时,删除存储的身份验证标识和第一私钥。身份验证标识和第一私钥删除后,服务端无法对对应的动态密码进行验证,降低了动态密码的泄露风险。
基于上述任一实施例,步骤240之后还包括:删除身份验证标识和第一私钥。
具体地,在服务端基于身份验证标识和动态密码进行身份验证之后,即对身份验证标识和第一私钥进行删除,保证了动态密码的一次性,从而确定身份验证的安全性。
基于上述任一实施例,图3为本发明又一实施例提供的身份验证方法的流程示意图,如图3所示,该方法包括:
首先,客户端确定待验证的用户名,并将用户名发送至服务端。
其次,服务端基于用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向客户端返回授权码和身份验证标识。
接着,客户端将用户名和授权码输入到动态密码生成器中,由动态密码生成器基于预设密钥交换算法和随机字符串加密算法,确定用户名和授权码所对应的动态密码。
然后,客户端将身份验证标识和动态密码发送到服务端,由服务端进行身份验证,若验证通过,则向客户端返回授权钥匙,若验证失败,则向客户端返回登陆失败信息,提示客户端重新登陆。
基于上述任一实施例,预设密钥交换算法为DH密钥交换算法,动态密码生成器所生成的动态密码,是对第二公钥、随机字符串,以及客户端签名的后8位字符串拼接得到的。
基于上述任一实施例,图4为本发明实施例提供的动态密码生成方法的流程示意图,如图4所示,动态密码生成方法包括如下步骤:
首先,客户端确定待验证的用户名username,并将username发送给服务端,请求服务端返回授权码auth_code。
服务端在接收到username后,基于预先设定的DH密钥交换算法生成第一公钥和第一私钥,并随机生成身份验证标识auth_key,将auth_key和第一私钥保存到数据库,设置有效期为n分钟。
服务端对第一公钥和username加密得到auth_code,向客户端返回auth_code和auth_key。
客户端向动态密码生成器输入username和auth_code。
动态密码生成器解密auth_code,得到第一公钥,并基于DH密钥交换算法生成第二公钥和第二私钥,随即根据第二私钥和第一公钥,计算出客户端密钥secret;动态密码生成器生成随机字符串nonce_str,根据secret对nonce_str加密,得到客户端签名sign1;动态密码生成器将第二公钥、nonce_str和sign1的后8位字符串进行拼接,得到动态密码password。
基于上述任一实施例,图5为本发明实施例提供的动态密码验证方法的流程示意图,如图5所示,动态密码验证方法包括如下步骤:
客户端输入用户名username、身份验证标识auth_key和动态密码password。
服务端根据auth_key,查询数据库,得到第一私钥;
服务端根据动态密码password,解析出第二公钥、随机字符串nonce_str、客户端签名sign1的后8位字符串;
服务端根据第一私钥和第二公钥,计算出服务端密钥secret;
服务端根据随机字符串nonce_str和服务端密钥secret,计算出服务端签名sign2;若服务端签名sign2后8位字符串与客户端签名sign1后8位字符串一致,则登录验证通过,生成授权钥匙token;
服务端保存用户名username和授权钥匙token到数据库;
服务端删除数据库中的auth_key记录;
服务端返回授权钥匙token到客户端。
需要说明的是,上述验证过程中,存在如下几种会导致登陆验证失败的情况:
其一,服务端根据auth_key,查询不到第一私钥。这种情况通常是由于操作时间超时(超时时间由动态密码生成流程中的有效期决定),或者auth_key错误导致的,这可能是黑客伪造auth_key的手段之一。
其二,计算服务端密钥secret时出错。这种情况通常是由于从动态密码password解析出来的第二公钥错误导致的,这可能是黑客伪造password的手段之一。
其三,服务端签名sign2后8位字符串与客户端签名sign1后8位字符串不一致。这种情况通常是由于从动态password解析出来的随机字符串nonce_str不一致造成,或者是签名算法不一致造成,这可能是黑客伪造password的手段之一。
基于上述任一实施例,图6为本发明实施例提供的客户端的结构示意图,如图6所示,客户端包括:
授权码请求单元610,用于向服务端发送待验证的用户名;
授权码接收单元620,用于接收所述服务端返回的授权码和身份验证标识,其中所述授权码是所述服务端基于所述用户名和预设密钥交换算法生成的,所述身份验证标识是所述服务端随机生成的;
动态密码获取单元630,用于将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码;其中,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
动态密码发送单元640,用于将所述身份验证标识和所述动态密码发送至所述服务端,以供所述服务端进行身份验证。
基于上述任一实施例,图7为本发明实施例提供的服务端的结构示意图,如图7所示,服务端包括:
用户名接收单元710,用于接收客户端发送的待验证的用户名;
授权码生成单元720,用于基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向所述客户端返回所述授权码和所述身份验证标识;
动态密码接收单元730,用于接收所述客户端返回的所述身份验证标识和动态密码;其中,所述动态密码是所述客户端将所述用户名和所述授权码输入至动态密码生成器得到的,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
身份验证单元740,用于基于所述身份验证标识和所述动态密码进行身份验证。
图8为本发明实施例提供的电子设备的结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑命令,以执行如下方法:向服务端发送待验证的用户名;接收所述服务端返回的授权码和身份验证标识,其中所述授权码是所述服务端基于所述用户名和预设密钥交换算法生成的,所述身份验证标识是所述服务端随机生成的;将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码;其中,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;将所述身份验证标识和所述动态密码发送至所述服务端,以供所述服务端进行身份验证。
处理器810还可以调用存储器830中的逻辑命令,以执行如下方法:接收客户端发送的待验证的用户名;基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向所述客户端返回所述授权码和所述身份验证标识;接收所述客户端返回的所述身份验证标识和动态密码;其中,所述动态密码是所述客户端将所述用户名和所述授权码输入至动态密码生成器得到的,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;基于所述身份验证标识和所述动态密码进行身份验证。
此外,上述的存储器830中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:向服务端发送待验证的用户名;接收所述服务端返回的授权码和身份验证标识,其中所述授权码是所述服务端基于所述用户名和预设密钥交换算法生成的,所述身份验证标识是所述服务端随机生成的;将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码;其中,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;将所述身份验证标识和所述动态密码发送至所述服务端,以供所述服务端进行身份验证。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:接收客户端发送的待验证的用户名;基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向所述客户端返回所述授权码和所述身份验证标识;接收所述客户端返回的所述身份验证标识和动态密码;其中,所述动态密码是所述客户端将所述用户名和所述授权码输入至动态密码生成器得到的,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;基于所述身份验证标识和所述动态密码进行身份验证。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种身份验证方法,其特征在于,包括:
向服务端发送待验证的用户名;
接收所述服务端返回的授权码和身份验证标识,其中所述授权码是所述服务端基于所述用户名和预设密钥交换算法生成的,所述身份验证标识是所述服务端随机生成的;
将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码;其中,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
将所述身份验证标识和所述动态密码发送至所述服务端,以供所述服务端进行身份验证。
2.根据权利要求1所述的身份验证方法,其特征在于,所述将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码,具体包括:
基于所述用户名对所述授权码进行解密,得到第一公钥;
基于所述预设密钥交换算法生成第二密钥对;
基于所述第一公钥和第二私钥生成客户端密钥;所述第二私钥为所述第二密钥对中的私钥;
基于第二公钥、所述客户端密钥和随机字符串生成所述动态密码;所述第二公钥为所述第二密钥对中的公钥。
3.根据权利要求2所述的身份验证方法,其特征在于,所述基于第二公钥、所述客户端密钥和随机字符串生成所述动态密码,具体包括:
基于所述客户端密钥对所述随机字符串进行加密,得到客户端签名;
拼接所述第二公钥、所述随机字符串,以及所述客户端签名的部分或全部字符串,得到所述动态密码。
4.一种身份验证方法,其特征在于,包括:
接收客户端发送的待验证的用户名;
基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向所述客户端返回所述授权码和所述身份验证标识;
接收所述客户端返回的所述身份验证标识和动态密码;其中,所述动态密码是所述客户端将所述用户名和所述授权码输入至动态密码生成器得到的,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
基于所述身份验证标识和所述动态密码进行身份验证。
5.根据权利要求4所述的身份验证方法,其特征在于,所述基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,具体包括:
基于所述预设密钥交换算法生成的第一密钥对,所述第一密钥对包括第一公钥和第一私钥;
对所述用户名和第一公钥进行加密,得到所述授权码;
随机生成所述身份验证标识,并将所述身份验证标识和所述第一私钥存储至数据库。
6.根据权利要求5所述的身份验证方法,其特征在于,所述基于所述身份验证标识和所述动态密码进行身份验证,具体包括:
基于所述身份验证标识确定所述第一私钥;
基于所述第一私钥以及所述动态密码中的第二公钥生成服务端密钥;
基于所述服务端密钥对所述动态密码中的随机字符串进行加密,得到服务端签名;
基于所述服务端签名和所述动态密码中的客户端签名的部分或全部字符串,进行身份验证。
7.根据权利要求5所述的身份验证方法,其特征在于,所述将所述身份验证标识和所述第一私钥存储至数据库,之后还包括:
若存储时间大于等于预设存储时间阈值,则删除所述身份验证标识和所述第一私钥。
8.根据权利要求5所述的身份验证方法,其特征在于,所述基于所述身份验证标识和所述动态密码进行身份验证,之后还包括:
删除所述身份验证标识和所述第一私钥。
9.一种客户端,其特征在于,包括:
授权码请求单元,用于向服务端发送待验证的用户名;
授权码接收单元,用于接收所述服务端返回的授权码和身份验证标识,其中所述授权码是所述服务端基于所述用户名和预设密钥交换算法生成的,所述身份验证标识是所述服务端随机生成的;
动态密码获取单元,用于将所述用户名和所述授权码输入至动态密码生成器,得到所述动态密码生成器输出的动态密码;其中,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
动态密码发送单元,用于将所述身份验证标识和所述动态密码发送至所述服务端,以供所述服务端进行身份验证。
10.一种服务端,其特征在于,包括:
用户名接收单元,用于接收客户端发送的待验证的用户名;
授权码生成单元,用于基于所述用户名和预设密钥交换算法生成授权码,并随机生成身份验证标识,向所述客户端返回所述授权码和所述身份验证标识;
动态密码接收单元,用于接收所述客户端返回的所述身份验证标识和动态密码;其中,所述动态密码是所述客户端将所述用户名和所述授权码输入至动态密码生成器得到的,所述动态密码生成器用于基于所述预设密钥交换算法和随机字符串加密算法,确定所述用户名和所述授权码所对应的所述动态密码;
身份验证单元,用于基于所述身份验证标识和所述动态密码进行身份验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142543.2A CN111327629B (zh) | 2020-03-04 | 2020-03-04 | 身份验证方法、客户端和服务端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142543.2A CN111327629B (zh) | 2020-03-04 | 2020-03-04 | 身份验证方法、客户端和服务端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111327629A true CN111327629A (zh) | 2020-06-23 |
CN111327629B CN111327629B (zh) | 2021-07-27 |
Family
ID=71165591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010142543.2A Active CN111327629B (zh) | 2020-03-04 | 2020-03-04 | 身份验证方法、客户端和服务端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327629B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134885A (zh) * | 2020-09-23 | 2020-12-25 | 国网江苏省电力有限公司泰州供电分公司 | 一种互联网终端访问加密的方法和系统 |
CN116827560A (zh) * | 2023-08-31 | 2023-09-29 | 北京云驰未来科技有限公司 | 一种基于异步口令的动态密码认证方法及系统 |
CN117331964A (zh) * | 2023-12-01 | 2024-01-02 | 成都明途科技有限公司 | 数据查询方法、装置、设备及存储介质 |
CN117571305A (zh) * | 2024-01-17 | 2024-02-20 | 长沙润伟机电科技有限责任公司 | 一种驱动跑合试验台控制系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731722A (zh) * | 2004-11-30 | 2006-02-08 | 李岳 | 动态密码生成和验证的方法 |
CN101132281A (zh) * | 2007-09-18 | 2008-02-27 | 刘亚梅 | 一种防止密钥被窃取的网络安全认证系统 |
US20110258452A1 (en) * | 2007-05-31 | 2011-10-20 | Vasco Data Security, Inc. | Remote authentication and transaction signatures |
CN103067401A (zh) * | 2013-01-10 | 2013-04-24 | 天地融科技股份有限公司 | 密钥保护方法和系统 |
CN104023013A (zh) * | 2014-05-30 | 2014-09-03 | 上海帝联信息科技股份有限公司 | 数据传输方法、服务端和客户端 |
CN105721502A (zh) * | 2016-04-11 | 2016-06-29 | 上海上实龙创智慧能源科技股份有限公司 | 一种用于浏览器客户端和服务器的授权访问方法 |
CN109617916A (zh) * | 2019-01-16 | 2019-04-12 | 北京云中融信网络科技有限公司 | 秘钥处理方法及即时通讯系统 |
-
2020
- 2020-03-04 CN CN202010142543.2A patent/CN111327629B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731722A (zh) * | 2004-11-30 | 2006-02-08 | 李岳 | 动态密码生成和验证的方法 |
US20110258452A1 (en) * | 2007-05-31 | 2011-10-20 | Vasco Data Security, Inc. | Remote authentication and transaction signatures |
CN101132281A (zh) * | 2007-09-18 | 2008-02-27 | 刘亚梅 | 一种防止密钥被窃取的网络安全认证系统 |
CN103067401A (zh) * | 2013-01-10 | 2013-04-24 | 天地融科技股份有限公司 | 密钥保护方法和系统 |
CN104023013A (zh) * | 2014-05-30 | 2014-09-03 | 上海帝联信息科技股份有限公司 | 数据传输方法、服务端和客户端 |
CN105721502A (zh) * | 2016-04-11 | 2016-06-29 | 上海上实龙创智慧能源科技股份有限公司 | 一种用于浏览器客户端和服务器的授权访问方法 |
CN109617916A (zh) * | 2019-01-16 | 2019-04-12 | 北京云中融信网络科技有限公司 | 秘钥处理方法及即时通讯系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134885A (zh) * | 2020-09-23 | 2020-12-25 | 国网江苏省电力有限公司泰州供电分公司 | 一种互联网终端访问加密的方法和系统 |
CN116827560A (zh) * | 2023-08-31 | 2023-09-29 | 北京云驰未来科技有限公司 | 一种基于异步口令的动态密码认证方法及系统 |
CN116827560B (zh) * | 2023-08-31 | 2023-11-17 | 北京云驰未来科技有限公司 | 一种基于异步口令的动态密码认证方法及系统 |
CN117331964A (zh) * | 2023-12-01 | 2024-01-02 | 成都明途科技有限公司 | 数据查询方法、装置、设备及存储介质 |
CN117331964B (zh) * | 2023-12-01 | 2024-02-27 | 成都明途科技有限公司 | 数据查询方法、装置、设备及存储介质 |
CN117571305A (zh) * | 2024-01-17 | 2024-02-20 | 长沙润伟机电科技有限责任公司 | 一种驱动跑合试验台控制系统 |
CN117571305B (zh) * | 2024-01-17 | 2024-04-16 | 长沙润伟机电科技有限责任公司 | 一种驱动跑合试验台控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111327629B (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106330850B (zh) | 一种基于生物特征的安全校验方法及客户端、服务器 | |
CN111327629B (zh) | 身份验证方法、客户端和服务端 | |
US10402797B2 (en) | Secured authentication and transaction authorization for mobile and internet-of-things devices | |
TW201914256A (zh) | 一種身份驗證方法、裝置及電子設備 | |
CN109005155B (zh) | 身份认证方法及装置 | |
CN108965222B (zh) | 身份认证方法、系统及计算机可读存储介质 | |
CN105915338B (zh) | 生成密钥的方法和系统 | |
CN107612889B (zh) | 防止用户信息泄露的方法 | |
CN109067766A (zh) | 一种身份认证方法、服务器端和客户端 | |
CN112425114A (zh) | 受公钥-私钥对保护的密码管理器 | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
CN105827395A (zh) | 一种网络用户认证方法 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
JP2019525691A (ja) | 端末の攻撃警告メッセージログを取得する権限付与方法およびシステム | |
CN111901303A (zh) | 设备认证方法和装置、存储介质及电子装置 | |
CN111324885A (zh) | 一种分布式身份认证方法 | |
US12107956B2 (en) | Information processing device, information processing method, and non-transitory computer readable storage medium | |
CN113872989B (zh) | 基于ssl协议的认证方法、装置、计算机设备和存储介质 | |
EP2775658A2 (en) | A password based security method, systems and devices | |
KR102032210B1 (ko) | 개인 식별번호의 입력을 통한 간편 인증이 가능한 사용자 인증 처리 장치 및 그 동작 방법 | |
CN111628985A (zh) | 安全访问控制方法、装置、计算机设备和存储介质 | |
CN115242471B (zh) | 信息传输方法、装置、电子设备及计算机可读存储介质 | |
TWI675579B (zh) | 網路身份驗證系統與方法 | |
CN115086090A (zh) | 基于UKey的网络登录认证方法及装置 | |
CN115225286A (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 |