CN112199663B - 一种无用户名的认证方法及*** - Google Patents

一种无用户名的认证方法及*** Download PDF

Info

Publication number
CN112199663B
CN112199663B CN202011394947.7A CN202011394947A CN112199663B CN 112199663 B CN112199663 B CN 112199663B CN 202011394947 A CN202011394947 A CN 202011394947A CN 112199663 B CN112199663 B CN 112199663B
Authority
CN
China
Prior art keywords
information
authentication
certificate
registration
module
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
CN202011394947.7A
Other languages
English (en)
Other versions
CN112199663A (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 CN202011394947.7A priority Critical patent/CN112199663B/zh
Publication of CN112199663A publication Critical patent/CN112199663A/zh
Application granted granted Critical
Publication of CN112199663B publication Critical patent/CN112199663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种无用户名的认证方法及***,涉及信息安全领域。该方法包括:用户在注册时根据生物识别信息生成认证索引扩展值,将凭证密钥对、凭证ID和用户信息、依赖方信息保存在凭证列表中,将凭证公钥、依赖方信息和认证索引扩展值生成的注册响应发送给认证服务器,认证服务器对注册响应进行验证成功后保存注册响应;在进行认证过程中,根据生物识别信息生成认证索引扩展值,根据认证索引扩展值、凭证列表中的凭证信息、依赖方信息生成的认证响应发送给认证服务器,认证服务器对认证响应进行验证成功后如根据认证响应查找到对应的用户登录信息则并通知用户允许登录。本发明在整个过程无需用户手动输入用户信息,操作更便捷安全。

Description

一种无用户名的认证方法及***
技术领域
本发明涉及信息安全领域,尤其涉及一种无用户名的认证方法及***。
背景技术
目前主流用户认证方式,基本都依托于用户名+静态密码方式或用户名+生物识别方式或用户名+动态密码方式,无论哪种方式,用户都需要手动输入用户名和其他身份信息,操作繁琐,如被其他人偷窥存在安全隐患。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种无用户名的认证方法及***。
本发明提供了一种无用户名的认证方法,包括:
步骤S1:当客户端接收到用户的触发信息时,判断所述触发信息的类型,如为注册请求则执行步骤S2,如为认证请求则执行步骤S9;
步骤S2:所述客户端从认证服务器中获取第一挑战值,根据所述第一挑战值、触发信息的类型、依赖方信息生成第一哈希值;
步骤S3:所述客户端从智能密钥设备中获取设备信息,并根据所述设备信息判断所述智能密钥设备是否支持生物识别认证索引,是则给所述智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,执行步骤S4,否则执行其他操作;所述注册参数包括用户信息、依赖方信息;
步骤S4:所述智能密钥设备解析所述注册指令并根据注册指令解析结果判断是否进行生物识别认证,是则执行步骤S5,否则报错;
步骤S5:当所述智能密钥设备接收到用户输入的可信的生物识别信息时,根据所述生物识别信息生成认证索引扩展值,生成凭证密钥对和对应的凭证ID,将所述凭证密钥对、对应的凭证ID和注册指令解析结果中的注册参数中的用户信息、依赖方信息组成凭证信息并保存在凭证列表中;
步骤S6:所述智能密钥设备根据所述注册指令的解析结果、凭证密钥对中的凭证公钥和所述认证索引扩展值生成注册响应并发送给所述客户端;
步骤S7:所述客户端将所述注册参数的依赖方信息和用户信息、所述注册响应和保存的客户端数据发送给所述认证服务器;
步骤S8:所述认证服务器对所述注册响应和所述客户端数据进行验证,如验证成功则将所述用户信息和所述注册响应对应保存,并给所述客户端返回注册成功信息,返回步骤S1;
步骤S9:所述客户端从认证服务器中获取第二挑战值,根据所述第二挑战值、触发信息的类型和依赖方信息生成第二哈希值;
步骤S10:所述客户端从智能密钥设备中获取设备信息并根据所述设备信息判断所述智能密钥设备是否支持生物认证,是则向所述智能密钥设备发送包含第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤S11,否则执行其他操作;
步骤S11:所述智能密钥设备解析所述认证指令并根据认证指令解析结果判断是否可进行生物识别认证,是则执行步骤S12,否则报错;
步骤S12:当所述智能密钥设备接收到用户输入的可信的生物识别信息且需对所述生物识别信息进行计算时,根据所述生物识别信息生成认证索引扩展值;
步骤S13:所述智能密钥设备根据保存的凭证列表中的凭证信息、所述认证指令解析结果和所述认证索引扩展值生成认证响应并返回给所述客户端;
步骤S14:所述客户端将所述认证响应、保存的客户端数据和所述依赖方信息发送给所述认证服务器;
步骤S15:所述认证服务器判断认证响应中的认证索引扩展值与保存的注册响应中的认证索引扩展值是否匹配,是则执行步骤S16,否则报错;
步骤S16:所述认证服务器对所述认证响应和所述客户端数据进行验证,如验证成功则根据认证指令解析结果中的凭证信息中的凭证ID查找对应的用户帐号,根据所述用户信息中的用户帐号所对应的登录信息通知所述客户端允许对应的用户登录。
本发明又提供了一种无用户名的认证***,包括客户端、智能密钥设备和认证服务器,所述客户端包括:第一接收判断模块、第一获取生成模块、第一获取判断模块、第一接收发送模块、第二获取生成模块、第二获取判断模块和第二接收发送模块;所述智能密钥设备包括:第一解析判断模块、第一接收生成模块、第一生成发送模块、第二解析判断模块、第二接收生成模块和第二生成发送模块;所述认证服务器包括第一验证模块、第二验证模块、判断报错模块和第一查找模块;
所述第一接收判断模块,用于当接收到用户的触发信息时,判断所述触发信息的类型,如为注册请求则触发所述第一获取生成模块,如为认证请求则触发所述第二获取生成模块;
所述第一获取生成模块,用于从所述认证服务器中获取第一挑战值,根据所述第一挑战值、触发信息的类型、依赖方信息生成第一哈希值;
所述第一获取判断模块,用于从智能密钥设备中获取设备信息,并根据所述设备信息判断所述智能密钥设备是否支持生物识别认证索引,是则给所述智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,触发所述第一解析判断模块,否则执行其他操作;所述注册参数包括用户信息、依赖方信息;
所述第一解析判断模块,用于解析所述注册指令并根据注册指令解析结果判断是否进行生物识别认证,是则触发所述第一接收生成模块,否则报错;
所述第一接收生成模块,用于当接收到用户输入的可信的生物识别信息时,根据所述生物识别信息生成认证索引扩展值,生成凭证密钥对和对应的凭证ID,将所述凭证密钥对、对应的凭证ID和注册指令解析结果中的注册参数中的用户信息、依赖方信息组成凭证信息并保存在凭证列表中;
所述第一生成发送模块,用于根据所述注册指令的解析结果、凭证密钥对中的凭证公钥和所述认证索引扩展值生成注册响应并发送给所述客户端;
所述第一接收发送模块,用于接收所述智能密钥设备发送的注册响应,将所述注册参数的依赖方信息和用户信息、所述注册响应和保存的客户端数据发送给所述认证服务器;
所述第一验证模块,用于接收所述注册响应和所述客户端数据并对所述注册响应和所述客户端数据进行验证,如验证成功则将所述用户信息和所述注册响应对应保存,并给所述客户端返回注册成功信息,触发所述第一接收判断模块;
所述第二获取生成模块,用于从认证服务器中获取第二挑战值,根据所述第二挑战值、触发信息的类型和依赖方信息生成第二哈希值;
所述第二获取判断模块,用于从智能密钥设备中获取设备信息并根据所述设备信息判断所述智能密钥设备是否支持生物认证,是则向所述智能密钥设备发送包含第二哈希值和认证参数的支持生物识别索引扩展的认证指令,触发所述第二解析判断模块,否则执行其他操作;
所述第二解析判断模块,用于解析所述认证指令并根据认证指令解析结果判断是否可进行生物识别认证,是则触发所述第二接收生成模块,否则报错;
所述第二接收生成模块,用于当接收到用户输入的可信的生物识别信息且需对所述生物识别信息进行计算时,根据所述生物识别信息生成认证索引扩展值;
所述第二生成发送模块,用于根据保存的凭证列表中的凭证信息、所述认证指令解析结果和所述认证索引扩展值生成认证响应并返回给所述客户端;
所述第二接收发送模块,用于接收所述智能密钥设备发送的认证响应,将所述认证响应、保存的客户端数据和所述依赖方信息发送给所述认证服务器;
所述第一判断报错模块,用于判断接收到的认证响应中的认证索引扩展值与保存的注册响应中的认证索引扩展值是否匹配,是则触发所述第二验证模块,否则报错;
所述第二验证模块,用于对所述认证响应和所述客户端数据进行验证;
所述第一查找模块,用于在所述第二验证模块验证成功时根据认证指令解析结果中的凭证信息中的凭证ID查找对应的用户信息,根据所述用户信息中的用户帐号所对应的登录信息通知所述客户端允许对应的用户登录。
本发明与现有技术相比,具有以下优点:
本发明技术方案在注册过程中,智能密钥设备将生成的凭证密钥内部保存;在验证过程中,认证服务器下发的用户列表为空表明当前为无用户名认证操作,将凭证信息填充到凭证列表中并返回客户端;客户端提示用户选择要认证的凭证信息,将选择的凭证信息发送给认证服务器进行认证,当认证成功后,该凭证信息对应的用户即可登录应用,整个认证过程无需用户手动输入用户信息,操作更便捷安全。
附图说明
图1为本发明实施例一提供的一种无用户名的认证方法流程图;
图2和图3为本发明实施例二提供的一种无用户名的认证方法流程图;
图4为本发明实施例三提供的一种无用户名的认证***方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种无用户名的认证方法,如图1所示,包括:
步骤S1:当客户端接收到用户的触发信息时,判断触发信息的类型,如为注册请求则执行步骤S2,如为认证请求则执行步骤S9;
步骤S2:客户端从认证服务器中获取第一挑战值,根据第一挑战值、触发信息的类型、依赖方信息生成第一哈希值;
具体的,在本实施例中,步骤S2包括:
步骤S21:客户端向认证服务器发送注册请求;
进一步地,步骤S21具体为:客户端弹出对话框提示用户输入依赖方信息、用户信息,根据预置的凭证公私钥对的算法参数、要求密钥保存标识、需要生物特征计算标识、需要生物识别验证、依赖方信息、用户信息生成注册请求并发送给认证服务器;
步骤S22:认证服务器生成第一挑战值,根据注册请求中的注册参数和第一挑战值生成注册信息并返回给所述客户端;
步骤S23:客户端解析注册信息得到第一挑战值,根据第一挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对客户端数据进行哈希计算得到第一哈希值;
步骤S3:客户端从智能密钥设备中获取设备信息,并根据设备信息判断智能密钥设备是否支持生物识别认证索引,是则给智能密钥设备发送包含第一哈希值和根据用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,执行步骤S4,否则执行其他操作;
本实施例中的注册参数包括用户信息、依赖方信息;用户信息包括用户帐号;
具体的,在本实施例中,步骤S3包括:
步骤S31:客户端给智能密钥设备发送获取设备信息指令;
步骤S32:智能密钥设备给客户端返回设备信息;
步骤S33:客户端根据设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向智能密钥设备发送包含第一哈希值和根据用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,执行步骤S4,否则执行其他操作;
进一步地,步骤S33具体为:客户端判断设备信息中的支持生物识别索引扩展标识是否为真,是则向智能密钥设备发送包含第一哈希值和根据用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,执行步骤S4,否则执行其他操作;
步骤S4:智能密钥设备解析注册指令并根据注册指令解析结果判断是否进行生物识别认证,是则执行步骤S5,否则报错;
具体的,在本实施例中,步骤S4包括:
步骤S41:智能密钥设备接收并解析注册指令得到注册参数和第一哈希值;
步骤S42:智能密钥设备根据注册参数判断是否允许将产生的凭证密钥保存到设备,是则执行步骤S43,否则执行其他操作;
进一步地,步骤S42包括:智能密钥设备判断注册参数中的要求密钥保存标识是否为真,是则执行步骤S43,否则执行其他操作;
步骤S43:智能密钥设备判断设备本身是否支持凭证密钥存储,是则执行步骤S44,否则报错;
步骤S44:智能密钥设备判断是否有空间保存凭证密钥,是则执行步骤S45,否则报错;
步骤S45:智能密钥设备根据注册参数判断是否需要生物识别认证,是则执行步骤S46,否则执行其他操作;
进一步地,步骤S45包括:智能密钥设备判断注册参数中是否有需要生物识别认证标识,是则执行步骤S46,否则执行其他操作;
步骤S46:智能密钥设备判断设备本身是否支持生物识别验证,是则执行步骤S5,否则报错;
步骤S5:当智能密钥设备接收到用户输入的可信的生物识别信息时,根据生物识别信息生成认证索引扩展值,生成凭证密钥对和对应的凭证ID,将凭证密钥对、对应的凭证ID和注册指令解析结果中的注册参数中的用户信息、依赖方信息组成凭证信息并保存在凭证列表中;
可选的,在本实施例中,步骤S5中根据生物识别信息生成认证索引扩展值之前还包括:
步骤A1:当智能密钥设备接收到用户输入的生物识别信息时,判断生物识别信息是否可信,是则执行步骤A2,否则报错;
进一步地,步骤A1包括:智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,判断用户输入的生物识别信息与生物识别模块中的信息是否匹配,若匹配则执行步骤A2,否则报错;
步骤A2:智能密钥设备根据注册指令解析结果判断是否需要对生物识别信息进行计算,是则执行步骤S5,否则执行其他操作;
进一步地,步骤A2具体为:智能密钥设备判断注册指令解析结果中的注册参数中的需要生物特征计算标识是否为真,是则执行步骤S5,否则执行其他操作;
对应的,步骤S5中的根据生物识别信息生成认证索引扩展值,具体为:根据匹配的生物识别模块中的信息生成认证索引扩展值;
具体的,在本实施例中,步骤S5包括:
步骤S51:智能密钥设备根据生物识别信息生成认证索引扩展值,根据预设算法生成凭证密钥对和对应的凭证ID;
步骤S52:智能密钥设备判断是否保存有与注册指令解析结果中的注册参数中的用户信息和依赖方信息对应的凭证密钥对,是则执行步骤S53,否则执行步骤S54;
步骤S53:智能密钥设备用生成的凭证密钥对替换保存的凭证密钥对,执行步骤S6;
步骤S54:智能密钥设备将用户信息、依赖方信息与凭证密钥对、凭证ID对应保存在凭证列表中,执行步骤S6;
步骤S6:智能密钥设备根据注册指令的解析结果、凭证密钥对中的凭证公钥和认证索引扩展值生成注册响应并发送给客户端;
在本实施例中,步骤S6具体为:智能密钥设备对注册指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据默认的认证次数、认证索引扩展值、依赖方信息哈希值、凭证密钥对中的凭证公钥和对应的凭证ID生成注册数据,使用设备私钥对注册指令解析结果中的第一哈希值和注册数据进行签名得到第一签名值,根据注册数据、设备证书链和第一签名值生成注册响应并发送给客户端;
步骤S7:客户端将注册参数的依赖方信息和用户信息、注册响应和保存的客户端数据发送给认证服务器;
具体的,步骤S7包括:客户端将注册响应和保存的客户端数据发送给依赖方,依赖方调用验证接口将将注册参数的依赖方信息和用户信息、注册响应和客户端数据发送给认证服务器;
步骤S8:认证服务器对注册响应和客户端数据进行验证,如验证成功则将用户信息和注册响应对应保存,并给客户端返回注册成功信息,返回步骤S1;在本实施例中,如验证成功则认证服务器将依赖方信息、用户信息和注册响应对应保存;
步骤S9:客户端从认证服务器中获取第二挑战值,根据第二挑战值、触发信息的类型和依赖方信息生成第二哈希值;
具体的,在本实施例中,步骤S9包括:
步骤S9-1:客户端向认证服务器发送认证请求;
步骤S9-2:认证服务器生成第二挑战值,根据认证请求中的认证参数和第二挑战值生成认证信息;
步骤S9-3:认证服务器将认证信息返回给客户端;
步骤S9-4:客户端解析认证信息得到第二挑战值,根据第二挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对客户端数据进行哈希计算得到第二哈希值;
步骤S10:客户端从智能密钥设备中获取设备信息并根据设备信息判断该智能密钥设备是否支持生物认证,是则向智能密钥设备发送包含第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤S11,否则执行其他操作;
具体的,在本实施例中,步骤S10包括:
步骤S10-1:客户端给智能密钥设备发送获取设备信息指令;
步骤S10-2:智能密钥设备给客户端返回设备信息;
步骤S10-3:客户端根据设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向智能密钥设备发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤S11,否则执行其他操作;
进一步地,步骤S10-3具体为:客户端判断设备信息中的支持生物识别验证索引扩展标识是否为真,是则向智能密钥设备发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤S11,否则执行其他操作;
步骤S11:智能密钥设备解析认证指令并根据认证指令解析结果判断是否可进行生物识别认证,是则执行步骤S12,否则报错;
具体的,在本实施例中,步骤S11包括:
步骤S11-1:智能密钥设备接收并解析认证指令得到认证参数和第二哈希值;
步骤S11-2:智能密钥设备根据认证指令解析结果判断是否需要生物识别认证,是则执行步骤S11-3,否则执行其他操作;
进一步地,步骤S11-2包括:智能密钥设备判断认证指令解析结果中是否有需要生物识别认证标识,是则执行步骤S11-3,否则执行其他操作;
步骤S11-3:智能密钥设备判断设备本身是否支持生物识别验证,是则执行步骤S12,否则报错;
步骤S12:当智能密钥设备接收到用户输入的可信的生物识别信息且需对生物识别信息进行计算时,根据生物识别信息生成认证索引扩展值;
可选的,在本实施例中,步骤S12之前包括:
步骤B1:智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息后,判断用户输入的生物识别信息与保存的生物识别模块中的信息是否匹配,若匹配成功,则执行步骤B2,否则报错;
步骤B2:智能密钥设备根据认证指令解析结果判断是否需要对生物识别信息进行计算,是则执行步骤S12,否则执行其他操作;
其中,步骤B2包括:智能密钥设备判断认证指令解析结果中的需要生物特征计算标识是否为真,是则根据生物识别信息生成认证索引扩展值,执行步骤S15,否则执行其他操作;
对应的,步骤S12中的根据生物识别信息生成认证索引扩展值,具体为:根据匹配的生物识别模块中的信息生成认证索引扩展值;
可选的,在本实施例中,步骤S12与步骤S13之间还包括:
步骤Y1:智能密钥设备判断认证指令解析结果中是否存在凭证列表,是则进行有用户认证流程,否则执行步骤Y2;
步骤Y2:智能密钥设备根据认证指令解析结果中的依赖方信息在保存的凭证列表中查找对应的凭证信息,若找到则执行步骤S13,若未找到则报错;
步骤S13:智能密钥设备根据保存的凭证列表中的凭证信息、认证指令解析结果和认证索引扩展值生成认证响应并返回给客户端;
步骤S14:客户端将认证响应、保存的客户端数据和依赖方信息发送给认证服务器;
具体的,在本实施例中,步骤S14包括:客户端将认证响应和保存的客户端数据发送给依赖方,依赖方调用验证接口转发认证响应和客户端数据给认证服务器;
步骤S15:认证服务器判断认证响应中的认证索引扩展值与保存的注册响应中的认证索引扩展值是否匹配,是则执行步骤S16,否则报错;
步骤S16:认证服务器对认证响应和客户端数据进行验证,如验证成功则根据认证指令解析结果中的凭证信息中的凭证ID查找对应的用户信息,根据用户信息中的用户帐号所对应的登录信息通知客户端允许对应的用户登录;
具体的,本实施例的步骤S15中的根据认证指令解析结果中的凭证信息查找对应的用户登录信息并通知客户端允许对应的用户登录,包括:
步骤P1:认证服务器用认证响应中的认证次数替换保存的认证次数,根据认证响应的凭证信息中的凭证ID查找对应的用户登录信息,并将查找到的用户登录信息返回给客户端;
步骤P2:客户端根据接收到的用户登录信息设置对应用户的登录状态机的资源权限;
例如,客户端根据接收到的用户登录信息设置对应用户的登录状态机为允许登录。
在本实施例的方法中,凭证列表中可以有一条凭证信息,也可以有多条凭证信息,则相应的,步骤S13和步骤S14包括:
步骤F1:智能密钥设备判断凭证列表中是否只有一条凭证信息,是则执行步骤F2,否则执行步骤F4;
步骤F2:智能密钥设备对认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、认证索引扩展值、依赖方信息哈希值、凭证信息中的凭证公钥和凭证ID生成认证数据,使用凭证私钥对认证数据和认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据凭证ID、凭证信息的数量、认证指令解析结果中的用户信息、认证数据和第二签名值生成认证响应并返回给客户端,执行步骤F3;
步骤F3:客户端将认证响应和保存的客户端数据发送给认证服务器,执行步骤S15;
步骤F4:智能密钥设备在凭证列表中按照保存凭证密钥对的逆序排列凭证信息,并用第一条凭证信息作为当前凭证信息;
步骤F5:智能密钥设备对认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、认证索引扩展值、依赖方信息哈希值、当前凭证信息中的凭证公钥和对应的凭证ID生成认证数据,使用当前凭证信息中的凭证私钥对认证数据和认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据凭证ID、凭证信息的数量、认证指令解析结果中的用户信息、认证数据和第二签名值生成认证响应并返回给客户端,执行步骤F6;
步骤F6:客户端根据凭证信息总量判断是否接收到凭证列表对应的所有认证响应,是则执行步骤F9,否则执行步骤F7;
步骤F7:客户端给智能密钥设备发送获取下一条凭证指令;
步骤F8:智能密钥设备将凭证列表中的下一条凭证信息作为当前凭证信息,返回步骤F5;
步骤F9:客户端显示接收到的所有认证响应并提示用户进行选择,当接收到用户的选择信息时,将用户选择的认证响应、保存的客户端数据和依赖方信息发送给认证服务器,执行步骤S15。
本实施例提供的认证方法在注册过程中,智能密钥设备将生成的凭证密钥内部保存;在验证过程中,认证服务器下发的用户列表为空表明当前为无用户名认证操作,将凭证信息填充到凭证列表中并返回客户端;客户端提示用户选择要认证的凭证信息,将选择的凭证信息发送给认证服务器进行认证,当认证成功后,该凭证信息对应的用户即可登录应用,整个过程无需用户手动输入用户信息,操作更便捷安全。
实施例二
本发明实施例二提供一种无用户名的认证方法,本实施例的方法如图2和图3所示,包括:
步骤101:客户端接收到用户的触发信息时,判断触发信息的类型,如为注册请求则向认证服务器发送注册请求,执行步骤102,如为认证请求则执行步骤201;
在本实施例中,注册请求中的注册参数包括凭证公私钥对的算法参数、依赖方信息、用户信息和注册可选项,注册可选项包括:要求密钥保存标识、需要生物特征计算标识、需要生物识别验证等等;
步骤101具体为:客户端接收到用户的触发信息时,如判断触发信息的类型为注册请求,则客户端弹出对话框提示用户输入依赖方信息、用户信息,根据预置的凭证公私钥对的算法参数、要求密钥保存标识、需要生物特征计算标识、需要生物识别验证和依赖方信息、用户信息生成注册请求并发送给认证服务器;
例如,注册参数如下:
attestation: "direct"
authenticatorSelection: {authenticatorAttachment: "cross-platform",requireResidentKey: true, userVerification: "required"}
pubKeyCredParams: [{type: "public-key", alg: -7}]
rp: {id: "s1.ftsafe.cn", name: "WebAuthn Test"}
user: {name: "Fwhem", displayName: "Fwhem", id: "RndoZW0"}
extensions:{"uvi":true}
其中,requireResidentKey表示的允许保存凭证密钥(即rk为true),userVerification: "required"表示需要生物识别验证(即uv为true),type: "public-key", alg: -7为凭证公私钥对的算法参数,id: "s1.ftsafe.cn", name: "WebAuthnTest"为依赖方信息,name: "Fwhem", displayName: "Fwhem", id: "RndoZW0"为用户信息,"uvi":true为需要生物特征计算标识;
步骤102:认证服务器生成第一挑战值,根据注册请求中的注册参数和第一挑战值生成注册信息;
在本实施例中,注册参数包括:依赖方信息、用户信息及注册可选项;可选的,注册可选项包括:要求密钥保存标识、需要生物识别认证、需要生物特征计算标识等;
例如,注册信息包含数据如下:
attestation: "direct"
authenticatorSelection: {authenticatorAttachment: "cross-platform", requireResidentKey: true, userVerification: "required"}
challenge: "8tnUf7Yf9RIrzWbLkaJU-aYxnGDK3lIplmz_dvEvUEE"
pubKeyCredParams: [{type: "public-key", alg: -7}]
rp: {id: "s1.ftsafe.cn", name: "WebAuthn Test"}
user: {name: "Fwhem", displayName: "Fwhem", id: "RndoZW0"}
extensions:{"uvi":true}
其中,8tnUf7Yf9RIrzWbLkaJU-aYxnGDK3lIplmz_dvEvUEE为第一挑战值,requireResidentKey表示的允许保存凭证密钥(即rk为true),userVerification: "required"表示需要生物识别验证(即uv为true),type: "public-key", alg: -7为凭证公私钥对的算法参数,id: "s1.ftsafe.cn", name: "WebAuthn Test"为依赖方信息,name:"Fwhem", displayName: "Fwhem", id: "RndoZW0"为用户信息,"uvi":true为需要生物特征计算标识;
步骤103:认证服务器将注册信息返回给客户端;
具体的,在本实施例中,步骤103包括:认证服务器将注册信息发送给依赖方,依赖方调用Webauthn API转发注册信息给客户端;
步骤104:客户端解析注册信息得到第一挑战值,根据第一挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对客户端数据进行哈希计算得到第一哈希值;
步骤105:客户端给智能密钥设备发送获取设备信息指令;
例如,本实施例中的获取设备信息指令为: 00 00 00 00 01 90 00 01 04 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00;
步骤106:智能密钥设备给客户端返回设备信息;
例如,本实施例中的设备信息为:{1: ["FIDO_2_0", "FIDO_2_1_PRE"], 2: ["hmac-secret","uvi"], 3: h'77010BD7212A4FC9B236D2CA5E9D4084', 4: {"rk": true,"up": true, "uv": true, "plat": false, "clientPin": true, "credentialMgmtPreview": true, "userVerificationMgmtPreview": true}, 5: 2048,6: [1]};"rk": true表示的允许保存凭证密钥,"uv": true表示支持生物识别验证,"userVerificationMgmtPreview": true为支持生物特征计算标识;
步骤107:客户端根据设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向智能密钥设备发送包含第一哈希值和注册参数的支持生物识别索引扩展的注册指令,执行步骤108,否则执行其他操作;
具体的,步骤107包括:客户端判断设备信息中的支持生物识别索引扩展标识是否为真,是则向智能密钥设备发送包含第一哈希值和注册参数的支持生物识别索引扩展的注册指令,执行步骤108,否则执行其他操作;
例如,客户端判断设备信息中是否包含uvi扩展项,是则支持生物识别索引扩展,否则不支持生物识别索引扩展;
示例1::支持生物识别索引扩展的注册指令为:{1: h'06707EA20E0E165A1F5E544CD30D70530BA6B9060AD88BC2CBFD8EE75EB845D3', 2: {"id": "s1.ftsafe.cn", "name": "WebAuthn Test"}, 3: {"id": h'467768656D', "name": "Fwhem", "displayName": "Fwhem"}, 4: [{"alg": -7, "type": "public-key"}],6:{"uvi":true}, 7: {"rk": true, "uv": true}};
步骤108:智能密钥设备接收并解析注册指令得到第一哈希值和注册参数;
步骤109:智能密钥设备根据注册参数判断是否允许将产生的凭证密钥保存到设备,是则执行步骤110,否则执行其他操作;
具体的,步骤109包括:智能密钥设备判断注册参数中的要求密钥保存标识是否为真,是则执行步骤110,否则执行其他操作;
例如,智能密钥设备判断注册指令解析结果中的rk的值是否为true,是则允许密钥保存到设备,否则不允许密钥保存到设备;
步骤110:智能密钥设备判断设备本身是否支持凭证密钥存储,是则执行步骤111,否则报错;
例如,智能密钥设备判断设备信息中是否包含rk信息,是则允许密钥保存到设备,否则不允许密钥保存到设备;
步骤111:智能密钥设备判断是否有空间保存凭证密钥,是则执行步骤112,否则报错;
步骤112:智能密钥设备根据注册参数判断是否需要生物识别认证,是则执行步骤113,否则执行其他操作;
具体的,步骤112包括:智能密钥设备判断注册参数中是否有需要生物识别认证标识,是则执行步骤113,否则执行其他操作;
例如,智能密钥设备判断注册指令解析结果中的注册参数中的uv的值是否为true,是则需要生物识别认证,否则不需要生物识别认证;
步骤113:智能密钥设备判断设备本身是否支持生物识别验证,是则执行步骤114,否则报错;
例如,智能密钥设备判断设备信息中是否包含uv信息,是则支持生物识别验证,否则不支持生物识别验证;
步骤114:智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息时判断生物识别信息是否可信,是则执行步骤115,否则报错;
具体的,本实施例中的生物识别信息为指纹;
优选的,在本实施例中,步骤114包括:智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,判断用户输入的生物识别信息与生物识别模块中保存的信息是否匹配,若匹配则执行步骤115,否则报错;
步骤115:智能密钥设备根据注册参数判断是否需要对生物识别信息进行计算,是则执行步骤116,否则执行其他操作;
具体的,步骤115包括:智能密钥设备判断注册参数中的需要生物特征计算标识是否为真,是则需要对生物识别信息进行计算,执行步骤116,否则执行其他操作;
例如,在本实施例中,例如,智能密钥设备判断注册指令解析结果的中注册参数中的uvi的值是否为true,是则需要对生物识别信息进行计算,否则不需要对生物识别信息进行计算;
步骤116:智能密钥设备根据生物识别信息生成认证索引扩展值,根据预设算法生成凭证密钥对和对应的凭证ID;
具体的,本实施例中的凭证密钥对包括凭证私钥和凭证公钥;凭证密钥对和对应的凭证ID统称为凭证信息;
其中,根据所述生物识别信息生成认证索引扩展值,具体为:根据匹配的生物识别模块中的信息生成认证索引扩展值;
具体地,生成认证索引扩展值可以通过多种方式,并不限于公开的下述两种方式;
第一种方式:将生物识别模块中的生物特征数据、用户标识、设备执行工厂重置时改变的标识符顺序拼接得到第一中间结果,将凭证ID与第一中间结果进行拼接并对拼接结果进行哈希运算得到认证索引扩展值;
第二种方式:将依赖方标识与生物识别模块中的生物识别模式进行拼接得到第二中间结果,将凭证公钥 与第二中间结果进行拼接并对拼接结果进行哈希运算得到认证索引扩展值;
步骤117:智能密钥设备判断是否保存有与用户信息和依赖方信息对应的凭证密钥对,是则执行步骤118,否则执行步骤119;
步骤118:智能密钥设备用生成的凭证密钥对替换保存的凭证密钥对,执行步骤120;
步骤119:智能密钥设备将用户信息、依赖方信息与凭证密钥对、凭证ID组成凭证信息并保存在凭证列表中,执行步骤120;
步骤120:智能密钥设备对依赖方信息进行哈希运算得到依赖方信息哈希值,根据默认的认证次数、认证索引扩展值、依赖方信息哈希值、凭证密钥对中的凭证公钥和对应的凭证ID生成注册数据,使用设备私钥对注册指令解析结果中的第一哈希值和注册数据进行签名得到第一签名值,根据注册数据、设备证书链和第一签名值生成注册响应并发送给客户端;
具体的,在本实施例中,用户使用智能密钥设备第一次进行注册时,设备内的认证次数的默认值为0;
例如,本实施例中的注册响应为:{1: "packed", 2: h'BDF5DD182D072484A38E0EC16AB3CF65319CDDDFC66B2F9EA61BC56BB72EC7BD45000001D677010BD7212A4FC9B236D2CA5E9D40840020E34D4B91F8AF68FB754271914686D41A775019C9C2B2F441B4100D9C53C7C088A5010203262001215820DB2B475B04BF15EBD88C24E53A176CF77B2C823984B05AC1EC3F68D13485F977225820278E13434A7951DA083C5B7478158F56F80E05D2B219EDDC9BDA63EE2A433D87', 3: {"alg": -7, "sig": h'3045022100C6E17B20E70C6107290A9F2AC49D2BCCFDE4FCA2FA3EFD45C60D70A992F505B902202C97E9F294EFA5886EC6196143DA0D93468F3FDCF5397B3F927C85863A265F93', "x5c": [h'308201E53082018CA003020102020900D79549BD1A671761300A06082A8648CE3D04030230173115301306035504030C0C4654204649444F20303230303020170D3138303831333030303030305A180F32303333303831323233353935395A306F310B3009060355040613025553311D301B060355040A0C144665697469616E20546563686E6F6C6F6769657331223020060355040B0C1941757468656E74696361746F72204174746573746174696F6E311D301B06035504030C1446542042696F50617373204649444F32205553423059301306072A8648CE3D020106082A8648CE3D03010703420004B0673C92BCFA06A6BAF70BD8DBF6379838984C6CE4035B182447B8DBC6890D3D824596809BB889AA89FED219B103419D06859F301E01FF5AFB1EE6D26071A6B3A3673065301D0603551D0E04160414EF12B446563A31DFBBB62E31F66D678ABBDF35153013060B2B0601040182E51C0201010404030205203021060B2B0601040182E51C0101040412041077010BD7212A4FC9B236D2CA5E9D4084300C0603551D130101FF04023000300A06082A8648CE3D040302034700304402202B41A64C9FD77773884194269CC8F9B91330737F9909BB1B224E71566F74C80402203189CBA43A868AD98C4A014FDBD15A220961A4172A3D52981954D8A080E05162', h'3082017E30820125A003020102020101300A06082A8648CE3D04030230173115301306035504030C0C4654204649444F20303230303020170D3136303530313030303030305A180F32303530303530313030303030305A30173115301306035504030C0C4654204649444F20303230303059301306072A8648CE3D020106082A8648CE3D03010703420004D066AD1A953B1CED4C954DD7DBED76A70BEED2907A89769E7336FF2620BE4B199EBE7448A6D5808124CC74153AEF342D5104DE556178ED478E08310254FAA385A360305E301D0603551D0E041604144915642DD5BBC6DE333A5E0995FC872336D3BF0B301F0603551D230418301680144915642DD5BBC6DE333A5E0995FC872336D3BF0B300C0603551D13040530030101FF300E0603551D0F0101FF040403020106300A06082A8648CE3D04030203470030440220307CFAA021621407E40105A546B1D1F2D2CE51331964CE9497FF34B24D9994A50220076C09EA765133CA17FE7038DD187A489A2F3365F00821FFFFE2E2AC101B0743']}};
步骤121:客户端接收注册响应,并将注册参数中的依赖方信息、用户信息、注册响应和客户端数据发送给认证服务器;
具体的,客户端将注册响应和客户端数据发送给依赖方,依赖方调用验证接口将依赖方信息、用户信息、注册响应和客户端数据发送给认证服务器;
例如,本实施例中的客户端数据为:eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoid3hUSUZFejM3ZVA4Z2lVS2txV29Jd0wwWmx5TG5aa3FwVENDZE1MY1Q2dyIsIm9yaWdpbiI6Imh0dHBzOi8vczEuZnRzYWZlLmNuIiwiY3Jvc3NPcmlnaW4iOmZhbHNlLCJleHRyYV9rZXlzX21heV9iZV9hZGRlZF9oZXJlIjoiZG8gbm90IGNvbXBhcmUgY2xpZW50RGF0YUpTT04gYWdhaW5zdCBhIHRlbXBsYXRlLiBTZWUgaHR0cHM6Ly9nb28uZ2wveWFiUGV4In0;
注册响应为:{id: "401LkfivaPt1QnGRRobUGndQGcnCsvRBtBANnFPHwIg",rawId:"401LkfivaPt1QnGRRobUGndQGcnCsvRBtBANnFPHwIg",type: "public-key",response:{clientDataJSON: "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoid3hUSUZFejM3ZVA4Z2lVS2txV29Jd0wwWmx5TG5aa3FwVENDZE1MY1Q2dyIsIm9yaWdpbiI6Imh0dHBzOi8vczEuZnRzYWZlLmNuIiwiY3Jvc3NPcmlnaW4iOmZhbHNlLCJleHRyYV9rZXlzX21heV9iZV9hZGRlZF9oZXJlIjoiZG8gbm90IGNvbXBhcmUgY2xpZW50RGF0YUpTT04gYWdhaW5zdCBhIHRlbXBsYXRlLiBTZWUgaHR0cHM6Ly9nb28uZ2wveWFiUGV4In0",attestationObject:"o2NmbXRmcGFja2VkZ2F0dFN0bXSjY2FsZyZjc2lnWEYwRAIgRBTluyG66bZo6sMH9hEFl1yrXYT5ay9rTmGfjIks7ccCIAkwQxRd9ZgOgurp61qKxW03T2ZJ-UHBfK688st4GoBHY3g1Y4JZAekwggHlMIIBjKADAgECAgkA15VJvRpnF2EwCgYIKoZIzj0EAwIwFzEVMBMGA1UEAwwMRlQgRklETyAwMjAwMCAXDTE4MDgxMzAwMDAwMFoYDzIwMzMwODEyMjM1OTU5WjBvMQswCQYDVQQGEwJVUzEdMBsGA1UECgwURmVpdGlhbiBUZWNobm9sb2dpZXMxIjAgBgNVBAsMGUF1dGhlbnRpY2F0b3IgQXR0ZXN0YXRpb24xHTAbBgNVBAMMFEZUIEJpb1Bhc3MgRklETzIgVVNCMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsGc8krz6Bqa69wvY2_Y3mDiYTGzkA1sYJEe428aJDT2CRZaAm7iJqon-0hmxA0GdBoWfMB4B_1r7HubSYHGms6NnMGUwHQYDVR0OBBYEFO8StEZWOjHfu7YuMfZtZ4q73zUVMBMGCysGAQQBguUcAgEBBAQDAgUgMCEGCysGAQQBguUcAQEEBBIEEHcBC9chKk_JsjbSyl6dQIQwDAYDVR0TAQH_BAIwADAKBggqhkjOPQQDAgNHADBEAiArQaZMn9d3c4hBlCacyPm5EzBzf5kJuxsiTnFWb3TIBAIgMYnLpDqGitmMSgFP29FaIglhpBcqPVKYGVTYoIDgUWJZAYIwggF-MIIBJaADAgECAgEBMAoGCCqGSM49BAMCMBcxFTATBgNVBAMMDEZUIEZJRE8gMDIwMDAgFw0xNjA1MDEwMDAwMDBaGA8yMDUwMDUwMTAwMDAwMFowFzEVMBMGA1UEAwwMRlQgRklETyAwMjAwMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0GatGpU7HO1MlU3X2-12pwvu0pB6iXaeczb_JiC-SxmevnRIptWAgSTMdBU67zQtUQTeVWF47UeOCDECVPqjhaNgMF4wHQYDVR0OBBYEFEkVZC3Vu8beMzpeCZX8hyM2078LMB8GA1UdIwQYMBaAFEkVZC3Vu8beMzpeCZX8hyM2078LMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH_BAQDAgEGMAoGCCqGSM49BAMCA0cAMEQCIDB8-qAhYhQH5AEFpUax0fLSzlEzGWTOlJf_NLJNmZSlAiAHbAnqdlEzyhf-cDjdGHpImi8zZfAIIf__4uKsEBsHQ2hhdXRoRGF0YVikvfXdGC0HJISjjg7BarPPZTGc3d_Gay-ephvFa7cux71FAAACBHcBC9chKk_JsjbSyl6dQIQAINToP3Db13WWTLcubXFJgvGxjROt3QkoJ838b04DEGCHpQECAyYgASFYILLyLms11KOHpbWgjnnUWe0FHj3bwZH6NqisOCJuewNWIlggKaRlCjARJ72InKslE27--1QnT5N0dm-e6dLgrYwzCjc"}};
步骤122:认证服务器对接收到的客户端数据和注册响应进行验证,如验证成功则执行步骤123,如验证失败则给客户端返回注册失败信息;
步骤123:认证服务器将注册响应与用户信息对应保存,并给客户端返回注册成功信息,返回步骤101;
具体的,认证服务器将接收到的用户信息与注册响应中的凭证密钥对的凭证公钥、依赖方信息和认证索引扩展值对应保存。
步骤201:客户端向认证服务器发送认证请求;
具体的,认证请求中的认证参数包含依赖方信息、需要生物识别认证、需要生物特征计算标识;
步骤201具体为:客户端弹出对话框提示用户输入依赖方信息,根据预置的需要生物特征计算标识、需要生物识别验证和依赖方信息生成认证请求并发送给认证服务器;
例如,本实施例中的依赖方信息为s1.ftsafe.cn,需要生物识别认证required,需要生物特征计算标识uvi=true;
步骤202:认证服务器生成第二挑战值,根据认证请求中的认证参数和第二挑战值生成认证信息;
例如,本实施例中该步骤的认证信息为:{"challenge":"X9HsqEnDZOAdGhEIccFUH-sIfXNVULRCdERwZqVmTt0","rpId":"s1.ftsafe.cn","userVerification":"required",extensions: {uvi: true}};
例如,本实施例中的第二挑战值为X9HsqEnDZOAdGhEIccFUH-sIfXNVULRCdERwZqVmTt0,依赖方信息为s1.ftsafe.cn,需要生物识别认证required,需要生物特征计算标识uvi=true;
步骤203:认证服务器将认证信息返回给客户端;
具体的,在本实施例中,步骤203包括:认证服务器将认证请求信息发送给依赖方,依赖方调用Webauthn API转发认证请求信息给客户端;
步骤204:客户端解析认证信息得到第二挑战值,根据第二挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对客户端数据进行哈希计算得到第二哈希值;
步骤205:客户端给智能密钥设备发送获取设备信息指令;
例如,本实施例中的获取设备信息指令为00 00 00 00 01 90 00 01 04 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00;
步骤206:智能密钥设备给客户端返回设备信息;
例如,本实施例中的设备信息为:1: ["FIDO_2_0", "FIDO_2_1_PRE"], 2: ["hmac-secret","uvi"], 3: h'77010BD7212A4FC9B236D2CA5E9D4084', 4: {"rk": true,"up": true, "uv": true, "plat": false, "clientPin": true, "credentialMgmtPreview": true, "userVerificationMgmtPreview": true}, 5: 2048,6: [1]};
可选的,智能密钥设备给客户端返回Fido key信息;
步骤207:客户端根据设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向智能密钥设备发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤208,否则执行其他操作;
具体的,步骤207包括:客户端判断设备信息中的支持生物识别验证索引扩展标识是否为真,是则向智能密钥设备发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤208,否则执行其他操作;
例如,客户端判断设备信息中是否存在uvi扩展项,是则支持生物识别索引扩展,否则不支持生物识别索引扩展;
步骤208:智能密钥设备接收并解析认证指令得到认证参数和第二哈希值;
步骤209:智能密钥设备根据认证参数判断是否需要生物识别认证,是则执行步骤210,否则执行其他操作;
具体的,步骤209包括:智能密钥设备判断认证参数中是否有需要生物识别认证标识,是则执行步骤212,否则执行其他操作;
例如,智能密钥设备判断设备信息中的uv的值是否为true,是则需要生物识别认证,否则不需要生物识别认证;
步骤210:智能密钥设备判断设备本身是否支持生物识别验证,是则执行步骤211,否则报错;
例如,智能密钥设备判断设备信息中是否包含uv信息,是则支持生物识别验证,否则不支持生物识别验证;
步骤211:智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息时判断生物识别信息是否可信,是则执行步骤212,否则报错;
具体的,本实施例中的生物识别信息为指纹;
优选的,在本实施例中,步骤211包括:智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息后,判断用户输入的生物识别信息与保存的生物识别模块中的信息是否匹配,若匹配成功,则执行步骤212,否则报错;
步骤212:智能密钥设备根据认证参数判断是否需要对生物识别信息进行计算,是则根据生物识别信息生成认证索引扩展值,执行步骤213,否则执行其他操作;
具体的,步骤212包括:智能密钥设备判断认证参数中的需要生物特征计算标识是否为真,是则根据生物识别信息生成认证索引扩展值,执行步骤213,否则执行其他操作;
例如,在本实施例中,例如,智能密钥设备判断认证指令解析结果中的uvi的值是否为true,是则需要对生物识别信息进行计算,否则不需要对生物识别信息进行计算;
在本实施例中,根据生物识别信息生成认证索引扩展值,具体为:根据匹配的生物识别模块中的信息生成认证索引扩展值;
具体地,生成认证索引扩展值可以通过多种方式,并不限于公开的下述两种方式;
第一种方式:将生物识别模块中的生物特征数据、用户标识、设备执行工厂重置时改变的标识符顺序拼接得到第一中间结果,将凭证ID与第一中间结果进行拼接并对拼接结果进行哈希运算得到认证索引扩展值;
第二种方式:将依赖方标识与生物识别模块中的生物识别模式进行拼接得到第二中间结果,将凭证公钥与第二中间结果进行拼接并对拼接结果进行哈希运算得到认证索引扩展值;
步骤213:智能密钥设备判断认证指令解析结果中是否存在凭证列表,是则进行有用户认证流程,否则执行步骤214;
步骤214:智能密钥设备根据认证指令解析结果中的依赖方信息在保存的凭证列表中查找对应的所有凭证信息,若找到则执行步骤215,若未找到则报错;
具体的,凭证信息包括凭证密钥对和凭证ID;
步骤215:智能密钥设备判断凭证列表中是否只有一条凭证信息,是则执行步骤216,否则执行步骤218;
具体的,步骤215包括:智能密钥设备判断凭证列表中的凭证信息的数量是否为1,是则执行步骤216,否则执行步骤218;
步骤216:智能密钥设备对依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、认证索引扩展值、依赖方信息哈希值、凭证信息中的凭证公钥和凭证ID生成认证数据,使用凭证私钥对认证数据和第二哈希值进行签名得到第二签名值,根据凭证ID、凭证信息的数量、用户信息、认证数据和第二签名值生成认证响应并返回给客户端,执行步骤217;
具体的,本实施例中该步骤的凭证信息的数量为1;
步骤217:客户端将保存的客户端数据、依赖方信息和认证响应返回给认证服务器,执行步骤224;
具体的,步骤217包括:客户端将认证响应和保存的客户端数据发送给依赖方,依赖方调用验证接口将依赖方信息、认证响应和客户端数据发送给认证服务器;
步骤218:智能密钥设备在凭证列表中按照保存凭证密钥对的逆序排列凭证信息,并用第一条凭证信息作为当前凭证信息;
在本实施例中,凭证信息包括凭证密钥对和凭证ID;
步骤219:智能密钥设备对依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、认证索引扩展值、依赖方信息哈希值、当前凭证信息中的凭证公钥和对应的凭证ID生成认证数据,使用当前凭证信息中的凭证私钥对认证数据和第二哈希值进行签名得到第二签名值,根据凭证ID、凭证信息的数量、用户信息、认证数据和第二签名值生成认证响应并返回给客户端;
具体的,本实施例中该步骤的凭证信息的数量为凭证列表中的凭证信息总量;
具体数据例如,本实施例中的认证响应如下:{1: {"id": h'E43701771F31658CF264E51934A77543F2CCE2CDBB1880624656E7E8858795C7', "type": "public-key"}, 2:h'BDF5DD182D072484A38E0EC16AB3CF65319CDDDFC66B2F9EA61BC56BB72EC7BD050000FC88', 3: h'3044022040C7C96621EFE70465DAB27D7C671BC5CD7B8C16F0CD04C779FF8ED5210723CF02202B5AEBC55EC244500E8B18D6518E985834DDD53DDE7503B771631BCEF625AD5D',4: {"id": h'4D6C6C7476', "name": "Mlltv", "displayName": "lina"}, 5: 3};
步骤220:客户端根据凭证信息总量判断是否接收到凭证列表所对应的所有认证响应,是则执行步骤223,否则执行步骤221;
步骤221:客户端给智能密钥设备发送获取下一条凭证指令;
具体的,本实施例中的获取凭证指令为GetNextAssertion指令;
步骤222:智能密钥设备将凭证列表中的下一条凭证信息作为当前凭证信息,返回步骤219;
步骤223:客户端显示接收到的所有认证响应并提示用户进行选择,当接收到用户的选择信息时,将用户选择的认证响应、保存的客户端数据和依赖方信息发送给认证服务器,执行步骤224;
例如,客户端返回给认证服务器的数据如下:
{"id":"1Og_cNvXdZZMty5tcUmC8bGNE63dCSgnzfxvTgMQYIc","type":"public-key","rawId":{1Og_cNvXdZZMty5tcUmC8bGNE63dCSgnzfxvTgMQYIc},"response":{"clientDataJSON":"eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiWDlIc3FFbkRaT0FkR2hFSWNjRlVILXNJZlhOVlVMUkNkRVJ3WnFWbVR0MCIsIm9yaWdpbiI6Imh0dHBzOi8vczEuZnRzYWZlLmNuIiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ","authenticatorData":"vfXdGC0HJISjjg7BarPPZTGc3d_Gay-ephvFa7cux70FAAAC9w","signature":"MEUCIADKpZhuJd0562RMp9G-E1XfbDTHKwBt8TJaZ_QFh-KVAiEA7DUtHZagaht22sps3pM_MLnFGQFZMq7elyicBozqUeU","userHandle":"RG5tZXg"}};
步骤224:认证服务器判断认证响应中的认证索引扩展值是否与保存的用户认证索引扩展值匹配,是则执行步骤225,否则给客户端返回认证失败信息;
步骤225:认证服务器使用保存的凭证公钥、认证次数对接收到的认证响应和客户端数据进行验证,如验证成功则执行步骤226,如;
步骤226:认证服务器用认证响应中的认证次数替换保存的认证次数,根据认证响应的凭证信息中的凭证ID查找对应的用户信息,并将查找到的用户信息中的用户帐号所对应的用户登录信息返回给客户端;
在本实施例中,认证服务器保存的认证次数默认值为0,如认证服务器对用户的身份进行认证成功则认证服务器用认证响应中的认证次数替换保存的认证次数;保证智能密钥设备与认证服务器中的认证次数可以同步,如认证服务器中的认证次数大于智能密钥设备中的认证次数,则说明该智能密钥设备被其他用户冒用,提高用户认证的安全性;
步骤227:客户端根据接收到的用户登录信息设置对应用户的登录状态机的资源权限;
例如,客户端根据接收到的用户登录信息设置对应用户的登录状态机为允许登录。
本实施例提供的认证方法在注册过程中,智能密钥设备将生成的凭证密钥内部保存;在验证过程中,认证服务器下发的用户列表为空表明当前为无用户名认证操作,将凭证信息填充到凭证列表中并返回客户端;客户端提示用户选择要认证的凭证信息,将选择的凭证信息发送给认证服务器进行认证,当认证成功后,该凭证信息对应的用户即可登录应用,整个过程无需用户手动输入用户信息,操作更便捷安全。
实施例三
本发明实施例三提供一种无用户名的认证***,如图4所示,包括客户端42、智能密钥设备41和认证服务器43,客户端42包括:第一接收判断模块421、第一获取生成模块422、第一获取判断模块423、第一接收发送模块424、第二获取生成模块425、第二获取判断模块426和第二接收发送模块427;智能密钥设备41包括:第一解析判断模块411、第一接收生成模块412、第一生成发送模块413、第二解析判断模块414、第二接收生成模块415和第二生成发送模块416;认证服务器43包括第一验证模块431、判断报错模块432、第二验证模块433和第一查找模块434;
第一接收判断模块421,用于当接收到用户的触发信息时,判断触发信息的类型,如为注册请求则触发第一获取生成模块422,如为认证请求则触发第二获取生成模块425;
第一获取生成模块422,用于从认证服务器43中获取第一挑战值,根据第一挑战值、触发信息的类型、依赖方信息生成第一哈希值;
第一获取判断模块423,用于从智能密钥设备41中获取设备信息,并根据设备信息判断智能密钥设备41是否支持生物识别认证索引,是则给智能密钥设备41发送包含第一哈希值和根据用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,触发第一解析判断模块411,否则执行其他操作;
本实施例中的注册参数包括用户信息、依赖方信息、和注册可选项,注册可选项包括:要求密钥保存标识、需要生物特征计算标识、需要生物识别验证等等;
第一解析判断模块411,用于解析注册指令并根据注册指令解析结果判断是否进行生物识别认证,是则触发第一接收生成模块412,否则报错;
第一接收生成模块412,用于当接收到用户输入的可信的生物识别信息时,根据生物识别信息生成认证索引扩展值,生成凭证密钥对和对应的凭证ID,并将凭证密钥对、对应的凭证ID和注册指令解析结果中的注册参数中的用户信息、依赖方信息组成凭证信息并保存在凭证列表中;
第一生成发送模块413,用于根据注册指令的解析结果、凭证密钥对中的凭证公钥和认证索引扩展值生成注册响应并发送给客户端42;
第一接收发送模块424,用于接收智能密钥设备41发送的注册响应,将注册参数的依赖方信息和用户信息、注册响应和保存的客户端数据发送给认证服务器43;
第一验证模块431,用于接收注册响应和客户端数据并对注册响应和客户端数据进行验证,如验证成功则将用户信息和注册响应对应保存,并给客户端42返回注册成功信息,触发第一接收判断模块421;
第二获取生成模块425,用于从认证服务器43中获取第二挑战值,根据第二挑战值、触发信息的类型和依赖方信息生成第二哈希值;
第二获取判断模块426,用于从智能密钥设备41中获取设备信息并根据设备信息判断该智能密钥设备41是否支持生物认证,是则向智能密钥设备41发送包含第二哈希值和认证参数的支持生物识别索引扩展的认证指令,触发第二解析判断模块414,否则执行其他操作;
第二解析判断模块414,用于解析认证指令并根据认证指令解析结果判断是否可进行生物识别认证,是则触发第二接收生成模块415,否则报错;
第二接收生成模块415,用于当接收到用户输入的可信的生物识别信息且需对生物识别信息进行计算时,根据生物识别信息生成认证索引扩展值;
第二生成发送模块416,用于根据保存的凭证列表中的凭证信息、认证指令解析结果和认证索引扩展值生成认证响应并返回给客户端42;
第二接收发送模块427,用于接收智能密钥设备41发送的认证响应,将认证响应、保存的客户端数据和依赖方信息发送给认证服务器43;
第一判断报错模块432,用于判断接收到的认证响应中的认证索引扩展值与保存的注册响应中的认证索引扩展值是否匹配,是则触发第二验证模块433,否则报错;
具体的,第一判断报错模块432判断为否时给客户端返回认证失败信息;
第二验证模块433,用于对认证响应和客户端数据进行验证;
第一查找模块434,用于在第二验证模块433验证成功时根据认证指令解析结果中的凭证信息中的凭证ID查找对应的用户信息,根据用户信息中的用户帐号所对应的登录信息通知客户端42允许对应的用户登录。
可选的,在本实施例中,认证服务器43还包括第一生成返回模块;第一获取生成模块422包括第一发送单元和第一解析计算单元;
第一发送单元,用于向认证服务器43发送注册请求;
进一步地,第一发送单元具体用于弹出对话框提示用户输入依赖方信息、用户信息,根据预置的凭证公私钥对的算法参数、要求密钥保存标识、需要生物特征计算标识、需要生物识别验证、依赖方信息、用户信息生成注册请求并发送给认证服务器43;
第一生成返回模块,用于在接收到注册请求时生成第一挑战值,根据注册请求中的注册参数和第一挑战值生成注册信息并返回给客户端42;
第一解析计算单元,用于接收认证服务器43返回的注册信息,解析注册请求信息得到第一挑战值,根据第一挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对客户端数据进行哈希计算得到第一哈希值。
相应的,第一获取判断模块423包括第二发送单元和第一判断发送单元;智能密钥设备41还包括第三接收发送模块;
第二发送单元,用于给智能密钥设备41发送获取设备信息指令;
第三接收发送模块,用于在接收到客户端42发送的获取设备信息指令后给客户端42返回设备信息;
第一判断发送单元,用于根据设备信息判断智能密钥设备41是否支持生物识别索引扩展,是则向智能密钥设备41发送包含第一哈希值和根据用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,触发第一解析判断模块411,否则执行其他操作;
进一步地,第一判断发送单元具体用于判断设备信息中的支持生物识别索引扩展标识是否为真,是则向智能密钥设备41发送包含第一哈希值和根据用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,触发第一解析判断模块411,否则执行其他操作。
具体的,在本实施例中,第一解析判断模块411包括:
第一接收解析单元,用于接收并解析注册指令得到注册参数和第一哈希值;
第一判断单元,用于根据注册参数判断是否允许将产生的凭证密钥保存到设备,是则触发第二判断单元,否则执行其他操作;
进一步地,第一判断单元具体用于判断注册参数中的要求密钥保存标识是否为真,是则触发第二判断单元,否则执行其他操作;
第二判断单元,用于判断设备本身是否支持凭证密钥存储,是则触发第三判断单元,否则报错;
第三判断单元,用于判断是否有空间保存凭证密钥,是则触发第四判断单元,否则报错;
第四判断单元,用于根据注册参数判断是否需要生物识别认证,是则触发第五判断单元,否则执行其他操作;
进一步地,第四判断单元具体用于判断注册参数中是否有需要生物识别认证标识,是则触发第五判断单元,否则执行其他操作;
第五判断单元,用于判断设备本身是否支持生物识别验证,是则触发第一接收生成模块412,否则报错。
可选的,本实施例的智能密钥设备41还包括:第二接收判断模块和第一判断生成模块;
第二接收判断模块,用于在第一解析判断模块411判断进行生物识别认证后当接收到用户输入的生物识别信息时,判断生物识别信息是否可信,是则触发第一判断生成模块,否则报错;
第一接收生成模块412用于根据所述生物识别信息生成认证索引扩展值,具体为:第一接收生成模块412具体用于根据匹配的所述生物识别模块中的信息生成认证索引扩展值;
进一步地,第二接收判断模块具体用于在第一解析判断模块411判断进行生物识别认证后提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,判断用户输入的生物识别信息与生物识别模块中保存的信息是否匹配,若匹配则触发第一判断生成模块,否则报错;
第一判断生成模块,用于根据注册指令解析结果判断是否需要对生物识别信息进行计算,是则触发第一接收生成模块412,否则执行其他操作;
进一步地,第一判断生成模块具体用于判断注册指令解析结果中的注册参数中的需要生物特征计算标识是否为真,是则触发第一接收生成模块412,否则执行其他操作。
具体的,在本实施例中,第一接收生成模块412包括:
第一生成单元,用于根据生物识别信息生成认证索引扩展值,根据预设算法生成凭证密钥对和对应的凭证ID;
第六判断单元,用于判断是否保存有与注册指令解析结果中的注册参数中的用户信息和依赖方信息对应的凭证密钥对,是则触发替换单元,否则触发保存单元;
替换单元,用于用生成的凭证密钥对替换保存的凭证密钥对,触发第一生成发送模块413;
保存单元,用于将用户信息、依赖方信息与凭证密钥对、凭证ID对应保存在凭证列表中,触发第一生成发送模块413。
进一步地,本实施例中的第一生成发送模块413具体用于对注册指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据默认的认证次数、认证索引扩展值、依赖方信息哈希值、凭证密钥对中的凭证公钥和对应的凭证ID生成注册数据,使用设备私钥对注册指令解析结果中的第一哈希值和注册数据进行签名得到第一签名值,根据注册数据、设备证书链和第一签名值生成注册响应并发送给客户端42。
进一步地,本实施例中的第一接收发送模块424具体用于接收智能密钥设备41发送的注册响应,将注册响应和保存的客户端数据发送给依赖方,依赖方调用验证接口将述注册参数的依赖方信息和用户信息、注册响应和客户端数据发送给认证服务器43。
本实施例中的认证服务器43还包括第一生成返回模块;第二获取生成模块425包括第三发送单元和第二解析计算单元:
第三发送单元,用于向认证服务器43发送认证请求;
第一生成返回模块,用于生成第二挑战值,根据认证请求中的认证参数和第二挑战值生成认证信息,将认证信息返回给客户端42;
第二解析计算单元,用于接收认证服务器43返回的认证信息,解析认证信息得到第二挑战值,根据第二挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对客户端数据进行哈希计算得到第二哈希值。
本实施例中的第二获取判断模块426包括第四发送单元和第二判断发送单元;智能密钥设备41还包括第四接收发送模块;
第四发送单元,用于给智能密钥设备41发送获取设备信息指令;
第四接收发送模块,用于在接收到客户端42发送的获取设备信息指令后给客户端42返回设备信息;
第二判断发送单元,用于根据设备信息判断智能密钥设备41是否支持生物识别索引扩展,是则向智能密钥设备41发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,触发第二解析判断模块414,否则执行其他操作;
进一步地,第二判断发送单元具体用于判断设备信息中的支持生物识别验证索引扩展标识是否为真,是则向智能密钥设备41发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,触发第二解析判断模块414,否则执行其他操作。
本实施例中的第二解析判断模块414包括:
第二接收解析单元,用于接收并解析认证指令得到认证参数和第二哈希值;
第七判断单元,用于根据认证指令解析结果判断是否需要生物识别认证,是则触发第八判断单元,否则执行其他操作;
进一步地,第七判断单元具体用于判断认证指令解析结果中是否有需要生物识别认证标识,是则触发第八判断单元,否则执行其他操作;
第八判断单元,用于判断设备本身是否支持生物识别验证,是则触发第二接收生成模块415,否则报错。
可选的,在本实施例中,智能密钥设备41还包括:第三接收判断模块和第二判断生成模块;
第三接收判断模块,用于在第二解析判断模块414判断进行生物识别认证后提示用户输入生物识别信息,当接收到用户输入的生物识别信息后,判断用户输入的生物识别信息与保存的生物识别模块中的信息是否匹配,若匹配成功,则触发第二判断生成模块,否则报错;
第二判断生成模块,用于根据认证指令解析结果判断是否需要对生物识别信息进行计算,是则触发第二接收生成模块415,否则执行其他操作;
第二接收生成模块415,具体用于当接收到用户输入的可信的生物识别信息且需对所述生物识别信息进行计算时,根据匹配的生物识别模块中的信息生成认证索引扩展值;
进一步地,第二判断生成模块具体用于判断认证指令解析结果中的需要生物特征计算标识是否为真,是则触发第二接收生成模块415,否则执行其他操作。
可选的,在本实施例中,智能密钥设备41还包括:
判断认证模块,用于判断认证指令解析结果中是否存在凭证列表,是则进行有用户认证流程,否则触发第二查找模块;
第二查找模块,用于根据认证指令解析结果中的依赖方信息在保存的凭证列表中查找对应的凭证信息,若找到则触发第二生成发送模块416,若未找到则报错。
具体的,本实施例中的第二生成发送模块416包括:第九判断单元、第一签名发送单元、排列作为单元、第二签名发送单元和接收作为单元;第二接收发送模块427包括:第五发送单元、第十判断单元、第六发送单元和提示发送单元;
第九判断单元,用于判断凭证列表中是否只有一条凭证信息,是则触发第一签名发送单元,否则触发排列作为单元;
第一签名发送单元,用于对认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、认证索引扩展值、依赖方信息哈希值、凭证信息中的凭证公钥和凭证ID生成认证数据,使用凭证私钥对认证数据和认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据凭证ID、凭证信息的数量、认证指令解析结果中的用户信息、认证数据和第二签名值生成认证响应并返回给客户端42,触发第五发送单元;
第五发送单元,用于接收智能密钥设备41返回的认证响应并将认证响应和保存的客户端数据发送给认证服务器43,触发第二验证模块433;
排列作为单元,用于在凭证列表中按照保存凭证密钥对的逆序排列凭证信息,并用第一条凭证信息作为当前凭证信息,触发第二签名发送单元;
第二签名发送单元,用于对认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、认证索引扩展值、依赖方信息哈希值、当前凭证信息中的凭证公钥和对应的凭证ID生成认证数据,使用当前凭证信息中的凭证私钥对认证数据和认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据凭证ID、凭证信息的数量、认证指令解析结果中的用户信息、认证数据和第二签名值生成认证响应并返回给客户端42,触发第十判断单元;
第十判断单元,用于接收智能密钥设备41返回的认证响应并根据凭证信息总量判断是否接收到凭证列表对应的所有认证响应,是则触发提示发送单元,否则触发第六发送单元;
第六发送单元,用于给智能密钥设备41发送获取下一条凭证指令;
接收作为单元,用于在接收到客户端42发送的获取下一条凭证指令后将凭证列表中的下一条凭证信息作为当前凭证信息,触发第二签名发送单元;
提示发送单元,用于显示接收到的所有认证响应并提示用户进行选择,当接收到用户的选择信息时,将用户选择的认证响应、保存的客户端数据和依赖方信息发送给认证服务器43,触发第二验证模块433。
进一步地,本实施例中的第二接收发送模块427具体用于接收智能密钥设备41发送的认证响应,将认证响应和保存的客户端数据发送给依赖方,依赖方调用验证接口转发认证响应和客户端数据给认证服务器43。
进一步地,本实施例中的第一查找模块434具体用于用认证响应中的认证次数替换保存的认证次数,根据认证响应的凭证信息中的凭证ID查找对应的用户登录信息,并将查找到的用户登录信息返回给客户端42;
客户端42还包括接收设置模块,用于接收认证服务器43返回的用户登录信息,根据用户登录信息设置对应用户的登录状态机的源权限。
本实施例提供的认证***在注册过程中,智能密钥设备将生成的凭证密钥内部保存;在验证过程中,认证服务器下发的用户列表为空表明当前为无用户名认证操作,将凭证信息填充到凭证列表中并返回客户端;客户端提示用户选择要认证的凭证信息,将选择的凭证信息发送给认证服务器进行认证,当认证成功后,该凭证信息对应的用户即可登录应用,整个过程无需用户手动输入用户信息,操作更便捷安全。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (50)

