CN118214586A - 一种身份认证方法、系统、设备及存储介质 - Google Patents

一种身份认证方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN118214586A
CN118214586A CN202410245714.2A CN202410245714A CN118214586A CN 118214586 A CN118214586 A CN 118214586A CN 202410245714 A CN202410245714 A CN 202410245714A CN 118214586 A CN118214586 A CN 118214586A
Authority
CN
China
Prior art keywords
public key
registered user
factor
verification
security
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
Application number
CN202410245714.2A
Other languages
English (en)
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202410245714.2A priority Critical patent/CN118214586A/zh
Publication of CN118214586A publication Critical patent/CN118214586A/zh
Pending legal-status Critical Current

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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3247Cryptographic 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 digital signatures

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)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种身份认证方法、系统、设备及存储介质,该方法包括:服务端设备接收客户端设备发送的第一注册信息,第一注册信息包括注册用户的第一公钥以及第一公钥验证因子,第一公钥是通过一身份认证器生成,第一公钥验证因子是生成第一公钥的身份认证器基于第一安全因子和第一公钥生成;利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果;响应于第一验证结果为验证通过,将生成第一公钥的身份认证器注册为注册用户的身份认证器。通过上述方式,本申请能够确保验证通过的验证信息在传输过程中未被篡改,提高身份认证的安全性。

Description

