CN112182542B - 一种生物识别精准匹配的方法和系统 - Google Patents

一种生物识别精准匹配的方法和系统 Download PDF

Info

Publication number
CN112182542B
CN112182542B CN202011392047.9A CN202011392047A CN112182542B CN 112182542 B CN112182542 B CN 112182542B CN 202011392047 A CN202011392047 A CN 202011392047A CN 112182542 B CN112182542 B CN 112182542B
Authority
CN
China
Prior art keywords
module
authentication
request
key
information
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
CN202011392047.9A
Other languages
English (en)
Other versions
CN112182542A (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 CN202011392047.9A priority Critical patent/CN112182542B/zh
Publication of CN112182542A publication Critical patent/CN112182542A/zh
Application granted granted Critical
Publication of CN112182542B publication Critical patent/CN112182542B/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/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)
  • Collating Specific Patterns (AREA)

Abstract

本公开涉及一种生物识别精准匹配的方法和系统,包括:当依赖方接收到用户的触发指令为认证指令时,向服务器发送第一认证请求,服务器根据第一认证请求生成第二认证请求并发送给客户端,客户端获取密钥设备的设备信息,并根据密钥设备的设备信息和第二认证请求生成认证指令,并发送给密钥设备;密钥设备接收认证指令,提示用户输入生物识别信息,当接收到生物识别信息时,验证生物识别信息,当验证通过时,根据生物识别信息计算第二用户认证索引扩展值,将第二用户认证索引扩展值封存后发送给服务器,服务器解析得到第二用户认证索引扩展值,并和第一用户认证索引扩展值进行比对,根据比对结果判断出是否可以精准匹配。

Description