1.一种无用户名的认证方法,其特征在于,包括:
步骤S1:当客户端接收到用户的触发信息时,判断所述触发信息的类型,如为注册请求则执行步骤S2,如为认证请求则执行步骤S9;
步骤S2:所述客户端从认证服务器中获取第一挑战值,根据所述第一挑战值、触发信息的类型、依赖方信息生成第一哈希值;
步骤S3:所述客户端从智能密钥设备中获取设备信息,并根据所述设备信息判断所述智能密钥设备是否支持生物识别索引扩展,是则给所述智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,执行步骤S4;所述注册参数包括用户信息、依赖方信息;
步骤S4:所述智能密钥设备解析所述注册指令并根据注册指令解析结果判断是否进行生物识别认证,是则执行步骤S5,否则报错;
步骤S5:当所述智能密钥设备接收到用户输入的可信的生物识别信息时,根据所述生物识别信息生成认证索引扩展值,生成凭证密钥对和与所述凭证密钥对对应的凭证ID,将所述凭证密钥对、对应的凭证ID和注册指令解析结果中的注册参数中的用户信息、依赖方信息组成凭证信息并保存在凭证列表中;
步骤S6:所述智能密钥设备根据所述注册指令的解析结果、凭证密钥对中的凭证公钥和所述认证索引扩展值生成注册响应并发送给所述客户端;
步骤S7:所述客户端将所述注册参数的依赖方信息和用户信息、所述注册响应和保存的客户端数据发送给所述认证服务器;所述客户端数据包括第二挑战值、触发信息的类型、依赖方信息;
步骤S8:所述认证服务器对所述注册响应和所述客户端数据进行验证,如验证成功则将所述用户信息和所述注册响应对应保存,并给所述客户端返回注册成功信息,返回步骤S1;
步骤S9:所述客户端从认证服务器中获取第二挑战值,根据所述第二挑战值、触发信息的类型和依赖方信息生成第二哈希值;
步骤S10:所述客户端从智能密钥设备中获取设备信息并根据所述设备信息判断所述智能密钥设备是否支持生物认证,是则向所述智能密钥设备发送包含第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤S11;
步骤S11:所述智能密钥设备解析所述认证指令并根据认证指令解析结果判断是否可进行生物识别认证,是则执行步骤S12,否则报错;
步骤S12:当所述智能密钥设备接收到用户输入的可信的生物识别信息且需对所述生物识别信息进行计算时,根据所述生物识别信息生成认证索引扩展值;
步骤S13:所述智能密钥设备根据保存的凭证列表中的凭证信息、所述认证指令解析结果和所述认证索引扩展值生成认证响应并返回给所述客户端;
步骤S14:所述客户端将所述认证响应、保存的客户端数据和所述依赖方信息发送给所述认证服务器;
步骤S15:所述认证服务器判断认证响应中的认证索引扩展值与保存的注册响应中的认证索引扩展值是否匹配,是则执行步骤S16,否则报错;
步骤S16:所述认证服务器对所述认证响应和所述客户端数据进行验证,如验证成功则根据认证指令解析结果中的凭证信息中的凭证ID查找对应的用户信息,根据所述用户信息中的用户帐号所对应的登录信息通知所述客户端允许对应的用户登录。
2.如权利要求1所述的方法,其特征在于,所述步骤S2包括:
步骤S21:所述客户端向认证服务器发送注册请求;
步骤S22:所述认证服务器生成第一挑战值,根据所述注册请求中的注册参数和所述第一挑战值生成注册信息并返回给所述客户端;
步骤S23:所述客户端解析所述注册信息得到第一挑战值,根据所述第一挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对所述客户端数据进行哈希计算得到第一哈希值。
3.如权利要求2所述的方法,其特征在于,所述步骤S21具体为:所述客户端弹出对话框提示用户输入依赖方信息、用户信息,根据预置的凭证公私钥对的算法参数、要求密钥保存标识、需要生物特征计算标识、需要生物识别验证、依赖方信息、用户信息生成注册请求并发送给所述认证服务器。
4.如权利要求1所述的方法,其特征在于,所述步骤S3包括:
步骤S31:所述客户端给所述智能密钥设备发送获取设备信息指令;
步骤S32:所述智能密钥设备给所述客户端返回设备信息;
步骤S33:所述客户端根据设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向所述智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,执行步骤S4。
5.如权利要求4所述的方法,其特征在于,所述步骤S33具体为:所述客户端判断所述设备信息中的支持生物识别索引扩展标识是否为真,是则向智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,执行步骤S4。
6.如权利要求1所述的方法,其特征在于,所述步骤S4包括:
步骤S41:所述智能密钥设备接收并解析注册指令得到注册参数和第一哈希值;
步骤S42:所述智能密钥设备根据所述注册参数判断是否允许将产生的凭证密钥保存到设备,是则执行步骤S43;
步骤S43:所述智能密钥设备判断设备本身是否支持凭证密钥存储,是则执行步骤S44,否则报错;
步骤S44:所述智能密钥设备判断是否有空间保存凭证密钥,是则执行步骤S45,否则报错;
步骤S45:所述智能密钥设备根据所述注册参数判断是否需要生物识别认证,是则执行步骤S46;
步骤S46:所述智能密钥设备判断设备本身是否支持生物识别验证,是则执行步骤S5,否则报错。
7.如权利要求6所述的方法,其特征在于,所述步骤S42包括:所述智能密钥设备判断所述注册参数中的要求密钥保存标识是否为真,是则执行步骤S43。
8.如权利要求6所述的方法,其特征在于,所述步骤S45包括:所述智能密钥设备判断注册参数中是否有需要生物识别认证标识,是则执行步骤S46。
9.如权利要求1所述的方法,其特征在于,所述步骤S5中根据所述生物识别信息生成认证索引扩展值之前还包括:
步骤A1:当所述智能密钥设备接收到用户输入的生物识别信息时,判断所述生物识别信息是否可信,是则执行步骤A2,否则报错;
步骤A2:所述智能密钥设备根据注册指令解析结果判断是否需要对生物识别信息进行计算,是则执行步骤S5。
10.如权利要求9所述的方法,其特征在于,所述步骤A2具体为:所述智能密钥设备判断所述注册指令解析结果中的注册参数中的需要生物特征计算标识是否为真,是则执行步骤S5。
11.如权利要求9所述的方法,其特征在于,所述步骤A1包括:所述智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,判断用户输入的生物识别信息与生物识别模块中的信息是否匹配,若匹配则执行步骤A2,否则报错;
所述步骤S5中的根据所述生物识别信息生成认证索引扩展值,具体为:根据匹配的所述生物识别模块中的信息生成认证索引扩展值。
12.如权利要求1所述的方法,其特征在于,所述步骤S5包括:
步骤S51:所述智能密钥设备根据所述生物识别信息生成认证索引扩展值,根据预设算法生成凭证密钥对和对应的凭证ID;
步骤S52:所述智能密钥设备判断是否保存有与所述注册指令解析结果中的注册参数中的用户信息和依赖方信息对应的凭证密钥对,是则执行步骤S53,否则执行步骤S54;
步骤S53:所述智能密钥设备用生成的凭证密钥对替换保存的凭证密钥对,执行步骤S6;
步骤S54:所述智能密钥设备将所述用户信息、所述依赖方信息与所述凭证密钥对、凭证ID对应保存在凭证列表中,执行步骤S6。
13.如权利要求1所述的方法,其特征在于,所述步骤S6具体为:所述智能密钥设备对所述注册指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据默认的认证次数、所述认证索引扩展值、所述依赖方信息哈希值、所述凭证密钥对中的凭证公钥和对应的凭证ID生成注册数据,使用设备私钥对所述注册指令解析结果中的第一哈希值和所述注册数据进行签名得到第一签名值,根据所述注册数据、设备证书链和所述第一签名值生成注册响应并发送给所述客户端。
14.如权利要求1所述的方法,其特征在于,所述步骤S7包括:所述客户端将所述注册响应和保存的客户端数据发送给依赖方,所述依赖方调用验证接口将所述注册参数的依赖方信息和用户信息、所述注册响应和所述客户端数据发送给认证服务器。
15.如权利要求1所述的方法,其特征在于,所述步骤S9包括:
步骤S9-1:所述客户端向认证服务器发送认证请求;
步骤S9-2:所述认证服务器生成第二挑战值,根据认证请求中的认证参数和第二挑战值生成认证信息;
步骤S9-3:所述认证服务器将所述认证信息返回给所述客户端;
步骤S9-4:所述客户端解析所述认证信息得到第二挑战值,根据所述第二挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对所述客户端数据进行哈希计算得到第二哈希值。
16.如权利要求1所述的方法,其特征在于,所述步骤S10包括:
步骤S10-1:所述客户端给所述智能密钥设备发送获取设备信息指令;
步骤S10-2:所述智能密钥设备给所述客户端返回设备信息;
步骤S10-3:所述客户端根据所述设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向所述智能密钥设备发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤S11。
17.如权利要求16所述的方法,其特征在于,所述步骤S10-3具体为:所述客户端判断所述设备信息中的支持生物识别验证索引扩展标识是否为真,是则向所述智能密钥设备发送包括所述第二哈希值和认证参数的支持生物识别索引扩展的认证指令,执行步骤S11。
18.如权利要求1所述的方法,其特征在于,所述步骤S11包括:
步骤S11-1:所述智能密钥设备接收并解析认证指令得到认证参数和第二哈希值;
步骤S11-2:所述智能密钥设备根据认证指令解析结果判断是否需要生物识别认证,是则执行步骤S11-3;
步骤S11-3:所述智能密钥设备判断设备本身是否支持生物识别验证,是则执行步骤S12,否则报错。
19.如权利要求18所述的方法,其特征在于,所述步骤S11-2包括:所述智能密钥设备判断认证指令解析结果中是否有需要生物识别认证标识,是则执行步骤S11-3。
20.如权利要求1所述的方法,其特征在于,所述步骤S12之前包括:
步骤B1:所述智能密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息后,判断用户输入的生物识别信息与保存的生物识别模块中的信息是否匹配,若匹配成功,则执行步骤B2,否则报错;
步骤B2:所述智能密钥设备根据认证指令解析结果判断是否需要对生物识别信息进行计算,是则执行步骤S12;
所述步骤S12中的根据所述生物识别信息生成认证索引扩展值,具体为:根据匹配的所述生物识别模块中的信息生成认证索引扩展值。
21.如权利要求20所述的方法,其特征在于,所述步骤B2包括:所述智能密钥设备判断认证指令解析结果中的需要生物特征计算标识是否为真,是则根据生物识别信息生成认证索引扩展值,执行步骤S15。
22.如权利要求1所述的方法,其特征在于,所述步骤S12与所述步骤S13之间还包括:
步骤Y1:所述智能密钥设备判断认证指令解析结果中是否存在凭证列表,是则进行有用户认证流程,否则执行步骤Y2;
步骤Y2:所述智能密钥设备根据所述认证指令解析结果中的依赖方信息在保存的凭证列表中查找对应的凭证信息,若找到则执行步骤S13,若未找到则报错。
23.如权利要求1所述的方法,其特征在于,所述步骤S13和所述步骤S14包括:
步骤F1:所述智能密钥设备判断所述凭证列表中是否只有一条凭证信息,是则执行步骤F2,否则执行步骤F4;
步骤F2:所述智能密钥设备对所述认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、所述认证索引扩展值、所述依赖方信息哈希值、凭证信息中的凭证公钥和凭证ID生成认证数据,使用凭证私钥对所述认证数据和所述认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据所述凭证ID、凭证信息的数量、所述认证指令解析结果中的用户信息、所述认证数据和所述第二签名值生成认证响应并返回给客户端,执行步骤F3;
步骤F3:所述客户端将所述认证响应和保存的客户端数据发送给所述认证服务器,执行步骤S15;
步骤F4:所述智能密钥设备在所述凭证列表中按照保存凭证密钥对的逆序排列凭证信息,并用第一条凭证信息作为当前凭证信息;
步骤F5:所述智能密钥设备对所述认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、所述认证索引扩展值、所述依赖方信息哈希值、当前凭证信息中的凭证公钥和对应的凭证ID生成认证数据,使用当前凭证信息中的凭证私钥对认证数据和所述认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据所述凭证ID、凭证信息的数量、所述认证指令解析结果中的用户信息、所述认证数据和所述第二签名值生成认证响应并返回给客户端,执行步骤F6;
步骤F6:所述客户端根据凭证信息总量判断是否接收到所述凭证列表对应的所有认证响应,是则执行步骤F9,否则执行步骤F7;
步骤F7:所述客户端给所述智能密钥设备发送获取下一条凭证指令;
步骤F8:所述智能密钥设备将所述凭证列表中的下一条凭证信息作为当前凭证信息,返回步骤F5;
步骤F9:所述客户端显示接收到的所有认证响应并提示用户进行选择,当接收到用户的选择信息时,将用户选择的认证响应、保存的客户端数据和所述依赖方信息发送给所述认证服务器,执行步骤S15。
24.如权利要求1所述的方法,其特征在于,所述步骤S14包括:所述客户端将所述认证响应和保存的客户端数据发送给依赖方,所述依赖方调用验证接口转发所述认证响应和所述客户端数据给所述认证服务器。
25.如权利要求1所述的方法,其特征在于,所述步骤S15中的根据认证指令解析结果中的凭证信息查找对应的用户登录信息并通知所述客户端允许对应的用户登录,包括:
步骤P1:所述认证服务器用所述认证响应中的认证次数替换保存的认证次数,根据所述认证响应的凭证信息中的凭证ID查找对应的用户登录信息,并将查找到的用户登录信息返回给所述客户端;
步骤P2:所述客户端根据接收到的所述用户登录信息设置对应用户的登录状态机的资源权限。
26.一种无用户名的认证***,其特征在于,包括客户端、智能密钥设备和认证服务器,所述客户端包括:第一接收判断模块、第一获取生成模块、第一获取判断模块、第一接收发送模块、第二获取生成模块、第二获取判断模块和第二接收发送模块;所述智能密钥设备包括:第一解析判断模块、第一接收生成模块、第一生成发送模块、第二解析判断模块、第二接收生成模块和第二生成发送模块;所述认证服务器包括第一验证模块、判断报错模块、第二验证模块和第一查找模块;
所述第一接收判断模块,用于当接收到用户的触发信息时,判断所述触发信息的类型,如为注册请求则触发所述第一获取生成模块,如为认证请求则触发所述第二获取生成模块;
所述第一获取生成模块,用于从所述认证服务器中获取第一挑战值,根据所述第一挑战值、触发信息的类型、依赖方信息生成第一哈希值;
所述第一获取判断模块,用于从智能密钥设备中获取设备信息,并根据所述设备信息判断所述智能密钥设备是否支持生物识别索引扩展,是则给所述智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,触发所述第一解析判断模块;所述注册参数包括用户信息、依赖方信息;
所述第一解析判断模块,用于解析所述注册指令并根据注册指令解析结果判断是否进行生物识别认证,是则触发所述第一接收生成模块,否则报错;
所述第一接收生成模块,用于当接收到用户输入的可信的生物识别信息时,根据所述生物识别信息生成认证索引扩展值,生成凭证密钥对和与所述凭证密钥对对应的凭证ID,将所述凭证密钥对、对应的凭证ID和注册指令解析结果中的注册参数中的用户信息、依赖方信息组成凭证信息并保存在凭证列表中;
所述第一生成发送模块,用于根据所述注册指令的解析结果、凭证密钥对中的凭证公钥和所述认证索引扩展值生成注册响应并发送给所述客户端;
所述第一接收发送模块,用于接收所述智能密钥设备发送的注册响应,将所述注册参数的依赖方信息和用户信息、所述注册响应和保存的客户端数据发送给所述认证服务器;所述客户端数据包括第二挑战值、触发信息的类型、依赖方信息;
所述第一验证模块,用于接收所述注册响应和所述客户端数据并对所述注册响应和所述客户端数据进行验证,如验证成功则将所述用户信息和所述注册响应对应保存,并给所述客户端返回注册成功信息,触发所述第一接收判断模块;
所述第二获取生成模块,用于从认证服务器中获取第二挑战值,根据所述第二挑战值、触发信息的类型和依赖方信息生成第二哈希值;
所述第二获取判断模块,用于从智能密钥设备中获取设备信息并根据所述设备信息判断所述智能密钥设备是否支持生物认证,是则向所述智能密钥设备发送包含第二哈希值和认证参数的支持生物识别索引扩展的认证指令,触发所述第二解析判断模块;
所述第二解析判断模块,用于解析所述认证指令并根据认证指令解析结果判断是否可进行生物识别认证,是则触发所述第二接收生成模块,否则报错;
所述第二接收生成模块,用于当接收到用户输入的可信的生物识别信息且需对所述生物识别信息进行计算时,根据所述生物识别信息生成认证索引扩展值;
所述第二生成发送模块,用于根据保存的凭证列表中的凭证信息、所述认证指令解析结果和所述认证索引扩展值生成认证响应并返回给所述客户端;
所述第二接收发送模块,用于接收所述智能密钥设备发送的认证响应,将所述认证响应、保存的客户端数据和所述依赖方信息发送给所述认证服务器;
所述判断报错模块,用于判断接收到的认证响应中的认证索引扩展值与保存的注册响应中的认证索引扩展值是否匹配,是则触发所述第二验证模块,否则报错;
所述第二验证模块,用于对所述认证响应和所述客户端数据进行验证;
所述第一查找模块,用于在所述第二验证模块验证成功时根据认证指令解析结果中的凭证信息中的凭证ID查找对应的用户信息,根据所述用户信息中的用户帐号所对应的登录信息通知所述客户端允许对应的用户登录。
27.如权利要求26所述的***,其特征在于,所述认证服务器还包括第一生成返回模块;所述第一获取生成模块包括第一发送单元和第一解析计算单元;
所述第一发送单元,用于向所述认证服务器发送注册请求;
所述第一生成返回模块,用于在接收到注册请求时生成第一挑战值,根据所述注册请求中的注册参数和所述第一挑战值生成注册信息并返回给所述客户端;
所述第一解析计算单元,用于接收所述认证服务器返回的注册信息,解析所述注册请求信息得到第一挑战值,根据所述第一挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对所述客户端数据进行哈希计算得到第一哈希值。
28.如权利要求27所述的***,其特征在于,所述第一发送单元具体用于弹出对话框提示用户输入依赖方信息、用户信息,根据预置的凭证公私钥对的算法参数、要求密钥保存标识、需要生物特征计算标识、需要生物识别验证、依赖方信息、用户信息生成注册请求并发送给所述认证服务器。
29.如权利要求26所述的***,其特征在于,所述第一获取判断模块包括第二发送单元和第一判断发送单元;所述智能密钥设备还包括第三接收发送模块;
所述第二发送单元,用于给所述智能密钥设备发送获取设备信息指令;
所述第三接收发送模块,用于在接收到所述客户端发送的获取设备信息指令后给所述客户端返回设备信息;
所述第一判断发送单元,用于根据设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向所述智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,触发所述第一解析判断模块。
30.如权利要求29所述的***,其特征在于,所述第一判断发送单元具体用于判断所述设备信息中的支持生物识别索引扩展标识是否为真,是则向智能密钥设备发送包含第一哈希值和根据所述用户的触发信息生成的注册参数的支持生物识别索引扩展的注册指令,触发所述第一解析判断模块。
31.如权利要求26所述的***,其特征在于,所述第一解析判断模块包括:
第一接收解析单元,用于接收并解析注册指令得到注册参数和第一哈希值;
第一判断单元,用于根据所述注册参数判断是否允许将产生的凭证密钥保存到设备,是则触发第二判断单元;
所述第二判断单元,用于判断设备本身是否支持凭证密钥存储,是则触发第三判断单元,否则报错;
所述第三判断单元,用于判断是否有空间保存凭证密钥,是则触发第四判断单元,否则报错;
所述第四判断单元,用于根据所述注册参数判断是否需要生物识别认证,是则触发第五判断单元;
所述第五判断单元,用于判断设备本身是否支持生物识别验证,是则触发所述第一接收生成模块,否则报错。
32.如权利要求31所述的***,其特征在于,所述第一判断单元具体用于判断所述注册参数中的要求密钥保存标识是否为真,是则触发第二判断单元。
33.如权利要求31所述的***,其特征在于,所述第四判断单元具体用于判断注册参数中是否有需要生物识别认证标识,是则触发第五判断单元。
34.如权利要求26所述的***,其特征在于,所述智能密钥设备还包括:第二接收判断模块和第一判断生成模块;
所述第二接收判断模块,用于在所述第一解析判断模块判断进行生物识别认证后当接收到用户输入的生物识别信息时,判断所述生物识别信息是否可信,是则触发所述第一判断生成模块,否则报错;
所述第一判断生成模块,用于根据注册指令解析结果判断是否需要对生物识别信息进行计算,是则触发所述第一接收生成模块。
35.如权利要求34所述的***,其特征在于,所述第一判断生成模块具体用于判断所述注册指令解析结果中的注册参数中的需要生物特征计算标识是否为真,是则触发所述第一接收生成模块。
36.如权利要求34所述的***,其特征在于,所述第二接收判断模块具体用于在所述第一解析判断模块判断进行生物识别认证后提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,判断用户输入的生物识别信息与生物识别模块中保存的信息是否匹配,若匹配则触发所述第一判断生成模块,否则报错;
所述第一接收生成模块用于根据所述生物识别信息生成认证索引扩展值,具体为:所述第一接收生成模块具体用于根据匹配的所述生物识别模块中的信息生成认证索引扩展值。
37.如权利要求26所述的***,其特征在于,所述第一接收生成模块包括:
第一生成单元,用于根据所述生物识别信息生成认证索引扩展值,根据预设算法生成凭证密钥对和对应的凭证ID;
第六判断单元,用于判断是否保存有与所述注册指令解析结果中的注册参数中的用户信息和依赖方信息对应的凭证密钥对,是则触发替换单元,否则触发保存单元;
所述替换单元,用于用生成的凭证密钥对替换保存的凭证密钥对,触发所述第一生成发送模块;
所述保存单元,用于将所述用户信息、所述依赖方信息与所述凭证密钥对、凭证ID对应保存在凭证列表中,触发所述第一生成发送模块。
38.如权利要求26所述的***,其特征在于,所述第一生成发送模块具体用于对所述注册指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据默认的认证次数、所述认证索引扩展值、所述依赖方信息哈希值、所述凭证密钥对中的凭证公钥和对应的凭证ID生成注册数据,使用设备私钥对所述注册指令解析结果中的第一哈希值和所述注册数据进行签名得到第一签名值,根据所述注册数据、设备证书链和所述第一签名值生成注册响应并发送给所述客户端。
39.如权利要求26所述的***,其特征在于,所述第一接收发送模块具体用于接收所述智能密钥设备发送的注册响应,将所述注册响应和保存的客户端数据发送给依赖方,所述依赖方调用验证接口将所述注册参数的依赖方信息和用户信息、所述注册响应和所述客户端数据发送给认证服务器。
40.如权利要求26所述的***,其特征在于,所述认证服务器还包括第一生成返回模块;所述第二获取生成模块包括第三发送单元和第二解析计算单元:
所述第三发送单元,用于向认证服务器发送认证请求;
所述第一生成返回模块,用于生成第二挑战值,根据认证请求中的认证参数和第二挑战值生成认证信息,将所述认证信息返回给所述客户端;
所述第二解析计算单元,用于接收所述认证服务器返回的认证信息,解析所述认证信息得到第二挑战值,根据所述第二挑战值、触发信息的类型、依赖方信息生成客户端数据并保存,对所述客户端数据进行哈希计算得到第二哈希值。
41.如权利要求26所述的***,其特征在于,所述第二获取判断模块包括第四发送单元和第二判断发送单元;所述智能密钥设备还包括第四接收发送模块;
所述第四发送单元,用于给所述智能密钥设备发送获取设备信息指令;
所述第四接收发送模块,用于在接收到所述客户端发送的获取设备信息指令后给所述客户端返回设备信息;
所述第二判断发送单元,用于根据所述设备信息判断智能密钥设备是否支持生物识别索引扩展,是则向所述智能密钥设备发送包括第二哈希值和认证参数的支持生物识别索引扩展的认证指令,触发所述第二解析判断模块。
42.如权利要求41所述的***,其特征在于,所述第二判断发送单元具体用于判断所述设备信息中的支持生物识别验证索引扩展标识是否为真,是则向所述智能密钥设备发送包括所述第二哈希值和认证参数的支持生物识别索引扩展的认证指令,触发所述第二解析判断模块。
43.如权利要求26所述的***,其特征在于,所述第二解析判断模块包括:
第二接收解析单元,用于接收并解析认证指令得到认证参数和第二哈希值;
第七判断单元,用于根据认证指令解析结果判断是否需要生物识别认证,是则触发第八判断单元;
所述第八判断单元,用于判断设备本身是否支持生物识别验证,是则触发所述第二接收生成模块,否则报错。
44.如权利要求43所述的***,其特征在于,所述第七判断单元具体用于判断认证指令解析结果中是否有需要生物识别认证标识,是则触发所述第八判断单元。
45.如权利要求26所述的***,其特征在于,所述智能密钥设备还包括:第三接收判断模块和第二判断生成模块;
所述第三接收判断模块,用于在所述第二解析判断模块判断进行生物识别认证后提示用户输入生物识别信息,当接收到用户输入的生物识别信息后,判断用户输入的所述生物识别信息与保存的生物识别模块中的信息是否匹配,若匹配成功,则触发所述第二判断生成模块,否则报错;
所述第二判断生成模块,用于根据认证指令解析结果判断是否需要对生物识别信息进行计算,是则触发所述第二接收生成模块;
所述第二接收生成模块,具体用于当接收到用户输入的可信的生物识别信息且需对所述生物识别信息进行计算时,根据匹配的所述生物识别模块中的信息生成认证索引扩展值。
46.如权利要求45所述的***,其特征在于,所述第二判断生成模块具体用于判断认证指令解析结果中的需要生物特征计算标识是否为真,是则触发所述第二接收生成模块。
47.如权利要求26所述的***,其特征在于,所述智能密钥设备还包括:
判断认证模块,用于判断认证指令解析结果中是否存在凭证列表,是则进行有用户认证流程,否则触发第二查找模块;
所述第二查找模块,用于根据所述认证指令解析结果中的依赖方信息在保存的凭证列表中查找对应的凭证信息,若找到则触发所述第二生成发送模块,若未找到则报错。
48.如权利要求26所述的***,其特征在于,所述第二生成发送模块包括:第九判断单元、第一签名发送单元、排列作为单元、第二签名发送单元和接收作为单元;所述第二接收发送模块包括:第五发送单元、第十判断单元、第六发送单元和提示发送单元;
所述第九判断单元,用于判断所述凭证列表中是否只有一条凭证信息,是则触发所述第一签名发送单元,否则触发所述排列作为单元;
所述第一签名发送单元,用于对所述认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、所述认证索引扩展值、所述依赖方信息哈希值、凭证信息中的凭证公钥和凭证ID生成认证数据,使用凭证私钥对所述认证数据和所述认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据所述凭证ID、凭证信息的数量、所述认证指令解析结果中的用户信息、所述认证数据和所述第二签名值生成认证响应并返回给客户端,触发所述第五发送单元;
所述第五发送单元,用于接收所述智能密钥设备返回的所述认证响应并将所述认证响应和保存的客户端数据发送给所述认证服务器,触发所述第二验证模块;
所述排列作为单元,用于在所述凭证列表中按照保存凭证密钥对的逆序排列凭证信息,并用第一条凭证信息作为当前凭证信息,触发所述第二签名发送单元;
所述第二签名发送单元,用于对所述认证指令解析结果中的依赖方信息进行哈希运算得到依赖方信息哈希值,根据保存的认证次数、所述认证索引扩展值、所述依赖方信息哈希值、当前凭证信息中的凭证公钥和对应的凭证ID生成认证数据,使用当前凭证信息中的凭证私钥对认证数据和所述认证指令解析结果中的第二哈希值进行签名得到第二签名值,根据所述凭证ID、凭证信息的数量、所述认证指令解析结果中的用户信息、所述认证数据和所述第二签名值生成认证响应并返回给客户端,触发所述第十判断单元;
所述第十判断单元,用于接收所述智能密钥设备返回的所述认证响应并根据凭证信息总量判断是否接收到所述凭证列表对应的所有认证响应,是则触发所述提示发送单元,否则触发所述第六发送单元;
所述第六发送单元,用于给所述智能密钥设备发送获取下一条凭证指令;
所述接收作为单元,用于在接收到所述客户端发送的获取下一条凭证指令后将所述凭证列表中的下一条凭证信息作为当前凭证信息,触发所述第二签名发送单元;
所述提示发送单元,用于显示接收到的所有认证响应并提示用户进行选择,当接收到用户的选择信息时,将用户选择的认证响应、保存的客户端数据和所述依赖方信息发送给所述认证服务器,触发所述第二验证模块。
49.如权利要求26所述的***,其特征在于,所述第二接收发送模块具体用于接收所述智能密钥设备发送的认证响应,将所述认证响应和保存的客户端数据发送给依赖方,所述依赖方调用验证接口转发所述认证响应和所述客户端数据给所述认证服务器。
50.如权利要求26所述的***,其特征在于,所述第一查找模块具体用于用所述认证响应中的认证次数替换保存的认证次数,根据所述认证响应的凭证信息中的凭证ID查找对应的用户登录信息,并将查找到的用户登录信息返回给所述客户端;
所述客户端还包括接收设置模块,用于接收所述认证服务器返回的所述用户登录信息,根据所述用户登录信息设置对应用户的登录状态机的资源权限。
CN202011394947.7A 2020-12-03 2020-12-03 一种无用户名的认证方法及*** Active CN112199663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011394947.7A CN112199663B (zh) 2020-12-03 2020-12-03 一种无用户名的认证方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011394947.7A CN112199663B (zh) 2020-12-03 2020-12-03 一种无用户名的认证方法及***