一种身份认证方法、系统、设备及存储介质
技术领域
本申请涉及信息安全技术领域,特别是涉及一种身份认证方法、系统、设备及存储介质。
背景技术
目前服务身份凭证的认证方式主要为:静态密码认证、动态安全码认证和生物特征认证。
FIDO(Fast IDentity Online线上快速身份验证)是一种在线验证用户身份的技术规范。一旦用户完成了注册,以后用户服务需要调用FIDO服务器时,只要简单通过本地身份验证即可完成认证过程,此后用户无需再输入密码即可进行用户登录,实现去密码化,简化用户体验。
但是在现有的FIDO认证器注册过程中,其客户身份相关通过数据传输并存储在服务器的数据库中,注册过程容易遭受中间人攻击,存在安全隐患。
发明内容
本申请主要解决的技术问题是提供一种身份认证方法、系统、设备及存储介质,能够提高身份认证的安全性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种身份认证方法,该方法包括:服务端设备接收客户端设备发送的第一注册信息,第一注册信息包括注册用户的第一公钥以及第一公钥验证因子,第一公钥是通过一身份认证器生成,第一公钥验证因子是生成第一公钥的身份认证器基于第一安全因子和第一公钥生成;利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果;响应于第一验证结果为验证通过,将生成第一公钥的身份认证器注册为注册用户的身份认证器。
其中,第一公钥验证因子是生成第一公钥的身份认证器对第一安全因子和第一公钥进行哈希运算得到的;利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果,包括:对第一安全因子和第一注册信息中的第一公钥进行哈希运算,得到第二公钥验证因子;响应于第一公钥验证因子和第二公钥验证因子一致,确定第一验证结果为验证通过;和/或,将生成第一公钥的身份认证器注册为注册用户的身份认证器,包括:将第一公钥保存作为注册用户的公钥。
其中,在接收客户端设备发送的第一注册信息之前,还包括:接收客户端设备发送的关于注册用户的第一注册请求;为注册用户生成第一安全因子,并将第一安全因子发送给注册用户,以使注册用户将第一安全因子提供给身份认证器。
其中,为注册用户生成第一安全因子,包括:为注册用户随机生成第一安全因子;和/或,将第一安全因子发送给注册用户,包括:通过预先为注册用户录入的联系方式将第一安全因子发送给注册用户。
其中,第一注册请求包含注册用户的用户信息;在接收客户端设备发送的关于注册用户的第一注册请求之前,还包括:获取管理员设备录入的至少一个用户的用户信息,并将至少一个用户的用户信息保存在用户信息集中;在接收客户端设备发送的关于注册用户的第一注册请求之后,还包括:从用户信息集中查找是否存在注册用户的用户信息;响应于存在注册用户的用户信息,执行为注册用户生成第一安全因子及其后续步骤。
其中,在响应于第一验证结果为验证通过,将生成第一公钥的身份认证器注册为注册用户的身份认证器之后,还包括:接收客户端设备发送的关于注册用户的第二注册请求;为注册用户生成第二安全因子,并将第二安全因子发送给注册用户;接收客户端设备发送的第二注册信息,第二注册信息包括注册用户的第二公钥以及第三公钥验证因子,第二公钥是通过另一个身份认证器生成,第三公钥验证因子是生成第二公钥的身份认证器基于第二安全因子和第二公钥生成;利用第二安全因子对第二注册信息中的第二公钥和第三公钥验证因子进行验证,得到第二验证结果;响应于第二验证结果为验证通过,将生成第二公钥的身份认证器注册为注册用户的身份认证器,其中,第二公钥作为注册用户的公钥。
其中,该方法还包括:接收客户端设备发送的登录请求,登录请求包含注册用户的用户信息;响应于基于登录请求中的用户信息确定注册用户已注册,生成挑战值,并将挑战值发送给注册用户;接收客户端设备发送的签名数据,签名数据是身份认证器利用私钥对挑战值进行签名得到的;利用注册用户的公钥对签名数据进行验证,以确定是否允许注册用户登录。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种身份认证方法,包括:身份认证器获取注册用户的客户端设备的安全因子;为注册用户生成公钥,并基于公钥和安全因子生成公钥验证因子;将公钥和公钥验证因子发送给注册用户的客户端设备,以使客户端设备将公钥和公钥验证因子发送给服务端设备,进而服务端设备利用安全因子对公钥和公钥验证因子进行验证。
其中,获取注册用户的安全因子,包括:接收注册用户的客户端设备通过设定安全协议发送的安全因子;和/或,基于公钥和安全因子生成公钥验证因子,包括:对公钥和安全因子进行哈希运算,得到公钥验证因子;和/或,将公钥和公钥验证因子发送给注册用户的客户端设备,包括:通过设定安全协议将公钥和公钥验证因子发送给注册用户的客户端设备。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种身份认证系统,包括相互连接的客户端设备和服务端设备、以及身份认证器,客户端设备用于响应注册用户的注册操作,向服务端设备发送注册请求;服务端设备用户接收响应注册请求,为注册用户生成安全因子,并将安全因子发送给注册用户;身份认证器用于为注册用户生成公钥,并基于公钥和安全因子生成公钥验证因子,通过设定安全协议将公钥和公钥验证因子发送给客户端设备;客户端设备还用于将包含公钥和公钥验证因子的注册信息发送给服务端设备;服务端设备还用于利用注册用户的安全因子对注册信息中的公钥和公钥验证因子进行验证,以确定是否将生成公钥的身份认证器注册为注册用户的身份认证器。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种设备,包括通信电路、存储器和处理器,通信电路、存储器分别耦接于处理器,存储器中存储有程序指令,处理器用于执行程序指令以实现上述任一身份认证方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种存储介质,其上存储有计算机程序,该程序被处理器执行实现上述任一身份认证方法。
本申请的有益效果是:区别于现有技术的情况,本申请利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果,将生成验证通过的第一公钥的身份认证器注册为对应注册用户的身份认证器,通过上述方式确保验证通过的验证信息在传输过程中未被篡改,提高身份认证的安全性。
附图说明
图1是本申请的身份认证方法一实施例的流程示意图;
图2是本申请的身份认证方法注册新身份认证器的流程示意图;
图3是本申请的身份认证方法的登录方法一实施例的流程示意图;
图4是本申请的身份认证方法另一实施例的流程示意图;
图5是本申请的身份认证装置一实施例的框架示意图;
图6是本申请的身份认证装置另一实施例的框架示意图;
图7是本申请的身份认证系统一实施例的框架示意图;
图8是本申请的身份认证系统另一实施例的框架示意图;
图9是本申请的设备一实施例的框架示意图;
图10是本申请的存储介质一实施例的框架示意图。
具体实施方式
为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。此外,术语“第一”、“第二”仅用于描述目的,二不能理解为指示或者暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
参阅图1,图1是本申请的身份认证方法一实施例的流程示意图,该方法包括如下步骤:
步骤S11:服务端设备接收客户端设备发送的第一注册信息。
服务端设备为一或多个具备数据处理能力、存储能力和网络通信能力的虚拟设备或实体设备,如FIDO平台等。客户端设备为客户用于传输信息的虚拟设备或实体设备,可以是手机、平板或电脑等。客户可以通过网页、APP或者小程序等数据载体的输入窗口由用户输入第一注册信息,或者第一注册信息可以基于关联信息从另一个数据载体中获取。例如,通过小程序关联授权从另一个程序中获取第一注册信息。第一注册信息包括该注册用户的用户信息,在一实施例中,第一注册信息可以是用户第一次注册的注册信息,可以理解的是,用户第一次注册、第二次注册以及登录时涉及的客户端设备,均称为客户端设备,没有进行区分,但可以理解的是,上述三个流程所涉及的客户端设备可以是不同的设备。
本实施例中,第一注册信息包括注册用户的第一公钥以及第一公钥验证因子。客户设备端将第一公钥以及第一公钥验证因子采用服务端设备认可的通信协议发送给服务端设备,例如,在服务端设备为FIDO平台的场景下,客户端设备可以采用CIAP协议将第一公钥以及第一公钥验证因子发送给服务端设备。
第一公钥是通过身份认证器生成。具体地,身份认证器可以基于注册用户输入的密保信息生成第一公钥。该密保信息可以是注册用户的PIN码、生物识别信息等。在另一实施例中,身份认证器为实体器件,使用时将身份认证器与客户端设备通信连接,身份认证器与客户端设备可以通过数据线有线连接也可以通过蓝牙等方式无线连接。身份认证器可以基于注册用户输入的密保信息以及注册用户所在时区的当前时间结合生成第一公钥,或者身份认证器可以基于注册用户输入的密保信息以及注册用户所在的经纬度结合生成第一公钥。身份认证器在生成第一公钥的同时生成对应的私钥,私钥保存在生成该私钥的身份认证器的安全模块内,安全模块可以是具备独立的处理器和存储单元的芯片,例如TPM芯片、SE芯片等。可以理解的是,该私钥与第一公钥为一对密钥对,用第一公钥加密的数据只能通过该私钥解密,而用该私钥加密的数据只能通过第一公钥解密。
第一公钥验证因子是生成第一公钥的身份认证器基于第一安全因子和第一公钥生成。具体地,生成第一公钥的身份认证器可以采用身份认证器内置的算法对第一安全因子和第一公钥进行运算生成第一公钥验证因子。在一实施例中,第一公钥验证因子是生成第一公钥的身份认证器对第一安全因子和第一公钥进行哈希运算得到的。
第一安全因子可以由客户端设备随机生成,用于验证该注册用户提供的注册信息是否真实,或者验证该注册用户是否为本人注册。在一实施例中,服务端设备在接收客户端设备发送第一注册信息之前,还包括:接收客户端设备发送的关于注册用户的第一注册请求;为注册用户生成第一安全因子,并将第一安全因子发送给注册用户,以使注册用户将第一安全因子提供给身份认证器。第一注册请求包含注册用户的用户信息,客户端在生成第一安全因子时可以将该注册用户的用户信息与第一安全因子绑定并存储于数据库中,由此,服务端设备能够利用该用户信息,从数据库中查找出对应的第一安全因子,进行后续验证。
具体地,上述为注册用户生成第一安全因子的步骤,包括,为注册用户随机生成第一安全因子。其中,第一安全因子可以为随机数组、字母、文字及其一种或多种的组合。第一安全因子为随机生成,可以理解的是,无论是相同的注册用户在不同时间或者不同的注册用户在相同时间段发出的注册请求,生成的第一安全因子可以不同。在一实施例中,该将第一安全因子发送给注册用户,包括,通过预先为注册用户录入的联系方式将第一安全因子发送给注册用户。例如,注册用户的联系方式可以是但不限于注册用户的电话号码、邮箱地址等,在第一注册信息包括注册用户联系方式时,可以从第一注册信息中获取注册用户联系方式,或者在客户端设备的交互页面设置输入窗口便于注册用户输入联系方式,或者通过关联授权从其他软件获取注册用户的联系方式。对于存在多个联系方式的情况,可以设置选择方式供注册用户选择较为便捷的联系方式。注册用户可以通过该联系方式获取第一安全因子。
在一具体实施例中,联系方式为电话号码的场景下,服务端设备可以将生成的第一安全因子通过短信的方式发送给注册用户,或者服务端设备可以将生成的第一安全因子通过AI电话播报的方式发送给注册用户。联系方式为邮箱的场景下,服务端设备可以将生成的第一安全因子通过文字、图片或者语音等载体的形式设置在邮件内发送到注册用户的邮箱中,或者第一安全因子的表现形式可以是以第一安全因子为唯一答案的算式或者推理题。注册用户可以通过搭载该联系方式的设备获取该第一安全因子,可以理解的是客户用于获取第一安全因子的设备与客户进行注册或者登录的设备可以不是同一个设备。
在一些实施例中,注册用户在接收到第一安全因子后,将第一安全因子输入到客户端设备,客户端设备将注册用户输入的第一安全因子传输给身份认证器。具体地,客户端设备采用该身份认证器认可的传输协议传输第一安全因子,例如,在身份认证器为FIDO身份认证器的场景下,客户端设备可以通过CTAP协议将第一安全因子传送给身份认证器。
在另一实施例中,接收注册请求之前还需录入待注册信息,以便在执行注册过程中对待注册用户的注册信息进行审核。具体地,在接收客户端设备发送的关于注册用户的第一注册请求之前,还包括:获取管理员设备录入的至少一个用户的用户信息,并将至少一个用户的用户信息保存在用户信息集中。在接收客户端设备发送的关于注册用户的第一注册请求之后,还包括:从用户信息集中查找是否存在注册用户的用户信息;响应于存在注册用户的用户信息,执行为注册用户生成第一安全因子及其后续步骤。
在一具体实施例中,当用户需要使用服务时,用户需要将注册信息提供给管理员,管理将注册信息录入到服务端设备中,并保存在用户信息集中。在接收到客户端设备发送的关于注册用户的第一注册请求之后,从用户信息集中查找是否存在注册用户的用户信息,若不存在该注册用户的用户信息则需将注册信息提供给管理员,在管理员将该信息录入后才允许注册,否则不能注册,从而限制非法用户的注册,进一步提高注册流程的安全性。
步骤S12:利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果。
其中,第一安全因子由服务端设备产生,第一公钥验证因子是生成第一公钥的身份认证器基于第一安全因子和第一公钥生成。在一实施例中,该利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证包括采用服务端设备内置的算法对第一安全因子和第一公钥进行运算生成第二公钥验证因子,将第二公钥验证因子与第一公钥验证因子进行对比。身份认证器内置的算法与该服务端设备内置的算法为同一算法。在一些实施例中,该利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果。可以为,响应于第一公钥验证因子和第二公钥验证因子一致,则确定第一验证结果为验证通过。
在一具体实施例中,第一安全因子由服务端设备产生并发送给注册用户,由注册用户提供给身份认认证器。第一公钥由身份认证器生成,身份认证器采用内置的算法对接收到的第一安全因子和生成的第一公钥进行计算生成第一公钥验证因子,并将第一公钥验证因子和第一公钥采用服务端认可通信协议传输给服务端,服务端采用内置的算法对生成的第一安全因子和接收到的公钥进行计算,生成第二公钥验证因子。在本实施例中身份认证器的内置算法和服务端的内置算法相同。若第一公钥和/或第一公钥验证因子在从身份认证器传输到服务端的时候发生任何篡改,均会导致第一公钥验证因子与服务端生成的第一公钥验证因子不一致。响应于第一公钥验证因子和第二公钥验证因子不一致,则确定第一验证结果为验证不通过。从而确保验证通过的验证信息在传输过程中未被篡改,提高身份认证的安全性。
在一些实施例中,利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果,包括:对第一安全因子和第一注册信息中的第一公钥进行哈希运算,得到第二公钥验证因子。在本实施例中,第一公钥验证因子是生成第一公钥的身份认证器对第一安全因子和第一公钥进行哈希运算得到的。第二公钥验证因子是服务端设备对第一安全因子和第一注册信息中的第一公钥进行哈希运算得到的,服务端设备和身份认证器均采用哈希运算对第一安全因子和第一公钥进行计算,验证第一公钥和第一公钥验证因子在传输过程中是否被篡改,只有在第一公钥和第一公钥验证因子均未被篡改,第一公钥验证因子和第二公钥验证因子才能保持一致,使注册过程更可靠。
步骤S13:响应于第一验证结果为验证通过,将生成第一公钥的身份认证器注册为注册用户的身份认证器。具体地,可以将注册用户的用户信息与该身份认证器的唯一识别码绑定,若该身份认证器丢失、损坏或者无法使用,则该用户需重新注册身份认证器才能登录该账号。
在一些实施例中,将生成第一公钥的身份认证器注册为注册用户的身份认证器,包括,将第一公钥保存作为注册用户的公钥。例如,建立数据库,将公钥与对应注册用户的注册信息绑定存储在该数据库中,数据库可以存储在服务端设备中也可以同时存储在云端,在此不做限制。
在一实施例中,已注册成功的用户的身份认证器丢失、损坏、无法使用或者需要注册新的身份认证器的场景下,可以注册新的身份认证器,请参阅图2,图2是本申请的身份认证方法注册新身份认证器的流程示意图。在响应于第一验证结果为验证通过,将生成第一公钥的身份认证器注册为注册用户的身份认证器之后,还可以执行下述步骤:
步骤S21:接收客户端设备发送的关于注册用户的第二注册请求。为注册用户生成第二安全因子,并将第二安全因子发送给注册用户。
第二注册请求包含第一注册请求中的用户信息,用户信息可以是用用户的联系方式,在接收注册用户的第二注册请求之后,从服务端设备中查找是否存在注册用户的用户信息和注册信息,查找到该注册用户的用户信息和注册信息后准许注册新的身份认证器。可以理解的是,第一注册请求和第二注册请求的客户端设备可以不为同一个。第二安全因子由客户端随机生成,用于验证该注册用户是否为本人注册,可以理解的是第二安全因子和第一安全因子可以不同。第二安全因子可以通过用户的联系方式发送给客户。
步骤S22:接收客户端设备发送的第二注册信息,第二注册信息包括注册用户的第二公钥以及第三公钥验证因子。其中,第二公钥是通过另一个身份认证器生成,第三公钥验证因子是生成第二公钥的身份认证器基于第二安全因子和第二公钥生成。
另一个身份认证器可以为一新身份认证器,或者一未经过注册的身份认证器,或者经过注册但已经注销的身份认证器,可以理解的生成第一公钥的身份认证器和生成第二公钥的身份认证器可以是不同的身份认证器。在一实施例中,该第二公钥可以由对应身份认证器基于注册用户重新输入的密保信息生成,可以理解的是,该重新输入的密保信息可以与该注册用户第一次注册输入的密保信息相同,也可以不同,此处不作限定。该身份认证器生成第二公钥的同时生成对应第二私钥,并将该第二私钥保存在该身份认证器的安全模块内。同样的,第二私钥与第二公钥为一对密钥对,用第二公钥加密的数据只能通过第二私钥解密,而用第二私钥加密的数据只能通过第二公钥解密。
在一实施例中,生成第二公钥的身份认证器内置有预设算法,第三公钥验证因子是第二公钥身份认证器采用内置的预设算法对第二安全因子和第二公钥进行运算生成的。具体地,该预设算法可以是哈希算法(例如,MAC算法),第三公钥验证因子是生成第二公钥的身份认证器对第二安全因子和第二公钥进行哈希运算生成的。
步骤S23:利用第二安全因子对第二注册信息中的第二公钥和第三公钥验证因子进行验证,得到第二验证结果。具体地,第二安全因子由服务端设备产生,第三公钥验证因子是生成第二公钥的身份认证器基于第二安全因子和第一公钥生成。在一实施例中,该利用第二安全因子对第二注册信息中的第二公钥和第三公钥验证因子进行验证为采用服务端设备内置的算法对第一安全因子和第一公钥进行运算生成第四公钥验证因子,并将第四公钥验证因子与第三公钥验证因子进行对比,得到第二验证结果。其中,身份认证器内置的算法与该服务端设备内置的算法为同一算法。在一些实施例中,第二验证结果包括验证通过和验证不通过,其中,验证通过的结果对应于第四公钥验证因子与第三公钥验证因子一致,验证不通过的结果对应于第四公钥验证因子与第三公钥验证因子不一致。
在一具体实施例中,利用第二安全因子对第二注册信息中的第二公钥和第三公钥验证因子进行验证,得到第二验证结果,包括:对第二安全因子和第二注册信息中的第二公钥进行哈希运算,得到第三公钥验证因子。在本实施例中,第三公钥验证因子是生成第二公钥的身份认证器对第二安全因子和第二公钥进行哈希运算得到的。第四公钥验证因子是服务端设备对第二安全因子和第二注册信息中的第二公钥进行哈希运算得到的,服务端设备和身份认证器均采用哈希运算对第二安全因子和第二公钥进行计算,验证第二公钥和第三公钥验证因子在传输过程中是否被篡改,只有在第二公钥和第三公钥验证因子均未被篡改,第三公钥验证因子和第四公钥验证因子才能保持一致,新的身份认证器才能注册成功。
步骤S24:响应于第二验证结果为验证通过,将生成第二公钥的身份认证器注册为注册用户的身份认证器,其中,第二公钥作为注册用户的公钥。可以将第二公钥与注册用户进行关联,并将关联信息保存在数据库中,数据库可以存储在服务端设备中,也可以同时存储在云端,在此不做限制。
在一实施例中,还包括使用注册好的身份认证器进行登录的身份认证过程,请参阅图3,图3是本申请的身份认证方法的登录方法一实施例的流程示意图。该方法包括如下步骤:
步骤S31:接收客户端设备发送的登录请求,登录请求包含注册用户的用户信息。具体地,服务端设备接收到登录请求后,还可以对登录请求进行校验,确认该登录请求是否合法。在一实施例中,该对登录请求进行校验可以为,从用户信息集中查找是否存在该注册用户的用户信息,若存在则查看该注册用户的用户信息是否已注册。若根据登录请求中的注册用户的用户信息确定该注册用户未注册,则判定该登录请求不合法,向客户端返回无法登录信息,例如“账号未注册,请注册后登录”字样等,在此处不做限制。
步骤S32:响应于基于登录请求中的用户信息确定注册用户已注册,生成挑战值,并将挑战值发送给注册用户。注册用户将该挑战值提供给身份认证器,身份认证器基于该挑战值生成签名数据传输给服务端设备。在一其他实施例中,身份认证器通过对该挑战值预设加密方式进行加密生成签名数据,服务器接收到该签名数据后可以采用预设的解密方式对该签名数据进行解密,生成解密值,通过判断该解密值与其生成的挑战值是否一致来确定是否允许注册用户登录。
其中,挑战值为随机生成,例如,挑战值可以采用密码学生成随机数组的方式生成,可以是假随机数,也可以是真随机数。在一实施例中,挑战值可以基于CPU的噪声生成,或者由一些预设算法生成。在一些实施例中,挑战值可以通过该注册用户的联系方式发送给注册用户,注册用户的联系方式可以是但不限于注册用户的电话号码、邮箱地址等。在用户信息包括注册用户联系方式时,可以从用户信息中获取该注册用户联系方式,或者在客户端设备的交互页面设置输入窗口便于注册用户输入联系方式,或者通过关联授权从其他软件获取注册用户的联系方式。对于存在多个联系方式的情况,可以设置选择方式供注册用户选择较为便捷的联系方式。注册用户可以通过该联系方式挑战值。
在一具体实施例中,联系方式为电话号码的场景下,服务端设备可以将生成的挑战值通过短信的方式发送给注册用户,或者服务端设备可以将生成的挑战值通过AI电话播报的方式发送给注册用户。联系方式为邮箱的场景下,服务端设备可以将生成的挑战值通过文字、图片或者语音等载体的形式设置在邮件内发送到注册用户的邮箱中,或者挑战值的表现形式可以是以该挑战值为唯一答案的算式或者推理题。注册用户可以通过搭载该联系方式的设备获取该挑战值,可以理解的是客户用于获取挑战值的设备与客户进行注册或二次注册的设备可以不是同一个设备。
步骤S33:接收客户端设备发送的签名数据,签名数据是身份认证器利用私钥对挑战值进行签名得到的。利用注册用户的公钥对签名数据进行验证,以确定是否允许注册用户登录。在一实施例中,身份认证器在接收到挑战值后,获取存储在安全模块中的私钥,可以理解的是,一个身份认证器在注册成功后,其安全模块中只存储有一个私钥。身份认证器使用从其安全模块中提取的私钥对该挑战值进行签名生成签名数据,并将用户信息和该签名数据发送给服务端设备。服务端设备接收到用户信息与该签名数据后,基于用户信息从数据库中获取该注册用户对应的公钥,采用该公钥对签名数据进行验签生成验签挑战值,判断该验签挑战值与该挑战值是否一致,若一致,则确定允许注册用户登录,若不一致,则确定不允许注册用户登录。从而实现无密码登录。
请参见图4,图4是本申请的身份认证方法另一实施例的流程图。具体包括如下步骤:
步骤S41:身份认证器获取注册用户的客户设备的安全因子,为注册用户生成公钥,并基于公钥和安全因子生成公钥验证因子。
具体地,该获取注册用户的安全因子,包括:接收注册用户的客户端设备通过设定安全协议发送的安全因子。例如,在服务端设备为FIDO平台的场景下,客户端设备可以采用CIAP协议安全因子发送给身份认证器。具体地,身份认证器可以基于客户输入的密保信息生成公钥。例如,该密保信息可以是注册用户的PIN码、生物识别信息等。身份认证器在生成公钥的同时生成对应的私钥,私钥保存在生成该私钥的身份认证器的安全模块内,安全模块可以是具备独立的处理器和存储单元的芯片,例如TPM芯片、SE芯片等。可以理解的是,该私钥与公钥为一对密钥对,用该公钥加密的数据只能通过该私钥解密,而用该私钥加密的数据只能通过该公钥解密。
基于公钥和安全因子生成公钥验证因子可以是由生成该公钥的身份认证器采用内置算法对该公钥和安全因子进行运算得到公钥验证因子。在一实施例中,身份认证器内置的算法为哈希算法,基于公钥和安全因子生成公钥验证因子,包括:对公钥和安全因子进行哈希运算,得到公钥验证因子。
步骤S42:将公钥和公钥验证因子发送给注册用户的客户端设备,以使客户端设备将公钥和公钥验证因子发送给服务端设备,进而服务端设备利用安全因子对公钥和公钥验证因子进行验证。具体地,将公钥和公钥验证因子发送给注册用户的客户端设备,包括:通过设定安全协议将公钥和公钥验证因子发送给注册用户的客户端设备。用于服务端设备对该注册用户进行注册验证。响应于服务器验证通过,将生成该公钥的身份认证器注册为该注册用户的身份认证器。
本实施例中,在身份认证器注册成功后,该注册用户可以使用该身份认证器进行登录,在登录过程中,身份认证器获取注册用户的挑战值,通过预设的加密方式对该挑战值进行加密生成签名数据,并将该签名数据提供给服务端设备。在一具体实施例中,身份认证器通过存储在其安全模块中的私钥对该挑战值进行加密生成签名数据,并将该签名数据发送给服务端设备。具体地,身份认证器可以通过设定的安全协议将该签名数据发送给客户端设备,再由客户端设备通过设定的安全协议将该签名数据与对应的用户信息一起发送给服务端设备。服务端设备利用公钥对该签名数据进行验证。具体验证方式可参阅上述步骤S33,在此不做赘述。
请参阅图5,图5是本申请的身份认证装置一实施例的框架示意图。本实施例中,该身份认证装置50应用于服务端设备,该身份认证装置50包括通信单元51和处理单元52。通信单元51用于接收客户端设备发送的第一注册信息,第一注册信息包括注册用户的第一公钥以及第一公钥验证因子,第一公钥是通过一身份认证器生成,第一公钥验证因子是生成第一公钥的身份认证器基于第一安全因子和第一公钥生成。处理单元52利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果。响应于第一验证结果为验证通过,将生成第一公钥的身份认证器注册为注册用户的身份认证器。在一些实施例中,第一公钥验证因子是生成第一公钥的身份认证器对第一安全因子和第一公钥进行哈希运算得到的。
在一实施例中,处理单元52利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果,包括:对第一安全因子和第一注册信息中的第一公钥进行哈希运算,得到第二公钥验证因子。响应于第一公钥验证因子和第二公钥验证因子一致,确定第一验证结果为验证通过。具体地,处理单元52将生成第一公钥的身份认证器注册为注册用户的身份认证器,包括:将第一公钥保存作为注册用户的公钥。
在一实施例中,通信单元51在接收客户端设备发送的第一注册信息之前,还包括:接收客户端设备发送的关于注册用户的第一注册请求;为注册用户生成第一安全因子,并将第一安全因子发送给注册用户,以使注册用户将第一安全因子提供给身份认证器。在一具体实施例中,通信单元51为注册用户生成第一安全因子,包括:为注册用户随机生成第一安全因子。通信单元51将第一安全因子发送给注册用户,包括:通过预先为注册用户录入的联系方式将第一安全因子发送给注册用户。其中,第一注册请求包含注册用户的用户信息。
在一实施例中,通信单元51在接收客户端设备发送的关于注册用户的第一注册请求之前,还包括:处理单元52获取管理员设备录入的至少一个用户的用户信息,并将至少一个用户的用户信息保存在用户信息集中。在一些实施例中,通信单元51在接收客户端设备发送的关于注册用户的第一注册请求之后,还包括:从用户信息集中查找是否存在注册用户的用户信息。响应于存在注册用户的用户信息,执行为注册用户生成第一安全因子及其后续步骤。
处理单元52在响应于第一验证结果为验证通过,将生成第一公钥的身份认证器注册为注册用户的身份认证器之后,还包括:处理单元52接收客户端设备发送的关于注册用户的第二注册请求,为注册用户生成第二安全因子,并将第二安全因子发送给注册用户。处理单元52接收客户端设备发送的第二注册信息。具体地,第二注册信息包括注册用户的第二公钥以及第三公钥验证因子,第二公钥是通过另一个身份认证器生成,第三公钥验证因子是生成第二公钥的身份认证器基于第二安全因子和第二公钥生成。处理单元52利用第二安全因子对第二注册信息中的第二公钥和第三公钥验证因子进行验证,得到第二验证结果。处理单元52响应于第二验证结果为验证通过,将生成第二公钥的身份认证器注册为注册用户的身份认证器,其中,第二公钥作为注册用户的公钥。
在一些实施例中,通信单元51还用于接收客户端设备发送的登录请求,登录请求包含注册用户的用户信息。处理单元52响应于基于登录请求中的用户信息确定注册用户已注册,生成挑战值,并将挑战值通过通信单元51发送给注册用户。通信单元51接收客户端设备发送的签名数据,签名数据是身份认证器利用私钥对挑战值进行签名得到的。处理单元52利用注册用户的公钥对签名数据进行验证,以确定是否允许注册用户登录。
请参阅图6,图6是本申请身份认证装置另一实施例的框架示意图。该实施例的身份认证装置50应用于身份认证器,该身份认证装置50包括通信模块61和生成模块62。通信模块61用于获取注册用户的安全因子。生成模块62为注册用户生成公钥,并基于公钥和安全因子生成公钥验证因子。通信模块61将公钥和公钥验证因子发送给客户端设备,以使客户端设备将公钥和公钥验证因子发送给服务端设备,进而服务端设备利用安全因子对公钥和公钥验证因子进行验证。具体地,通信模块61获取注册用户的安全因子包括接收注册用户的客户端设备通过设定安全协议发送的安全因子。在一些实施例中,生成模块62基于公钥和安全因子生成公钥验证因子,包括:对公钥和安全因子进行哈希运算,得到公钥验证因子。通信模块61将公钥和公钥验证因子发送给客户端设备,包括:通信模块61通过设定安全协议将公钥和公钥验证因子发送给注册用户的客户端设备。
请参阅图7,图7是本申请的身份认证系统一实施例的框架示意图。本实施例中,该身份认证系统70包括相互连接的客户端设备72和服务端设备73、以及身份认证器71。客户端设备72用于响应注册用户的注册操作,向服务端设备73发送注册请求;服务端设备73用于接收响应注册请求,为注册用户生成安全因子,并将安全因子发送给注册用户;身份认证器71用于为注册用户生成公钥,并基于公钥和安全因子生成公钥验证因子,通过设定安全协议将公钥和公钥验证因子发送给客户端设备72;客户端设备72还用于将包含公钥和公钥验证因子的注册信息发送给服务端设备73;服务端设备73还用于利用注册用户的安全因子对注册信息中的公钥和公钥验证因子进行验证,以确定是否将生成公钥的身份认证器71注册为注册用户的身份认证器71。
请参阅图8,图8是本申请的身份认证系统的另一实施例的框架示意图。如图8所示,本实施例中的身份认证系统为基于FIDO的身份认证系统,该身份认证系统包括相互连接的客户端设备72、服务端设备73、身份认证器71、以及管理员设备83。服务端设备73包括服务端803、邮箱服务器802、短信网关801和数据库805,邮箱服务器802和短信网关801与服务端803连接,数据库805通过中间件/应用层804与服务端803连接。身份认证器为FIDO身份认证器71,FIDO身份认证器71与客户端设备72通过CTAP协议进行信号传输,客户端设备72与服务端设备73通过CTAP协议进行信号传输。使用FIDO身份认证系统的用户在注册成功之后,进行登录时无需注册用户85设置服务登录凭证,能够基于FIDO身份认证器实现快速身份认证。
当注册用户85需要使用该身份认证系统的服务时,管理员设备83需要将该注册用户85的用户信息录入到身份认证系统中。具体地,注册用户85的用户信息例如,注册用户85的电子邮箱或手机号可以由管理员84录入到用户信息集中。进一步地,为提高服务的安全性,需要使用服务的注册用户85需要向管理员84进行申请,由管理员84进行账号注册和权限分配,细粒度的管控服务账户。管理员84将用户信息录入系统后,系统进行服务注册,绑定身份认证器,该方式约束了管理员84的操作权限,管理员84无法使用用户的用户信息进行身份鉴别,避免管理员84私自访问注册用户85的服务数据,保证注册用户85的隐私。
注册用户85在客户端设备72触发注册操作,客户端设备72接收注册用户85的第一注册信息,管理员设备84验证第一注册信息的合法性。具体地,管理员设备84从用户信息集中查找是否存在该注册用户85的用户信息,响应于用户信息集中存在该注册用户85的用户信息,确定该第一注册信息合法。管理员设备84验证该注册信息合法后将该用户的第一注册信息录入到服务端设备73中。
响应于第一注册信息合法,客户端设备72向服务端设备73发送注册请求,服务端设备73接收注册请求后,随机生成第一安全因子,并将第一安全码与该注册用户85的第一注册信息绑定并存储于服务端设备73的数据库805中。服务端设备73将第一安全码通过服务端设备73的邮箱服务器802或者短信网关801发送给注册用户85。注册用户85在通过邮箱或短信接收到第一安全码后,在用户端设备输入第一安全码,客户端设备72通过CTAP协议将注册用户85输入的第一安全码发送给身份认证器。
注册用户85在身份认证器中输入密保信息,密保信息例如,注册用户85的生物识别信息或者PIN码。身份认证器基于用户输入的密保信息生成第一公钥和第一私钥,第一私钥保存在生成该私钥的身份认证器的安全芯片中。身份认证器对该公钥和该注册用户85输入的第一安全码进行MAC运算生成该注册用户85的第一公钥验证因子。身份认证器将第一公钥验证因子通过CTAP协议将该注册用户85的第一公钥及第一公钥对应的第一公钥验证因子发送给客户端设备72,客户端设备72通过CTAP协议将该注册用户85的第一公钥及第一公钥对应的第一公钥验证因子发送给服务端设备73。
服务端设备73对客户端设备72传输的第一公钥与从数据库805中获取该注册用户85的第一安全因子进行MAC运算生成第二公钥验证因子,将第二公钥验证因子与接收到的第一公钥验证因子进行比较,若第一公钥验证因子与第二公钥验证因子一致,则服务端设备73向客户端设备72返回注册成功信息,将该身份认证器注册为该注册用户85的身份认证器,否则返回注册失败。服务端将注册成功的注册用户85的第一公钥与用户信息绑定存储于数据库805中,可以理解的是,数据库805中存储有注册成功的注册用户85的用户信息(例如邮箱地址或者手机号)、安全码、以及第一公钥。
当注册用户85需要再次使用注册服务时,例如,已注册成功的用户的身份认证器丢失、损坏、无法使用或者需要注册新的身份认证器的场景下,重新注册新的身份认证器。可以理解的是,该注册用户85的的注册信息已经录入在服务器设备中,注册用户85在注册新的身份认证器时无需再向管理员申请备案。
注册用户85在客户端设备72触发注册操作,客户端设备72接收注册用户85的第二注册信息,管理员设备84验证第二注册信息的合法性。具体地,管理员设备84从用户信息集中查找是否存在该注册用户85的用户信息,响应于用户信息集中存在该注册用户85的用户信息,确定该第二注册信息合法。管理员设备84验证该注册信息合法后将该用户的第二注册信息录入到服务端设备73中。
响应于第二注册信息合法,客户端设备72向服务端设备73发送注册请求,服务端设备73接收注册请求后,随机生成第二安全因子,并将第二安全码与该注册用户85的第二注册信息绑定并存储于服务端设备73的数据库805中。服务端设备73将第二安全码通过服务端设备73的邮箱服务器802或者短信网关801发送给注册用户85,用于注册用户85将第二安全码提供给客户端设备72。
注册用户85在新的身份认证器中输入密保信息。新的身份认证器基于用户输入的密保信息生成第二公钥和第二私钥,第二私钥保存在生成该私钥的新的身份认证器的安全芯片中。新的身份认证器对该公钥和该注册用户85输入的第二安全码进行MAC运算生成该注册用户85的第三公钥验证因子。身份认证器将第三公钥验证因子通过CTAP协议将该注册用户85的第二公钥及第二公钥对应的第三公钥验证因子发送给客户端设备72,客户端设备72通过CTAP协议将该注册用户85的第二公钥及第二公钥对应的第三公钥验证因子发送给服务端设备73。
服务端设备73对客户端设备72传输的第二公钥与从数据库805中获取该注册用户85的第二安全因子进行MAC运算生成第四公钥验证因子,将第四公钥验证因子与接收到的第三公钥验证因子进行比较,若第四公钥验证因子与第三公钥验证因子一致,则服务端设备73向客户端设备72返回注册成功信息,将该新身份认证器注册为注册用户85的身份认证器,否则返回注册失败。服务端将注册成功的注册用户85的第二公钥与用户信息绑定存储于数据库805中,可以理解的是,数据库805中存储有注册成功的注册用户85的用户信息(例如邮箱地址或者手机号)、安全码、以及第二公钥。用户可以通过不同的用户信息进行多次注册,换言之,同一个用户可以注册多个身份认证器,在次不做限制。
当注册用户85需要使用登录服务时,注册用户85在客户端触发登录操作,客户端接收注册用户85的登录请求,登录请求包含该注册用户85的用户信息,该用户信息包含用户的联系方式例如,邮箱或者电话号码。客户端将登录用户的用户信息发送给服务端,服务端通过用户信息判断该注册用户85是否为已注册用户85。服务端响应于该注册用户85为已注册用户85,生成挑战值,通过服务端设备73的邮箱服务器802或者短信网关801发送给注册用户85,用于注册用户85将挑战值提供给客户端设备72。
客户端设备72接收到挑战值后,将挑战值发送给身份认证器,身份认证器接收到挑战值后,获取存储在安全芯片中的私钥对挑战值进行签名生成签名数据,并将签名数据返回给客户端设备72,客户端设备72将注册用户85的用户信息与对应的签名数据传输给服务端。服务端接收客户端设备72发送的签名数据,基于用户信息从数据库805中提起该用户信息对应的公钥,采用该公钥对签名数据进行验签获得验签挑战值,判断验签挑战值与服务器中的挑战值是否一致,若一致,则确定允许该注册用户85登录,若不一致,则不允许注册用户85登录。
本实施例采用上述技术方案:一方面,通过在FIDO的原生通信协议CTAP协议中扩展计算注册用户85的安全码MAC值,避免FIDO身份认证器71注册过程中存在中间人攻击的问题,保证了FIDO身份认证器71与服务端803的可信度。另一方面,通过使用电子邮箱或手机号等用户信息作为注册账号,使用安全码绑定FIDO身份认证器71,需要的情况下,可以注册新的FIDO身份认证器71,提高身份鉴别途经的可靠性。
请参阅图9,图9是本申请的设备一实施例的框架示意图。本实施例中,该设备90包括通信电路91、存储器93和处理器92,通信电路91、存储器93分别耦接于处理器92,存储器93中存储有程序指令,该处理器92可以为具有处理能力的任意设备,例如计算机、平板电脑、手机等。
存储器93用于存储处理器92执行的程序数据以及处理器92在处理过程中的数据等。例如,存储数据量、元数据、时序数据等。其中,该存储器93包括非易失性存储部分,用于存储上述程序数据。处理器92控制处理设备的操作,处理器92还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器92可能是一种集成电路芯片,具有信号的处理能力。处理器92还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器92可以由多个成电路芯片共同实现。处理器92通过调用存储器93存储的程序数据,处理器92用于执行程序指令以实现上述任一实施例的身份认证方法。
请参阅图10,图10是本申请的存储介质一实施例的框架示意图。本实施例中,该存储介质10存储有处理器可运行的程序数据101,该程序数据101能够被执行,用以实现上述任一实施例的身份认证方法。
该存储介质10具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序数据的介质,或者也可以为存储有该程序数据的服务器,该服务器可将存储的程序数据发送给其他设备运行,或者也可以自运行该存储的程序数据。
在一些实施例中,存储介质还可以为如图9所示的存储器93。
在上述方案中,本申请利用第一安全因子对第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果,将生成验证通过的第一公钥的身份认证器注册为对应注册用户的身份认证器,通过上述方式确保验证通过的验证信息在传输过程中未被篡改,提高身份认证的安全性。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (12)

