CN106686004B - 一种登录认证方法及系统 - Google Patents

一种登录认证方法及系统 Download PDF

Info

Publication number
CN106686004B
CN106686004B CN201710114185.2A CN201710114185A CN106686004B CN 106686004 B CN106686004 B CN 106686004B CN 201710114185 A CN201710114185 A CN 201710114185A CN 106686004 B CN106686004 B CN 106686004B
Authority
CN
China
Prior art keywords
authentication
module
user
authenticating device
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710114185.2A
Other languages
English (en)
Other versions
CN106686004A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201710114185.2A priority Critical patent/CN106686004B/zh
Publication of CN106686004A publication Critical patent/CN106686004A/zh
Application granted granted Critical
Publication of CN106686004B publication Critical patent/CN106686004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种登录认证方法及系统。方法包括:客户端生成登录认证第一请求并发送至应用服务器,应用服务器根据登录认证第一请求的解析结果和应用标识生成登录认证第二请求并发送至认证服务器,认证服务器根据登录认证第二请求的解析结果生成登录认证第二请求响应并发送至应用服务器,应用服务器根据登录认证第二请求响应的解析结果生成登录认证第一请求响应并发送至客户端,客户端根据登录认证第一请求响应的解析结果生成待签名请求并发送至认证设备,认证设备生成验证签名请求并发送至认证服务器,认证服务器将验证签名请求中的签名值的验证结果发送至应用服务器,应用服务器根据验证结果进行允许登录操作或者拒绝登录操作。

Description