Publications (2)

Publication Number Publication Date
CN112199663A CN112199663A (zh) 2021-01-08
CN112199663B true CN112199663B (zh) 2021-04-06

Family

ID=74033786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011394947.7A Active CN112199663B (zh) 2020-12-03 2020-12-03 一种无用户名的认证方法及***

Country Status (1)

Country Link
CN (1) CN112199663B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978543B (zh) * 2022-05-23 2023-09-19 飞天诚信科技股份有限公司 一种凭证注册和认证的方法及***
CN115150143B (zh) * 2022-06-24 2024-03-12 国家石油天然气管网集团有限公司 工控设备入网认证方法、装置、设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234041A (ja) * 2003-01-28 2004-08-19 Nec Infrontia Corp 指紋照合装置
CN101072100B (zh) * 2006-05-12 2012-03-28 联想(北京)有限公司 一种利用可信赖平台模块的认证***和认证方法
CN106506433B (zh) * 2015-09-06 2021-04-20 中兴通讯股份有限公司 登录认证方法、认证服务器、认证客户端及登录客户端
KR20180041532A (ko) * 2016-10-14 2018-04-24 삼성전자주식회사 전자 장치들 간 연결 방법 및 장치
CN106549973A (zh) * 2016-11-21 2017-03-29 飞天诚信科技股份有限公司 一种基于生物特征识别的客户端及其工作方法
CN107241317B (zh) * 2017-05-24 2021-01-15 国民认证科技(北京)有限公司 生物特征识别身份的方法和用户终端设备以及身份认证服务器