一种生物识别精准匹配的方法和系统
技术领域
本发明涉及信息安全领域,尤其涉及一种生物识别精准匹配的方法和系统。
背景技术
随着我们对网络的使用,在线账户越来越多,在线用户多依赖于以密码为主要验证手段的验证方式;每个用户可能每天会登录许多账号,针对不同账号,如果密码一样,一旦密码泄露,所有数据都会泄露,极其不安全;如果密码不同,则不同账号的密码多而杂乱,忘记密码或者密码记混记乱现象频繁发生,给用户带来极大不便;且每次登录账号都要输入密码,十分繁琐;此外,随着数据泄露事故的频发,传统的基于密码的验证方式已越来越不能满足用户的需求。
目前有一种是采用生物特征识别技术作为输入口令的替代方式,如利用语音、指纹、人脸识别、虹膜等。这种新的身份认证方式在某种程度上改善了用户体验,但是其认证系统依然采取传统模式,将生物特征信息存储在数据库中,用户在客户端输入生物特征信息,这些信息被传送到服务器与预先存储的生物特征模版匹配,从而完成认证;而人的生物特征都是特定的,如果服务器端遭受攻击,则大量用户的私密信息将被泄露,给用户带来了安全隐患。
发明内容
根据本发明,提供了一种生物识别精确匹配的方法,包括:
步骤a:依赖方等待接收用户的触发指令,当接收到触发指令时,判断触发指令的类型,如果为认证指令,向服务器发送第一认证请求,服务器执行步骤b;如果为注册指令,执行注册流程,得到并保存第一用户认证索引扩展值,返回步骤a;
步骤b:服务器接收第一认证请求,根据第一认证请求生成第二认证请求,通过依赖方向客户端发送第二认证请求;
步骤c:客户端接收第二认证请求,从密钥设备获取密钥设备的设备信息,并根据第二认证请求和密钥设备的设备信息生成认证指令,向密钥设备发送认证指令;
步骤d:密钥设备接收并解析认证指令,提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,验证生物识别信息,判断是否验证通过,如果是,执行步骤e;否则,向依赖方返回错误码;
步骤e:密钥设备根据用户输入的生物识别信息,计算第二用户认证索引扩展值,根据第二用户认证索引扩展值组织得到验证数据,根据验证数据得到密钥认证断言响应信息,向客户端返回密钥认证断言响应信息;
步骤f:客户端接收密钥认证断言响应信息,封装客户端数据和密钥认证断言响应信息得到断言验证请求,向服务器发送断言验证请求;
步骤g:服务器接收并解析断言验证请求获取第二用户认证索引扩展值和断言验证响应信息,获取自身保存的第一用户认证索引扩展值,根据第一用户认证索引扩展值判断第二用户认证索引扩展值是否认证成功,如果是,执行步骤h;否则,报错,退出;
步骤h:服务器验证断言验证响应信息得到验证结果,将验证结果返回依赖方;
步骤i:依赖方接收并显示认证结果,返回步骤a。
可选地,当步骤a中判断出触发指令为注册指令时,注册流程包括:
步骤a-1:依赖方生成第一注册请求,向服务器发送第一注册请求;
步骤a-2:服务器接收第一注册请求,获取第一参数,根据第一参数、第一注册请求得到第二注册请求,通过依赖方向客户端返回第二注册请求;
步骤a-3:客户端接收并解析第二注册请求获取第一数据,根据第一数据生成获取设备信息指令,向密钥设备发送获取设备信息指令;
步骤a-4:客户端接收密钥设备返回的密钥设备的设备信息,根据设备信息生成第三注册请求,向密钥设备发送第三注册请求;
步骤a-5:密钥设备接收第三注册请求,提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,根据生物识别信息计算第一用户认证索引扩展值,将第一用户认证索引扩展值保存在验证数据中,根据验证数据封装密钥注册凭证响应信息,并向客户端返回密钥注册凭证响应信息;
步骤a-6:客户端接收密钥注册凭证响应信息,封装客户端数据以及密钥注册凭证响应信息得到注册验证请求,通过依赖方向服务器返回注册验证请求;
步骤a-7:服务器接收注册验证请求,进行密钥注册验证得到验证结果,保存凭证ID、公钥以及第一用户认证索引扩展值,向依赖方返回注册结果。
可选地,步骤a-2中根据第一参数、第一注册请求得到第二注册请求具体为:将第一参数封装进第一注册请求得到第二注册请求。
可选地,步骤b具体为:服务器接收第一认证请求,解析第一认证请求获取依赖方信息、用户账号信息、用户认证方式、以及扩展项,服务器生成挑战值,将上述所有数据进行封存得到第二认证请求,通过依赖方向客户端返回第二认证请求。
可选地,步骤c具体包括:
步骤c-1:客户端接收并解析第二认证请求得到请求参数,生成获取设备信息指令,向密钥设备发送获取设备信息指令;
步骤c-2:密钥设备接收获取设备信息指令,获取密钥设备的设备信息,向客户端返回密钥设备的设备信息;
步骤c-3:客户端接收密钥设备的设备信息,判断密钥设备是否支持用户认证索引扩展,如果是,封装包含用户认证索引扩展的请求参数得到认证指令,向密钥设备发送认证指令,密钥设备执行步骤d;否则,封装不包含用户认证索引扩展的请求参数得到认证指令,向密钥设备发送认证指令,密钥设备执行步骤d。
可选地,步骤d中当接收到用户输入的生物识别信息时,验证生物识别信息具体为:
密钥设备获取自身保存的生物识别信息进行一一比对,判断自身保存的生物识别信息中是否存在与接收到的生物识别信息相同的生物识别信息,如果是,生物识别信息验证通过;否则,生物识别信息验证不通过。
根据本发明另一方面,提供了一种生物识别精准匹配的系统,包括:
依赖方、服务器、客户端以及密钥设备;
其中,依赖方包括:
第一接收模块,用于接收用户的触发指令;
第一判断模块,用于判断第一接收模块接收到的触发指令的类型;
第一发送模块,用于当第一判断模块判断出触发指令为认证指令时,向服务器发送第一认证请求;
第一接收模块还用于接收认证结果;
显示模块,用于显示第一接收模块接收到的认证结果;
服务器包括:
第二接收模块,用于接收第一发送模块发送的第一认证请求;
第一生成模块,用于根据第二接收模块接收到的第一认证请求生成第二认证请求;
第二发送模块,用于向客户端发送第一生成模块生成的第二认证请求;
客户端包括:
第三接收模块,用于接收第二发送模块发送的第二认证请求;
第一获取模块,用于从密钥设备中获取密钥设备的设备信息;
第二生成模块,用于根据第三接收模块接收到的第二认证请求和第一获取模块获取到的设备信息生成认证指令;
第三发送模块,用于向密钥设备发送第二生成模块生成的认证指令;
密钥设备包括:
第四接收模块,用于接收并解析客户端发送的认证指令;
提示模块,用于提示用户输入生物识别信息;
第四接收模块还用于接收用户输入的生物识别信息;
第一验证模块,用于当第四接收模块接收到用户输入的生物识别信息时,验证生物识别信息;
第一返回模块,用于当验证模块判断出生物识别信息验证不通过时,向依赖方返回错误码;
计算模块,用于根据第四接收模块接收到的生物识别信息计算第二用户认证索引扩展值,根据第二用户认证索引扩展值组织得到验证数据,根据验证数据得到密钥认证断言响应信息;
第一返回模块还用于向客户端返回计算模块得到的密钥认证断言响应信息;
客户端还包括:
第二接收模块还用于接收断言认证请求,封装客户端数据和密钥认证断言响应信息得到断言验证请求;
第三发送模块还用于向服务器发送第二接收模块得到的断言验证请求;
服务器还包括:
第二接收模块还用于接收断言验证请求;
解析模块,用于第二接收模块接收到的断言验证请求获取第二用户认证索引扩展值和断言验证响应信息;
获取模块,用于获取自身保存的第一用户认证索引扩展值;
第二判断模块,用于根据获取模块获取到的第一用户索引扩展值判断第二用户认证索引扩展值是否认证成功;
报错模块,用于当第二判断模块判断出第二用户认证索引扩展值认证不成功时,报错;
服务器还包括:
第二验证模块,用于验证断言验证响应信息得到验证结果,并将验证结果返回给依赖方。
可选地,上述系统还包括:当第一判断模块判断出触发指令为注册指令时,
第三生成模块,用于生成第一注册请求;
第一发送模块还用于向服务器发送第三生成模块生成的第一注册请求;
第二接收模块还用于接收第一发送模块发送的第一注册请求,获取第一参数,根据第一参数、第一注册请求得到第二注册请求;
第二返回模块,用于通过依赖方向客户端返回第二注册请求;
第三接收模块还用于接收第二返回模块返回的第二注册请求;
第一获取模块,用于解析第三接收模块接收到的第二注册请求获取第一数据;
第二生成模块还用于根据第一获取模块获取到的第一数据生成获取设备信息指令;
第三发送模块还用于向密钥设备发送第二生成模块生成的获取设备信息指令;
第三接收模块还用于接收密钥设备返回的密钥设备的设备信息;
第二生成模块还用于根据第三接收模块接收到的设备信息生成第三注册请求;
第三发送模块还用于向密钥设备发送第二生成模块生成的第三注册请求;
第四接收模块还用于接收第三发送模块发送的第三注册请求,提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,触发计算模块;
计算模块用于当第四接收模块接收到生物识别信息时,根据生物识别信息计算第一用户认证索引扩展值;
第一保存模块,用于将计算模块计算的第一用户认证索引扩展值保存在验证数据中,根据验证数据封装密钥注册凭证响应信息;
第一返回模块还用于向客户端返回密钥注册凭证响应信息;
第三接收模块还用于接收第一返回模块返回的密钥注册凭证响应信息,封装客户端数据以及密钥注册凭证响应信息得到注册验证请求;
第三发送模块还用于通过依赖方向服务器其返回第三接收模块得到的注册验证请求;
第二接收模块还用于接收第三发送模块返回的注册验证请求;
第二验证模块,用于当接收到第二接收模块接收到注册验证请求时,进行密钥注册验证得到验证结果;
第二保存模块,用于保存凭证ID、公钥以及第一用户认证索引扩展值;
第二返回模块,用于将第二验证模块得到的验证结果返回所述依赖方。
可选地,第二接收模块还具体用于接收第一发送模块发送的第一注册请求,获取第一参数,将第一参数封装进第一注册请求得到第二注册请求。
可选地,第一生成模块具体用于解析第一认证请求获取依赖方信息、用户账号信息、用户认证方式以及扩展项,生成挑战值,根据上述所有数据进行封存得到第二认证请求。
可选地,第三接收模块包括:
第一接收单元,用于接收第二认证请求;
解析单元,用于解析接收单元接收到的第二认证请求得到请求参数;
生成单元,用于生成获取设备信息指令;
第三发送模块还用于向密钥设备发送获取设备信息指令;
第四接收模块包括:
第二接收单元,用于接收获取设备信息指令,获取密钥设备的设备信息;
第一返回模块还用于向客户端返回密钥设备的设备信息;
第二接收模块还用于接收密钥设备的设备信息;
客户端还包括:
判断单元,用于判断密钥设备是否支持用户认证索引扩展;
第二生成模块还包括:
封装单元,用于当判断单元判断出密钥设备支持用户认证索引扩展时,封装包含用户认证索引扩展的请求参数得到认证指令;还用于当判断单元判断出密钥设备不支持用户认证索引扩展时,封装不包含用户认证索引扩展的请求参数得到认证指令。
可选地,第一验证模块具体用于当第四接收模块接收到用户输入的生物识别信息时,获取自身保存的生物识别信息进行一一比对,判断自身保存的生物识别信息中是否存在与接收到的生物识别信息相同的生物识别信息。
根据本公开,密钥设备保存用户签名私钥等私密信息,而服务器不会得到用户私密信息,消除了用户私密信息在传输过程中被窃取或者替换的风险,提高了认证的安全性,有效的避免了由于服务器端遭受攻击致使大量用户的私密信息被泄露的安全隐患,而且更加精准的匹配,进一步提高了账户的安全性。
附图说明
图1为根据本发明实施例一提供的一种生物识别精确匹配的方法流程图;
图2为根据本发明实施例二提供的一种生物识别精准匹配的方法流程图;
图3为根据本发明实施例三提供的一种生物识别精准匹配的系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
根据本发明实施例一,提供了一种生物识别精准匹配的方法,包括:
步骤a:依赖方等待接收用户的触发指令,当接收到触发指令时,判断触发指令的类型,如果为认证指令,向服务器发送第一认证请求,服务器执行步骤b;如果为注册指令,执行注册流程,得到并保存第一用户认证索引扩展值,返回步骤a;
可选地,当步骤a中判断出触发指令为注册指令时,注册流程包括:
步骤a-1:依赖方生成第一注册请求,向服务器发送第一注册请求;
步骤a-2:服务器接收第一注册请求,获取第一参数,根据第一参数、第一注册请求得到第二注册请求,通过依赖方向客户端返回第二注册请求;
可选地,根据第一参数、第一注册请求得到第二注册请求具体为:将第一参数封装进第一注册请求中得到第二注册请求;
步骤a-3:客户端接收并解析第二注册请求获取第一数据,根据第一数据生成获取设备信息指令,向密钥设备发送获取设备信息指令;
步骤a-4:客户端接收密钥设备返回的密钥设备信息,根据密钥设备信息生成第三注册请求,向密钥设备发送第三注册请求;
步骤a-5:密钥设备接收第三注册请求,提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,根据生物识别信息计算第一用户认证索引扩展值,将第一用户认证索引扩展值保存在验证数据中,根据验证数据封装密钥注册凭证响应信息,并向客户端返回密钥注册凭证响应信息;
步骤a-6:客户端接收密钥注册凭证响应信息,封装客户端数据以及密钥注册凭证响应信息得到注册验证请求,通过依赖方向服务器返回注册验证请求;
步骤a-7:服务器接收注册验证请求,进行密钥注册验证得到验证结果,保存凭证ID、公钥以及第一用户认证索引扩展值,向依赖方返回注册结果。
其中,依赖方可以为业务系统或者移动APP。
步骤b:服务器接收第一认证请求,根据第一认证请求生成第二认证请求,通过依赖方向客户端发送第二认证请求;
可选地,步骤b具体为:所述服务器接收所述第一认证请求,解析第一认证请求获取依赖方信息、用户账号信息、用户认证方式、以及扩展项,服务器生成挑战值,将上述所有数据进行封存得到第二认证请求,通过依赖方向客户端返回第二认证请求。
步骤c:客户端接收第二认证请求,从密钥设备获取密钥设备的设备信息,并根据第二认证请求和密钥设备的设备信息生成认证指令,向密钥设备发送认证指令;
可选地,步骤c具体包括:
步骤c-1:客户端接收并解析第二认证请求得到请求参数,生成获取设备信息指令,向密钥设备发送获取设备信息指令;
步骤c-2:密钥设备接收获取设备信息指令,获取密钥设备的设备信息,向客户端返回密钥设备的设备信息;
步骤c-3:客户端接收密钥设备的设备信息,判断密钥设备是否支持用户认证索引扩展,如果是,封装包含用户认证索引扩展的请求参数得到认证指令,向密钥设备发送认证指令,密钥设备执行步骤d;否则,封装不包含用户认证索引扩展的请求参数得到认证指令,向密钥设备发送认证指令,密钥设备执行步骤d。
步骤d:密钥设备接收并解析认证指令,提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,验证生物识别信息,判断是否验证通过,如果是,执行步骤e;否则,向依赖方返回错误码;
可选地,当接收到用户输入的生物识别信息时,验证生物识别信息具体为:
密钥设备获取自身保存的生物识别信息进行一一比对,判断自身保存的生物识别信息中是否存在与接收到的生物识别信息相同的生物识别信息,如果是,生物识别信息验证通过;否则,生物识别信息验证不通过。
步骤e:密钥设备根据用户输入的生物识别信息,计算第二用户认证索引扩展值,根据第二用户认证索引扩展值组织得到验证数据,根据验证数据得到密钥认证断言响应信息,向客户端返回密钥认证断言响应信息;
步骤f:客户端接收密钥认证断言响应信息,封装客户端数据和密钥认证断言响应信息得到断言验证请求,向服务器发送断言验证请求;
步骤g:服务器接收并解析断言验证请求获取第二用户认证索引扩展值和断言验证响应信息,获取自身保存的第一用户认证索引扩展值,根据第一用户认证索引扩展值判断第二用户认证索引扩展值是否认证成功,如果是,执行步骤h;否则,报错,退出;
步骤h:服务器验证断言验证请求得到验证结果,将验证结果返回依赖方;
步骤i:依赖方接收并显示认证结果,返回步骤a。
实施例二
根据本发明实施例二,提供了一种生物识别精准匹配的方法,包括:
步骤s101:依赖方等待接收用户的触发指令,当接收到用户的触发指令时,判断触发指令的类型,如果为认证指令,向服务器发送第一认证请求,执行步骤117;如果为注册指令,生成第一注册请求,向服务器发送第一注册请求,服务器执行步骤s102;
可选地,当依赖方接收到用户的触发指令时,获取并封装用户信息以及依赖方信息生成第一注册请求,向服务器发送第一注册请求;
步骤s102:服务器接收第一注册请求,获取第一参数,根据第一参数、第一注册请求得到第二注册请求,通过依赖方向客户端返回第二注册请求;
具体地,根据第一参数和第一注册请求得到第二注册请求为:将第一参数封装进第一注册请求得到第二注册请求。
例如:第一注册请求中包含的数据为:
rp: {id: "s1.ftsafe.cn", name: "WebAuthn Test"}
user: {name: "Vvzbmq", displayName: "Vvzbmq", id: "VnZ6Ym1x"}
第一参数为:
challenge: "EqXFGQfNjii6dU-2aMPiwev1MBE-9exg7Q4ZMlfzVds"
attestation: "direct"
authenticatorSelection: {authenticatorAttachment: "cross-platform",requireResidentKey: false, userVerification: "required"}
pubKeyCredParams:[{type: "public-key", alg: -7}]
extensions: {uvi: true}
步骤s103:客户端接收并解析第二注册请求获取第一数据,根据第一数据生成获取设备信息指令,向密钥设备发送获取设备信息指令;
可选地,第一数据具体包括:挑战值、用户账号信息、依赖方信息、凭证算法、扩展项、黑名单等信息;
步骤s104:密钥设备接收获取设备信息指令,获取密钥设备的设备信息,向客户端返回获取到的设备信息;
可选地,密钥设备的设备信息具体包括:设备支持版本、设备支持扩展项、设备模型标识、设备支持可选项(如用户存在校验、用户验证校验等)、设备支持消息的最大长度、用户协议的版本等。
例如:设备信息为:
{1: ["FIDO_2_0", "FIDO_2_1_PRE"], 2: ["uvi"], 3: h'77010BD7212A4FC9B236D2CA5E9D4084', 4: {"rk": true, "up": true, "uv": true, "plat": false, "clientPin": true, "credentialMgmtPreview": true, "userVerificationMgmtPreview": true}, 5: 2048, 6: [1]}
步骤s105:客户端接收密钥设备的设备信息,判断密钥设备是否符合第一预设条件,如果是,执行步骤s106;否则,执行步骤107;
可选地,判断密钥设备是否符合第一预设条件具体为:判断密钥设备是否支持用户认证索引扩展,如果是,密钥设备符合第一预设条件;否则,密钥设备不符合第一预设条件;
具体地,步骤s105具体为:客户端接收密钥设备的设备信息,判断密钥设备是否支持用户认证索引扩展,如果是,执行步骤s106;否则,执行步骤s107。
步骤s106:客户端封装得到带有用户认证索引扩展的第三注册请求,向密钥设备发送第三注册请求,密钥设备执行步骤s108;
步骤s107:客户端忽略用户认证索引扩展,得到无用户认证索引扩展第三注册请求,向密钥设备发送第三注册请求,密钥设备执行步骤s108;
步骤s108:密钥设备接收并解析第三注册请求,根据第三注册请求判断密钥设备是否支持生物认证功能,如果是,执行步骤s109;否则,向依赖方返回错误码;
可选地,步骤s108具体为:密钥设备接收并解析第三注册请求,判断第三注册请求中是否存在用户认证索引扩展,如果是存在,密钥设备支持生物认证功能,执行步骤s109;如果不存在,密钥设备不支持生物认证功能,向依赖方返回错误码;
步骤s109:密钥设备判断是否需要生物识别认证,如果是,执行步骤s110;否则,执行步骤s113;
可选地,步骤s109具体为:密钥设备判断uv是否为true,如果是,执行步骤s110;否则,执行步骤s113;
步骤s110:密钥设备提示用户输入生物识别信息,等待用户输入生物识别信息,当接收到用户输入的生物识别信息时,校验用户输入的生物识别信息,判断是否校验成功,如果是,执行步骤s111;否则,向依赖方返回错误码;
可选地,用户输入的生物识别信息包括但不限于:虹膜、指纹、声音以及人脸;
步骤s111:密钥设备将第一标志位设置为1,判断是否需要计算用户认证索引扩展值,如果是,执行步骤s112;否则,执行步骤s113;
可选地,步骤s111具体为:密钥设备将uv位设置为1,判断uvi是否为true,如果是,执行步骤s112;否则,执行步骤s113;
步骤s112:密钥设备获取用户输入的生物识别信息,计算第一用户认证索引扩展值,并将计算得到的第一用户认证索引扩展值放入验证数据中;
具体地,计算第一用户认证索引扩展值可以通过多种方式;
例如:通过 Pubkey与rawUVI进行SHA256运算后的结果拼接,拼接结果再进行SHA256计算;其中PublicKey是密钥设备生成的作用域凭证的相关公钥,rawUVI是从生物特征参考数据派生的,因此不同的生物特征参考数据导致不同的rawUVI值,而相关用户的相同生物特征参考数据导致相同的rawUVI值。
rawUVI可以采用如下计算方式:rawUVI=RPID || (生物识别模式GUID),其中(生物识别模式GUID)从未从验证器泄漏。我们还可以在生成GUID时设置规则,以允许可取消的生物特征,即重新注册总是导致生成新的GUID,即使是同一用户重新注册同一生物特征。
例如: key ID进行SHA256运算后的结果和rawUVI进行SHA256运算后的结果进行拼接,其中||表示拼接;rawUVI反映出(a)生物特征数据;(b)相关操作系统用户ID以及(c)标识符,该标识符每当认证器执行出厂重置时会发生变化,即由生物特征数据、相关操作系统用户ID以及标识符拼接而成。
步骤s113:密钥设备封装密钥注册凭证响应信息,向客户端返回密钥注册凭证响应信息;
例如:密钥注册凭证响应信息为:
{1: "packed", 2: h'BDF5DD182D072484A38E0EC16AB3CF65319CDDDFC66B2F9EA61BC56BB72EC7BD450000F73577010BD7212A4FC9B236D2CA5E9D4084006048C6D96A185A58CA64C6A34C5DE6E7699F817A0B41CA7520590A01CF2298A1FD594EA534C70AF31EDEC8B82FF0A45A2002FCF6E5334184BAD6D8D6F5C64116296EAE197A9A6E46CD2D0EA4C100D911B622696FDD47AB891BC1809014AE1FDA75A5010203262001215820458DA737FCCAEFF331BFF61FE419192DAA604D9693C89E23CAC125AD0A09568E2258206A43229EBBF7457F1CC5E0C409E90BDCC87D1701942363FBF0A3F87B4A806641', 3: {"alg": -7, "sig": h'3045022100CCA1711000D00BD9E4DC3CF8313297012577C7D786001D9FB468F1C12F794DA2022076FC2C31A12F4F7D62E1853F834C2D03DCEDD1A1AE56FA4BB1738E48AC033B21', "x5c": [h'308201E53082018CA003020102020900D79549BD1A671761300A06082A8648CE3D04030230173115301306035504030C0C4654204649444F20303230303020170D3138303831333030303030305A180F32303333303831323233353935395A306F310B3009060355040613025553311D301B060355040A0C144665697469616E20546563686E6F6C6F6769657331223020060355040B0C1941757468656E74696361746F72204174746573746174696F6E311D301B06035504030C1446542042696F50617373204649444F32205553423059301306072A8648CE3D020106082A8648CE3D03010703420004B0673C92BCFA06A6BAF70BD8DBF6379838984C6CE4035B182447B8DBC6890D3D824596809BB889AA89FED219B103419D06859F301E01FF5AFB1EE6D26071A6B3A3673065301D0603551D0E04160414EF12B446563A31DFBBB62E31F66D678ABBDF35153013060B2B0601040182E51C0201010404030205203021060B2B0601040182E51C0101040412041077010BD7212A4FC9B236D2CA5E9D4084300C0603551D130101FF04023000300A06082A8648CE3D040302034700304402202B41A64C9FD77773884194269CC8F9B91330737F9909BB1B224E71566F74C80402203189CBA43A868AD98C4A014FDBD15A220961A4172A3D52981954D8A080E05162', h'3082017E30820125A003020102020101300A06082A8648CE3D04030230173115301306035504030C0C4654204649444F20303230303020170D3136303530313030303030305A180F32303530303530313030303030305A30173115301306035504030C0C4654204649444F20303230303059301306072A8648CE3D020106082A8648CE3D03010703420004D066AD1A953B1CED4C954DD7DBED76A70BEED2907A89769E7336FF2620BE4B199EBE7448A6D5808124CC74153AEF342D5104DE556178ED478E08310254FAA385A360305E301D0603551D0E041604144915642DD5BBC6DE333A5E0995FC872336D3BF0B301F0603551D230418301680144915642DD5BBC6DE333A5E0995FC872336D3BF0B300C0603551D13040530030101FF300E0603551D0F0101FF040403020106300A06082A8648CE3D04030203470030440220307CFAA021621407E40105A546B1D1F2D2CE51331964CE9497FF34B24D9994A50220076C09EA765133CA17FE7038DD187A489A2F3365F00821FFFFE2E2AC101B0743']}}
步骤s114:客户端接收密钥注册凭证响应信息,封装客户端数据及密钥注册凭证响应信息得到注册验证请求,通过依赖方向服务器发送注册验证请求;
例如:客户端返回的响应信息:
{id: "7fmnHKXB0BwgNeOB3PtduZ-BegtBynUgWQoBzyKYof3ZHipmemzs4W7LvQnXtjnQE4K_DXnDqyyGrIJb8fPDLr5cgQ3eRufZtlWpgif46YTw7Qraef_K6J_R_OZsI1m1"
rawId:"7fmnHKXB0BwgNeOB3PtduZ-BegtBynUgWQoBzyKYof3ZHipmemzs4W7LvQnXtjnQE4K_DXnDqyyGrIJb8fPDLr5cgQ3eRufZtlWpgif46YTw7Qraef_K6J_R_OZsI1m1"
response: {clientDataJSON: "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIj…i8vczEuZnRzYWZlLmNuIiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ",attestationObject: "o2NmbXRmcGFja2VkZ2F0dFN0bXSjY2FsZyZjc2lnWEcwRQIhAL…twiWCDIwjbR7wblx8cV6bg_erGkI68oyWBflIAHEAZy3owokQ"}
type: "public-key"}
步骤s115:服务器进行注册验证得到注册结果,并保存凭证ID、公钥以及用户认证索引扩展等信息,并向依赖方返回注册结果;
步骤s116:依赖方接收注册结果,显示注册结果,返回步骤s101;
步骤s117:依赖方向服务器发送第一认证请求;
步骤s118:服务器接收第一认证请求,根据第一认证请求生成第二认证请求,并通过依赖方向客户端返回第二认证请求;
可选地,步骤s118具体包括:服务器接收第一认证请求,并解析第一认证请求获取依赖方信息、用户账号信息、用户认证方式、以及扩展项等;服务器生成挑战值,将所有数据进行封存生成第二认证请求,并通过依赖方向客户端返回第二认证请求。
例如:第一认证请求参数:
rpId: "s1.ftsafe.cn"
userVerification: "required"
allowCredentials:true
第二认证请求参数:
{
allowCredentials:[{type:"public-key", id: "D3G2LfxZhZ8G4Ftn62u2MZ-BegtBynUgWQoBzyKYof02vRucrT…2QmsErE0Js_2ydzcWRUYXidxhbAjuVeN2PdymQF2J00LelN4c"},{type: "public-key", id: "SMbZahhaWMpkxqNMXebnaZ-BegtBynUgWQoBzyKYof1ZTqU0xw…1xkEWKW6uGXqabkbNLQ6kwQDZEbYiaW_dR6uJG8GAkBSuH9p1"}, {type: "public-key", id: "7fmnHKXB0BwgNeOB3PtduZ-BegtBynUgWQoBzyKYof3ZHipmem…b8fPDLr5cgQ3eRufZtlWpgif46YTw7Qraef_K6J_R_OZsI1m1"}]
challenge: "Gloyi4UflNDhfktgso1tEtYhrt-YlRrLDbU_Fc2l8Pg"
rpId: "s1.ftsafe.cn"
userVerification: "required"
extensions: {uvi: true}
}
步骤s119:客户端接收并解析第二认证请求获取请求参数,生成获取设备信息指令,向密钥设备发送获取设备信息指令;
可选地,请求参数包括:挑战值、依赖方标识、凭证白名单、用户认证索引扩展等。
例如:设备信息为:
{1: ["FIDO_2_0", "FIDO_2_1_PRE"], 2: ["uvi"], 3: h'77010BD7212A4FC9B236D2CA5E9D4084', 4: {"rk": true, "up": true, "uv": true, "plat": false, "clientPin": true, "credentialMgmtPreview": true, "userVerificationMgmtPreview": true}, 5: 2048, 6: [1]}
步骤s120:密钥设备接收获取设备信息指令,获取密钥设备的设备信息,向客户端返回密钥设备的设备信息;
步骤s121:客户端接收密钥设备的设备信息,判断密钥设备是否支持用户认证索引扩展,如果是,根据用户认证索引扩展及其他请求参数得到认证指令,向密钥设备发送认证指令,密钥设备执行步骤s122;否则,丢弃用户认证索引扩展,根据其他请求参数得到认证指令,向密钥设备发送认证指令,密钥设备执行步骤s122;
步骤s122:密钥设备接收并解析认证指令,判断密钥设备是否支持生物识别功能,如果是,执行步骤s123;否则,向依赖方返回错误码;
步骤s123:密钥设备判断是否需要生物识别认证,如果是,执行步骤s124;否则,执行步骤s127;
可选地,步骤s123具体为:密钥设备判断uv是否为true,如果是,需要生物识别认证,执行步骤s124;否则,不需要生物识别认证,执行步骤s127;
步骤s124:密钥设备提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,验证接收到的生物识别信息,判断接收到的生物识别信息是否验证通过,如果是,执行步骤s125;否则,向依赖方返回错误码;
可选地,判断接收到的生物识别信息是否验证通过具体为:当密钥设备接收到用户输入的生物识别信息时,获取自身保存的生物识别信息进行一一比对,判断自身保存的生物识别信息中是否存在与所述接收到的生物识别信息相同的生物识别信息,如果是,接收到的生物识别信息验证通过;否则,接收到的生物识别信息验证不通过。
步骤s125:密钥设备判断是否需要计算用户认证索引扩展值,如果是,执行步骤s126;否则,执行步骤s127;
可选地,步骤s125具体为:密钥设备判断uvi是否为true,如果是,需要计算用户认证索引扩展值,执行步骤s126;否则,无需计算用户认证索引扩展值,执行步骤s127;
步骤s126:密钥设备计算第二用户认证索引扩展值,并将第二用户认证索引扩展值放入验证数据;
步骤s127:密钥设备根据验证数据封装密钥断言响应信息,向客户端发送密钥断言响应信息;
例如:客户端返回的断言响应信息为
{1:{"id":h'0F71B62DFC59859F06E05B67EB6BB6319F817A0B41CA7520590A01CF2298A1FD36BD1B9CAD3451A5B11E92FE0BD6933C677D67C552F0234977908D76426B04AC4D09B3FDB277371645461789DC616C08EE55E3763DDCA6405D89D342DE94DE1C',"type": "public-key"}, 2:h'BDF5DD182D072484A38E0EC16AB3CF65319CDDDFC66B2F9EA61BC56BB72EC7BD050000F880',
3:h'304502202485B1A74416E42E74886DC5F2C36028095AD4EAE6AF8F5FB6EB54A6678DF158022100D1ECA7ED47D4F8462493D3AD6A0AB32E22E4D65DF71ACC0D59F1C2D3B1A75599'}
步骤s128:客户端封装客户端数据及密钥断言响应信息得到断言认证请求,向服务器发送断言认证请求;
步骤s129:服务器接收并解析断言认证请求,从断言认证请求中获取第二用户认证索引扩展值,判断是否能获取到第二用户认证索引扩展值,如果是,执行步骤s130;否则,执行步骤s131;
例如:服务端接收的客户端返回的断言响应信息为
{"id":"D3G2LfxZhZ8G4Ftn62u2MZ-BegtBynUgWQoBzyKYof02vRucrTRRpbEekv4L1pM8Z31nxVLwI0l3kI12QmsErE0Js_2ydzcWRUYXidxhbAjuVeN2PdymQF2J00LelN4c","type":"public-key","rawId":{},"response":{"clientDataJSON":"eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiR2xveWk0VWZsTkRoZmt0Z3NvMXRFdFlocnQtWWxSckxEYlVfRmMybDhQZyIsIm9yaWdpbiI6Imh0dHBzOi8vczEuZnRzYWZlLmNuIiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ","authenticatorData":"vfXdGC0HJISjjg7BarPPZTGc3d_Gay-ephvFa7cux70FAAD4gA","signature":"MEUCICSFsadEFuQudIhtxfLDYCgJWtTq5q-PX7brVKZnjfFYAiEA0eyn7UfU-EYkk9OtagqzLiLk1l33GswNWfHC07GnVZk","userHandle":""}}
步骤s130:服务器获取保存的第一用户认证索引扩展值,根据第一用户认证索引扩展值验证第二用户认证索引值,判断验证是否成功,如果是,执行步骤s131;否则,返回错误信息,结束;
可选地,步骤s130具体为:服务器从断言认证请求中获取第二uvi的值,获取保存的第一uvi的值,验证第二uvi的值是否与第一uvi的值相同,如果是,验证成功;否则,验证失败;
步骤s131:服务器验证断言信息,判断断言信息是否验证成功得到认证结果,将认证结果返回依赖方,依赖方执行步骤s132;
步骤s132:依赖方接收认证结果,并显示认证结果,结束。
实施例三
根据本发明实施例三,提供了一种生物识别精准匹配的系统,包括:
依赖方10、服务器20、客户端30以及密钥设备40;
其中,依赖方10包括:
第一接收模块101,用于接收用户的触发指令;
第一判断模块102,用于判断第一接收模块101接收到的触发指令的类型;
第一发送模块103,用于当第一判断模块102判断出触发指令为认证指令时,向服务器发送第一认证请求;
第一接收模块101,还用于接收认证结果;
显示模块104,用于显示第一接收模块接收到的认证结果;
服务器20包括:
第二接收模块201,用于接收第一发送模块103发送的第一认证请求;
第一生成模块202,用于根据第二接收模块201接收到的第一认证请求生成第二认证请求;
第二发送模块203,用于向客户端发送第一生成模块202生成的第二认证请求;
客户端30包括:
第三接收模块301,用于接收第二发送模块发送的第二认证请求;
第一获取模块302,用于从密钥设备中获取密钥设备的设备信息;
第二生成模块303,用于根据第三接收模块301接收到的第二认证请求和第一获取模块302获取到的设备信息生成认证指令;
第三发送模块304,用于向密钥设备发送第二生成模块303生成的认证指令;
密钥设备40包括:
第四接收模块401,用于接收并解析客户端发送的认证指令;
提示模块402,用于提示用户输入生物识别信息;
第四接收模块401,还用于接收用户输入的生物识别信息;
第一验证模块403,用于当第四接收模块401接收到用户输入的生物识别信息时,验证生物识别信息;
第一返回模块404,用于当第一验证模块403判断出生物识别信息验证不通过时,向依赖方返回错误码;
计算模块405,用于根据第四接收模块401接收到的生物识别信息计算第二用户认证索引扩展值,根据第二用户认证索引扩展值组织得到验证数据,根据验证数据得到密钥认证断言响应信息;
第一返回模块404,还用于向客户端返回计算模块得到的密钥认证断言响应信息;
客户端30还包括:
第三接收模块301,还用于接收密钥认证断言响应信息,封装客户端数据和密钥认证断言响应信息得到断言验证请求;
第三发送模块304,还用于向服务器发送第三接收模块301得到的断言验证请求;
服务器还包括:
第二接收模块201还用于接收断言验证请求;
解析模块204,用于第二接收模块201接收到的断言验证请求获取第二用户认证索引扩展值和断言验证响应信息;
获取模块205,用于获取自身保存的第一用户认证索引扩展值;
第二判断模块206,用于根据获取模块205获取到的第一用户索引扩展值判断第二用户认证索引扩展值是否认证成功;
报错模块207,用于当第二判断模块206判断出第二用户认证索引扩展值认证不成功时,报错;
服务器20还包括:
第二验证模块204,用于验证断言验证响应信息得到验证结果,并将验证结果返回给依赖方。
可选地,上述系统还包括:当第一判断模块判断出触发指令为注册指令时,
第三生成模块,用于生成第一注册请求;
第一发送模块103,还用于向服务器发送第三生成模块生成的第一注册请求;
第二接收模块201,还用于接收第一发送模块发送的第一注册请求,获取第一参数,根据第一参数、第一注册请求得到第二注册请求;
第二返回模块,用于通过依赖方向客户端返回第二注册请求;
第三接收模块301,还用于接收第二返回模块返回的第二注册请求;
第一获取模块,用于解析第三接收模块接收到的第二注册请求获取第一数据;
第二生成模块202,还用于根据第一获取模块302获取到的第一数据生成获取设备信息指令;
第三发送模块304,还用于向密钥设备发送第二生成模块303生成的获取设备信息指令;
第三接收模块301,还用于接收密钥设备返回的密钥设备的设备信息;
第二生成模块303,还用于根据第三接收模块接收到的设备信息生成第三注册请求;
第三发送模块304,还用于向密钥设备发送第二生成模块生成的第三注册请求;
第四接收模块401,还用于接收第三发送模块发送的第三注册请求,提示用户输入生物识别信息,当接收到用户输入的生物识别信息时,触发计算模块;
计算模块,用于当第四接收模块接收到生物识别信息时,根据生物识别信息计算第一用户认证索引扩展值;
第一保存模块,用于将计算模块计算的第一用户认证索引扩展值保存在验证数据中,根据验证数据封装密钥注册凭证响应信息;
第一返回模块404,还用于向客户端返回密钥注册凭证响应信息;
第三接收模块301,还用于接收第一返回模块返回的密钥注册凭证响应信息,封装客户端数据以及密钥注册凭证响应信息得到注册验证请求;
第三发送模块304,还用于通过依赖方向服务器其返回第三接收模块得到的注册验证请求;
第二接收模块201,还用于接收第三发送模块返回的注册验证请求;
第二验证模块,用于当接收到第二接收模块接收到注册验证请求时,进行密钥注册验证得到验证结果;
第二保存模块,用于保存凭证ID、公钥以及第一用户认证索引扩展值;
第二返回模块,用于将第二验证模块得到的验证结果返回所述依赖方。
可选地,第二接收模块201,还具体用于接收第一发送模块发送的第一注册请求,获取第一参数,将第一参数封装进第一注册请求得到第二注册请求。
可选地,第一生成模块202,具体用于解析第一认证请求获取依赖方信息、用户账号信息、用户认证方式以及扩展项,生成挑战值,根据上述所有数据进行封存得到第二认证请求。
可选地,第三接收模块包括:
第一接收单元,用于接收第二认证请求;
解析单元,用于解析接收单元接收到的第二认证请求得到请求参数;
生成单元,用于生成获取设备信息指令;
第三发送模块,还用于向密钥设备发送获取设备信息指令;
第四接收模块401包括:
第二接收单元,用于接收获取设备信息指令,获取密钥设备的设备信息;
第一返回模块,还用于向客户端返回密钥设备的设备信息;
第二接收模块,还用于接收密钥设备的设备信息;
客户端30还包括:
判断单元,用于判断密钥设备是否支持用户认证索引扩展;
第二生成模块201还包括:
封装单元,用于当判断单元判断出密钥设备支持用户认证索引扩展时,封装包含用户认证索引扩展的请求参数得到认证指令;还用于当判断单元判断出密钥设备不支持用户认证索引扩展时,封装不包含用户认证索引扩展的请求参数得到认证指令。
可选地,第一验证模块403,具体用于当第四接收模块接收到用户输入的生物识别信息时,获取自身保存的生物识别信息进行一一比对,判断自身保存的生物识别信息中是否存在与接收到的生物识别信息相同的生物识别信息。

