CN111414599A - 身份验证方法、装置、终端、服务端以及可读存储介质 - Google Patents
身份验证方法、装置、终端、服务端以及可读存储介质 Download PDFInfo
- Publication number
- CN111414599A CN111414599A CN202010121641.8A CN202010121641A CN111414599A CN 111414599 A CN111414599 A CN 111414599A CN 202010121641 A CN202010121641 A CN 202010121641A CN 111414599 A CN111414599 A CN 111414599A
- Authority
- CN
- China
- Prior art keywords
- terminal
- character string
- verification
- server
- user
- 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.)
- Pending
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 127
- 238000004891 communication Methods 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 18
- 238000010200 validation analysis Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 229920001276 Ammonium polyphosphate Polymers 0.000 description 11
- 230000003993 interaction Effects 0.000 description 7
- 210000000554 Iris Anatomy 0.000 description 6
- 230000002452 interceptive Effects 0.000 description 6
- 241001463913 Pinna Species 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000001960 triggered Effects 0.000 description 4
- 210000000887 Face Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000003365 glass fiber Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- 230000001755 vocal Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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 supporting authentication of entities communicating through a packet data network
- H04L63/0823—Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network using certificates
-
- 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 supporting authentication of entities communicating through a packet data network
- H04L63/083—Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network 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 supporting authentication of entities communicating through a packet data network
- H04L63/0861—Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network using biometrical features, e.g. fingerprint, retina-scan
-
- 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 supporting authentication of entities communicating through a packet data network
- H04L63/0876—Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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 communication
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
Abstract
本发明实施例提供了一种身份验证方法、装置、终端、服务端以及可读存储介质,旨在提高身份验证的安全性。所述身份验证方法应用于终端,所述方法包括:在检测到用户触发验证操作的情况下,向服务端发送验证请求;接收所述服务端返回的验证字符串;采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种身份验证方法、装置、终端、服务端以及可读存储介质。
背景技术
随着互联网技术的发展,越来越多的线下业务逐渐通过线上交互而实现。为了实现线上交互,用户通常需要在其终端(例如手机、平板电脑)上安装应用软件APP,然后通过该应用软件与服务端进行交互,或者通过该应用软件与其他应用软件的用户进行交互。用户在使用其终端上安装的应用软件期间,服务端通常需要对用户身份进行验证。例如在用户进行账号登录、消息发布、余额查询、线上交易等业务之前,服务端需要验证用户身份,以确保数据安全。
目前常用的身份验证方式主要包括:密码登录验证、短信验证码验证以及生物特征验证。其中,生物特征包括但不限于:指纹、掌纹、手形、人脸、虹膜、耳廓等等。由于人体的生物特征具有唯一性、永久性以及稳定性,因此利用生物特征进行身份验证的方式相比于其他几类身份验证方式,具有更高的安全性。
相关技术中,在进行身份验证之前,通常需要利用终端采集用户的生物特征,并通过网络将采集的生物特征发送至服务端进行存储。在身份验证验证期间,需要再次采集用户的生物特征,并将该生物特征发送给服务端,服务端将该生物特征与预存的生物特征进行比对,在两者相匹配的情况下,确定身份验证成功。上述验证方式虽然计算量小,验证效率高,但是终端在通过网络向服务端发送用户的生物特征时,该生物特征容易被网络攻击者截获,因此其验证安全性仍然难以保证。
发明内容
本发明实施例的目的在于提供一种身份验证方法、装置、终端、服务端以及可读存储介质,旨在提高身份验证的安全性。具体技术方案如下:
在本发明实施的第一方面,提供了一种身份验证方法,所述方法包括:
终端在检测到用户触发验证操作的情况下,向服务端发送验证请求;
所述服务端响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
所述终端接收所述服务端返回的验证字符串,并采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
所述终端利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证;
所述服务端根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥,并根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
在本发明实施的第二方面,提供了一种身份验证方法,应用于终端,所述方法包括:
在检测到用户触发验证操作的情况下,向服务端发送验证请求;
接收所述服务端返回的验证字符串;
采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
在本发明实施的第三方面,提供了一种身份验证方法,应用于服务端,所述方法包括:
接收终端发送的验证请求;
响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
接收所述终端返回的用户标识、终端标识和字符串签名,其中,所述字符串签名是所述终端在用户输入的生物特征与所述终端中预存的目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥对所述验证字符串进行签名操作后所得到的;
根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥;
根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
在本发明实施的第四方面,提供了一种身份验证装置,设置于终端,所述装置包括:
发送模块,用于在检测到用户触发验证操作的情况下,向服务端发送验证请求;
接收模块,用于接收所述服务端返回的验证字符串;
生物特征采集模块,用于采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
签名模块,用于利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
在本发明实施的第五方面,提供了一种身份验证装置,设置于服务端,所述装置包括:
接收模块,用于接收终端发送的验证请求;
字符串生成模块,用于响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
其中,所述接收模块还用于接收所述终端返回的用户标识、终端标识和字符串签名,所述字符串签名是所述终端在用户输入的生物特征与所述终端中预存的目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥对所述验证字符串进行签名操作后所得到的;
所述装置还包括:
公钥确定模块,用于根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥;
身份验证模块,用于根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
在本发明实施的第六方面,提供了一种终端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现以上第一方面所述的方法步骤。
在本发明实施的第七方面,提供了一种服务端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现以上第二方面所述的方法步骤。
在本发明实施的第七方面,提供了一种身份验证系统,包括终端和服务端;其中,
所述终端,用于在检测到用户触发验证操作的情况下,向服务端发送验证请求;
所述服务端,用于响应所述验证请求,所述服务端在响应所述验证请求时,具体用于:生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
所述终端,还用于接收所述服务端返回的验证字符串,并采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
所述终端,还用于利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证;
所述服务端,还用于根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥,并根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
在本发明实施的又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的身份验证方法。
在本发明实施的又一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的身份验证方法。
采用本发明提供的身份验证方法,终端在检测到用户触发验证操作的情况下,向服务端发送验证请求;服务端响应于该验证请求,生成验证字符串;服务端记录该验证字符串,并将该验证字符串发送给终端;终端采集用户的生物特征,并将该生物特征与预存在终端中的各个目标生物特征进行对比,在该生物特征与某一目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;终端利用该私钥对验证字符串进行签名操作,获得字符串签名,并将该字符串签名、终端标识以及拟进行身份验证的用户标识发送给服务端;服务端根据该终端标识和用户标识,从预存的多个绑定关系中确定与该用户标识和终端标识同时绑定的公钥,并根据该公钥、字符串签名以及验证字符串,进行身份验证。
上述身份验证方法在实施期间,一方面,用户的生物特征仅需存储在终端内,且仅需在终端内进行生物特征匹配操作。由于用户的生物特征不需在终端和服务端之间传递,也不需要集中存储在服务端,因此用户的生物特征不易被网络攻击者截获,也不易被服务端泄露,从而有利于提高身份验证的安全性。另一方面,一个终端对应的多个用户可以在该终端上分别注册存储各自对应的生物特征和相应的私钥,因此有利于确保一个终端对应的不同用户之间的数据安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1(a)是本发明一实施例提出的身份验证方法的交互式流程图;
图1(b)是本发明一实施例提出的身份验证方法的交互示意图;
图2是本发明一实施例提出的身份验证方法的流程图;
图3(a)是本发明另一实施例提出的身份验证方法的流程图;
图3(b)是本发明一实施例提出的获得注册字符串的流程图;
图4(a)是本发明另一实施例提出的身份验证方法的流程图;
图4(b)是本发明一实施例提出的生成验证字符串的流程图;
图5(a)是本发明一实施例提出的身份验证装置的示意图;
图5(b)是本发明另一实施例提出的身份验证装置的示意图;
图6(a)是本发明又一实施例提出的身份验证装置的示意图;
图6(b)是本发明再一实施例提出的身份验证装置的示意图;
图7是本发明一实施例提出的终端示意图;
图8是本发明一实施例提出的身份验证系统的系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
在互联网技术领域,当用户在使用其终端安装的应用程序与服务端或其他应用软件的用户进行交互时,服务端通常会基于各种原因,需要对用户的身份进行验证。例如娱乐休闲类服务端需要在用户登录期间验证用户身份,从而根据该用户的用户画像,为该用户推荐合适的媒体信息。又例如电商类服务端或投资理财类服务端需要在用户进行线上交易前验证用户身份,从而确保数据安全。
利用人体的生物特征进行身份验证是一种主流的验证方式,其中,生物特征包括但不限于:指纹、掌纹、手形、人脸、虹膜、耳廓等等。由于人体的生物特征具有唯一性、永久性以及稳定性,因此利用生物特征进行身份验证的方式相比于其他身份验证方式,具有更高的安全性。
然而相关技术在利用人体的生物特征进行身份验证之前,通常需要利用终端预先采集用户的生物特征,并通过网络将采集的生物特征发送至服务端进行存储。在身份验证验证期间,需要利用终端再次采集用户的生物特征,并将该生物特征发送给服务端,服务端将该生物特征与预存的生物特征进行比对,在两者相匹配的情况下,确定身份验证成功。上述验证方式虽然计算量小,验证效率高,但是终端在通过网络向服务端发送用户的生物特征时,该生物特征容易被网络攻击者截获,因此其验证安全性仍然难以保证。
为此,本发明提出将生物特征识别技术和非对称加密技术相结合,使生物特征仅需存储在终端上,并且在终端内实现生物特征识别和匹配,并在生物特征匹配成功的情况下,利用私钥对字符串进行签名,然后通过网络将字符串签名发送给服务端进行身份验证。这期间,由于用户的目标生物特征不需在终端和服务端之间传递,也不需集中存储在服务端,因此生物特征不易被网络攻击者截获,也不易被服务端泄露,从而有利于进一步提高身份验证的安全性。
参考图1(a),图1(a)是本发明一实施例提出的身份验证方法的流程图。如图1(a)所示,该身份验证方法包括以下步骤:
步骤S11:终端在检测到用户触发验证操作的情况下,向服务端发送验证请求;
步骤S12:所述服务端响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
步骤S13:所述终端接收所述服务端返回的验证字符串,并采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
步骤S14:所述终端利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证;
步骤S15:所述服务端根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥,并根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
参考图1,图1(b)是本发明一实施例提出的身份验证方法的交互示意图。本发明结合图1(b),对图1(a)所示的身份验证方法进行详细介绍。如图1(b)所示,交互示意图中涉及终端和服务端等设备。应当理解的,服务端可以同时与多个终端进行交互,为简化附图,图1(b)中仅示出了一个终端。
如图1(b)所示,身份验证方法主要包括前期的生物特征注册阶段和后期的身份验证阶段。其中,终端在检测到用户触发注册操作的情况下,向服务端发送携带有鉴权令牌数据和终端标识的注册请求。如此,终端开启了生物特征注册阶段。
示例地,当终端检测到用户点击终端屏幕上显示的生物特征注册按键后,自动向服务端发送携带有鉴权令牌数据和终端标识的注册请求。其中,鉴权令牌数据是一种包含用户身份信息以供服务端辨别用户身份的数据。终端标识是指终端设备的设备标识deviceID,其具有唯一性。生物特征可以是:指纹、掌纹、手形、人脸、虹膜、声纹或者耳廓等等,本发明对生物特征的具体类型不做限定。
如图1(b)所示,服务端在接收到终端发送的注册请求后,响应于该注册请求,为该注册请求中携带的终端标识随机生成一个注册字符串,并将该注册字符串返回给终端。其中,注册字符串是一次有效且具有有效时间期限的字符串。
示例地,服务端响应于该注册请求,随机生成一个字符串,并记录生成该字符串时的生成时刻,以及同时记录该注册请求中携带的终端标识。如下文所述,通过记录生成该字符串时的生成时刻,可以在终端再次返回终端标识时,根据该终端标识对应的生成时刻和该终端标识对应的返回时刻,计算两者的时间差,从而确定该时间差是否超过预设时间差,即注册字符串的有效时间期限。如果该时间差超过了预设时间差,则将整个生物特征注册操作视为失效,服务端可以终止生物特征注册操作的后续流程,并向终端发送提示消息。
如此,一方面,服务端可以快速过滤掉终端返回的无效信息(即超时的终端标识、用户标识、公钥以及证书链等),从而有利于提高服务端的处理效率,从而减轻服务端负载;另一方面,由于网络攻击者通常难以在短时间内,完成对终端与服务端之间的交互信息的截获、破译、篡改、封装、发送等操作流程,而本发明通过对上述时间差进行超时检测,并在时间差超过预设时间差的情况下终止生物特征注册操作的后续流程,可以有效压缩网络攻击者对终端和服务端之间的交互信息的可篡改时间,因此本发明能提高网络攻击者对所述交互信息进行篡改的难度,从而进一步提高身份验证的安全性。
如图1(b)所示,终端在接收到服务端返回的注册字符串后,基于该注册字符串调用密钥对生成算法,以生成私钥、公钥和证书链。此外,终端还需要采集用户的生物特征,并将该生物特征与私钥关联,使用户在身份验证阶段调用私钥进行签名之前,需要首先通过生物特征匹配,且在匹配成功的前提下,才能利用该私钥进行签名。
示例地,终端可基于该注册字符串自动调用安卓操作系统的密钥库Keystore接口,以生成存储有密钥对(即私钥和公钥)和证书链的密钥库Keystore文件,然后从密钥库Keystore文件中提取出刚生成的公钥和证书链。其中,密钥库Keystore接口是可以生成密钥库Keystore文件的接口,而密钥库Keystore文件是安卓操作系统中存储有数字证书的文件,密钥库Keystore文件中存储有数字证书的私钥和公钥。此外,终端还可以向用户发出关于生物特征采集的提示,从而在用户的配合下采集到用户的生物特征。然后终端建立该生物特征和该密钥之间的对应关系,并将该对应关系存储至终端的安全存储区域(例如手机的安全存储器),从而使用户在身份验证阶段调用私钥进行签名之前,需要再次采集用户的生物特征,并在终端的可信执行环境(TEE,Trusted Execution Environment)内进行生物特征匹配,且在匹配成功的前提下,才能利用该私钥进行签名。
为了确保生物特征注册阶段是在用户本人参与下所开展的,从而进一步提高注册交互过程的安全性。如图1(b)所示,服务端在向终端发送注册字符串的同时,可以同时向终端发送短信验证指令。终端在检测到短信验证指令之后,并且在生成私钥、公钥和证书链,以及在采集到用户的生物特征之后,可以向服务端发送鉴权令牌数据,以提示服务端可以开始短信验证操作。服务端响应于该鉴权令牌数据,开始执行短信验证操作,从而使得终端可以通过短信其通道接收到验证码。
示例地,服务端可以根据该鉴权令牌数据,确定用户的手机号码。同时,服务端可以随机生成并记录验证码,并将该验证码和用户手机号码发送给电信运营商的短信平台,以通过该短信平台将该验证码发送给用户手机,即本发明所述的终端。
或者示例地,服务端可以根据该鉴权令牌数据,确定用户的手机号码。服务端将用户手机号码发送给电信运营商的短信平台,以使得该短信平台同时向用户手机(即终端)和服务端发送相同的验证码,服务端在接收到该验证码后,记录该验证码。
示例地,终端的身份验证页面可以向用户提供验证码输入窗口,使得用户可以在该终端接收到验证码之后,将接收的手动验证码输入至该终端。
如图1(b)所示,终端将鉴权令牌数据、终端标识、刚生成的公钥以及证书链发送给服务端,如果终端还接收到用户手动输入的验证码,则同时将该验证码一并发送给服务端。
如前所述,鉴权令牌数据是一种包含用户身份信息以供服务端辨别用户身份的数据,鉴权令牌数据中可以包括用户标识,或者服务端可以通过鉴权令牌数据确定用户的用户标识。其中,用户标识可以是用户账号名称、编号、字符串等等。
如图1(b)所示,服务端在接收到终端发送的鉴权令牌数据、终端标识、公钥以及证书链之后:
第一方面,服务端可以通过谷歌根证书对该证书链进行校验,以确定密钥库Keystore文件中的私钥是否已存储至终端的安全存储区域。
第二方面,如果服务端还接收到终端发送的验证码,则服务端需要将该验证码与服务端预先记录的验证码进行对比,以确定生物特征注册阶段是否是在用户本人参与下所开展的。
第三方面,服务端还可以查询其是否已经记录有该终端当前发送的终端标识,从而检验所述注册字符串的一次有效性。如果已经记录有该终端标识,则证明该终端标识满足上述注册字符串一次有效的要求,同时删除该已经记录的终端标识。如果没有记录该终端标识,则证明该终端标识不满足上述注册字符串一次有效的要求。
第四方面,如前所述,服务端还可以记录终端再次返回终端标识时的返回时刻,并根据该终端标识对应的生成时刻和该终端标识对应的返回时刻,计算两者的时间差,从而确定该时间差是否超过预设时间差(即注册字符串的有效时间期限),进而检验所述注册字符串的有效性。
示例地,服务端可以仅对以上的第一方面进行检验。或者服务端不仅对以上的第一方面进行检验,还对以上的第二方面、第三方面以及第四方面中的一个或多个方面进行检验。如果服务端所执行的各个检验均通过,则服务端建立并保存用户标识、终端标识以及公钥之间的绑定关系,同时向终端返回提示消息,该提示消息用于表征:生物特征注册成功。
本发明在实施期间,服务端需要建立用户标识、终端标识以及公钥等三者之间的绑定关系,其原因在于:一方面,一个终端可以对应多个用户,换言之,多个用户可以先后在该终端上注册各自对应的生物特征,以及生成各自对应的私钥、公钥以及证书链。另一方面,一个用户可以对应多个终端,换言之,该用户可以在多个终端上分别注册其生物特征,以及分别生成私钥、公钥以及证书链。因此为了有效区分在同一终端所对应的不同用户,以及区分同一用户所对应的不用终端,需要建立用户标识、终端标识以及公钥等三者之间的绑定关系。
以上内容是关于生物特征注册阶段的介绍,以下的部分内容是关于身份验证阶段的介绍。
如图1(b)所示,在生物特征注册成功之后,如果终端检测到用户触发验证操作,则终端向服务端发送验证请求,该验证请求携带有用户标识和终端标识。如此,终端开启了身份验证阶段。
示例地,当终端检测到用户点击终端屏幕上显示的身份验证按键(例如指纹登录按键、人脸识别登录按键、指纹支付按键、人脸支付按键等等)之后,终端自动向服务端发送携带有用户标识和终端标识的验证请求。
如图1(b)所示,服务端在接收到终端发送的验证请求之后,响应于该验证请求,为该验证请求中携带的终端标识和用户标识随机生成一个验证字符串,并将该验证字符串返回给终端。其中,验证字符串是一次有效且具有有效时间期限的字符串。
第一示例,服务端在为验证请求中的用户标识和终端标识生成验证字符串之后,可以为该验证字符串、用户标识以及终端标识建立对应关系并存储,同时为该对应关系设置倒计时。在倒计时结束时,服务端自动删除该对应关系。其中,倒计时的开始时间是验证字符串的有效时间期限。通过建立和存储上述对应关系,以及通过设置倒计时,为了体现所述验证字符串的一次有效性和期限特性。下文的部分内容将提出检验所述一次有效性和期限特性的具体方式。
或者第二示例,服务端在为验证请求中的用户标识和终端标识生成验证字符串之后,可以为该验证字符串、用户标识以及终端标识建立对应关系并存储。此外,服务端还可以在该对应关系中记录:生成该验证字符串时的字符串生成时刻。通过建立和存储上述对应关系,以及通过记录字符串生成时刻,为了体现所述验证字符串的一次有效性和期限特性。下文的部分内容将提出检验所述一次有效性和期限特性的具体方式。
如图1(b)所示,终端采集用户的生物特征,并将该生物特征与终端中预存的各个目标生物特征进行一对一地匹配。在该生物特征与某一目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥,对验证字符串进行签名操作,以获得字符串签名。其中,目标生物特征是指:在前述的生物特征注册阶段,由终端所采集并存储的且与私钥相关联的生物特征。
示例地,终端可以在接收到服务端发送的验证字符串后,向用户发出关于生物特征采集的提示,从而在用户的配合下采集到用户的生物特征。然后终端在其可信执行环境(TEE)内,将该生物特征与预先存储的多个目标生物特征(如果目标生物特征的数量为多个)进行一对一地匹配。在该生物特征与某一目标生物特征相匹配的前提下,利用密钥库Keystore文件中存储的相应私钥对验证字符串进行签名操作,从而获得字符串签名。
如图1(b)所示,终端将用户标识、终端标识以及字符串签名返回给服务端。服务端接收到终端返回的用户标识、终端标识以及字符串签名后:
第一点(沿用上述第一示例),服务端可以根据终端返回的终端标识和用户标识,尝试从多个对应关系中确定包括该终端标识和用户标识的目标对应关系。如果服务端确定出该目标对应关系,则从该目标对应关系中获得验证字符串,并删除该目标对应关系,然后执行下述第三点。如果服务端未确定出该目标对应关系,则可以终止身份验证流程。
或者第二点(沿用上述第二示例),服务端可以在接收到终端返回的字符串签名时,记录接收到终端返回的字符串签名时的字符串返回时刻。此外,服务端根据终端返回的终端标识和用户标识,尝试从多个对应关系中确定包括该终端标识和用户标识的目标对应关系。如果服务端确定出该目标对应关系,则从该目标对应关系中获得验证字符串和字符串生成时刻,并删除该目标对应关系。服务端然后确定字符串返回时刻与字符串生成时刻之间的时间差,如果该时间差不超过第一预设阈值(即验证字符串的有效期限),则执行下述第三点,否则可以终止身份验证流程。此外,如果服务端未能确定出该目标对应关系,则可以终止身份验证流程。
第三点,服务端根据该用户标识和终端标识,从预先存储的多个绑定关系中,确定该用户标识和终端标识对应的公钥。服务端通过该公钥对字符串签名的有效性进行检验,以确定该字符串签名是否与验证字符串匹配。如果该字符串签名与验证字符串匹配,则证明用户在终端侧所输入的生物特征与终端内预存的目标生物特征相匹配,从而使得终端可以调用其安全存储区域内的私钥对验证字符串进行签名,因此服务端确定用户身份验证通过。
通过执行上述第一点或第二点,用于检验所述验证字符串的一次有效性和期限特性。换言之,上述第一点和第二点是两种检验所述一次有效性和期限特性的具体方式。
如图1(b)所示,如果服务端确定用户身份验证通过,则服务端可以向终端发送鉴权令牌数据。
通过执行上述身份验证方法,一方面,用户的目标生物特征仅存储在终端内,且仅在终端内进行生物特征匹配操作。由于用户的目标生物特征不需在终端和服务端之间传递,且不需集中存储在服务端,因此生物特征不易被网络攻击者截获,也不易被服务端泄露,从而有利于提高身份验证的安全性。另一方面,一个终端对应的多个用户在该终端上分别存储有各自对应的生物特征和相应的私钥,因此有利于确保一个终端对应的不同用户之间的数据安全。
以上,本发明提出了身份验证方法的一种较佳实施例。以下,本发明将对上述较佳实施例进行不同程度的概括和/或变形,以提出同一发明构思下的多种不同实施例。
参考图2,图2是本发明一实施例提出的身份验证方法的流程图,该身份验证方法应用于终端。如图2所示,该身份验证方法包括以下步骤:
步骤S21:在检测到用户触发验证操作的情况下,向服务端发送验证请求。
示例地,终端可以在用户的点击操作下,向用户展示关于验证操作的图形化用户界面。例如终端向用户操作下向用户展示账号登录界面、在线支付页面等等。这些界面中包括身份验证按键,例如登录按键或支付按键等。当用户触控这些身份验证按键时,即触发了验证操作,从而被终端检测到。
在某些实施例中,服务端在接收到终端发送的验证请求后,响应于该验证请求,生成验证字符串,并返回给终端。
在另一些实施例中,终端向服务端发送的验证请求中携带有终端标识和用户标识。服务端在接收到终端发送的验证请求后,响应于该验证请求,针对该验证请求中携带的终端标识和用户标识,生成验证字符串。
在某些实施例中,服务端生成的验证字符串可以是一次有效、且具有有效时间期限的字符串。为了体现验证字符串的一次有效性和期限特性,如前所述,服务端可以为该验证字符串、用户标识以及终端标识建立对应关系并存储。此外,服务端可以为该对应关系设置倒计时,或者服务端也可以在对应关系中进一步记录:生成该验证字符串时的字符串生成时刻。
在这些实施例中,通过将验证字符串配置为一次有效且具有有效时间期限,一方面可以防止网络攻击者在用户本人不知情的情况下,一次或多次利用用户的验证字符串尝试身份验证,因此可以进一步提高身份验证的安全性。另一方面也可以提高网络攻击者对终端和服务端之间的交互信息进行的篡改难度,从而也进一步提高了身份验证的安全性。
步骤S22:接收所述服务端返回的验证字符串。
步骤S23:采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥。
在某些实施例中,终端可以在检测到用户触发验证操作的情况下,即向用户发出关于采集生物特征的提示。或者在另一些实施例中,终端可以在接收到服务端返回的验证字符串之后,才向用户发出关于采集生物特征的提示。其中,用户终端采集的生物特征可以是:用户指纹、用户3D人脸图像、用户虹膜图像、用户掌纹、用户耳廓图像等等。
终端在采集到用户的生物特征后,需要与预选存储的多个目标生物特征(如果目标生物特征的数量为多个)进行一对一地对比匹配操作。其中,目标生物特征是指:在下述生物特征注册阶段,由终端所采集并存储的且与私钥相关联的生物特征。
考虑到一个终端上可以运行多种不同的应用软件,一个用户可以针对多个不同的应用软件,生成多组密钥对以及录入多个相同的生物特征。例如用户的手机上运行有视频类APP,购物类APP以及理财类APP,用户针对每种APP进行了生物特征注册操作。例如用户首先针对视频类APP进行生物特征注册操作时,该手机生成了第一私钥,且录入了用户的人脸图像,并建立该人脸图像与第一私钥的对应关系。然后用户针对购物类APP进行生物特征注册操作时,该手机生成了第二私钥,同时也录入了用户的人脸图像,并建立该人脸图像与第二私钥的对应关系。由于同一用户的先后录入的人脸图像属于相同的生物特征,因此在该手机中,同一生物特征对应了两个不同的私钥。
基于上述考虑,在生物特征注册阶段,终端在建立生物特征与私钥的对应关系时,可以在该对应关系中添加应用软件的标识,例如添加应用软件的名称。如此,存储在终端内的一个对应关系中包括:生物特征、私钥、以及应用软件标识等三种信息。
相应地,在身份验证阶段,终端在将刚采集的生物特征与多个预先存储的目标生物特征进行一对一地对比时,可以利用当前应用软件的标识,过滤掉与当前应用软件不相关的应用软件所对应的目标生物特征,从而确保刚采集的生物特征最多仅与一个目标生物特征匹配。
例如用户当前正在某一视频类APP的页面内进行身份验证,假设该视频类APP的应用软件标识为IQY,则终端在采集到用户的生物特征后,可以从多个预先存储的对应关系中筛选出包含IQY标识的候选对应关系,然后将刚采集的生物特征与各个候选对应关系中的目标生物特征进行一对一地对比。
同样基于上述考虑,在生物特征注册阶段,终端也可以首先采集用户的生物特征,并将该生物特征与终端中已经存储的目标生物特征进行一对一地匹配,如果该生物特征与预先存储的目标生物特征均不匹配,则生成私钥,并建立该生物特征与该私钥的对应关系。如果该生物特征与某一目标生物特征相匹配,则将终端标识、用户标识、以及该目标生物特征的公钥和证书链发送给服务端,从而不再针对该生物特征再次生成私钥。
本发明中,在生物特征注册阶段,终端可以通过调用安卓操作系统的密钥库Keystore接口,以生成存储有密钥对(即私钥和公钥)和证书链。此外,终端可以将密钥库Keystore文件、目标生物特征、以及私钥和目标生物特征之间的对应关系存入其安全存储区域,例如存入手机的安全存储器。如此,在身份验证阶段,终端可以在可信执行环境(TEE)内进行生物特征对比匹配操作,并在生物特征匹配成功后,从密钥库Keystore文件中获得目标生物特征对应的私钥。
步骤S24:利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
如前所述,终端在通过生物特征对别匹配操作,确定出对应私钥后,利用该私钥对验证字符串进行签名操作。
在步骤S24中,所述拟进行身份验证的用户标识即是:前述实施例中验证请求所携带的用户标识。示例地,用户标识可以是用户的账户名称、编号或字符串等,本发明对用户标识的具体类型不做限定。
如前所述,在某些实施例中,服务端在接收到字符串签名、终端标识以及用户标识之后,可以执行前述较佳实施例中的第一点或第二点,以检验所述验证字符串的一次有效性和期限特性。服务端还需要执行前述较佳实施例中的第三点,从而对字符串签名的有效性进行检验。其中,第一点和第二点是可选的,在某些实施例中可以不执行。
参考图3(a),图3(a)是本发明另一实施例提出的身份验证方法的流程图,该身份验证方法应用于终端。如图3(a)所示,该身份验证方法在进行身份验证之前,还包括一些关于生物特征注册阶段的步骤:
步骤S01:在检测到用户触发注册操作的情况下,获得注册字符串。
示例地,终端可以在用户的点击操作下,向用户展示关于生物特征注册的图形化用户界面。例如终端向用户操作下向用户展示指纹登录注册页面、人脸支付注册页面等等。这些界面中包括生物特征注册按键,例如指纹注册按键或人脸注册按键等。当用户触控这些生物特征注册按键时,即触发了生物特征注册操作,从而被终端检测到。
参考图3(b),图3(a)是本发明一实施例提出的获得注册字符串的流程图。如图3(b)所示,在某些实施例中,终端为了获得注册字符串,可以执行以下子步骤:
子步骤S01-1:在检测到用户触发注册操作的情况下,向所述服务端发送终端注册请求,该注册请求中包括终端标识;
子步骤S01-2:接收所述服务端返回的注册字符串,该注册字符串是一次有效、且具有有效时间期限的字符串。
如前所述,服务端在接收到终端发送的注册请求后,响应于该注册请求,为该注册请求中携带的终端标识随机生成一个注册字符串,并将该注册字符串返回给终端。此外,服务端同时记录生成该字符串时的生成时刻,以及同时记录该注册请求中携带的终端标识。服务端通过记录生成该字符串时的生成时刻,可以在终端再次返回终端标识时,根据该终端标识对应的生成时刻和该终端标识对应的返回时刻,计算两者的时间差,从而确定该时间差是否超过预设时间差,即注册字符串的有效时间期限。如果该时间差超过了预设时间差,服务端可以终止后续流程,并向终端发送提示消息。
步骤S02:基于所述注册字符串调用密钥对生成算法,生成私钥、公钥和证书链。
示例地,终端可基于该注册字符串自动调用安卓操作系统的密钥库Keystore接口,以生成存储有密钥对(即私钥和公钥)和证书链的密钥库Keystore文件,并从密钥库Keystore文件中提取出刚生成的公钥和证书链。
步骤S03:采集用户的目标生物特征,建立该目标生物特征与所述私钥之间的对应关系,并将所述对应关系存储于所述终端的安全存储区域。
在某些实施例中,终端可以在检测到用户触发注册操作的情况下,即向用户发出关于采集生物特征的提示。或者在另一些实施例中,终端可以在生成私钥、公钥和证书链之后,才向用户发出关于采集生物特征的提示。其中,用户终端采集的生物特征可以是:用户指纹、用户3D人脸图像、用户虹膜图像、用户掌纹、用户耳廓图像等等。
如前所述,在某些实施例中,终端在建立生物特征与私钥的对应关系时,可以在该对应关系中添加应用软件的标识,例如添加应用软件的名称。如此,一个对应关系中包括:生物特征、私钥、以及应用软件标识等三种信息。
或者在另一些实施例中,终端可以在步骤S02之前采集用户的生物特征,并将该生物特征与终端中已经存储的目标生物特征进行一对一地匹配,如果该生物特征与预先存储的目标生物特征均不匹配,则执行上述步骤S02。如果该生物特征与某一目标生物特征相匹配,则将终端标识、用户标识、以及该目标生物特征的公钥和证书链发送给服务端(即执行下述步骤S04),从而不再针对该生物特征执行上述步骤S02。
本发明中,终端可以将密钥库Keystore文件、目标生物特征、以及私钥和目标生物特征之间的对应关系存入其安全存储区域,例如存入手机的安全存储器。如此,在身份验证阶段,终端可以在可信执行环境(TEE)内进行生物特征对比匹配操作,并在生物特征匹配成功后,从密钥库Keystore文件中获得目标生物特征对应的私钥。
步骤S04:将终端标识、拟注册身份的用户标识、所述公钥以及所述证书链发送给所述服务端以进行秘钥存储安全性验证,并使得所述服务端在证明所述私钥已存储至所述终端的安全存储区域后,建立并存储所述终端标识、用户标识以及公钥之间的绑定关系。
示例地,终端在将终端标识、公钥以及证书链发送给服务端,同时终端还将鉴权令牌数据发送给服务端,该鉴权令牌数据中包括用户标识,或者服务端可以根据该鉴权令牌数据确定用户的用户标识。
如前所述,服务端在接收到终端发送的鉴权令牌数据、终端标识、公钥以及证书链之后,可以对前述较佳实施例中的第一方面进行检验。或者服务端不仅对第一方面进行检验,还对前述较佳实施例中的第二方面、第三方面以及第四方面中的一个或多个方面进行检验。如果服务端所执行的各个检验均通过,则服务端建立并保存用户标识、终端标识以及公钥之间的绑定关系,同时向终端返回提示消息,该提示消息用于表征:生物特征注册成功。
参考图4(a),图4(a)是本发明另一实施例提出的身份验证方法的流程图,该身份验证方法应用于服务端。如图4(a)所示,该身份验证方法包括以下步骤:
步骤S41:接收终端发送的验证请求。
其中,验证请求是终端在检测到用户触发验证操作的情况下,向该服务端所发送的。
步骤S42:响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串。
如前所述,服务端预先面向多个终端以及每个终端对应的一个或多个用户,建立并存储了多个绑定关系。每个绑定关系中包括:终端标识、用户标识以及公钥。在某些情况下,用户可能在登录或支付期间,忘记其是否注册过生物特征,从而尝试地利用其生物特征(例如指纹)进行身份验证。或者在某些情况下,用户误触了终端屏幕中显示的生物特征验证按键。
为此,参考图4(b),图4(b)是本发明一实施例提出的生成验证字符串的流程图。如图4(b)所示,终端在向服务端发送验证请求时,该验证请求中可以携带终端标识和用户标识。服务端响应于该验证请求,以生成验证字符串时,具体可以包括以下子步骤:
子步骤S42-1:响应于所述验证请求,根据所述验证请求中包括的用户标识和终端标识,查询是否存储有所述用户标识和终端标识对应的绑定关系;
子步骤S42-2:在存储有所述用户标识和终端标识对应的绑定关系的情况下,生成所述验证字符串。
此外,在未存储所述用户标识和终端标识对应的绑定关系的情况下,可以终止身份验证流程,并向终端返回提示信息。示例地,该提示信息可以表征:当前用户暂未录入生物特征。
服务端在执行上述子步骤S42-2时,具体地,针对该验证请求中携带的终端标识和用户标识,生成验证字符串。此外,服务端还可以记录该验证字符串、用户标识以及终端标识的对应关系。
通过执行上述子步骤S42-1和子步骤S42-2,服务端可以更快速地过滤掉无效的验证请求,一方面有利于提高服务端对请求的处理效率,及时终止对无效请求的处理,从而减轻服务端负载;另一方面,可以在验证请求是无效请求的情况下,及时向终端发出提示信息,以提示用户更换身份验证方式或提示用户进行生物特征注册,从而提高用户体验。
步骤S43:接收所述终端返回的用户标识、终端标识和字符串签名,其中,所述字符串签名是所述终端在用户输入的生物特征与所述终端中预存的目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥对所述验证字符串进行签名操作后所得到的。
步骤S44:根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥。
由于每个绑定关系中包括:终端标识、用户标识以及公钥。如此,服务端可以根据终端返回的终端标识和用户标识,从多个绑定关系确定同时包括该终端标识和用户标识的目标绑定关系,然后从该目标绑定关系中获得公钥。
此外,由于服务端在执行子步骤S42-1时已经记录了验证字符串、用户标识以及终端标识之间的对应关系。应当理解的,由于服务端在同一段时间内可以同时处理多个验证请求,因此服务端可以记录多个对应关系。如此,服务端可以根据终端返回的终端标识和用户标识,从多个对应关系中确定包括该终端标识和用户标识的目标对应关系,然后从该目标对应关系中获得验证字符串。
步骤S45:根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
示例地,服务端利用该公钥对该字符串签名的有效性进行检验,换言之,服务端利用该公钥对该字符串签名进行解密,得到解密后的字符串。服务端将该字符串与验证字符串进行对比,在两者相同的情况下,服务端确定用户的身份验证通过,从而可以向终端发送鉴权令牌数据。
此外,为了进一步提高身份验证的安全性,可以将验证字符串配置为一次有效,且为验证字符串配置有效时间期限。其中,有效时间期限也可以称为第一预设阈值,是一段时间长度,例如20秒、30分钟或者1分钟等等。
在某些实施例中,为了体现验证字符串的期限特性,服务端在通过执行上述子步骤S42-2以生成验证字符串时,可以记录生成该验证字符串时的字符串生成时刻;服务端在接收到终端返回的字符串签名时,可以记录接收到终端返回的字符串签名时的字符串返回时刻。服务端在根据终端返回的终端标识和用户标识,从多个对应关系确定该终端标识和用户标识对应的验证字符串之后,可以根据该验证字符串的字符串生成时刻、和终端返回字符串签名时的字符串返回时刻,确定两者之间的时间差。服务端在执行上述步骤S45时:利用所述公钥对该字符串签名进行解密,在解密后的字符串签名与验证字符串相匹配的情况下,且确定出的时间差小于第一预设阈值的情况下,确定该用户标识所对应的身份验证成功。
在另一些实施例中,为了同时体现验证字符串的一次有效性和期限特性,服务端在通过执行上述子步骤S42-2,以为验证请求中的用户标识和终端标识生成验证字符串之后,可以为该验证字符串、用户标识以及终端标识建立对应关系并存储,同时为该对应关系设置倒计时。在倒计时结束时,服务端自动删除该对应关系。其中,倒计时的开始时间是验证字符串的有效时间期限。
如此,如果服务端根据终端返回的终端标识和用户标识,从多个对应关系中确定出包括该终端标识和用户标识的目标对应关系,则终端返回的字符串签名符合验证字符串的一次有效性和期限特性。于是可以从该目标对应关系中获得验证字符串,并删除该目标对应关系。然后执行后续步骤,例如步骤S44和步骤S45。
如果服务端根据终端返回的终端标识和用户标识,未能从多个对应关系中确定出包括该终端标识和用户标识的目标对应关系,则包括该终端标识和用户标识的对应关系已经被删除,因此终端返回的字符串签名不符合验证字符串的一次有效性或期限特性。服务端可以结束身份验证流程,并向终端发送提示消息。
通过为验证字符串配置有效时间期限,一方面可以快速过滤掉终端返回的无效字符串签名(即超时的字符串签名),从而有利于提高服务端的处理效率,及时终止对无效字符串签名的处理,从而减轻服务端负载;另一方面,可以提高网络攻击者对终端和服务端之间的交互信息进行的篡改难度,从而进一步提高身份验证的安全性。
此外,如前所述,服务端在进行身份验证之前,还可以执行一些关于生物特征注册的步骤,例如:
服务端接收所述终端发送的注册请求;服务端响应于所述注册请求,生成注册字符串,并将该注册字符串发送给所述终端;服务端接收所述终端发送的用户标识、终端标识、公钥以及证书链,其中,所述公钥和证书链是所述终端基于所述注册字符串调用密钥对生成算法而生成的;服务端对所述证书链进行校验,以确定所述公钥对应的私钥是否已存储至所述终端的安全存储区域;服务端在证明所述私钥已存储至所述终端的安全存储区域的情况下,建立并保存所述用户标识、终端标识以及公钥之间的绑定关系。
在某些实施例中,公钥和证书链可以是终端基于注册字符串自动调用安卓操作系统的密钥库Keystore接口而生成的,服务端可以根据谷歌根证书对该证书链进行校验。
如前所述,终端发送的注册请求中可以包括终端标识。服务端在生成注册字符串时,还可以记录生成该注册字符串时的生成时刻,并同时记录该注册请求中的终端标识;服务端在接收到终端返回的用户标识、终端标识、公钥以及证书链时,还可以记录服务端接收到终端返回的终端标识时的返回时刻;服务端根据该终端标识对应的生成时间和该终端标识对应的返回时刻,确定两者之间的时间差;如果该时间差小于第二预设阈值(即注册字符串的有效时间期限),则服务端对证书链进行校验,否则服务端可以终止流程,并向终端发送提示消息。
基于同一发明构思,本发明一实施例提供一种身份验证装置。参考图5(a),图5(a)是本发明一实施例提出的身份验证装置的示意图,该身份验证装置设置于终端。如图5(a)所示,该装置包括:
发送模块51,用于在检测到用户触发验证操作的情况下,向服务端发送验证请求;
接收模块52,用于接收所述服务端返回的验证字符串;
生物特征采集模块53,用于采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
签名模块54,用于利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
可选地,所述验证字符串是一次有效、且具有有效时间期限的字符串。
可选地,所述验证请求中携带所述终端标识和用户标识,所述验证字符串是所述服务端针对所述终端标识和用户标识所生成的。
参考图5(b),图5(b)是本发明另一实施例提出的身份验证装置的示意图,该身份验证装置设置于终端。如图5(b)所示,该装置除了包括发送模块51、接收模块52、生物特征采集模块53以及签名模块54之外,还可以包括:
注册字符串获得模块501,用于在向服务端发送验证请求之前,在检测到用户触发注册操作的情况下,获得注册字符串;
密钥对生成模块502,用于基于所述注册字符串调用密钥对生成算法,生成私钥、公钥和证书链;
所述生物特征采集模块53还用于:采集用户的目标生物特征,建立该目标生物特征与所述私钥之间的对应关系,并将所述对应关系存储于所述终端的安全存储区域;
所述发送模块51还用于:将终端标识、拟注册身份的用户标识、所述公钥以及所述证书链发送给所述服务端以进行秘钥存储安全性验证,并使得所述服务端在证明所述私钥已存储至所述终端的安全存储区域后,建立并存储所述终端标识、用户标识以及公钥之间的绑定关系。
可选地,所述注册字符串获得模块501具体用于:在检测到用户触发注册操作的情况下,向所述服务端发送终端注册请求,该注册请求中包括终端标识;接收所述服务端返回的注册字符串,该注册字符串是一次有效、且具有有效时间期限的字符串。
基于同一发明构思,本发明另一实施例提供一种身份验证装置。参考图6(a),图6(a)是本发明另一实施例提出的身份验证装置的示意图,该身份验证装置设置于服务端。如图6(a)所示,该装置包括:
接收模块61,用于接收终端发送的验证请求;
字符串生成模块62,用于响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
其中,所述接收模块还用于接收所述终端返回的用户标识、终端标识和字符串签名,所述字符串签名是所述终端在用户输入的生物特征与所述终端中预存的目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥对所述验证字符串进行签名操作后所得到的;
如图6(a)所示,所述装置还包括:
公钥确定模块63,用于根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥;
身份验证模块64,用于根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
可选地,所述字符串生成模块62具体用于:响应于所述验证请求,根据所述验证请求中包括的用户标识和终端标识,查询是否存储有所述用户标识和终端标识对应的绑定关系;在存储有所述用户标识和终端标识对应的绑定关系的情况下,生成所述验证字符串。
参考图6(b),图6(b)是本发明另一实施例提出的身份验证装置的示意图,该身份验证装置设置于服务端。如图6(b)所示,该装置包括接收模块61、字符串生成模块62、公钥确定模块63以及身份验证模块64。
如图6(b)所示,所述字符串生成模块62包括:
对应关系建立子模块6201,用于为所述验证字符串以及所述验证请求中包括的用户标识和终端标识建立对应关系,并存储该对应关系;
倒计时设置子模块6202,用于为所述对应关系设置倒计时,其中,服务端在该倒计时结束时删除该对应关系;
如图6(b)所示,所述装置还包括:
对应关系确定模块6501,用于在根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥之前,根据终端返回的用户标识和终端标识,从服务端预先存储的多个对应关系中确定包括该用户标识和终端标识的目标对应关系;
验证字符串获得模块6502,用于在确定出所述目标对应关系的情况下,从该目标对应关系中获得验证字符串,并删除该目标对应关系;
流程结束模块66,用于在未确定出所述目标对应关系的情况下,结束身份验证流程。
可选地,如图6(b)所示,所述装置还包括:
生成时刻记录模块6701,用于记录生成所述验证字符串时的字符串生成时刻;
返回时刻记录模块6702,用于记录接收到所述终端返回的字符串签名时的字符串返回时刻;
时间差确定模块6703,用于确定所述字符串生成时刻与所述字符串返回时刻之间的时间差;
所述身份验证模块64具体用于:利用所述公钥对所述字符串签名进行解密,在解密后的字符串签名与所述验证字符串相匹配的情况下,且所述时间差小于第一预设阈值的情况下,确定所述用户标识所对应的身份验证成功。
可选地,所述接收模块61还用于:在接收终端发送的验证请求之前,接收所述终端发送的注册请求;
所述字符串生成模块62还用于:响应于所述注册请求,生成注册字符串,并将该注册字符串发送给所述终端;
所述接收模块61还用于:接收所述终端发送的用户标识、终端标识、公钥以及证书链,其中,所述公钥和证书链是所述终端基于所述注册字符串调用密钥对生成算法而生成的;
如图6(b)所示,所述装置还包括:
证书链校验模块601,用于对所述证书链进行校验,以确定所述公钥对应的私钥是否已存储至所述终端的安全存储区域;
绑定关系建立模块602,用于在证明所述私钥已存储至所述终端的安全存储区域的情况下,建立并保存所述用户标识、终端标识以及公钥之间的绑定关系。
本发明实施例还提供了一种终端,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
在检测到用户触发验证操作的情况下,向服务端发送验证请求;
接收所述服务端返回的验证字符串;
采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
此外,处理器701在执行存储器703上所存放的程序期间,还可以实现上述关于终端的其他方法实施例的中所提的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种服务端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如下步骤:
步骤S41:接收终端发送的验证请求;
步骤S42:响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
步骤S43:接收所述终端返回的用户标识、终端标识和字符串签名,其中,所述字符串签名是所述终端在用户输入的生物特征与所述终端中预存的目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥对所述验证字符串进行签名操作后所得到的;
步骤S44:根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥;
步骤S45:根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
此外,处理器在执行存储器上所存放的程序期间,还可以实现上述关于服务端的其他方法实施例的中所提的步骤。
基于同一发明构思,本发明另一实施例提供一种身份验证系统。参考图8,图8是本发明一实施例提出的身份验证系统的系统示意图。具体地,图8中由虚线框所包围的部分即是身份验证系统,如图8所示,该身份验证系统包括:终端和服务端。
其中,所述终端,用于在检测到用户触发验证操作的情况下,向服务端发送验证请求;
所示服务端,用于响应所述验证请求,所述服务端在响应所述验证请求时,具体用于:生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
所述终端,还用于接收所述服务端返回的验证字符串,并采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
所述终端,还用于利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证;
所述服务端,还用于根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥,并根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
可选地,如图8所示,该终端中运行有客户端,该客户端可与图8所示的服务端进行信息交互。该终端中运行有操作系统,示例地,该操作系统可以是安卓操作系统。该终端中还保存有预先通过调用密钥库Keystore接口生成的私钥,还保存有终端的设备证书。其中,如图2所示,该设备证书可以是:具有谷歌公司颁发的厂商证书的终端厂商,在该终端出厂前为该终端配置的。如前所述,密钥库Keystore接口是可以生成密钥库Keystore文件的接口,而密钥库Keystore文件是安卓操作系统中存储有数字证书的文件,密钥库Keystore文件中存储有数字证书的私钥和公钥。
需要说明的是,如前述实施例所记载的,在生物特征注册阶段,当终端自动调用安卓操作系统的密钥库Keystore接口时,密钥库Keystore接口可生成存储有密钥对和证书链的密钥库Keystore文件,该证书链中包括该终端的设备证书。当终端将鉴权令牌数据、终端标识、公钥以及证书链发送给服务端之后,如图2所示,服务端的生物特征认证模块可以根据谷歌公司提供的谷歌根证书对证书链进行校验。如果校验结果表示:证书链中存在终端的设备证书,且该设备证书正确。则可以确定密钥库Keystore文件中的私钥已存储至终端的安全存储区域。如此,服务端可以在图2所示的绑定关系存储模块中对应存储:终端发送的终端标识、公钥以及鉴权令牌数据中的用户标识。
可选地,如图8所示,该终端中可以具有以下多种生物特征识别模块中的一种或多种:指纹识别模块、人脸识别模块、虹膜识别模块、声纹识别模块。在身份验证阶段,生物特征识别模块用于采集用户的生物特征,并将采集的生物特征与存储在终端中目标生物特征进行匹配。如前所述,如果两者相匹配,则终端调取该目标生物特征对应的私钥,对服务端发来的验证字符串进行签名操作。
可选地,如图8所示,服务端中包括以下多种业务模块中的一种或多种:登录业务、支付业务。当用户需要开展登录业务或支付业务时,服务端可以要求用户参与本发明提出的身份验证过程。服务端中还可以包括字符串生成模块,服务端在响应终端发送的验证请求时,利用该字符串生成模块为终端生成验证字符串,并将该验证字符串保存在该字符串生成模块中。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的身份验证方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的身份验证方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (17)
1.一种身份验证方法,其特征在于,所述方法包括:
终端在检测到用户触发验证操作的情况下,向服务端发送验证请求;
所述服务端响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
所述终端接收所述服务端返回的验证字符串,并采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
所述终端利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证;
所述服务端根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥,并根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
2.一种身份验证方法,其特征在于,应用于终端,所述方法包括:
在检测到用户触发验证操作的情况下,向服务端发送验证请求;
接收所述服务端返回的验证字符串;
采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
3.根据权利要求2所述的方法,其特征在于,所述验证字符串是一次有效、且具有有效时间期限的字符串。
4.根据权利要求3所述的方法,其特征在于,所述验证请求中携带所述终端标识和用户标识,所述验证字符串是所述服务端针对所述终端标识和用户标识所生成的。
5.根据权利要求2至4任一所述的方法,其特征在于,在向服务端发送验证请求之前,所述方法还包括:
在检测到用户触发注册操作的情况下,获得注册字符串;
基于所述注册字符串调用密钥对生成算法,生成私钥、公钥和证书链;
采集用户的目标生物特征,建立该目标生物特征与所述私钥之间的对应关系,并将所述对应关系存储于所述终端的安全存储区域;
将终端标识、拟注册身份的用户标识、所述公钥以及所述证书链发送给所述服务端以进行秘钥存储安全性验证,并使得所述服务端在证明所述私钥已存储至所述终端的安全存储区域后,建立并存储所述终端标识、用户标识以及公钥之间的绑定关系。
6.根据权利要求5所述的方法,其特征在于,所述在检测到用户触发注册操作的情况下,获得注册字符串,包括:
在检测到用户触发注册操作的情况下,向所述服务端发送终端注册请求,该注册请求中包括终端标识;
接收所述服务端返回的注册字符串,该注册字符串是一次有效、且具有有效时间期限的字符串。
7.一种身份验证方法,其特征在于,应用于服务端,所述方法包括:
接收终端发送的验证请求;
响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
接收所述终端返回的用户标识、终端标识和字符串签名,其中,所述字符串签名是所述终端在用户输入的生物特征与所述终端中预存的目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥对所述验证字符串进行签名操作后所得到的;
根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥;
根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
8.根据权利要求7所述的方法,其特征在于,所述验证请求中包括用户标识和终端标识;所述响应于所述验证请求,生成验证字符串,包括:
响应于所述验证请求,根据所述验证请求中包括的用户标识和终端标识,查询是否存储有所述用户标识和终端标识对应的绑定关系;
在存储有所述用户标识和终端标识对应的绑定关系的情况下,生成所述验证字符串。
9.根据权利要求8所述的方法,其特征在于,所述记录所述验证字符串,包括:
为所述验证字符串以及所述验证请求中包括的用户标识和终端标识建立对应关系,并存储该对应关系;
为所述对应关系设置倒计时,其中,服务端在该倒计时结束时删除该对应关系;
在根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥之前,所述方法还包括:
根据终端返回的用户标识和终端标识,从服务端预先存储的多个对应关系中确定包括该用户标识和终端标识的目标对应关系;
在确定出所述目标对应关系的情况下,从该目标对应关系中获得验证字符串,并删除该目标对应关系;
在未确定出所述目标对应关系的情况下,结束身份验证流程。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
记录生成所述验证字符串时的字符串生成时刻;
记录接收到所述终端返回的字符串签名时的字符串返回时刻;
确定所述字符串生成时刻与所述字符串返回时刻之间的时间差;
所述根据所述公钥、所述字符串签名以及所述注册字符串,进行身份验证,包括:
利用所述公钥对所述字符串签名进行解密,在解密后的字符串签名与所述验证字符串相匹配的情况下,且所述时间差小于第一预设阈值的情况下,确定所述用户标识所对应的身份验证成功。
11.根据权利要求7所述的方法,其特征在于,在接收终端发送的验证请求之前,所述方法还包括:
接收所述终端发送的注册请求;
响应于所述注册请求,生成注册字符串,并将该注册字符串发送给所述终端;
接收所述终端发送的用户标识、终端标识、公钥以及证书链,其中,所述公钥和证书链是所述终端基于所述注册字符串调用密钥对生成算法而生成的;
对所述证书链进行校验,以确定所述公钥对应的私钥是否已存储至所述终端的安全存储区域;
在证明所述私钥已存储至所述终端的安全存储区域的情况下,建立并保存所述用户标识、终端标识以及公钥之间的绑定关系。
12.一种身份验证装置,其特征在于,设置于终端,所述装置包括:
发送模块,用于在检测到用户触发验证操作的情况下,向服务端发送验证请求;
接收模块,用于接收所述服务端返回的验证字符串;
生物特征采集模块,用于采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
签名模块,用于利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证。
13.一种身份验证装置,其特征在于,设置于服务端,所述装置包括:
接收模块,用于接收终端发送的验证请求;
字符串生成模块,用于响应于所述验证请求,生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
其中,所述接收模块还用于接收所述终端返回的用户标识、终端标识和字符串签名,所述字符串签名是所述终端在用户输入的生物特征与所述终端中预存的目标生物特征相匹配的情况下,利用该目标生物特征对应的私钥对所述验证字符串进行签名操作后所得到的;
所述装置还包括:
公钥确定模块,用于根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥;
身份验证模块,用于根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
14.一种终端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求2-6任一所述的方法步骤。
15.一种服务端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求7-11任一所述的方法步骤。
16.一种身份验证系统,其特征在于,包括终端和服务端;其中,
所述终端,用于在检测到用户触发验证操作的情况下,向服务端发送验证请求;
所述服务端,用于响应所述验证请求,所述服务端在响应所述验证请求时,具体用于:生成验证字符串,并将所述验证字符串发送给所述终端,且记录所述验证字符串;
所述终端,还用于接收所述服务端返回的验证字符串,并采集用户的生物特征,在该生物特征与存储在所述终端中目标生物特征相匹配的情况下,获得该目标生物特征对应的私钥;
所述终端,还用于利用所述私钥对所述验证字符串进行签名操作,获得字符串签名,并将所述字符串签名、终端标识以及拟进行身份验证的用户标识发送给所述服务端进行身份验证;
所述服务端,还用于根据所述用户标识和终端标识,从预先存储的多个绑定关系中确定与所述用户标识和终端标识同时绑定的公钥,并根据所述公钥、所述字符串签名以及所述验证字符串,进行身份验证。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1或2-6或7-11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121641.8A CN111414599A (zh) | 2020-02-26 | 2020-02-26 | 身份验证方法、装置、终端、服务端以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121641.8A CN111414599A (zh) | 2020-02-26 | 2020-02-26 | 身份验证方法、装置、终端、服务端以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111414599A true CN111414599A (zh) | 2020-07-14 |
Family
ID=71490992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010121641.8A Pending CN111414599A (zh) | 2020-02-26 | 2020-02-26 | 身份验证方法、装置、终端、服务端以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414599A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832006A (zh) * | 2020-07-16 | 2020-10-27 | 浙江甬恒科技有限公司 | 一种基于智能运维管理的专利检索平台 |
CN111932426A (zh) * | 2020-09-15 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的身份管理方法、装置及设备 |
CN112636977A (zh) * | 2020-12-23 | 2021-04-09 | 四川虹微技术有限公司 | 物联网设备管理方法、注册方法、装置、系统及电子设备 |
-
2020
- 2020-02-26 CN CN202010121641.8A patent/CN111414599A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832006A (zh) * | 2020-07-16 | 2020-10-27 | 浙江甬恒科技有限公司 | 一种基于智能运维管理的专利检索平台 |
CN111832006B (zh) * | 2020-07-16 | 2021-07-20 | 浙江甬恒科技有限公司 | 一种基于智能运维管理的专利检索平台 |
CN111932426A (zh) * | 2020-09-15 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的身份管理方法、装置及设备 |
CN111932426B (zh) * | 2020-09-15 | 2021-01-26 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的身份管理方法、装置及设备 |
CN113012008A (zh) * | 2020-09-15 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的身份管理方法、装置及设备 |
CN112636977A (zh) * | 2020-12-23 | 2021-04-09 | 四川虹微技术有限公司 | 物联网设备管理方法、注册方法、装置、系统及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708257B2 (en) | Systems and methods for using imaging to authenticate online users | |
CN108777684B (zh) | 身份认证方法、系统及计算机可读存储介质 | |
CA2636825C (en) | Multi-mode credential authentication | |
EP3138265B1 (en) | Enhanced security for registration of authentication devices | |
CN111414599A (zh) | 身份验证方法、装置、终端、服务端以及可读存储介质 | |
US8079082B2 (en) | Verification of software application authenticity | |
CN106453422B (zh) | 一种基于移动终端动态认证方法及系统 | |
KR101451359B1 (ko) | 사용자 계정 회복 | |
KR20130107188A (ko) | 사운드 코드를 이용한 인증 서버 및 인증방법 | |
KR101020754B1 (ko) | 바이오 정보를 이용한 부인방지 본인확인 검증 시스템 및 방법 | |
US9413533B1 (en) | System and method for authorizing a new authenticator | |
CN112507316A (zh) | 一种用户的验证方法、装置、可读存储介质及电子设备 | |
US20200120091A1 (en) | Online verification method and system for verifying the identity of a subject | |
KR20200004666A (ko) | 머신러닝과 블록체인을 이용한 생체정보 인증 시스템 | |
JP6887551B1 (ja) | 認証システム、認証システムの制御方法及び認証装置 | |
US20210194919A1 (en) | System and method for protection against malicious program code injection | |
US20200336317A1 (en) | Methods and devices for enrolling and authenticating a user with a service | |
KR101991109B1 (ko) | 모바일 인증방법 및 그 시스템 | |
JP2002297550A (ja) | 個人識別支援システム | |
CN111835713A (zh) | 一种安全认证方法、装置和存储介质 | |
CN114186209A (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 |