1.一种身份认证方法,其特征在于,所述方法包括:
服务端设备接收客户端设备发送的第一注册信息,所述第一注册信息包括注册用户的第一公钥以及第一公钥验证因子,所述第一公钥是通过一身份认证器生成,所述第一公钥验证因子是生成第一公钥的身份认证器基于第一安全因子和第一公钥生成;
利用所述第一安全因子对所述第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果;
响应于所述第一验证结果为验证通过,将所述生成所述第一公钥的身份认证器注册为所述注册用户的身份认证器。
2.根据权利要求1所述的方法,其特征在于,所述第一公钥验证因子是生成第一公钥的身份认证器对第一安全因子和第一公钥进行哈希运算得到的;所述利用所述第一安全因子对所述第一注册信息中的第一公钥和第一公钥验证因子进行验证,得到第一验证结果,包括:
对所述第一安全因子和所述第一注册信息中的第一公钥进行所述哈希运算,得到第二公钥验证因子;
响应于所述第一公钥验证因子和第二公钥验证因子一致,确定所述第一验证结果为验证通过;
和/或,所述将所述生成所述第一公钥的身份认证器注册为所述注册用户的身份认证器,包括:
将所述第一公钥保存作为所述注册用户的公钥。
3.根据权利要求1所述的方法,其特征在于,在所述接收客户端设备发送的第一注册信息之前,还包括:
接收所述客户端设备发送的关于所述注册用户的第一注册请求;
为所述注册用户生成第一安全因子,并将所述第一安全因子发送给所述注册用户,以使所述注册用户将所述第一安全因子提供给所述身份认证器。
4.根据权利要求3所述的方法,其特征在于,所述为所述注册用户生成第一安全因子,包括:
为所述注册用户随机生成所述第一安全因子;
和/或,所述将所述第一安全因子发送给所述注册用户,包括:
通过预先为所述注册用户录入的联系方式将所述第一安全因子发送给所述注册用户。
5.根据权利要求3所述的方法,其特征在于,所述第一注册请求包含所述注册用户的用户信息;
在所述接收所述客户端设备发送的关于所述注册用户的第一注册请求之前,还包括:
获取管理员设备录入的至少一个用户的用户信息,并将所述至少一个用户的用户信息保存在用户信息集中;
在所述接收所述客户端设备发送的关于所述注册用户的第一注册请求之后,还包括:
从所述用户信息集中查找是否存在所述注册用户的用户信息;
响应于存在所述注册用户的用户信息,执行所述为所述注册用户生成第一安全因子及其后续步骤。
6.根据权利要求1所述的方法,其特征在于,在所述响应于所述第一验证结果为验证通过,将所述生成所述第一公钥的身份认证器注册为所述注册用户的身份认证器之后,还包括:
接收客户端设备发送的关于所述注册用户的第二注册请求;
为所述注册用户生成第二安全因子,并将所述第二安全因子发送给所述注册用户;
接收所述客户端设备发送的第二注册信息,所述第二注册信息包括注册用户的第二公钥以及第三公钥验证因子,所述第二公钥是通过另一个身份认证器生成,所述第三公钥验证因子是生成第二公钥的身份认证器基于第二安全因子和第二公钥生成;
利用所述第二安全因子对所述第二注册信息中的第二公钥和第三公钥验证因子进行验证,得到第二验证结果;
响应于所述第二验证结果为验证通过,将生成所述第二公钥的身份认证器注册为所述注册用户的身份认证器,其中,所述第二公钥作为所述注册用户的公钥。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端设备发送的登录请求,所述登录请求包含所述注册用户的用户信息;
响应于基于所述登录请求中的用户信息确定所述注册用户已注册,生成挑战值,并将所述挑战值发送给所述注册用户;
接收客户端设备发送的签名数据,所述签名数据是所述身份认证器利用私钥对所述挑战值进行签名得到的;
利用所述注册用户的公钥对所述签名数据进行验证,以确定是否允许所述注册用户登录。
8.一种身份认证方法,其特征在于,包括:
身份认证器获取注册用户的客户端设备的安全因子;
为所述注册用户生成公钥,并基于所述公钥和所述安全因子生成公钥验证因子;
将所述公钥和公钥验证因子发送给所述注册用户的所述客户端设备,以使所述客户端设备将所述公钥和公钥验证因子发送给服务端设备,进而所述服务端设备利用所述安全因子对公钥和公钥验证因子进行验证。
9.根据权利要求8所述的方法,其特征在于,所述获取注册用户的安全因子,包括:
接收所述注册用户的客户端设备通过设定安全协议发送的所述安全因子;
和/或,所述基于所述公钥和所述安全因子生成公钥验证因子,包括:
对所述公钥和所述安全因子进行哈希运算,得到所述公钥验证因子;
和/或,所述将所述公钥和公钥验证因子发送给所述注册用户的客户端设备,包括:
通过设定安全协议将所述公钥和公钥验证因子发送给所述注册用户的客户端设备。
10.一种身份认证系统,其特征在于,包括相互连接的客户端设备和服务端设备、以及身份认证器;
所述客户端设备用于响应注册用户的注册操作,向所述服务端设备发送注册请求;
所述服务端设备用户接收响应所述注册请求,为所述注册用户生成安全因子,并将所述安全因子发送给所述注册用户;
所述身份认证器用于为所述注册用户生成公钥,并基于所述公钥和安全因子生成公钥验证因子,通过设定安全协议将所述公钥和公钥验证因子发送给所述客户端设备;
所述客户端设备还用于将包含所述公钥和公钥验证因子的注册信息发送给服务端设备;
所述服务端设备还用于利用所述注册用户的安全因子对所述注册信息中的公钥和公钥验证因子进行验证,以确定是否将生成公钥的身份认证器注册为所述注册用户的身份认证器。
11.一种设备,其特征在于,包括通信电路、存储器和处理器,所述通信电路、所述存储器分别耦接于处理器,所述存储器中存储有程序指令,所述处理器用于执行所述程序指令以实现权利要求1-9任一项所述的身份认证方法。
12.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行实现如权利要求1-9任一项所述的身份认证方法。
CN202410245714.2A 2024-03-04 2024-03-04 一种身份认证方法、系统、设备及存储介质 Pending CN118214586A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410245714.2A CN118214586A (zh) 2024-03-04 2024-03-04 一种身份认证方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410245714.2A CN118214586A (zh) 2024-03-04 2024-03-04 一种身份认证方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN118214586A true CN118214586A (zh) 2024-06-18