Claims (10)

1.一种生物识别精准匹配的方法,其特征在于,包括:
步骤a:依赖方等待接收用户的触发指令,当接收到所述触发指令时,判断所述触发指令的类型,如果为认证指令,向服务器发送第一认证请求,所述服务器执行步骤b;
步骤b:所述服务器接收所述第一认证请求,根据所述第一认证请求生成第二认证请求,通过所述依赖方向客户端发送所述第二认证请求;
步骤c:所述客户端接收所述第二认证请求,从密钥设备获取密钥设备的设备信息,并根据所述第二认证请求和所述密钥设备的设备信息生成认证指令,向所述密钥设备发送所述认证指令;
步骤d:所述密钥设备接收并解析所述认证指令,提示用户输入生物识别信息,当接收到所述用户输入的生物识别信息时,验证所述生物识别信息,判断是否验证通过,如果是,执行步骤e;否则,向客户端返回错误码,客户端向所述依赖方返回错误码;
步骤e:所述密钥设备根据所述用户输入的生物识别信息,计算第二用户认证索引扩展值,根据所述第二用户认证索引扩展值组织得到验证数据,根据所述验证数据得到密钥认证断言响应信息,向所述客户端返回所述密钥认证断言响应信息;
步骤f:所述客户端接收所述密钥认证断言响应信息,封装客户端数据和所述密钥认证断言响应信息得到断言验证请求,通过依赖方向所述服务器发送所述断言验证请求;
步骤g:所述服务器接收并解析所述断言验证请求,获取所述密钥认证断言响应信息以及所述密钥认证断言响应信息包含的所述第二用户认证索引扩展值,获取自身保存的第一用户认证索引扩展值,根据所述第一用户认证索引扩展值判断所述第二用户认证索引扩展值是否认证成功,如果是,执行步骤h;否则,报错,退出;
步骤h:所述服务器验证密钥认证断言响应信息得到验证结果,将所述验证结果返回给所述依赖方;
步骤i:所述依赖方接收并显示认证结果,返回步骤a;
步骤a还包括:
如果判断出接收到的所述触发指令为注册指令,执行注册流程,得到并保存第一用户认证索引扩展值,返回步骤a;
所述注册流程包括:
步骤a-1:所述依赖方生成第一注册请求,向所述服务器发送所述第一注册请求;
步骤a-2:所述服务器接收所述第一注册请求,获取第一参数,根据所述第一参数及所述第一注册请求得到第二注册请求,通过依赖方向客户端发送所述第二注册请求;
步骤a-3:所述客户端接收并解析所述第二注册请求,获取第一数据,根据所述第一数据生成获取设备信息指令,向所述密钥设备发送获取设备信息指令;
步骤a-4:所述客户端接收所述密钥设备返回的密钥设备的设备信息,根据所述设备信息生成第三注册请求,向所述密钥设备发送所述第三注册请求;
步骤a-5:所述密钥设备接收所述第三注册请求,提示用户输入生物识别信息,当接收到所述用户输入的生物识别信息时,根据所述生物识别信息计算第一用户认证索引扩展值,将所述第一用户认证索引扩展值保存在验证数据中,根据所述验证数据封装密钥注册凭证响应信息,并向所述客户端返回所述密钥注册凭证响应信息;
步骤a-6:所述客户端接收所述密钥注册凭证响应信息,封装客户端数据以及所述密钥注册凭证响应信息得到注册验证请求,通过依赖方向所述服务器返回所述注册验证请求;
步骤a-7:所述服务器接收所述注册验证请求,解析所述注册验证请求得到凭证ID和公钥,进行密钥注册验证得到验证结果,保存所述凭证ID、所述公钥以及所述第一用户认证索引扩展值,向所述依赖方返回注册结果。
2.如权利要求1所述的方法,其特征在于,所述步骤a-2中所述根据所述第一参数及所述第一注册请求得到第二注册请求具体为:将所述第一参数封装进所述第一注册请求得到所述第二注册请求。
3.如权利要求1所述的方法,其特征在于,所述步骤b具体为:所述服务器接收所述第一认证请求,解析所述第一认证请求获取依赖方信息、用户账号信息、用户认证方式以及扩展项,所述服务器生成挑战值,将上述所有数据进行封装得到所述第二认证请求,通过所述依赖方向所述客户端返回所述第二认证请求。
4.如权利要求1所述的方法,其特征在于,所述步骤c具体包括:
步骤c-1:所述客户端接收并解析所述第二认证请求得到请求参数,生成获取设备信息指令,向所述密钥设备发送所述获取设备信息指令;
步骤c-2:所述密钥设备接收所述获取设备信息指令,获取所述密钥设备的设备信息,向所述客户端返回所述密钥设备的设备信息;
步骤c-3:所述客户端接收所述密钥设备的设备信息,判断所述密钥设备是否支持用户认证索引扩展,如果是,封装包含用户认证索引扩展的请求参数得到认证指令,向密钥设备发送所述认证指令,所述密钥设备执行步骤d;否则,封装不包含所述用户认证索引扩展的请求参数得到认证指令,向所述密钥设备发送所述认证指令,所述密钥设备执行步骤d。
5.如权利要求1所述的方法,其特征在于,所述步骤d中当接收到所述用户输入的生物识别信息时,验证所述生物识别信息具体为:
所述密钥设备获取自身保存的生物识别信息进行一一比对,判断自身保存的生物识别信息中是否存在与所述接收到的生物识别信息相同的生物识别信息,如果是,所述生物识别信息验证通过;否则,所述生物识别信息验证不通过。
6.一种生物识别精准匹配的系统,其特征在于,包括:
依赖方、服务器、客户端以及密钥设备;
所述依赖方包括:
第一接收模块,用于接收用户的触发指令;
第一判断模块,用于判断所述第一接收模块接收到的所述触发指令的类型;
第一发送模块,用于当所述第一判断模块判断出所述触发指令为认证指令时,向所述服务器发送第一认证请求;
所述第一接收模块,还用于接收认证结果;
显示模块,用于显示所述第一接收模块接收到的所述认证结果;
所述服务器包括:
第二接收模块,用于接收所述第一发送模块发送的所述第一认证请求;
第一生成模块,用于根据所述第二接收模块接收到的所述第一认证请求生成第二认证请求;
第二发送模块,用于向所述客户端发送所述第一生成模块生成的所述第二认证请求;
所述客户端包括:
第三接收模块,用于接收所述第二发送模块发送的所述第二认证请求;
第一获取模块,用于从所述密钥设备中获取所述密钥设备的设备信息;
第二生成模块,用于根据所述第三接收模块接收到的所述第二认证请求和所述第一获取模块获取到的所述设备信息生成认证指令;
第三发送模块,用于向所述密钥设备发送所述第二生成模块生成的所述认证指令;
所述密钥设备包括:
第四接收模块,用于接收并解析所述客户端发送的所述认证指令;
提示模块,用于提示用户输入生物识别信息;
所述第四接收模块,还用于接收用户输入的生物识别信息;
第一验证模块,用于当所述第四接收模块接收到用户输入的生物识别信息时,验证所述生物识别信息;
第一返回模块,用于当所述验证模块判断出所述生物识别信息验证不通过时,向所述依赖方返回错误码;
计算模块,用于根据所述第四接收模块接收到的所述生物识别信息计算第二用户认证索引扩展值,根据所述第二用户认证索引扩展值组织得到验证数据,根据所述验证数据得到密钥认证断言响应信息;
所述第一返回模块,还用于向所述客户端返回所述计算模块得到的所述密钥认证断言响应信息;
所述客户端还包括:
所述第三接收模块,还用于接收密钥认证断言验证请求,封装客户端数据和所述密钥认证断言响应信息得到断言验证请求;
所述第三发送模块,还用于向所述服务器发送所述第二接收模块得到的所述断言验证请求;
所述服务器还包括:
所述第二接收模块,还用于接收所述断言验证请求;
解析模块,用于所述第二接收模块接收到的所述断言验证请求获取所述第二用户认证索引扩展值和所述断言验证响应信息;
获取模块,用于获取自身保存的第一用户认证索引扩展值;
第二判断模块,用于根据所述获取模块获取到的所述第一用户索引扩展值判断所述第二用户认证索引扩展值是否认证成功;
报错模块,用于当所述第二判断模块判断出所述第二用户认证索引扩展值认证不成功时,报错;
所述服务器还包括:
第二验证模块,用于验证所述断言验证响应信息得到验证结果,并将所述验证结果返回给所述依赖方;
当所述第一判断模块判断出所述触发指令为注册指令时,还包括:
第三生成模块,用于生成第一注册请求;
所述第一发送模块,还用于向所述服务器发送所述第三生成模块生成的第一注册请求;
所述第二接收模块,还用于接收所述第一发送模块发送的所述第一注册请求,获取第一参数,根据所述第一参数、所述第一注册请求得到第二注册请求;
第二返回模块,用于通过所述依赖方向所述客户端返回所述第二注册请求;
所述第三接收模块,还用于接收所述第二返回模块返回的所述第二注册请求;
第一获取模块,用于解析所述第三接收模块接收到的所述第二注册请求获取第一数据;
所述第二生成模块,还用于根据所述第一获取模块获取到的所述第一数据生成获取设备信息指令;
所述第三发送模块,还用于向所述密钥设备发送所述第二生成模块生成的所述获取设备信息指令;
所述第三接收模块,还用于接收所述密钥设备返回的密钥设备的设备信息;
所述第二生成模块,还用于根据所述第三接收模块接收到的所述设备信息生成第三注册请求;
所述第三发送模块,还用于向所述密钥设备发送所述第二生成模块生成的所述第三注册请求;
所述第四接收模块,还用于接收所述第三发送模块发送的所述第三注册请求,提示用户输入生物识别信息,当接收到用户输入的所述生物识别信息时,触发计算模块;
所述计算模块,用于当所述第四接收模块接收到所述生物识别信息时,根据所述生物识别信息计算第一用户认证索引扩展值;
第一保存模块,用于将所述计算模块计算的所述第一用户认证索引扩展值保存在验证数据中,根据所述验证数据封装密钥注册凭证响应信息;
所述第一返回模块,还用于向所述客户端返回所述密钥注册凭证响应信息;
所述第三接收模块,还用于接收所述第一返回模块返回的所述密钥注册凭证响应信息,封装客户端数据以及所述密钥注册凭证响应信息得到注册验证请求;
所述第三发送模块,还用于通过所述依赖方想所述服务器其返回所述第三接收模块得到的所述注册验证请求;
所述第二接收模块还用于接收所述第三发送模块返回的所述注册验证请求;
第二验证模块,用于当接收到所述第二接收模块接收到所述注册验证请求时,进行密钥注册验证得到验证结果;
第二保存模块,用于保存凭证ID、公钥以及所述第一用户认证索引扩展值;
第二返回模块,用于将所述第二验证模块得到的所述验证结果返回所述依赖方。
7.如权利要求6所述的系统,其特征在于,所述第二接收模块,还具体用于接收所述第一发送模块发送的所述第一注册请求,获取第一参数,将所述第一参数封装进所述第一注册请求得到所述第二注册请求。
8.如权利要求6所述的系统,其特征在于,所述第一生成模块,具体用于解析所述第一认证请求获取依赖方信息、用户账号信息、用户认证方式以及扩展项,生成挑战值,根据上述所有数据进行封存得到所述第二认证请求。
9.如权利要求6所 述的系统,其特征在于,
所述第三接收模块包括:
第一接收单元,用于接收所述第二认证请求;
解析单元,用于解析所述接收单元接收到的所述第二认证请求得到请求参数;
生成单元,用于生成所述获取设备信息指令;
所述第三发送模块,还用于向所述密钥设备发送所述获取设备信息指令;
所述第四接收模块包括:
第二接收单元,用于接收所述获取设备信息指令,获取所述密钥设备的设备信息;
所述第一返回模块,还用于向所述客户端返回所述密钥设备的设备信息;
所述第二接收模块,还用于接收所述密钥设备的设备信息;
所述客户端还包括:
判断单元,用于判断所述密钥设备是否支持用户认证索引扩展;
所述第二生成模块还包括:
封装单元,用于当所述判断单元判断出所述密钥设备支持用户认证索引扩展时,封装包含用户认证索引扩展的请求参数得到认证指令;还用于当所述判断单元判断出所述密钥设备不支持用户认证索引扩展时,封装不包含所述用户认证索引扩展的请求参数得到认证指令。
10.如权利要求6所述的系统,其特征在于,所述第一验证模块,具体用于当所述第四接收模块接收到用户输入的生物识别信息时,获取自身保存的生物识别信息进行一一比对,判断自身保存的所述生物识别信息中是否存在于所述接收到的生物识别信息相同的生物识别信息。
CN202011392047.9A 2020-12-03 2020-12-03 一种生物识别精准匹配的方法和系统 Active CN112182542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011392047.9A CN112182542B (zh) 2020-12-03 2020-12-03 一种生物识别精准匹配的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011392047.9A CN112182542B (zh) 2020-12-03 2020-12-03 一种生物识别精准匹配的方法和系统