一种登录认证方法及系统
技术领域
本发明涉及安全登录认证领域,尤其涉及一种登录认证方法及系统。
背景技术
随着物联网技术的发展,各类物联网应用越来越广泛。用户使用各类应用时,应用提供方通常要求用户使用用户名和密码进行应用注册,而用户为了更好地体验应用,通常也会按照应用提供方要求对各类应用进行注册,这也使得用户必须使用用户名和密码的认证方式登录应用。
但是用户名和密码极其容易泄露,他人获得用户的用户名及密码后登录应用,进行各种非法操作,例如盗取用户在应用中保存的各种私密信息,或发布一些对用户及用户周围亲友不利的信息,或对用户亲友进行诈骗,或仅仅为了显示自己高超的破译密码技术,这严重侵害了用户及其亲友的利益;此外,各种应用提供商对用户设置密码的要求不同,用户很难准确记忆应用的用户名及其对应的密码,造成用户在用密码登录应用时经常发生无法登录该应用的情况,给用户造成很多不便,严重影响了用户体验。
为了提高用户登录认证的安全性,市场上也出现了一些没有使用密码的登录认证方案,但是用户体验不尽如人意;例如,利用手机的验证码登录,但一旦手机被盗或者丢失,用户登录认证的安全性同样无法保证,而且每次登录时都要接收验证码,并将验证码复制粘贴到手机上,十分不便,如果在非手机端上进行操作应用,还必须将密码手动输入到非手机端,这会使得登录认证操作更加繁琐;此外,市场上各厂商的登录认证方案不统一、不兼容,且缺乏互操作性。这些问题会导致登录认证方便性降低,导致数据极其容易泄露,保护数据的安全性降低,很难满足用户体验。
因此,现在市场上亟需一种用户操作方便并且安全性高的登录认证方案。
发明内容
本发明目的是为了克服现有技术的缺陷,提出一种登录认证方法及系统。
本发明提供了一种登录认证方法,包括:
步骤A1:当客户端接收到用户的登录请求时,客户端根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求,并将所述登录认证第一请求发送至应用服务器;
步骤A2:所述应用服务器接收并解析所述登录认证第一请求,验证所得解析结果中的用户账号与所述应用服务器自身所保存的认证设备标识是否匹配,是则根据所述登录认证第一请求的解析结果和与用户账号对应的应用标识生成登录认证第二请求,并将所述登录认证第二请求发送至认证服务器,执行步骤A3,否则发送报错信息至所述客户端;
步骤A3:所述认证服务器接收并解析所述登录认证第二请求,根据所述登录认证第二请求的解析结果生成挑战值参数和应用参数,根据所述挑战值参数和所述应用参数生成登录认证第二请求响应,并将所述登录认证第二请求响应发送至所述应用服务器;
步骤A4:所述应用服务器接收并解析所述登录认证第二请求响应,根据所述登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应,并将所述登录认证第一请求响应发送至所述客户端;
步骤A5:所述客户端接收并解析所述登录认证第一请求响应,根据所述登录认证第一请求响应的解析结果中的密钥标识、挑战值参数和应用参数生成待签名请求,并将所述待签名请求发送至认证设备;
步骤A6:所述认证设备接收并解析所述待签名请求,验证用户输入的用户登录认证方式信息是否合法,当用户登录认证方式信息合法时,根据所述待签名请求的解析结果中的密钥标识检索对应的私钥,使用所述私钥对所述待签名请求的解析结果中的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值;
步骤A7:所述认证设备根据所述签名值和所述计数值生成验证签名请求,更新所述计数值,通过所述客户端和所述应用服务器将所述验证签名请求发送至所述认证服务器;
步骤A8:所述认证服务器接收所述验证签名请求,根据公钥和所述验证签名请求中计数值验证所述验证签名请求中的签名值,并将验证结果发送至所述应用服务器;
步骤A9:所述应用服务器根据接收到的验证结果进行允许登录操作或者拒绝登录操作。
本发明还提供了一种登录认证的系统,包括:客户端、应用服务器、认证服务器和认证设备,所述客户端包括:
第一接收模块,用于接收用户的登录请求,还用于接收所述应用服务器发送的登录认证第一请求响应,还用于接收所述认证设备发送的验证签名请求;
第一解析模块,用于解析所述第一接收模块接收到的所述登录认证第一请求响应;
第一生成模块,用于根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求;
第二生成模块,用于根据所述登录认证第一请求响应的解析结果中的密钥标识、挑战值参数和应用参数生成待签名请求;
第一发送模块,用于发送所述第一生成模块生成的所述登录认证第一请求和所述第一接收模块接收的所述验证签名请求至所述应用服务器,还用于发送所述第二生成模块生成的所述待签名请求至所述认证设备;
所述应用服务器包括:
第二接收模块,用于接收所述第一发送模块发送的所述登录认证第一请求和所述验证签名请求,还用于接收所述认证服务器发送的所述登录认证第二请求响应和签名值的验证结果;
第二解析模块,用于解析所述第二接收模块接收到的所述登录认证第一请求和所述登录认证第二请求响应;
第三生成模块,用于根据所述登录认证第一请求的解析结果和与用户账号对应的应用标识生成登录认证第二请求;
第四生成模块,用于根据所述登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应;
第一报错模块,用于报错;
第二发送模块,用于将所述第三生成模块生成的所述登录认证第二请求、所述第二接收模块接收到的所述验证签名请求发送至所述认证服务器,还用于将所述第一报错模块的报错信息和所述第四生成模块生成的所述登录认证第一请求响应发送至所述第一接收模块;
第一验证模块,用于验证所得解析结果中的用户账号与所述应用服务器自身所保存的认证设备标识是否匹配,是则触发所述第三生成模块和所述第一报错模块,否则触发所述第二发送模块;
登录模块,用于根据所述第二接收模块接收到的所述验证结果进行允许登录操作或者拒绝登录操作;
所述认证服务器包括:
第三接收模块,用于接收所述第二发送模块发送的所述登录认证第二请求和所述验证签名请求;
第三解析模块,用于解析所述第三接收模块接收到的所述登录认证第二请求和所述验证签名请求;
第五生成模块,用于根据所述第三解析模块解析所述登录认证第二请求的解析结果生成挑战值参数和应用参数;
第六生成模块,用于根据所述第五生成模块生成的所述挑战值参数和应用参数生成所述登录认证第二请求响应;
第二验证模块,用于根据公钥和所述验证签名请求中计数值验证所述验证签名请求中的签名值;
第三发送模块,用于发送所述第六生成模块生成的所述登录认证第二请求响应和所述第二验证模块的验证结果至所述应用服务器;
所述认证设备包括:
第四接收模块,用于接收所述第一发送模块发送的所述待签名请求;
第四解析模块,用于解析所述第四接收模块接收的所述待签名请求;
第三验证模块,用于当所述第四解析模块解析所述待签名请求后,验证用户输入的用户登录认证方式信息是否合法;
第一检索模块,用于当第三验证模块的验证结果合法时,根据所述待签名请求的解析结果中的密钥标识检索对应的私钥;
第七生成模块,用于当所述第一检索模块检索到与所述待签名请求解析结果中的密钥标识对应的私钥时,使用所述私钥对所述待签名请求的解析结果中的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值;
第八生成模块,用于根据所述第七生成模块生成的所述签名值和所述计数值生成所述验证签名请求;
更新模块,用于在所述第八生成模块生成所述验证签名请求之后,更新所述计数值;
第四发送模块,用于发送所述第八生成模块生成的验证签名请求至所述第一接收模块。
本发明与现有技术相比,具有以下优点:本专利提出了一种通用的、基于认证设备的登录认证方案,通过可扩展的、统一的、可互操作的接口,使用户在登录各种应用时,无需输入密码,就可在本地实现对用户身份和设备身份的高安全的认证。该登录认证方案操作方便,易于管理,登录认证流程安全性高,解决了账户安全的问题,提高了用户体验。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种登录认证方法流程图;
图2和3为本发明实施例二提供的一种登录认证方法流程图;
图4和5为本发明实施例三提供的一种登录认证方法流程图;
图6和7为本发明实施例三提供的一种登录认证方法流程图;
图8为本发明实施例四提供的一种登录认证的系统方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,本实施例一提供了一种登录认证方法,包括如下步骤:
步骤S1:当客户端接收到用户的登录请求时,客户端根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求;
可选地,本方法实施例步骤S1中,客户端根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求之前,还包括:
认证设备提示用户进行身份认证,判断用户身份是否合法,是则发送用户身份合法信息至所述客户端,并继续执行操作,否则报错结束;
优选地,上述方法实施例中,在认证设备判定用户身份合法之后,还包括:
认证设备显示可供用户选择的用户登录认证方式,当接收到用户选择的用户登录认证方式信息时,读取与用户所选择的用户登录认证方式相对应的用户登录认证方式标识,发送用户登录认证方式标识至客户端;
具体地,本方法实施例中,用户登录认证方式信息对应的用户登录认证方式包括:指纹认证和/或掌纹认证和/或虹膜认证和/或脸谱认证和/或声纹认证和/或动脉认证;
步骤S2:客户端发送登录认证第一请求至应用服务器;
步骤S3:接收并解析登录认证第一请求,验证所得解析结果中的用户账号与应用服务器自身所保存的认证设备标识是否匹配,是则根据登录认证第一请求的解析结果和与用户账号对应的应用标识生成登录认证第二请求,并将其发送至认证服务器,执行步骤S4,否则发送报错信息至客户端;
步骤S4:认证服务器接收并解析登录认证第二请求,根据登录认证第二请求的解析结果生成挑战值参数和应用参数,根据挑战值参数和应用参数生成登录认证第二请求响应;
可选地,本方法实施例步骤S4中,根据登录认证第二请求的解析结果生成挑战值参数和应用参数之前,还包括:
认证服务器根据解析登录认证第二请求所得的认证设备标识判断认证设备是否可用,是则继续,否则报错结束;
优选地,上述方法实施例步骤S4中,当认证服务器根据解析登录认证第二请求所得的认证设备标识判定认证设备可用之后,还包括:
认证服务器根据解析登录认证第二请求所得的用户登录认证方式标识判断对应的用户登录认证方式是否可用,是则继续,否则报错结束;
步骤S5:认证服务器将登录认证第二请求响应发送至应用服务器;
步骤S6:应用服务器接收并解析登录认证第二请求响应,根据登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应;
可选地,本方法实施例步骤S6中,根据登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应之前,还包括:
应用服务器根据保存的用户账号和用户登录认证方式标识判断是否能检索到对应的密钥标识,是则继续,否则发送报错信息至客户端;
步骤S7:应用服务器将登录认证第一请求响应发送至客户端;
步骤S8:客户端接收并解析登录认证第一请求响应,根据登录认证第一请求响应的解析结果中的密钥标识、挑战值参数和应用参数生成待签名请求;
步骤S9:客户端将待签名请求发送至认证设备;
步骤S10:接收并解析待签名请求,验证用户输入的用户登录认证方式信息是否合法,当用户登录认证方式信息合法时,根据待签名请求解析结果中的密钥标识检索对应的私钥,使用私钥对待签名请求的解析结果中的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值;
可选地,本方法实施例步骤S10中,验证用户输入的用户登录认证方式信息是否合法,具体为:
认证设备根据密钥标识检索对应的用户登录认证方式标识,根据用户登录认证方式标识检索对应的用户登录认证方式信息,提示用户输入与所选择的用户登录认证方式对应的用户登录认证方式信息,判断接收的用户登录认证方式信息与检索到的用户登录认证方式信息是否一致,是则继续,否则报错结束;
步骤S11:认证设备根据签名值和计数值生成验证签名请求,更新计数值;
可选地,本方法实施例步骤S11可替换为:
步骤S11-1:认证设备将签名值和计数值发送给客户端,更新计数值,客户端根据签名值和计数值生成验证签名请求,通过应用服务器将验证签名请求发送至认证服务器;
可选地,本方法实施例步骤S11可替换为:
步骤S11-2:认证设备根据签名值和计数值生成验证签名请求,通过客户端和应用服务器将验证签名请求发送至认证服务器;
相应地,本方法实施例步骤S11替换为步骤S11-2时,本方法实施例还包括步骤S16:当应用服务接收到签名值的验证结果为验证成功信息时,应用服务器通过客户端发送验证成功信息至认证设备,当认证设备接收到验证成功信息时,认证设备更新计数值;
可选地,本方法实施例步骤S11可替换为:
步骤S11-3:认证设备将签名值和计数值发送给客户端,客户端根据签名值和计数值生成验证签名请求,通过应用服务器将验证签名请求发送至认证服务器;
相应地,本方法实施例步骤S11替换为步骤S11-3时,本方法实施例还包括步骤S16-1:当应用服务器接收到签名值的验证结果为验证成功信息时,应用服务器通过客户端发送验证成功信息至认证设备,当认证设备接收到验证成功信息时,认证设备更新计数值;
步骤S12:认证设备通过客户端和应用服务器将验证签名请求发送至认证服务器;
步骤S13:认证服务器接收验证签名请求,根据公钥和验证签名请求中计数值验证所述验证签名请求中的签名值;
可选地,本方法实施例步骤S13中,根据公钥和验证签名请求中计数值验证所述验证签名请求中的签名值,具体为:
认证服务器保存验证签名请求中计数值,根据密钥标识检索公钥,并使用公钥解密签名值,将解密结果与根据挑战值参数、应用参数和计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败;
相应地,根据密钥标识检索公钥,可具体为:
认证服务器根据解析登录认证第二请求所得的用户账号和用户认证方式标识检索密钥标识,根据检索到的密钥标识检索公钥;
步骤S14:认证服务器将验证结果发送至应用服务器;
步骤S15:应用服务器根据接收到的验证结果进行允许登录操作或者拒绝登录操作;
可选地,本方法实施例步骤S1可以替换为步骤S1-1:
步骤S1-1:当客户端接收到用户的登录请求时,客户端根据用户账号和认证设备标识生成登录认证第一请求,并将其发送至应用服务器;
本方法实施例步骤S1替换为步骤S1-1时,本方法实施例中步骤S10替换为步骤S10-1:
步骤S10-1:认证设备接收并解析待签名请求,提示用户进行按键确认,当收到用户的按键确认信息时,发送按键确认信息至客户端,根据待签名请求解析结果中的密钥标识检索私钥,使用私钥对解析得到的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值;
可选地,本方法实施例步骤S13中,根据公钥和验证签名请求中计数值验证所述验证签名请求中的签名值,具体为:
认证服务器保存验证签名请求中计数值,根据密钥标识检索公钥,并使用公钥解密签名值,将解密结果与根据挑战值参数、应用参数和计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败;
相应地,根据密钥标识检索公钥,可具体为:
认证服务器根据解析登录认证第二请求所得的用户账号或认证设备标识检索密钥标识,根据检索到的密钥标识检索对应的公钥;
可选地,本方法实施例步骤S1可替换为步骤S1-2:
步骤S1-2:当客户端接收到用户的登录请求时,客户端根据用户账号和用户登录认证方式编号生成登录认证第一请求,并将其发送至应用服务器;
当本方法实施例步骤S1替换为步骤S1-2时,本实施例步骤S3中,根据登录认证第一请求的解析结果和当前应用对应的应用标识生成登录认证第二请求之前,还包括:
步骤H1:应用服务器根据用户账号判断是否能够检索到对应的认证设备标识,是则执行步骤H2,否则发送报错信息至客户端;
步骤H2:在检索得到的与认证设备标识相对应的用户登录认证方式标识中,应用服务器根据解析得到的用户登录认证方式编号判断是否能够检索到与用户登录认证方式编号相对应的用户登录认证方式标识,是则执行步骤A2中的根据登录认证第一请求的解析结果和当前应用对应的应用标识生成登录认证第二请求,否则发送报错信息至客户端。
本发明与现有技术相比,具有以下优点:本专利提出了一种通用的、基于认证设备的登录认证方案,通过可扩展的、统一的、可互操作的接口,使用户在登录各种应用时,无需输入密码,就可在本地实现对用户身份和设备身份的高安全的认证。该登录认证方案操作方便,易于管理,登录认证流程安全性高,解决了账户安全的问题,提高了用户体验。
实施例二
如图2和3所示,本实施例二提供了一种登录认证方法,包括以下步骤:
步骤D1:当客户端接收到用户账号和以认证设备方式登录的请求时,生成获取认证设备标识的请求;
本实施例中,用户账号是与用户预登录应用相对应的账号;
步骤D2:客户端发送获取认证设备标识的请求至认证设备;
例如,获取认证设备标识的请求为:0x00C500000000;
步骤D3:认证设备接收获取认证设备标识的请求;
步骤D4:认证设备读取认证设备标识;
本实施例中,认证设备标识在出厂时预植在认证设备中,用于唯一标识认证设备;
具体地,认证设备标识长度为8字节;
例如,认证设备标识为:0x0101161000000086;
步骤D5:认证设备发送认证设备标识至客户端;
步骤D6:客户端接收认证设备标识并保存;
步骤D7:客户端根据保存的认证设备标识和接收到的用户输入的用户账号生成登录认证第一请求;
例如,登录认证第一请求为:
{
"identity":"0x189012345677+0x0101161000000086",
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,认证设备标识为:0x0101161000000086;
用户账号为:0x189012345677;
步骤D8:客户端发送登录认证第一请求至应用服务器;
步骤D9:应用服务器接收并解析登录认证第一请求,得到用户账号和认证设备标识并保存;
步骤D10:应用服务器验证保存的用户账号与认证设备标识是匹配,是则执行步骤D11,否则执行步骤D12;
本实施例中,在步骤D1之前进行绑定流程,在绑定流程中,应用服务器保存与当前应用对应的用户账号和与此用户账号对应的认证设备标识,称为第一认证设备标识;
具体地,应用服务器根据保存的用户账号查询与所述用户账号相对应的自身已经保存的第一认证设备标识,判断查询到的第一认证设备标识与步骤D9中解析登录认证第一请求后得到的认证设备标识是否一致,是则认证设备可用,执行步骤D11,否则执行步骤D12;
步骤D11:应用服务器根据保存的用户账号、认证设备标识和当前应用对应的应用标识,生成登录认证第二请求;
例如,登录认证第二请求为:
{
"identity":"0x189012345677+0x0101161000000086",
"url":"https://my.alipay.com/portal/i.htm?/1234%x23abcd",
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,用户账号为:0x189012345677;
认证设备标识为:0x0101161000000086;
应用标识为:https://my.alipay.com/portal/i.htm?/1234%x23abcd;
本实施例中,应用标识用于识别不同种类的应用;
例如,应用标识为:https://my.alipay.com/portal/i.htm?/1234%x23abcd;
本实施例中,在步骤D1之前进行绑定流程,在绑定流程中应用服务器保存与当前应用对应的应用标识;
步骤D12:应用服务器发送报错结束信息至客户端;
步骤D13:客户端接收报错结束信息并显示;
步骤D14:应用服务器发送登录认证第二请求至认证服务器;
步骤D15:认证服务器接收并解析登录认证第二请求,得到应用标识、用户账号和认证设备标识并保存;
步骤D16:认证服务器根据认证设备标识判断认证设备是否可用,是则执行步骤D17,否则报错结束;
本实施例中,在步骤D1之前进行绑定流程,在绑定流程中认证服务器保存认证设备的认证设备标识,称为第二认证设备标识;
具体地,认证服务器查询自身已经保存的第二认证设备标识当中是否有与在步骤D15中保存的认证设备标识相一致的,是则认证设备可用,执行步骤D17,否则,报错结束;
步骤D17:认证服务器根据认证设备标识产生挑战值参数并保存,根据应用标识产生应用参数并保存;
具体地,认证服务器运用哈希算法对认证设备标识进行哈希运算得到挑战值参数;
更具体地,挑战值参数长度为32字节;
优选地,哈希算法为SM3算法,除此之外还可以为SHA-256算法等;
例如,挑战值参数为:
1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C8;
具体地,认证服务器运用哈希算法对应用标识进行哈希运算得到应用参数;
更具体地,应用参数长度为32字节;
优选地,哈希算法为SM3算法,除此之外还可以为SHA-256算法等;
例如,应用参数为:
1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B;
步骤D18:认证服务器根据挑战值参数和应用参数生成登录认证第二请求响应;
例如,登录认证第二请求响应为:
其中,挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
步骤D19:认证服务器发送登录认证第二请求响应至应用服务器;
步骤D20:应用服务器接收登录认证第二请求响应;
步骤D21:应用服务器根据保存的用户账号或者认证设备标识检索对应的密钥标识,并判断是否能检索到对应的密钥标识,是则执行步骤D22,否则执行步骤D23;
本实施例中,在步骤D1之前进行绑定流程,在绑定流程中,认证设备生成与应用和认证设备标识一一对应的密钥标识及密钥对,应用服务器将密钥标识进行备份;用户账号和认证设备标识在步骤D9中保存在应用服务器内;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还有RSA算法等;
例如,当选用的公钥算法为SM2算法时,SM2算法返回JSON格式的数据为:
{
"typ":"JWT",
"alg":"301SM2"
"Q#S512":"7231962210...ec993a77b4a7203898ab74cdf974ff02d2de3f1ec7cb9de68"
};
步骤D22:应用服务器解析登录认证第二请求响应,得到挑战值参数和应用参数并保存,执行步骤D25;
步骤D23:应用服务器发送报错结束信息至客户端;
步骤D24:客户端接收报错结束信息并显示;
步骤D25:应用服务器根据密钥标识、挑战值参数和应用参数生成登录认证第一请求响应;
例如,登录认证第一请求响应为:
其中,密钥标识为:"IjycjPZYiW…HmYG0mgjsDr2Yj-12S67v5";
挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
本实施例中,挑战值参数和应用参数在步骤D22中保存在应用服务器内;
步骤D26:应用服务器发送登录认证第一请求响应至客户端;
步骤D27:客户端接收并解析登录认证第一请求响应,得到密钥标识、挑战值参数和应用参数并保存;
步骤D28:客户端根据保存的密钥标识、挑战值参数和应用参数生成待签名请求,同时提示用户进行按键确认;
本实施例中,密钥标识、挑战值参数和应用参数在步骤D27中保存在客户端内;
例如,待签名请求为0x00020000xx‘登录验证参数’xx;
其中,登录验证参数包括挑战值参数、应用参数和密钥标识;
步骤D29:客户端发送待签名请求至认证设备;
步骤D30:认证设备接收待签名请求;
步骤D31:认证设备提示用户进行按键确认,判断是否接收到用户的按键确认信息,是则执行步骤D32,否则报错结束;
具体地,认证设备的闪烁灯持续快闪,提示用户进行按键确认,判断是否接收到用户进行的确认信息,是则执行步骤D32,否则报错结束;
本实施例中,认证设备包括按键和闪烁灯,认证设备在待机状态时,闪烁灯常亮;认证设备和客户端通信时,闪烁灯闪烁一下;当需要用户在认证设备上进行操作时,认证设备的闪烁灯持续快闪,提示用户进行按键确认;
步骤D31还可以具体为:认证设备显示确认键,提示用户进行按键确认,判断是否接收到用户进行的确认信息,是则执行步骤D32,否则报错结束;
本实施例中,认证设备包括触摸屏,认证设备在待机状态和通信状态时,触摸屏不亮;当需要用户在认证设备上进行操作时,认证设备的触摸屏变亮,显示确认键等待用户进行按键确认;
本实施例中,步骤D31可以替换为步骤D31-1:认证设备提示用户进行按键确认,判断是否接收到用户的按键确认信息,是则执行步骤D32-1和D34,否则报错结束;
具体地,认证设备的闪烁灯持续快闪,提示用户进行按键确认,判断是否接收到用户进行的确认信息,是则执行步骤D32-1和D34,否则报错结束;
本实施例中,认证设备包括按键和闪烁灯,认证设备在待机状态时,闪烁灯常亮;认证设备和客户端通信时,闪烁灯闪烁一下;当需要用户在认证设备上进行操作时,认证设备的闪烁灯持续快闪,提示用户进行按键确认;
步骤D31-1还可以具体为:认证设备显示确认键,提示用户进行按键确认,判断是否接收到用户进行的确认信息,是则执行步骤D32-1和D34,否则报错结束;
本实施例中,认证设备包括触摸屏,认证设备在待机状态和通信状态时,触摸屏不亮;当需要用户在认证设备上进行操作时,认证设备的触摸屏变亮,显示确认键等待用户进行按键确认;
步骤D32:认证设备发送按键确认信息至客户端,执行步骤D33和D34;
本实施例中,当步骤D31替换为步骤D31-1时,步骤D32替换为D32-1:认证设备发送按键确认信息至客户端,执行步骤D33;
步骤D33:客户端接收按键确认信息;
步骤D34:认证设备解析待签名请求,得到密钥标识、挑战值参数和应用参数并保存,执行步骤D35;
步骤D35:认证设备根据密钥标识检索认证设备内部保存的对应私钥;
本实施例中,在步骤D1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户账号一一对应的密钥标识及密钥对;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还可以为RSA算法等;
步骤D36:认证设备使用私钥对挑战值参数、应用参数和计数值计算签名得到签名值,更新计数值;
步骤D36还可以为步骤D36-1:认证设备使用私钥对挑战值参数、应用参数和计数值计算签名得到签名值;
本实施例中,认证设备在第一次生成应用密钥对时,初始化计数器的计数值为0;认证设备每执行一次计算签名操作,计数器的计数值递增一次;
步骤D37:认证设备根据签名值和计数值生成验证签名请求;
步骤D37还可以为步骤D37-1:认证设备将签名值和计数值发送至客户端,然后执行步骤D38-1;
例如,验证签名请求为0x00020200xx‘签名验证参数’xx;
其中,签名验证参数包括挑战值参数、应用参数和计数值;
步骤D38:认证设备通过客户端和应用服务器发送验证签名请求至认证服务器;
当步骤D37为步骤D37-1时,步骤D38可以替代为步骤D38-1:客户端接收签名值和计数值,根据签名值和计数值生成验证签名请求,并将生成的验证签名请求通过应用服务器发送至认证服务器;
例如,当步骤D37为步骤D37-1,步骤D38替代为步骤D38-1时,在客户端生成的验证签名请求的JSON格式的数据实例为:
{
"aaid":["my.alipay.com"]]
"identity":"0x189012345677+0x0101161000000086",
"signature":"5F76C4395CA7BC44246A22C9F9037A9365B3F56F3F4222837437D7AF21F68EEAE4BA48A28789C244AC3331C3D8F68785BFB5F513EABEAE11C4794D8B30964D46",
"counter":0023,
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,签名值为:
5F76C4395CA7BC44246A22C9F9037A9365B3F56F3F4222837437D7AF21F68EEAE4BA48A28789C244AC3331C3D8F68785BFB5F513EABEAE11C4794D8B30964D46;
计数值为:0023;
步骤D39:认证服务器接收并解析验证签名请求,得到计数值和签名值并保存;
步骤D40:认证服务器根据保存的用户账号或者认证设备标识检索对应的密钥标识;
本实施例中,在步骤D1之前进行绑定流程,在绑定流程中,认证设备生成与应用和认证设备标识一一对应的密钥标识及密钥对,并且认证服务器将密钥标识及公钥进行备份;在步骤D15中,用户账号和认证设备标识保存在认证服务器内;
步骤D41:认证服务器根据检索到的密钥标识检索对应的公钥,并使用检索到的公钥解密签名值,得到第一哈希值;
步骤D42:认证服务器根据哈希算法对保存的挑战值参数、应用参数和计数值进行哈希运算,得到第二哈希值;
优选地,哈希算法为SM3算法,除此之外还可以为MD5算法等;
本实施例中,挑战值参数、应用参数在步骤D17中保存在认证服务器内;计数值步骤D39中保存在认证服务器内;
步骤D43:认证服务器将解密得到的第一哈希值和计算得到的第二哈希值进行比对,判断第一哈希值和第二哈希值是否一致,根据判断结果生成登录认证响应;
步骤D44:认证服务器发送登录认证响应和保存的认证设备标识至应用服务器;
本实施例中,认证设备标识在步骤D15中保存在认证服务器内;
步骤D45:应用服务器接收登录认证响应和认证设备标识并保存;
步骤D46:应用服务器判断登录认证响应是否为成功登录响应,是则执行步骤D47,否则执行步骤D50;
步骤D47:应用服务器允许进行登录操作;
步骤D48:应用服务器发送登录成功信息和认证设备标识至客户端;
步骤D49:客户端接收登录成功信息和认证设备标识,进入“登录成功”状态,显示“登录成功”;
步骤D50:应用服务器拒绝进行登录操作;
步骤D51:应用服务器发送登录失败信息至客户端;
步骤D52:客户端接收登录失败信息,显示“登录失败”。
本实施例中,当步骤D36为步骤D36-1时,步骤D49之后还包括以下步骤:
步骤D53:客户端发送登录成功信息至认证设备;
步骤D54:认证设备接收登录成功信息,更新计数值。
本发明与现有技术相比,具有以下优点:本专利提出了一种通用的、基于认证设备的登录认证方案,通过可扩展的、统一的、可互操作的接口,使用户在登录各种应用时,无需输入密码,就可在本地实现对用户身份和设备身份的高安全的认证。该登录认证方案操作方便,易于管理,登录认证流程安全性高,解决了账户安全的问题,提高了用户体验。
实施例三
如图4和5所示,本实施例三提供了一种登录认证方法,包括以下步骤:
步骤E1:当客户端接收到用户账号和以认证设备方式登录的请求时,生成获取认证设备标识的请求;
本实施例中,用户账号是与用户预登录应用相对应的账号;
步骤E2:客户端发送获取认证设备标识的请求至认证设备;
例如,获取认证设备标识的请求为:0x00C500000000;
步骤E3:认证设备接收获取认证设备标识的请求;
步骤E4:认证设备读取认证设备标识;
本实施例中,认证设备标识在出厂时预植在认证设备中,用于唯一标识认证设备;
具体地,认证设备标识长度为8字节;
例如,认证设备标识为:0x0101161000000086;
步骤E5:认证设备发送认证设备标识至客户端;
步骤E6:客户端接收认证设备标识并保存;
步骤E7:客户端发送获取用户登录认证方式标识的请求至认证设备;
例如,获取用户登录认证方式标识的请求为:0x00C600000000;
步骤E8:认证设备接收获取用户登录认证方式标识的请求;
步骤E9:认证设备提示用户进行身份认证,判断用户身份是否合法,是则执行步骤E10,否则报错结束;
具体地,认证设备提示用户输入认证密码,判断用户输入的认证密码和认证设备保存的原始认证密码是否一致,是则用户身份合法,否则报错结束;
进一步地,认证设备内设置错误次数阀值,当步骤E9判断为否时还包括:认证设备更新操作次数,并判断操作次数是否到达错误次数阀值,是则报错,否则提示用户重新输入;
本实施例中,在步骤E1之前进行认证设备初始化,认证设备与用户账号绑定,并保存与用户账号相对应的原始认证密码;例如,认证密码可以为PIN码信息;
E10:认证设备显示可供用户选择的用户登录认证方式并等待用户进行选择,判断是否接收到用户所选择的用户登录认证方式信息,是则执行步骤E11,否则报错结束;
进一步地,认证设备可以设置等待接收用户选择的用户登录认证方式信息的时间,例如60秒,如果在此时间段内,认证设备接收到用户选择的用户登录认证方式信息,则执行步骤E11,否则报错结束;
更进一步地,当认证设备未接收到用户选择的用户登录认证方式信息时,认证设备选择默认的一种用户登录认证方式;
本实施例中,认证设备显示供用户选择的用户登录认证方式为:指纹认证,其对应的用户登录认证方式标识为0x01000001;掌纹认证,其对应的用户登录认证方式标识为0x02000002;虹膜认证,其对应的用户登录认证方式标识为0x03000003;脸谱认证,其对应的用户登录认证方式标识为0x04000004;声纹认证,其对应的用户登录认证方式标识为0x05000005;动脉认证,其对应的用户登录认证方式标识为0x06000006等;
步骤E11:认证设备读取与用户所选择的用户登录认证方式相对应的用户登录认证方式标识并保存;
本实施例中,用户登录认证方式标识出厂时预植在认证设备中,用于唯一标识用户所选择用户登录认证方式;
具体地,用户登录认证方式标识长度为4字节;
例如,用户登录认证方式标识为:0x01000001;
步骤E12:认证设备发送用户登录认证方式标识至客户端;
步骤E13:客户端接收用户登录认证方式标识并保存;
步骤E14:客户端根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求;
本实施例中,在步骤E1之前,客户端接收用户输入的用户账号;认证设备标识在步骤E6中保存在客户端内;用户登录认证方式标识在步骤E13中保存在客户端内;
例如,登录认证第一请求为:
{
"identity":"0x189012345677+0x0101161000000086+0x01000001",
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,用户账号为:0x189012345677;
用户登录认证方式标识为:0x01000001;
认证设备标识为:0x0101161000000086;
步骤E15:客户端发送登录认证第一请求至应用服务器;
步骤E16:应用服务器接收并解析登录认证第一请求,得到用户账号、用户登录认证方式标识和认证设备标识并保存;
步骤E17:应用服务器验证保存的用户账号与认证设备标识是匹配,是则执行步骤E18,否则执行步骤E19;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中,应用服务器保存与当前应用对应的用户账号和与此用户账号对应的认证设备标识,称为第一认证设备标识;
具体地,应用服务器根据保存的用户账号查询与所述用户账号相对应的自身已经保存的第一认证设备标识,判断查询到的第一认证设备标识与解析登录认证第一请求得到的认证设备标识是否一致,是则认证设备可用,执行步骤E17,否则执行步骤E19;
步骤E18:应用服务器根据用户账号、用户登录认证方式标识、认证设备标识和当前应用对应的应用标识,生成登录认证第二请求;
例如,登录认证第二请求为:
{
"identity":"0x189012345677+0x0101161000000086+0x01000001",
"url":"https://my.alipay.com/portal/i.htm?/1234%x23abcd",
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,用户账号为:0x189012345677;
用户登录认证方式标识为:0x01000001;
认证设备标识为:0x0101161000000086;
应用标识为:https://my.alipay.com/portal/i.htm?/1234%x23abcd;
本实施例中,应用标识用于识别不同种类的应用;
例如,应用标识为https://my.alipay.com/portal/i.htm?/1234%x23abcd;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中应用服务器保存与当前应用对应的应用标识;
本实施例中,用户账号是与用户预登录应用相对应的账号,在步骤E16中保存在应用服务器内;
步骤E19:应用服务器发送报错结束信息至客户端;
步骤E20:客户端接收报错结束信息并显示;
步骤E21:应用服务器发送登录认证第二请求至认证服务器;
步骤E22:认证服务器接收并解析登录认证第二请求,得到应用标识、用户账号、用户登录认证方式标识和认证设备标识并保存;
步骤E23:认证服务器根据认证设备标识判断认证设备是否可用,是则执行步骤E24,否则报错结束;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中认证服务器保存认证设备的认证设备标识,称为第一认证设备标识;
具体地,认证服务器查询自身已经保存的第一认证设备标识当中是否有与所述认证设备标识相一致的,是则认证设备可用,执行步骤E24,否则,报错结束;
步骤E24:认证服务器根据用户登录认证方式标识判断用户登录认证方式是否可用,是则执行步骤E25,否则报错结束;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中认证服务器保存与步骤E1中用户所选用的用户登录认证方式的用户登录认证方式标识,称为第一用户登录认证方式标识;
具体地,认证服务器查询自身已经保存的第一用户登录认证方式标识当中是否有与所述用户登录认证方式标识相一致的,是则认证设备可用,执行步骤E25,否则,报错结束;
步骤E25:认证服务器根据保存的认证设备标识产生挑战值参数并保存,根据保存的应用标识产生应用参数并保存;
本实施例中,认证设备标识和应用标识在步骤E22中保存在认证服务器内;
具体地,认证服务器运用哈希算法对认证设备标识进行哈希运算得到挑战值参数;
更具体地,挑战值参数长度为32字节;
优选地,哈希算法为SM3算法,除此之外还可以为SHA-256算法等;
例如,挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
具体地,认证服务器运用哈希算法对应用标识进行哈希运算得到应用参数;
更具体地,应用参数长度为32字节;
优选地,哈希算法为SM3算法,除此之外还可以为SHA-256算法等;
例如,应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
步骤E26:认证服务器根据挑战值参数和应用参数生成登录认证第二请求响应;
例如,登录认证第二请求响应为:
其中,挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
步骤E27:认证服务器发送登录认证第二请求响应至应用服务器;
步骤E28:应用服务器接收登录认证第二请求响应;
步骤E29:应用服务器根据保存的用户账号和保存的用户登录认证方式标识检索对应的密钥标识,判断是否能检索到对应的密钥标识,是则执行步骤E30,否则执行步骤E31;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对,应用服务器将密钥标识进行备份;用户账号和用户登录认证方式标识在步骤E16中保存在应用服务器内;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还有RSA算法等;
例如,当选用的公钥算法为SM2算法时,SM2算法返回JSON格式的数据为:
{
"typ":"JWT",
"alg":"301SM2"
"Q#S512":"7231962210...ec993a77b4a7203898ab74cdf974ff02d2de3f1ec7cb9de68"
};
步骤E30:应用服务器解析登录认证第二请求响应,得到挑战值参数和应用参数并保存,执行步骤E33;
步骤E31:应用服务器发送报错结束信息至客户端;
步骤E32:客户端接收报错结束信息并显示;
步骤E33:应用服务器根据密钥标识、挑战值参数和应用参数,生成登录认证第一请求响应;
例如,登录认证第一请求响应为:
其中,密钥标识为:"IjycjPZYiW…HmYG0mgjsDr2Yj-12S67v5";
挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
本实施例中,挑战值参数和应用参数在步骤E25中保存在应用服务器内;
步骤E34:应用服务器发送登录认证第一请求响应至客户端;
步骤E35:客户端接收并解析登录认证第一请求响应,得到密钥标识、挑战值参数和应用参数并保存;
步骤E36:客户端根据保存的密钥标识、挑战值参数和应用参数生成待签名请求;
例如,待签名请求为0x00020000xx‘登录验证参数’xx;
其中,登录验证参数包括挑战值参数、应用参数和密钥标识;
本实施例中,密钥标识、挑战值参数和应用参数在步骤E25中保存在客户端内;
步骤E37:客户端发送待签名请求至认证设备;
步骤E38:认证设备接收待签名请求;
步骤E39:认证设备解析待签名请求,得到密钥标识、挑战值参数和应用参数并保存;
步骤E40:认证设备根据密钥标识检索对应的用户登录认证方式标识,根据用户登录认证方式标识检索对应的用户登录认证方式信息;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还可以为RSA算法等;
步骤E41:认证设备提示用户输入所选择的用户登录认证方式信息,判断接收的用户登录认证方式信息与检索到的用户登录认证方式信息是否一致,是则执行步骤E42,否则报错结束;
进一步地,认证设备内设置错误次数阀值,步骤E41判断为否时还包括:认证设备更新操作次数,并判断操作次数是否到达错误次数阀值,是则报错,否则提示用户重新输入;
进一步地,认证设备可以设置等待接收用户输入的用户登录认证方式信息的时间,例如60秒,如果在此时间段内,认证设备接收到用户输入的用户登录认证方式信息,则执行步骤E42,否则报错结束;
本实施例中,认证设备在步骤E10中接收用户所选择的用户登录认证方式信息,在步骤E41中提示用户输入该用户登录认证方式信息;
步骤E42:认证设备根据密钥标识检索认证设备内部保存的对应私钥;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还可以为RSA算法等;
步骤E43:认证设备使用检索到的私钥对挑战值参数、应用参数和计数值计算签名得到签名值;
步骤E43还可以替换为步骤E43-1:认证设备使用检索到的私钥对挑战值参数、应用参数和计数值计算签名得到签名值,更新计数值;
本实施例中,认证设备在第一次生成应用密钥对时,初始化计数器的计数值为0;认证设备每执行一次计算签名操作,计数器的计数值递增一次;
步骤E44:认证设备根据签名值和计数值生成验证签名请求,更新计数值;
当步骤E43替换为步骤E43-1时,步骤E44替换为步骤E44-1:认证设备根据签名值和更新前的计数值生成验证签名请求;
当步骤E43替换为步骤E43-1时,步骤E44还可以替换为步骤E44-2:认证设备将签名值和更新前的计数值发送至客户端,执行步骤E45-1;
步骤E44还可以替换为步骤E44-3:认证设备根据签名值和计数值生成验证签名请求;
步骤E44还可以替换为步骤E44-4:认证设备将签名值和计数值发送至客户端,执行步骤E45-1;
例如,验证签名请求为0x00020200xx‘签名验证参数’xx;
其中,签名验证参数包括挑战值参数、应用参数和计数值;
步骤E45:认证设备通过客户端和应用服务器发送验证签名请求至认证服务器;
当步骤E44为步骤E44-2或E44-4时,步骤E45替代为步骤E45-1:客户端接收签名值和计数值,根据签名值和计数值生成验证签名请求,并将生成的验证签名请求通过应用服务器发送至认证服务器;
例如,当步骤E44为步骤E44-2或E44-4时,步骤E45替代为步骤E45-1时,在客户端生成的验证签名请求的JSON格式的数据实例为:
{
"aaid":["my.alipay.com"]]
"identity":"0x189012345677+0x0101161000000086",
"signature":"5F76C4395CA7BC44246A22C9F9037A9365B3F56F3F4222837437D7AF21F68EEAE4BA48A28789C244AC3331C3D8F68785BFB5F513EABEAE11C4794D8B30964D46",
"counter":0023,
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,签名值为:
5F76C4395CA7BC44246A22C9F9037A9365B3F56F3F4222837437D7AF21F68EEAE4BA48A28789C244AC3331C3D8F68785BFB5F513EABEAE11C4794D8B30964D46;
计数值为:0023;
步骤E46:认证服务器接收并解析验证签名请求,得到计数值和签名值并保存;
步骤E47:认证服务器根据保存的用户账号和用户登录认证方式标识检索对应的密钥标识;
本实施例中,在步骤E1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对,并且认证服务器将密钥标识及公钥进行备份;在步骤E16中,用户账号和用户登录认证方式标识保存在认证服务器内;
步骤E48:认证服务器根据检索到的密钥标识检索对应的公钥,并使用检索到的公钥解密签名值,得到第一哈希值;
步骤E49:认证服务器根据哈希算法对保存的挑战值参数、应用参数和计数值进行哈希运算,得到第二哈希值;
优选地,哈希算法为SM3算法,除此之外还可以为MD5算法等;
本实施例中,挑战值参数、应用参数在步骤E25中保存在认证服务器内;计数值在步骤E46中保存在认证服务器内;
步骤E50:认证服务器将解密得到的第一哈希值和计算得到的第二哈希值进行比对,判断第一哈希值和第二哈希值是否一致,根据判断结果生成登录响应;
步骤E51:认证服务器发送登录响应和保存的认证设备标识至应用服务器;
本实施例中,认证设备标识在步骤E22中保存在认证服务器内;
步骤E52:应用服务器接收登录认证响应和认证设备标识并保存;
步骤E53:应用服务器判断登录响应是否成功,是则执行步骤E54,否则执行步骤E57;
步骤E54:应用服务器允许进行登录操作;
步骤E55:应用服务器发送发送登录成功信息和保存的认证设备标识至客户端;
步骤E56:客户端接收登录成功信息和认证设备标识,进入“登录成功”状态,显示“登录成功”;
步骤E57:应用服务器拒绝进行登录操作;
步骤E58:应用服务器发送登录失败信息至客户端;
步骤E59:客户端接收登录失败信息,显示“登录失败”。
本实施例中,当步骤E44为步骤E44-3或步骤E44为步骤E44-4且步骤E45替换为步骤E45-1时,步骤E56之后还包括以下步骤:
步骤E60:客户端发送登录成功信息至认证设备;
步骤E61:认证设备接收登录成功信息,更新计数值。
本发明与现有技术相比,具有以下优点:本专利提出了一种通用的、基于认证设备的登录认证方案,通过可扩展的、统一的、可互操作的接口,使用户在登录各种应用时,无需输入密码,就可在本地实现对用户身份和设备身份的高安全的认证。该登录认证方案操作方便,易于管理,登录认证流程安全性高,解决了账户安全的问题,提高了用户体验。
实施例四
如图6和7所示,本实施例四提供了一种登录认证方法,包括以下步骤:
步骤F1:当客户端接收到用户账号和以用户登录认证方式登录的请求时,读取与用户所选的用户登录认证方式相对应的用户登录认证方式编号;
本实施例中,用户账号是与用户预登录应用相对应的账号;在F1之前进行绑定流程,客户端保存用户登录认证方式及其相对应的用户登录认证方式编号;
本实施例中,客户端显示保存的供用户选择的用户登录认证方式为:指纹认证,其对应的用户登录认证方式编号为01;掌纹认证,其对应的用户登录认证方式编号为02;虹膜认证,其对应的用户登录认证方式编号为03;脸谱认证,其对应的用户登录认证方式编号为04;声纹认证,其对应的用户登录认证方式编号为05;动脉认证,其对应的用户登录认证方式编号为06等;
步骤F2:客户端根据用户账号和所读取的用户登录认证方式编号生成登录认证第一请求;
例如,登录认证第一请求为:
{
"identity":"0x189012345677+0x01",
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,用户账号为:0x189012345677;
用户登录认证方式编号为:0x01;
步骤F3:客户端发送登录认证第一请求至应用服务器;
步骤F4:应用服务器接收并解析登录认证第一请求,得到用户账号和用户登录认证方式编号并保存;
步骤F5:应用服务器根据用户账号检索与所述用户账号相对应的认证设备标识,并判断是否能够检索到,是则执行步骤F6,否则执行步骤F7;
本实施例中,认证设备标识在出厂时预植在认证设备中,用于唯一标识认证设备,用户账号在步骤F4中保存在应用服务器内;在步骤F1之前进行绑定流程,在绑定流程中,应用服务器保存与当前应用对应的用户账号和与所述用户账号对应的认证设备标识;
具体地,认证设备标识长度为8字节;
例如,认证设备标识为:0x0101161000000086;
步骤F6:应用服务器根据检索得到的认证设备标识检索与所述认证设备标识相对应的用户登录认证方式标识,并判断是否能够检索到,是则执行步骤F9,否则执行步骤F10;
本实施例中,用户登录认证方式标识在出厂时预植在认证设备中,用于唯一标识用户登录认证方式;在步骤F1之前进行绑定流程,在绑定流程中,应用服务器保存与当前应用对应的用户账号和与所述用户账号对应的认证设备标识,并保存与所述认证设备标识相对应的用户登录认证方式标识;
具体地,用户登录认证方式标识长度为4字节;
例如,用户登录认证方式标识为:0x01000001;
步骤F7:应用服务器发送报错结束信息至客户端;
步骤F8:客户端接收报错结束信息并显示;
步骤F9:应用服务器在检索得到的与所述认证设备标识相对应的用户登录认证方式标识中,根据解析得到的用户登录认证方式编号检索与用户登录认证方式编号相对应的用户登录认证方式标识,并判断是否能够检索到,是则执行步骤F12,否则执行步骤F10;
本实施例中,用户登录认证方式编号在步骤F4中保存在应用服务器内;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中,应用服务器保存用户登录认证方式及其相对应的用户登录认证方式标识,并保存与用户登录认证方式标识一一对应的用户登录认证方式编号,具体对应关系如下:
指纹认证,其对应的用户登录认证方式标识为0x01000001,与该用户登录认证方式标识相对应的用户登录认证方式编号为01;
掌纹认证,其对应的用户登录认证方式标识为0x02000002,与该用户登录认证方式标识相对应的用户登录认证方式编号为02;
虹膜认证,其对应的用户登录认证方式标识为0x03000003,与该用户登录认证方式标识相对应的用户登录认证方式编号为03;
脸谱认证,其对应的用户登录认证方式标识为0x03000004,与该用户登录认证方式标识相对应的用户登录认证方式编号为04;
声纹认证,其对应的用户登录认证方式标识为0x05000005,与该用户登录认证方式标识相对应的用户登录认证方式编号为05;
动脉认证,其对应的用户登录认证方式标识为0x06000006,与该用户登录认证方式标识相对应的用户登录认证方式编号为06;
步骤F10:应用服务器发送报错结束信息至客户端;
步骤F11:客户端接收报错结束信息并显示;
步骤F12:应用服务器根据用户账号、用户登录认证方式标识、认证设备标识和当前应用对应的应用标识,生成登录认证第二请求;
例如,登录认证第二请求为:
{
"identity":"0x189012345677+0x0101161000000086+0x01000001",
"url":"https://my.alipay.com/portal/i.htm?/1234%x23abcd",
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,用户账号为:0x189012345677;
用户登录认证方式标识为:0x01000001;
认证设备标识为:0x0101161000000086;
应用标识为:https://my.alipay.com/portal/i.htm?/1234%x23abcd;
本实施例中,应用标识用于识别不同种类的应用;
例如,应用标识为https://my.alipay.com/portal/i.htm?/1234%x23abcd;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中应用服务器保存与当前应用对应的应用标识;
本实施例中,用户账号是与用户预登录应用相对应的账号,在步骤F16中保存在应用服务器内;
步骤F13:应用服务器发送报错结束信息至客户端;
步骤F14:客户端接收报错结束信息并显示;
步骤F15:应用服务器发送登录认证第二请求至认证服务器;
步骤F16:认证服务器接收并解析登录认证第二请求,得到应用标识、用户账号、用户登录认证方式标识和认证设备标识并保存;
步骤F17:认证服务器根据认证设备标识判断认证设备是否可用,是则执行步骤F18,否则报错结束;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中认证服务器保存认证设备的认证设备标识,称为第二认证设备标识;
具体地,认证服务器查询自身已经保存的第二认证设备标识当中是否有与所述认证设备标识相一致的,是则认证设备可用,执行步骤F18,否则,报错结束;
步骤F18:认证服务器根据用户登录认证方式标识判断用户登录认证方式是否可用,是则执行步骤F19,否则报错结束;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中认证服务器保存与步骤F1中用户所选用的用户登录认证方式相对应的用户登录认证方式标识,称为第一用户登录认证方式标识;
具体地,认证服务器查询自身已经保存的第一用户登录认证方式标识当中是否有与解析登录认证第二请求得到的用户登录认证方式标识相一致的,是则认证设备可用,执行步骤F19,否则,报错结束;
步骤F19:认证服务器根据保存的认证设备标识产生挑战值参数并保存,根据保存的应用标识产生应用参数并保存;
本实施例中,认证设备标识和应用标识在步骤F16中保存在认证服务器内;
具体地,认证服务器运用哈希算法对认证设备标识进行哈希运算得到挑战值参数;
更具体地,挑战值参数长度为32字节;
优选地,哈希算法为SM3算法,除此之外还可以为SHA-256算法等;
例如,挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
具体地,认证服务器运用哈希算法对应用标识进行哈希运算得到应用参数;
更具体地,应用参数长度为32字节;
优选地,哈希算法为SM3算法,除此之外还可以为SHA-256算法等;
例如,应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
步骤F20:认证服务器根据挑战值参数和应用参数生成登录认证第二请求响应;
例如,登录认证第二请求响应为:
其中,挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
步骤F21:认证服务器发送登录认证第二请求响应至应用服务器;
步骤F22:应用服务器接收登录认证第二请求响应;
步骤F23:应用服务器根据保存的用户账号和应用服务器内部已经保存的用户登录认证方式标识检索对应的密钥标识,判断是否能检索到对应的密钥标识,是则执行步骤F24,否则执行步骤F25;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对,应用服务器将密钥标识进行备份;用户账号在步骤F4中保存在应用服务器内;在步骤F6中应用服务器检索到所述用户登录认证方式标识;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还有RSA算法等;
例如,当选用的公钥算法为SM2算法时,SM2算法返回JSON格式的数据为:
{
"typ":"JWT",
"alg":"301SM2"
"Q#S512":"7231962210...ec993a77b4a7203898ab74cdf974ff02d2de3f1ec7cb9de68"
};
步骤F24:应用服务器解析登录认证第二请求响应,得到挑战值参数和应用参数并保存,执行步骤F27;
步骤F25:应用服务器发送报错结束信息至客户端;
步骤F26:客户端接收报错结束信息并显示;
步骤F27:应用服务器根据密钥标识、挑战值参数和应用参数生成登录认证第一请求响应;
例如,登录认证第一请求响应为:
其中,密钥标识为:"IjycjPZYiW…HmYG0mgjsDr2Yj-12S67v5";
挑战值参数为:
"1669818D4FFE24404CE00D9AE1C5E1213DD1378D77C0803C46F5CB9394F47C87";
应用参数为:
"1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B";
本实施例中,挑战值参数和应用参数在步骤F24中保存在应用服务器内;
步骤F28:应用服务器发送登录认证第一请求响应至客户端;
步骤F29:客户端接收并解析登录认证第一请求响应,得到密钥标识、挑战值参数和应用参数并保存;
步骤F30:客户端根据保存的密钥标识、挑战值参数和应用参数生成待签名请求;
例如,待签名请求为0x00020000xx‘登录验证参数’xx;
其中,登录验证参数包括挑战值参数、应用参数和密钥标识;
本实施例中,密钥标识、挑战值参数和应用参数在步骤F29中保存在客户端内;
步骤F31:客户端发送待签名请求至认证设备;
步骤F32:认证设备接收待签名请求;
步骤F33:认证设备解析待签名请求,得到密钥标识、挑战值参数和应用参数并保存;
步骤F34:认证设备根据密钥标识检索对应的用户登录认证方式标识,根据用户登录认证方式标识检索对应的用户登录认证方式信息;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还可以为RSA算法等;
步骤F35:认证设备提示用户输入所选择的用户登录认证方式信息,判断接收的用户登录认证方式信息与检索到的用户登录认证方式信息是否一致,是则执行步骤F36,否则报错结束;
进一步地,认证设备内设置错误次数阀值,步骤F35判断为否时还包括:认证设备更新操作次数,并判断操作次数是否到达错误次数阀值,是则报错,否则提示用户重新输入;
进一步地,认证设备可以设置等待接收用户输入的用户登录认证方式信息的时间,例如60秒,如果在此时间段内,认证设备接收到用户输入的用户登录认证方式信息,则执行步骤F36,否则报错结束;
本实施例中,认证设备提示用户输入所选择的用户登录认证方式信息,是步骤F1中客户端接收的用户所选择的用户登录认证方式信息;
步骤F36:认证设备根据密钥标识检索认证设备内部保存的对应私钥;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对;
优选地,认证设备生成密钥标识及密钥对的公钥算法为SM2算法,除此之外还可以为RSA算法等;
步骤F37:认证设备使用检索到的私钥对挑战值参数、应用参数和计数值计算签名得到签名值;
步骤F37还可以替换为步骤F37-1:认证设备使用检索到的私钥对挑战值参数、应用参数和计数值计算签名得到签名值,更新计数值;
本实施例中,认证设备在第一次生成应用密钥对时,初始化计数器的计数值为0;认证设备每执行一次计算签名操作,计数器的计数值递增一次;
步骤F38:认证设备根据签名值和计数值生成验证签名请求,更新计数值;
当步骤F37替换为步骤F37-1时,步骤F38替换为步骤F38-1:认证设备根据签名值和更新前的计数值生成验证签名请求;
当步骤F37替换为步骤F37-1时,步骤F38替换为步骤F38-2:认证设备将签名值和更新前的计数值发送至客户端,执行步骤F39-1;
步骤F38还可以替换为步骤F38-3:认证设备根据签名值和计数值生成验证签名请求;
步骤F38还可以替换为步骤F38-4:认证设备将签名值和计数值发送至客户端,执行步骤F39-1;
例如,验证签名请求为0x00020200xx‘签名验证参数’xx;
其中,签名验证参数包括挑战值参数、应用参数和计数值;
步骤F39:认证设备通过客户端和应用服务器发送验证签名请求至认证服务器;
当步骤F38为步骤F38-2或F38-4时,步骤F39替代为步骤F39-1:客户端接收签名值和计数值,根据签名值和计数值生成验证签名请求,并将生成的验证签名请求通过应用服务器发送至认证服务器;
例如,当步骤F38为步骤F38-2或F38-4时,步骤F39替代为步骤F39-1时,在客户端生成的验证签名请求的JSON格式的数据实例为:
{
"aaid":["my.alipay.com"]]
"identity":"0x189012345677+0x0101161000000086",
"signature":"5F76C4395CA7BC44246A22C9F9037A9365B3F56F3F4222837437D7AF21F68EEAE4BA48A28789C244AC3331C3D8F68785BFB5F513EABEAE11C4794D8B30964D46",
"counter":0023,
"statusReports":{status:"valid",effectiveDate:"2016-10-28"}
"timeOfLastStatusChange":"2016-10-28"
};
其中,签名值为:
5F76C4395CA7BC44246A22C9F9037A9365B3F56F3F4222837437D7AF21F68EEAE4BA48A28789C244AC3331C3D8F68785BFB5F513EABEAE11C4794D8B30964D46;
计数值为:0023;
步骤F40:认证服务器接收并解析验证签名请求,得到计数值和签名值并保存;
步骤F41:认证服务器根据保存的用户账号或者认证设备标识检索对应的密钥标识;
本实施例中,在步骤F1之前进行绑定流程,在绑定流程中,认证设备生成与应用和用户登录认证方式标识一一对应的密钥标识及密钥对,并且认证服务器将密钥标识及公钥进行备份;用户账号和用户登录认证方式标识在步骤F16中保存在认证服务器内;
步骤F42:认证服务器根据检索到的密钥标识检索对应的公钥,并使用检索到的公钥解密签名值,得到第一哈希值;
步骤F43:认证服务器根据哈希算法对保存的挑战值参数、应用参数和计数值进行哈希运算,得到第二哈希值;
优选地,哈希算法为SM3算法,除此之外还可以为MD5算法等;
本实施例中,挑战值参数、应用参数在步骤F19中保存在认证服务器内;计数值在步骤F40中保存在认证服务器内;
步骤F44:认证服务器将解密得到的第一哈希值和计算得到的第二哈希值进行比对,判断第一哈希值和第二哈希值是否一致,根据判断结果生成登录认证响应;
步骤F45:认证服务器发送登录认证响应和保存的认证设备标识至应用服务器;
本实施例中,认证设备标识在步骤F16中保存在认证服务器内;
步骤F46:应用服务器发送登录认证响应和保存的认证设备标识;
步骤F47:应用服务器判断登录响应是否为成功登录响应,是则执行步骤F48,否则执行步骤F51;
步骤F48:应用服务器允许进行登录操作;
步骤F49:应用服务器发送登录成功信息和保存的认证设备标识至客户端;
步骤F50:客户端接收登录成功信息和认证设备标识,进入“登录成功”状态,显示“登录成功”;
步骤F51:应用服务器拒绝进行登录操作;
步骤F52:应用服务器发送登录失败信息至客户端;
步骤F53:客户端接收登录失败信息,显示“登录失败”。
本实施例中,当步骤F38为步骤F38-3或步骤F38为步骤F38-4且步骤F39替换为步骤F39-1时,步骤F50之后还包括以下步骤:
步骤F54:客户端发送登录成功信息至认证设备;
步骤F55:认证设备接收登录成功信息,更新计数值。
本发明与现有技术相比,具有以下优点:本专利提出了一种通用的、基于认证设备的登录认证方案,通过可扩展的、统一的、可互操作的接口,使用户在登录各种应用时,无需输入密码,就可在本地实现对用户身份和设备身份的高安全的认证。该登录认证方案操作方便,易于管理,登录认证流程安全性高,解决了账户安全的问题,提高了用户体验。
实施例五
如图8所示,本实施例五提供了一种登录认证的系统,包括客户端10、应用服务器20、认证服务器30和认证设备40,
客户端10包括:
第一接收模块101,用于接收用户的登录请求,还用于接收应用服务器20发送的登录认证第一请求响应,还用于接收认证设备40发送的验证签名请求;
第一解析模块102,用于解析第一接收模块101接收到的登录认证第一请求响应;
第一生成模块103,用于根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求;
第二生成模块104,用于根据登录认证第一请求响应的解析结果中的密钥标识、挑战值参数和应用参数生成待签名请求;
第一发送模块105,用于发送第一生成模块103生成的登录认证第一请求和第一接收模块101接收的验证签名请求至应用服务器20,还用于发送第二生成模块104生成的待签名请求至认证设备40;
应用服务器20包括:
第二接收模块201,用于接收第一发送模块105发送的登录认证第一请求和验证签名请求,还用于接收认证服务器30发送的登录认证第二请求响应和签名值的验证结果;
第二解析模块202,用于解析第二接收模块201接收到的登录认证第一请求和登录认证第二请求响应;
第三生成模块203,用于根据登录认证第一请求的解析结果和当前应用对应的应用标识生成登录认证第二请求;
第四生成模块204,用于根据登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应;
第一报错模块208,用于报错;
第二发送模块205,用于将第三生成模块203生成的登录认证第二请求、第二接收模块201接收到的验证签名请求发送至认证服务器30,还用于将第一报错模块208的报错信息和第四生成模块204生成的登录认证第一请求响应发送至第一接收模块101;
第一验证模块206,用于验证所得解析结果中的用户账号与应用服务器20自身所保存的认证设备标识是否匹配,是则触发第三生成模块203和第一报错模块208,否则仅触发第二发送模块205;
登录模块207,用于根据第二接收模块201接收到的验证结果进行允许登录操作或者拒绝登录操作;
认证服务器30包括:
第三接收模块301,用于接收第二发送模块205发送的登录认证第二请求和验证签名请求;
第三解析模块302,用于解析第三接收模块301接收到的登录认证第二请求和验证签名请求;
第五生成模块303,用于根据第三解析模块302解析登录认证第二请求的解析结果生成挑战值参数和应用参数;
第六生成模块304,用于根据第五生成模块303生成的挑战值参数和应用参数生成登录认证第二请求响应;
第二验证模块305,用于根据公钥和验证签名请求中计数值验证所述验证签名请求中的签名值;
第三发送模块306,用于发送第六生成模块304生成的登录认证第二请求响应和第二验证模块305的验证结果至应用服务器20;
认证设备40包括:
第四接收模块401,用于接收第一发送模块105发送的待签名请求;
第四解析模块402,用于解析第四接收模块401接收的待签名请求;
第三验证模块403,用于当第四解析模块402解析所述待签名请求后验证用户输入的用户登录认证方式信息是否合法;
第一检索模块404,用于当第三验证模块403的验证结果合法时,根据待签名请求解析结果中的密钥标识检索对应的私钥;
第七生成模块405,用于当第一检索模块404检索到与待签名请求解析结果中的密钥标识对应的私钥时,使用私钥对所述待签名请求的解析结果中的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值;
第八生成模块406,用于根据第七生成模块405生成的签名值和计数值生成验证签名请求;
更新模块407,用于在第八生成模块406生成验证签名请求之后,更新计数值;
第四发送模块408,用于发送第八生成模块406生成的验证签名请求至第一接收模块101。
可选地,本实施例中,
第四发送模块408,还用于发送用户身份合法信息至所述第一接收模块101;
第一接收模块101,还用于接收第四发送模块408发送的用户身份合法信息;
认证设备40还包括:
第一提示模块,用于提示用户进行身份认证;
第二报错模块,用于报错;
第一判断模块,用于第一提示模块提示用户进行身份认证后,判断用户身份是否合法;
第四发送模块408,还用于当第一判断模块判断用户身份合法时,发送用户身份合法信息至第一接收模块101;
第一生成模块103,还用于当第一判断模块判断用户身份合法时,根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求;
第二报错模块,还用于当第一判断模块判断用户身份不合法时,报错。
可选地,本实施例中,认证设备40还包括:
第一显示模块,用于显示可供用户选择的用户登录认证方式;
第一读取模块,用于当接收到用户选择的用户登录认证方式信息时,读取与用户所选择的用户登录认证方式相对应的用户登录认证方式标识;
第四发送模块408,还用于发送用户登录认证方式标识至第一接收模块101;
第一接收模块101,还用于接收第四发送模块408发送的用户登录认证方式标识。
可选地,本实施例中,认证设备40还包括:
指纹模块,用于对用户提供的指纹进行认证;
和\或,掌纹模块,用于对用户提供的掌纹进行认证;
和\或,虹膜模块,用于对用户提供的虹膜进行认证;
和\或,脸谱模块,用于对用户提供的脸谱进行认证;
和\或,声纹模块,用于对用户提供的声纹进行认证;
和\或,动脉模块,用于对用户提供的动脉进行认证。
可选地,本实施例中,认证服务器30还包括:
第三报错模块,用于报错;
第二判断模块,用于根据解析登录认证第二请求所得的认证设备标识判断认证设备40是否可用,是则触发第五生成模块303,否则触发第三报错模块。
上述实施例中,认证服务器30还包括:
第四报错模块,用于报错;
第三判断模块,用于根据解析登录认证第二请求所得的用户登录认证方式标识判断对应的用户登录认证方式是否可用,是则触发第五生成模块303,否则触发第四报错模块。
可选地,本实施例中,应用服务器20还包括:
第五报错模块,用于报错;
第四判断模块,用于根据保存的用户账号和用户登录认证方式标识判断是否能检索到对应的密钥标识,是则触发第四生成模块204,否则触发第五报错模块。
可选地,本实施例中,第三验证模块403具体包括:
第一检索子模块,用于根据密钥标识检索对应的用户登录认证方式标识;
第二检索子模块,用于在第一检索子模块检索到用户登录认证方式标识之后,根据用户登录认证方式标识检索对应的用户登录认证方式信息;
第一提示子模块,用于在第二检索子模块检索到用户登录认证方式信息之后,提示用户输入与所选择的用户登录认证方式对应的用户登录认证方式信息;
第一报错子模块,用于报错;
第一判断子模块,用于在第一提示子模块提示用户输入与所选择的用户登录认证方式对应的用户登录认证方式信息之后,判断接收的用户登录认证方式信息与检索到的用户登录认证方式信息是否一致,是则触发第一检索模块404,否则触发第一报错子模块。
可选地,本实施例中,
第四发送模块408,还用于将第七生成模块405生成的签名值和计数值发送给第一接收模块101;
第一接收模块101,还用于接收第四发送模块408发送的签名值和计数值;
更新模块407,还用于在第四发送模块408发送签名值和计数值至第一接收模块101后,更新计数值;
第八生成模块406位于客户端10。
可选地,本实施例中,
第二发送模块205,还用于当第二接收模块201接收到的签名值的验证结果为验证成功信息时,发送验证成功信息至第一接收模块101;
第一接收模块101,还用于接收第二发送模块205发送的验证成功信息;
第一发送模块105,还用于发送第一接收模块101接收的验证成功信息至第四接收模块401;
第四接收模块401,还用于接收第一发送模块105发送的验证成功信息;
更新模块407,还用于当第四接收模块401接收到验证成功信息时,更新计数值。
可选地,本实施例中,
第四发送模块408,还用于将第七生成模块405生成的签名值和计数值发送给第一接收模块101;
第一接收模块101,还用于接收第四发送模块408发送的签名值和计数值,还用于接收第二发送模块205发送的验证成功信息;
第八生成模块406位于客户端10;
第二发送模块205,还用于当第二接收模块201接收的到签名值的验证结果为验证成功信息时,发送验证成功信息至第一接收模块101;
第一发送模块105,还用于发送第一接收模块101接收的验证成功信息至第四接收模块401;
第四接收模块401,还用于接收第一发送模块105发送的验证成功信息;
更新模块407,还用于当第四接收模块401接收到验证成功信息时,更新计数值。
可选地,本实施例中,第二验证模块305,具体包括:
第一保存子模块,用于保存验证签名请求中计数值;
第三检索子模块,用于根据密钥标识检索公钥;
第一解密子模块,用于使用第三检索子模块检索到的公钥解密签名值;
第一验证子模块,用于将第一解密子模块的解密结果与根据挑战值参数、应用参数和计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败。
上述实施例中,第三检索子模块,具体包括:
第一检索单元,用于根据解析登录认证第二请求所得的用户账号和用户认证方式标识检索密钥标识;
第二检索单元,用于根据第一检索单元检索到的密钥标识检索公钥。
可选地,本实施例中,客户端10还包括:
第九生成模块,用于根据用户账号和认证设备标识生成登录认证第一请求;
第一接收模块101,还用于接收用户的登录请求;
第一发送模块105,还用于将第九生成模块生成的登录认证第一请求发送至第二接收模块201;
第二接收模块201,还用于接收第一发送模块105发送的登录认证第一请求;
认证设备40还包括:
第二提示模块,用于提示用户进行按键确认;
第四发送模块408,还用于当收到用户的按键确认信息时,发送按键确认信息至第一接收模块101。
上述实施例中,第二验证模块305具体包括:
第二保存子模块,用于保存验证签名请求中计数值;
第三检索子模块,用于根据密钥标识检索公钥;
第二解密子模块,用于使用第二检索子模块检索到的公钥解密签名值;
第二验证子模块,用于将第一解密子模块的解密结果与根据挑战值参数、应用参数和计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败。
上述实施例中,第三检索子模块,具体包括:
第三检索单元,用于根据解析登录认证第二请求所得的用户账号或认证设备标识检索密钥标识;
第四检索单元,用于根据第一检索单元检索到的密钥标识检索公钥。
可选地,本实施例中,客户端10还包括:
第十生成模块,用于根据用户账号和用户登录认证方式编号生成登录认证第一请求;
第一接收模块101,还用于接收用户的登录请求,还用于接收第二发送模块205发送的报错信息;
第一发送模块105,还用于将第十生成模块生成的登录认证第一请求发送至第二接收模块201;
第二接收模块201,还用于接收第一发送模块105发送的登录认证第一请求;
应用服务器20还包括:
第六报错模块,用于报错;
第四判断模块,用于根据用户账号判断是否能够检索到对应的认证设备标识,是则触发第五判断模块,否则触发第六报错模块;
第七报错模块,用于报错;
第五判断模块,用于在检索得到的与认证设备标识相对应的用户登录认证方式标识中,根据解析得到的用户登录认证方式编号判断是否能够检索到与用户登录认证方式编号相对应的用户登录认证方式标识,是则触发第三生成模块203,否则触发第七报错模块;
第二发送模块205,还用于发送第六报错模块和第七报错模块的报错信息至第一接收模块101。
本发明与现有技术相比,具有以下优点:本专利提出了一种通用的、基于认证设备的登录认证方案,通过可扩展的、统一的、可互操作的接口,使用户在登录各种应用时,无需输入密码,就可在本地实现对用户身份和设备身份的高安全的认证。该登录认证方案操作方便,易于管理,登录认证流程安全性高,解决了账户安全的问题,提高了用户体验。
以上所述五个实施例的前提是:在同一个应用中,一个账号至多绑定一个认证设备,一个认证设备可以对应多个应用;
在实施例二中,方法是用认证设备本身作为认证凭据进行验证,用户账号、认证设备标识、应用标识和密钥标识是一一对应的关系,可以根据用户账号或认证设备标识或应用标识检索密钥标识;
在实施例三和四中,用户账号、认证设备标识、应用标识是一一对应的关系,而认证设备标识与用户登录认证方式标识是一对多的关系,可以根据用户账号或认证设备标识或应用标识再结合用户登录认证方式标识共同检索密钥标识;
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (32)

1.一种登录认证方法,其特征在于,包括:
步骤A1:当客户端接收到用户的登录请求时,客户端根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求,并将所述登录认证第一请求发送至应用服务器;
步骤A2:所述应用服务器接收并解析所述登录认证第一请求,验证所得解析结果中的用户账号与所述应用服务器自身所保存的认证设备标识是否匹配,是则根据所述登录认证第一请求的解析结果和与用户账号对应的应用标识生成登录认证第二请求,并将所述登录认证第二请求发送至认证服务器,执行步骤A3,否则发送报错信息至所述客户端;
步骤A3:所述认证服务器接收并解析所述登录认证第二请求,根据所述登录认证第二请求的解析结果生成挑战值参数和应用参数,根据所述挑战值参数和所述应用参数生成登录认证第二请求响应,并将所述登录认证第二请求响应发送至所述应用服务器;
步骤A4:所述应用服务器接收并解析所述登录认证第二请求响应,根据所述登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应,并将所述登录认证第一请求响应发送至所述客户端;
步骤A5:所述客户端接收并解析所述登录认证第一请求响应,根据所述登录认证第一请求响应的解析结果中的密钥标识、挑战值参数和应用参数生成待签名请求,并将所述待签名请求发送至认证设备;
步骤A6:所述认证设备接收并解析所述待签名请求,验证用户输入的用户登录认证方式信息是否合法,当用户登录认证方式信息合法时,根据所述待签名请求的解析结果中的密钥标识检索对应的私钥,使用所述私钥对所述待签名请求的解析结果中的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值;
步骤A7:所述认证设备根据所述签名值和所述计数值生成验证签名请求,更新所述计数值,通过所述客户端和所述应用服务器将所述验证签名请求发送至所述认证服务器;
步骤A8:所述认证服务器接收所述验证签名请求,根据公钥和所述验证签名请求中计数值验证所述验证签名请求中的签名值,并将验证结果发送至所述应用服务器;
步骤A9:所述应用服务器根据接收到的验证结果进行允许登录操作或者拒绝登录操作;
所述验证所得解析结果中的用户账号与所述应用服务器自身所保存的认证设备标识是否匹配,具体为:根据用户账号检索与所述用户账号相对应的认证设备标识,并判断是否能够检索到;
所述用户登录认证方式信息对应的用户登录认证方式包括:指纹认证和/或掌纹认证和/或虹膜认证和/或脸谱认证和/或声纹认证和/或动脉认证。
2.根据权利要求1所述的方法,其特征在于,所述步骤A1中,所述客户端根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求之前,还包括:
认证设备提示用户进行身份认证,判断用户身份是否合法,是则发送用户身份合法信息至所述客户端,并继续执行操作,否则报错结束。
3.根据权利要求2所述的方法,其特征在于,在所述认证设备判定用户身份合法之后,还包括:
所述认证设备显示可供用户选择的用户登录认证方式,当接收到用户选择的用户登录认证方式信息时,读取与用户所选择的用户登录认证方式相对应的用户登录认证方式标识,发送所述用户登录认证方式标识至所述客户端。
4.根据权利要求1所述的方法,其特征在于,所述步骤A3中,所述根据所述登录认证第二请求的解析结果生成挑战值参数和应用参数之前,还包括:
所述认证服务器根据解析所述登录认证第二请求所得的认证设备标识判断所述认证设备是否可用,是则继续,否则报错结束。
5.根据权利要求4所述的方法,其特征在于,所述步骤A3中,当所述认证服务器根据解析所述登录认证第二请求所得的认证设备标识判定所述认证设备可用之后,还包括:
所述认证服务器根据解析所述登录认证第二请求所得的用户登录认证方式标识判断对应的用户登录认证方式是否可用,是则继续,否则报错结束。
6.根据权利要求1所述的方法,其特征在于,在所述步骤A4中的所述根据所述登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应之前,还包括:
所述应用服务器根据保存的用户账号和用户登录认证方式标识判断是否能检索到对应的密钥标识,是则继续,否则发送报错信息至所述客户端。
7.根据权利要求1所述的方法,其特征在于,在所述步骤A6中,所述验证用户输入的用户登录认证方式信息是否合法,具体为:
所述认证设备根据密钥标识检索对应的用户登录认证方式标识,根据用户登录认证方式标识检索对应的用户登录认证方式信息,提示用户输入与所选择的用户登录认证方式对应的用户登录认证方式信息,判断接收的用户登录认证方式信息与检索到的用户登录认证方式信息是否一致,是则继续,否则报错结束。
8.根据权利要求1所述的方法,其特征在于,所述步骤A7替换为:
步骤A7-1:所述认证设备将所述签名值和所述计数值发送给所述客户端,更新所述计数值,所述客户端根据所述签名值和所述计数值生成验证签名请求,通过所述应用服务器将所述验证签名请求发送至所述认证服务器。
9.根据权利要求1所述的方法,其特征在于,所述步骤A7替换为:
步骤A7-2:所述认证设备根据所述签名值和所述计数值生成验证签名请求,通过所述客户端和所述应用服务器将所述验证签名请求发送至所述认证服务器;
所述方法还包括:
步骤A10:当所述应用服务器 接收到所述签名值的验证结果为验证成功信息时,所述应用服务器通过所述客户端发送所述验证成功信息至所述认证设备,当所述认证设备接收到验证成功信息时,所述认证设备更新所述计数值。
10.根据权利要求1所述的方法,其特征在于,所述步骤A7替换为:
步骤A7-3:所述认证设备将所述签名值和所述计数值发送给所述客户端,所述客户端根据所述签名值和所述计数值生成验证签名请求,通过所述应用服务器将所述验证签名请求发送至所述认证服务器;
所述方法还包括:
步骤A10:当所述应用服务器接收到所述签名值的验证结果为验证成功信息时,所述应用服务器通过所述客户端发送所述验证成功信息至所述认证设备,当所述认证设备接收到验证成功信息时,所述认证设备更新所述计数值。
11.根据权利要求1所述的方法,其特征在于,所述步骤A8中,所述根据公钥和所述验证签名请求中计数值验证所述验证签名请求中的签名值,具体为:
所述认证服务器保存所述验证签名请求中计数值,根据所述密钥标识检索公钥,并使用所述公钥解密所述签名值,将解密结果与根据所述挑战值参数、所述应用参数和所述计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败。
12.根据权利要求11所述的方法,其特征在于,所述根据所述密钥标识检索公钥,具体为:
所述认证服务器根据解析所述登录认证第二请求所得的用户账号和用户认证方式标识检索所述密钥标识,根据检索到的密钥标识检索所述公钥。
13.根据权利要求1或4或8或9或10中任一项所述的方法,其特征在于,
所述步骤A1替换为:
步骤A1-1:当客户端接收到用户的登录请求时,客户端根据用户账号和认证设备标识生成登录认证第一请求,并将其发送至所述应用服务器;
所述步骤A6替换为:
步骤A6-1:所述认证设备接收并解析所述待签名请求,提示用户进行按键确认,当收到用户的按键确认信息时,发送按键确认信息至所述客户端,根据所述待签名请求的解析结果中的密钥标识检索私钥,使用所述私钥对解析得到的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值。
14.根据权利要求13所述的方法,其特征在于,所述步骤A8中,所述根据公钥和所述验证签名请求中计数值验证所述验证签名请求中的签名值,具体为:
所述认证服务器保存所述验证签名请求中计数值,根据所述密钥标识检索公钥,并使用所述公钥解密所述签名值,将解密结果与根据所述挑战值参数、所述应用参数和所述计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败。
15.根据权利要求14所述的方法,其特征在于,所述根据所述密钥标识检索公钥,具体为:
所述认证服务器根据解析所述登录认证第二请求所得的用户账号或认证设备标识检索所述密钥标识,根据检索到的密钥标识检索对应的公钥。
16.根据权利要求1或2或4或6或7或8或9或10或11中任一项所述的方法,其特征在于,
所述步骤A1替换为:
步骤A1-2:当客户端接收到用户的登录请求时,客户端根据用户账号和用户登录认证方式编号生成登录认证第一请求,并将其发送至所述应用服务器;
所述步骤A2中,所述根据所述登录认证第一请求的解析结果和当前应用对应的应用标识生成登录认证第二请求之前,还包括:
步骤H1:所述应用服务器根据用户账号判断是否能够检索到对应的认证设备标识,是则执行步骤H2,否则发送报错信息至所述客户端;
步骤H2:在检索得到的与所述认证设备标识相对应的用户登录认证方式标识中,所述应用服务器根据解析得到的用户登录认证方式编号判断是否能够检索到与用户登录认证方式编号相对应的用户登录认证方式标识,是则继续,否则发送报错信息至所述客户端。
17.一种登录认证的系统,其特征在于,包括客户端、应用服务器、认证服务器和认证设备,所述客户端包括:
第一接收模块,用于接收用户的登录请求,还用于接收所述应用服务器发送的登录认证第一请求响应,还用于接收所述认证设备发送的验证签名请求;
第一解析模块,用于解析所述第一接收模块接收到的所述登录认证第一请求响应;
第一生成模块,用于根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求;
第二生成模块,用于根据所述登录认证第一请求响应的解析结果中的密钥标识、挑战值参数和应用参数生成待签名请求;
第一发送模块,用于发送所述第一生成模块生成的所述登录认证第一请求和所述第一接收模块接收的所述验证签名请求至所述应用服务器,还用于发送所述第二生成模块生成的所述待签名请求至所述认证设备;
所述应用服务器包括:
第二接收模块,用于接收所述第一发送模块发送的所述登录认证第一请求和所述验证签名请求,还用于接收所述认证服务器发送的所述登录认证第二请求响应和签名值的验证结果;
第二解析模块,用于解析所述第二接收模块接收到的所述登录认证第一请求和所述登录认证第二请求响应;
第三生成模块,用于根据所述登录认证第一请求的解析结果和与用户账号对应的应用标识生成登录认证第二请求;
第四生成模块,用于根据所述登录认证第二请求响应的解析结果和密钥标识生成登录认证第一请求响应;
第一报错模块,用于报错;
第二发送模块,用于将所述第三生成模块生成的所述登录认证第二请求、所述第二接收模块接收到的所述验证签名请求发送至所述认证服务器,还用于将所述第一报错模块的报错信息和所述第四生成模块生成的所述登录认证第一请求响应发送至所述第一接收模块;
第一验证模块,用于验证所得解析结果中的用户账号与所述应用服务器自身所保存的认证设备标识是否匹配,是则触发所述第三生成模块和所述第一报错模块,否则触发所述第二发送模块;
登录模块,用于根据所述第二接收模块接收到的所述验证结果进行允许登录操作或者拒绝登录操作;
所述认证服务器包括:
第三接收模块,用于接收所述第二发送模块发送的所述登录认证第二请求和所述验证签名请求;
第三解析模块,用于解析所述第三接收模块接收到的所述登录认证第二请求和所述验证签名请求;
第五生成模块,用于根据所述第三解析模块解析所述登录认证第二请求的解析结果生成挑战值参数和应用参数;
第六生成模块,用于根据所述第五生成模块生成的所述挑战值参数和应用参数生成所述登录认证第二请求响应;
第二验证模块,用于根据公钥和所述验证签名请求中计数值验证所述验证签名请求中的签名值;
第三发送模块,用于发送所述第六生成模块生成的所述登录认证第二请求响应和所述第二验证模块的验证结果至所述应用服务器;
所述认证设备包括:
第四接收模块,用于接收所述第一发送模块发送的所述待签名请求;
第四解析模块,用于解析所述第四接收模块接收的所述待签名请求;
第三验证模块,用于当所述第四解析模块解析所述待签名请求后,验证用户输入的用户登录认证方式信息是否合法;
第一检索模块,用于当第三验证模块的验证结果合法时,根据所述待签名请求的解析结果中的密钥标识检索对应的私钥;
第七生成模块,用于当所述第一检索模块检索到与所述待签名请求解析结果中的密钥标识对应的私钥时,使用所述私钥对所述待签名请求的解析结果中的挑战值参数、应用参数和内部保存的计数值进行计算签名得到签名值;
第八生成模块,用于根据所述第七生成模块生成的所述签名值和所述计数值生成所述验证签名请求;
更新模块,用于在所述第八生成模块生成所述验证签名请求之后,更新所述计数值;
第四发送模块,用于发送所述第八生成模块生成的验证签名请求至所述第一接收模块;
所述第一验证模块,具体用于根据用户账号检索与所述用户账号相对应的认证设备标识,并判断是否能够检索到,是则触发所述第三生成模块和所述第一报错模块,否则触发所述第二发送模块;
所述认证设备还包括:
指纹模块,用于对用户提供的指纹进行认证;
和\或,掌纹模块,用于对用户提供的掌纹进行认证;
和\或,虹膜模块,用于对用户提供的虹膜进行认证;
和\或,脸谱模块,用于对用户提供的脸谱进行认证;
和\或,声纹模块,用于对用户提供的声纹进行认证;
和\或,动脉模块,用于对用户提供的动脉进行认证。
18.根据权利要求17所述的系统,其特征在于,
所述第四发送模块,还用于发送用户身份合法信息至所述第一接收模块;
所述第一接收模块,还用于接收所述第四发送模块发送的所述用户身份合法信息;
所述认证设备还包括:
第一提示模块,用于提示用户进行身份认证;
第二报错模块,用于报错;
第一判断模块,用于所述第一提示模块提示用户进行身份认证后,判断用户身份是否合法;
所述第四发送模块,还用于当所述第一判断模块判断用户身份合法时,发送用户身份合法信息至所述第一接收模块;
所述第一生成模块,还用于当所述第一判断模块判断用户身份合法时,根据用户账号、用户登录认证方式标识和认证设备标识生成登录认证第一请求;
所述第二报错模块,还用于当所述第一判断模块判断用户身份不合法时,报错。
19.根据权利要求17所述的系统,其特征在于,所述认证设备还包括:
第一显示模块,用于显示可供用户选择的用户登录认证方式;
第一读取模块,用于当接收到用户选择的用户登录认证方式信息时,读取与用户所选择的用户登录认证方式相对应的用户登录认证方式标识;
所述第四发送模块,还用于发送所述用户登录认证方式标识至所述第一接收模块;
所述第一接收模块,还用于接收所述第四发送模块发送的所述用户登录认证方式标识。
20.根据权利要求17所述的系统,其特征在于,所述认证服务器还包括:
第三报错模块,用于报错;
第二判断模块,用于根据解析所述登录认证第二请求所得的认证设备标识判断所述认证设备是否可用,是则触发所述第五生成模块,否则触发所述第三报错模块。
21.根据权利要求20所述的系统,其特征在于,所述认证服务器还包括:
第四报错模块,用于报错;
第三判断模块,用于根据解析所述登录认证第二请求所得的用户登录认证方式标识判断对应的用户登录认证方式是否可用,是则触发所述第五生成模块,否则触发所述第四报错模块。
22.根据权利要求17所述的系统,其特征在于,所述应用服务器还包括:
第五报错模块,用于报错;
第四判断模块,用于根据保存的用户账号和用户登录认证方式标识判断是否能检索到对应的密钥标识,是则触发所述第四生成模块,否则触发所述第五报错模块。
23.根据权利要求17所述的系统,其特征在于,所述第三验证模块具体包括:
第一检索子模块,用于根据密钥标识检索对应的用户登录认证方式标识;
第二检索子模块,用于在所述第一检索子模块检索到所述用户登录认证方式标识之后,根据用户登录认证方式标识检索对应的用户登录认证方式信息;
第一提示子模块,用于在所述第二检索子模块检索到所述用户登录认证方式信息之后,提示用户输入与所选择的用户登录认证方式对应的用户登录认证方式信息;
第一报错子模块,用于报错;
第一判断子模块,用于在所述第一提示子模块提示用户输入与所选择的用户登录认证方式对应的用户登录认证方式信息之后,判断接收的用户登录认证方式信息与检索到的用户登录认证方式信息是否一致,是则触发所述第一检索模块,否则触发所述第一报错子模块。
24.根据权利要求17所述的系统,其特征在于,
所述第四发送模块,还用于将所述第七生成模块生成的所述签名值和所述计数值发送给所述第一接收模块;
所述第一接收模块,还用于接收所述第四发送模块发送的所述签名值和所述计数值;
所述更新模块,还用于在所述第四发送模块发送所述签名值和所述计数值至所述第一接收模块后,更新所述计数值;
所述第八生成模块位于所述客户端。
25.根据权利要求17所述的系统,其特征在于,
所述第二发送模块,还用于当所述第二接收模块接收到的所述签名值的验证结果为验证成功信息时,发送所述验证成功信息至所述第一接收模块;
所述第一接收模块,还用于接收所述第二发送模块发送的所述验证成功信息;
所述第一发送模块,还用于发送所述第一接收模块接收的所述验证成功信息至所述第四接收模块;
所述第四接收模块,还用于接收所述第一发送模块发送的所述验证成功信息;
所述更新模块,还用于当所述第四接收模块接收到所述验证成功信息时,更新所述计数值。
26.根据权利要求17所述的系统,其特征在于,
所述第四发送模块,还用于将所述第七生成模块生成的所述签名值和所述计数值发送给所述第一接收模块;
所述第一接收模块,还用于接收所述第四发送模块发送的所述签名值和所述计数值,还用于接收所述第二发送模块发送的验证成功信息;
所述第八生成模块位于所述客户端;
所述第二发送模块,还用于当所述第二接收模块接收到所述签名值的验证结果为验证成功信息时,发送所述验证成功信息至所述第一接收模块;
所述第一发送模块,还用于发送所述第一接收模块接收的所述验证成功信息至所述第四接收模块;
所述第四接收模块,还用于接收所述第一发送模块发送的所述验证成功信息;
所述更新模块,还用于当所述第四接收模块接收到所述验证成功信息时,更新所述计数值。
27.根据权利要求17所述的系统,其特征在于,所述第二验证模块,具体包括:
第一保存子模块,用于保存所述验证签名请求中计数值;
第三检索子模块,用于根据所述密钥标识检索公钥;
第一解密子模块,用于使用所述第三检索子模块检索到的公钥解密所述签名值;
第一验证子模块,用于将所述第一解密子模块的解密结果与根据所述挑战值参数、所述应用参数和所述计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败。
28.根据权利要求27所述的系统,其特征在于,所述第三检索子模块,具体包括:
第一检索单元,用于根据解析所述登录认证第二请求所得的用户账号和用户认证方式标识检索密钥标识;
第二检索单元,用于根据所述第一检索单元检索到的所述密钥标识检索所述公钥。
29.根据权利要求17或20或24或25或26中任一项所述的系统,其特征在于,
所述客户端还包括:
第九生成模块,用于根据用户账号和认证设备标识生成登录认证第一请求;
所述第一接收模块,还用于接收用户的登录请求;
所述第一发送模块,还用于将所述第九生成模块生成的所述登录认证第一请求发送至所述第二接收模块;
所述第二接收模块,还用于接收所述第一发送模块发送的所述登录认证第一请求;
所述认证设备还包括:
第二提示模块,用于提示用户进行按键确认;
所述第四发送模块,还用于当收到用户的按键确认信息时,发送按键确认信息至所述第一接收模块。
30.根据权利要求29所述的系统,其特征在于,所述第二验证模块具体包括:
第二保存子模块,用于保存所述验证签名请求中计数值;
第三检索子模块,用于根据所述密钥标识检索公钥;
第二解密子模块,用于使用所述第三检索子模块检索到的公钥解密所述签名值;
第二验证子模块,用于将第一解密子模块的解密结果与根据所述挑战值参数、所述应用参数和所述计数值进行哈希运算所得结果进行比对,若一致,则验证成功,否则验证失败。
31.根据权利要求30所述的系统,其特征在于,所述第三检索子模块,具体包括:
第三检索单元,用于根据解析所述登录认证第二请求所得的用户账号或认证设备标识检索密钥标识;
第四检索单元,用于根据所述第三检索单元检索到的所述密钥标识检索所述公钥。
32.根据权利要求17或18或20或22或23或24或25或26或27中任一项所述的系统,其特征在于,
所述客户端还包括:
第十生成模块,用于根据用户账号和用户登录认证方式编号生成登录认证第一请求;
所述第一接收模块,还用于接收用户的登录请求,还用于接收所述第二发送模块发送的所述报错信息;
所述第一发送模块,还用于将所述第十生成模块生成的所述登录认证第一请求发送至所述第二接收模块;
所述第二接收模块,还用于接收所述第一发送模块发送的所述登录认证第一请求;
所述应用服务器还包括:
第六报错模块,用于报错;
第四判断模块,用于根据用户账号判断是否能够检索到对应的认证设备标识,是则触发第五判断模块,否则触发第六报错模块;
第七报错模块,用于报错;
第五判断模块,用于在检索得到的与所述认证设备标识相对应的用户登录认证方式标识中,根据解析得到的用户登录认证方式编号判断是否能够检索到与用户登录认证方式编号相对应的用户登录认证方式标识,是则触发所述第三生成模块,否则触发所述第七报错模块;
所述第二发送模块,还用于发送所述第六报错模块和所述第七报错模块的报错信息至所述第一接收模块。
CN201710114185.2A 2017-02-28 2017-02-28 一种登录认证方法及系统 Active CN106686004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710114185.2A CN106686004B (zh) 2017-02-28 2017-02-28 一种登录认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710114185.2A CN106686004B (zh) 2017-02-28 2017-02-28 一种登录认证方法及系统

Publications (2)

Publication Number Publication Date
CN106686004A CN106686004A (zh) 2017-05-17
CN106686004B true CN106686004B (zh) 2019-07-12

Family

ID=58862151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710114185.2A Active CN106686004B (zh) 2017-02-28 2017-02-28 一种登录认证方法及系统

Country Status (1)

Country Link
CN (1) CN106686004B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107276751A (zh) * 2017-06-21 2017-10-20 深圳市盛路物联通讯技术有限公司 一种基于过滤网关的物联网数据过滤方法及系统
JP6991773B2 (ja) 2017-07-31 2022-01-13 キヤノン株式会社 システム、デバイス管理システム、及びその方法
CN107612940A (zh) * 2017-10-31 2018-01-19 飞天诚信科技股份有限公司 一种身份认证方法及认证装置
CN107977776B (zh) * 2017-11-14 2021-05-11 重庆小雨点小额贷款有限公司 信息处理方法、装置、服务器及计算机可读存储介质
CN108566391B (zh) * 2018-03-30 2020-05-12 阿里巴巴集团控股有限公司 一种物联网设备的登录方法和装置
CN110505185A (zh) * 2018-05-18 2019-11-26 神州付(北京)软件技术有限公司 身份验证方法、设备和系统
CN108809953B (zh) * 2018-05-22 2020-09-01 飞天诚信科技股份有限公司 一种基于区块链的匿名身份认证的方法及装置
CN109150541B (zh) * 2018-08-15 2020-05-19 飞天诚信科技股份有限公司 一种认证系统及其工作方法
WO2020035009A1 (zh) 2018-08-15 2020-02-20 飞天诚信科技股份有限公司 认证系统及其工作方法
CN110932858B (zh) * 2018-09-19 2023-05-02 阿里巴巴集团控股有限公司 认证方法和系统
CN109687959B (zh) 2018-12-29 2021-11-12 上海唯链信息科技有限公司 密钥安全管理系统和方法、介质和计算机程序
CN110289958B (zh) * 2019-07-18 2022-05-13 郑州信大捷安信息技术股份有限公司 一种车联网身份认证方法及系统
CN110324361A (zh) * 2019-08-05 2019-10-11 中国工商银行股份有限公司 信息认证的方法、装置、计算设备和介质
CN110572388B (zh) * 2019-09-05 2022-01-04 北京宝兰德软件股份有限公司 对接统一认证服务器的方法及统一认证适配器
CN111414608B (zh) * 2020-03-10 2023-04-18 飞天诚信科技股份有限公司 一种服务器接受注册的方法
CN111600884B (zh) * 2020-05-15 2022-03-15 北京光润通科技发展有限公司 一种网络认证智能卡及方法
CN112202705A (zh) * 2020-08-21 2021-01-08 上海微亿智造科技有限公司 一种数字验签生成和校验方法、系统
CN113726774B (zh) * 2020-10-13 2023-05-02 杭州涂鸦信息技术有限公司 客户端登录认证方法、系统和计算机设备
CN112182542B (zh) * 2020-12-03 2021-03-16 飞天诚信科技股份有限公司 一种生物识别精准匹配的方法和系统
CN114338052B (zh) * 2022-03-16 2022-05-31 飞天诚信科技股份有限公司 一种身份认证的实现方法及装置
CN114584328B (zh) * 2022-05-09 2022-08-02 武汉四通信息服务有限公司 Api接口的访问方法、计算机设备及计算机存储介质
CN115987636B (zh) * 2022-12-22 2023-07-18 北京深盾科技股份有限公司 一种信息安全的实现方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104687A (zh) * 2014-07-28 2014-10-15 飞天诚信科技股份有限公司 一种安全登录的方法和系统
CN105162785A (zh) * 2015-09-07 2015-12-16 飞天诚信科技股份有限公司 一种基于认证设备进行注册的方法和设备
CN105187450A (zh) * 2015-10-08 2015-12-23 飞天诚信科技股份有限公司 一种基于认证设备进行认证的方法和设备
CN105847247A (zh) * 2016-03-21 2016-08-10 飞天诚信科技股份有限公司 一种认证系统及其工作方法
CN106101160A (zh) * 2016-08-26 2016-11-09 北京恒华伟业科技股份有限公司 一种系统登录方法及装置
CN106452738A (zh) * 2016-09-21 2017-02-22 北京神州绿盟信息安全科技股份有限公司 一种登录设备的认证方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104687A (zh) * 2014-07-28 2014-10-15 飞天诚信科技股份有限公司 一种安全登录的方法和系统
CN105162785A (zh) * 2015-09-07 2015-12-16 飞天诚信科技股份有限公司 一种基于认证设备进行注册的方法和设备
CN105187450A (zh) * 2015-10-08 2015-12-23 飞天诚信科技股份有限公司 一种基于认证设备进行认证的方法和设备
CN105847247A (zh) * 2016-03-21 2016-08-10 飞天诚信科技股份有限公司 一种认证系统及其工作方法
CN106101160A (zh) * 2016-08-26 2016-11-09 北京恒华伟业科技股份有限公司 一种系统登录方法及装置
CN106452738A (zh) * 2016-09-21 2017-02-22 北京神州绿盟信息安全科技股份有限公司 一种登录设备的认证方法、装置和系统

Also Published As

Publication number Publication date
CN106686004A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN106686004B (zh) 一种登录认证方法及系统
CN110213246B (zh) 一种广域多因子身份认证系统
CN105069876B (zh) 智能门禁控制的方法和系统
US11030618B1 (en) Authentication and personal data sharing for partner services using out-of-band optical mark recognition
CN106973041B (zh) 一种颁发身份认证凭据的方法、系统及认证服务器
CN103428001B (zh) 一种隐式增强便捷web身份认证方法
CN102664885B (zh) 一种基于生物特征加密和同态算法的身份认证方法
US8595810B1 (en) Method for automatically updating application access security
WO2017032263A1 (zh) 身份认证方法及装置
CN107257336A (zh) 一种用户认证方法及系统
CN105939197B (zh) 一种身份认证方法和系统
CN104767616B (zh) 一种信息处理方法、系统及相关设备
US20170085561A1 (en) Key storage device and method for using same
CN106470201A (zh) 一种用户认证方法和装置
US20190028456A1 (en) System and method for injecting a tag into a computing resource
CN108616360A (zh) 用户身份校验、注册方法及装置
RU2013140418A (ru) Безопасный доступ к персональным записям о состоянии здоровья в экстренных ситуациях
EP2356610A1 (en) Methods, apparatuses, system and related computer program product for privacy-enhanced identity management
CN106301767A (zh) 一种加密通话的处理方法、装置、终端及kmc
US7512967B2 (en) User authentication in a conversion system
CN103391539A (zh) 互联网协议多媒体子系统ims的开户方法、装置及系统
CN109600343A (zh) 车辆的控制方法、装置、移动终端、车辆及远程服务器
CN108985037A (zh) 一种身份验证方法、登录终端及系统
CN107395648A (zh) 权限控制方法及服务端
CN113852628A (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
OL01 Intention to license declared
OL01 Intention to license declared