Also Published As

Publication number Publication date
CN112199663A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112199663B (zh) 一种无用户名的认证方法及***
CN107995608B (zh) 一种通过蓝牙车载单元进行认证的方法及装置
EP3343831B1 (en) Identity authentication method and apparatus
CN108881310B (zh) 一种注册***及其工作方法
CN109150541B (zh) 一种认证***及其工作方法
WO2017059741A1 (zh) 基于认证设备进行认证的方法和设备
CN106991317A (zh) 安全验证方法、平台、装置和***
CN104767616B (zh) 一种信息处理方法、***及相关设备
CN111126533B (zh) 基于动态口令的身份认证方法、装置和动态令牌
CN108764848B (zh) 一种电子合同的签署方法及***
CN110930147B (zh) 离线支付方法、装置、电子设备及计算机可读存储介质
KR20130107188A (ko) 사운드 코드를 이용한 인증 서버 및 인증방법
CN105847247A (zh) 一种认证***及其工作方法
KR20190065340A (ko) 서비스 구현을 위한 방법 및 장치
CN101527714B (zh) 制证的方法、装置及***
CN111064743B (zh) 一种安全输入密码的方法及***
WO2020035009A1 (zh) 认证***及其工作方法
CN112248844A (zh) 充电桩充电启动方法、充电桩、智能终端和充电***
KR20120019021A (ko) 사용자 인증을 수행하는 화상형성장치 및 화상형성장치의 사용자 인증 수행 방법
CN108809982B (zh) 一种基于可信执行环境的免密认证方法及***
CN108650243B (zh) 连接建立方法、***、设备及计算机可读存储介质
CN112311558A (zh) 一种密钥设备的工作方法及密钥设备
CN107919963B (zh) 一种认证器及其实现方法
CN104618356A (zh) 身份验证方法及装置
CN106454826B (zh) 一种ap接入ac的方法和装置

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