Publications (2)

Publication Number Publication Date
CN112182542A CN112182542A (zh) 2021-01-05
CN112182542B true CN112182542B (zh) 2021-03-16

Family

ID=73918337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011392047.9A Active CN112182542B (zh) 2020-12-03 2020-12-03 一种生物识别精准匹配的方法和系统

Country Status (1)

Country Link
CN (1) CN112182542B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515067B2 (en) * 2009-12-18 2013-08-20 Kabushiki Kaisha Toshiba Account aggregation system, information processing apparatus and encryption key management method of the account aggregation system
CN106549973A (zh) * 2016-11-21 2017-03-29 飞天诚信科技股份有限公司 一种基于生物特征识别的客户端及其工作方法
CN106686004A (zh) * 2017-02-28 2017-05-17 飞天诚信科技股份有限公司 一种登录认证方法及系统
CN108881310A (zh) * 2018-08-15 2018-11-23 飞天诚信科技股份有限公司 一种注册系统及其工作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515067B2 (en) * 2009-12-18 2013-08-20 Kabushiki Kaisha Toshiba Account aggregation system, information processing apparatus and encryption key management method of the account aggregation system
CN106549973A (zh) * 2016-11-21 2017-03-29 飞天诚信科技股份有限公司 一种基于生物特征识别的客户端及其工作方法
CN106686004A (zh) * 2017-02-28 2017-05-17 飞天诚信科技股份有限公司 一种登录认证方法及系统
CN108881310A (zh) * 2018-08-15 2018-11-23 飞天诚信科技股份有限公司 一种注册系统及其工作方法