Family

ID=91456553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410245714.2A Pending CN118214586A (zh) 2024-03-04 2024-03-04 一种身份认证方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN118214586A (zh)

Similar Documents

Publication Publication Date Title
CN107864115B (zh) 一种利用便携式终端进行用户账号登录验证的方法
US11281762B2 (en) Method and apparatus for facilitating the login of an account
CN111953708B (zh) 基于云平台的跨账号登录方法、装置及服务器
CN106657152B (zh) 一种鉴权方法及服务器、访问控制装置
US11539690B2 (en) Authentication system, authentication method, and application providing method
US20220394026A1 (en) Network identity protection method and device, and electronic equipment and storage medium
CN112000951B (zh) 一种访问方法、装置、系统、电子设备及存储介质
CN112559993B (zh) 身份认证方法、装置、系统及电子设备
US9009793B2 (en) Dynamic pin dual factor authentication using mobile device
US20080189772A1 (en) Method for generating digital fingerprint using pseudo random number code
CN112688773A (zh) 一种令牌的生成和校验方法及装置
CN113765906B (zh) 终端应用程序的一键登录的方法、设备及系统
KR102137122B1 (ko) 보안 체크 방법, 장치, 단말기 및 서버
CN111130798B (zh) 一种请求鉴权方法及相关设备
CN111800378A (zh) 一种登录认证方法、装置、系统和存储介质
CN110505185A (zh) 身份验证方法、设备和系统
JP2001186122A (ja) 認証システム及び認証方法
CN108833105B (zh) 电子签名方法及装置
CN106454826B (zh) 一种ap接入ac的方法和装置
CN112822175B (zh) 一种信息访问方法、装置及电子设备
CN115086090A (zh) 基于UKey的网络登录认证方法及装置
CN115242471A (zh) 信息传输方法、装置、电子设备及计算机可读存储介质
CN111723347B (zh) 身份认证方法、装置、电子设备及存储介质
CN111740938B (zh) 信息处理方法、装置、客户端和服务器
CN118214586A (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