Also Published As

Publication number Publication date
CN112182542A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN108881310B (zh) 一种注册系统及其工作方法
CN109150541B (zh) 一种认证系统及其工作方法
CN105847247B (zh) 一种认证系统及其工作方法
CN104519066B (zh) 一种激活移动终端令牌的方法
WO2017059741A1 (zh) 基于认证设备进行认证的方法和设备
WO2017041621A1 (zh) 基于认证设备进行注册的方法和设备
EP2579220A1 (en) Entrance guard control method and system thereof
CN105516195B (zh) 一种基于应用平台登录的安全认证系统及其认证方法
CN105827573B (zh) 物联网设备强认证的系统、方法及相关装置
CN102281138B (zh) 一种提高验证码安全性的方法和系统
CN107612940A (zh) 一种身份认证方法及认证装置
CN107086979B (zh) 一种用户终端验证登录方法及装置
CN107426160B (zh) 智能家居的控制方法、系统、终端、fido服务器及安全设备
CN111460423A (zh) 一种二维码扫描登录的方法及装置
US11811952B2 (en) Authentication system and working method thereof
US10931663B2 (en) Terminal authenticated access
CN106549973A (zh) 一种基于生物特征识别的客户端及其工作方法
CN102364888B (zh) 动态令牌密钥因子的设置方法、系统、终端及验证服务器
CN104426659A (zh) 动态口令生成方法、认证方法及系统、相应设备
CN111064743A (zh) 一种安全输入密码的方法及系统
CN108650243B (zh) 连接建立方法、系统、设备及计算机可读存储介质
CN106203021A (zh) 一种多认证模式一体化的应用登录方法和系统
JP7080435B2 (ja) 識別コードのプル方法、コンピュータプログラム、端末機器、及びサーバ
WO2020024852A1 (zh) 一种认证方法及认证设备
CN112199663B (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