基于FIDO协议的身份认证方法、装置、存储介质和电子设备与流程

文档序号:17775223发布日期:2019-05-28 19:59阅读:397来源:国知局
基于FIDO协议的身份认证方法、装置、存储介质和电子设备与流程

本公开涉及身份认证领域,具体地,涉及一种基于fido协议的身份认证方法、装置、存储介质和电子设备。



背景技术:

互联网技术的快速发展和线上业务量呈爆炸式增长态势,导致移动用户对业务所用身份认证方式的安全性和便捷性要求越来越高。随着生物识别技术和fido协议的逐步完善,越来越多的系统使用fido方案代替传统“用户名+密码”的身份认证方式,对fido方案所提供的安全性、便捷性和隐私保护性等诸多方面要求越来越严格。目前,在使用fido协议的身份认证过程中,用户可在同一个支持fido协议的客户端设备上使用相同或不同的生物特征注册多个账户,每个注册用户与其注册时输入的生物特征信息无直接对应关系,输入的生物特征信息仅保存在该客户端设备中;在鉴别或交易确认环节需要根据生物特征组件对用户进行验证时,用户只需输入任意一个在当前客户端设备上注册过的生物特征,即可通过验证。因此,如果该客户端设备能够被多个不同用户使用,根据当前的fido协议,注册用户与实体生物特征信息之间没有直接的对应关系,就会造成一个在该客户端设备注册过生物特征信息的合法用户能够对同一客户端设备中的任意其他合法用户的账户进行操作,例如鉴别、交易确认、注销用户等操作。因此,目前基于fido协议的用户管理难以保障用户操作的独立性,给用户安全性、便捷性和隐私保护要求带来限制。



技术实现要素:

本公开的目的是提供一种基于fido协议的身份认证方法、装置、存储介质和电子设备,能够在用户注册时,将其注册时所输入的生物特征信息与该用户进行绑定,且避免了在通信过程中,用户的生物特征信息泄露的问题。

为了实现上述目的,根据本公开的第一方面,提供一种基于fido协议的身份认证方法,应用于客户端,所述方法包括:

在注册阶段接收与第一用户信息相对应的一个或多个第一生物特征信息;

根据与所述第一用户信息相对应的第一秘钥索引和第一预设加密函数分别对每一所述第一生物特征信息进行加密,得到与所述第一生物特征信息一一对应的加密后的第二生物特征信息;

生成注册断言,并将所有所述第二生物特征信息都添加至所述注册断言中;

根据所述注册断言和所述第一用户信息生成注册请求,并将所述注册请求发送给服务端。

可选地,所述生成注册断言,并将所有所述第二生物特征信息都添加至所述注册断言中包括:

将每一所述第二生物特征信息都分别添加进一个第一通信结构体中;

构造第二通信结构体,所述第二通信结构体中包括所有所述第一通信结构体,其中,所述第一通信结构体的个数与所述第二生物特征信息的个数相同;

将所述第二通信结构体添加进所述注册断言中。

可选地,所述方法还包括:

在鉴别阶段接收与第二用户信息相对应的第三生物特征信息;

根据与所述第二用户信息相对应的第二秘钥索引和第二预设加密函数对所述第三生物特征信息进行加密,得到与所述第三生物特征信息相对应的加密后的第四生物特征信息;

生成鉴别断言,并将所述第四生物特征信息添加至所述鉴别断言中;

根据所述鉴别断言和所述第二用户信息生成鉴别请求,并将所述鉴别请求发送给服务端。

可选地,所述生成鉴别断言,并将所述第四生物特征信息添加至所述鉴别断言中包括:

将所述第四生物特征信息添加进一个第三通信结构体中;

将所述第三通信结构体添加至所述鉴别断言中。

根据本公开的第二方面,提供一种基于fido协议的身份认证方法,应用于服务端,所述方法包括:

接收客户端在注册阶段发送的注册请求,所述注册请求中包括待注册的第二生物特征信息和与所述第二生物特征信息相关的第一用户信息,其中,所述第二生物特征信息为一个或多个;

对所述注册请求进行解析,得到所述注册请求中包括的所有所述第二生物特征信息和所述第一用户信息;

根据所述第一用户信息和预设规则获取与所述第一用户信息相对应的第一加密次数,其中,所述第一加密次数与所述第一用户信息是一一对应的;

根据第三预设加密函数分别对每一所述第二生物特征信息进行所述第一加密次数次加密,得到与每一所述第二生物特征信息一一对应的第五生物特征信息;

将所有所述第五生物特征信息存储于数据库中。

可选地,所述方法还包括:

接收所述客户端在鉴别阶段发送的鉴别请求,所述鉴别请求中包括待鉴别的第四生物特征信息和与所述第四生物特征信息相关的第二用户信息;

对所述鉴别请求进行解析,得到所述鉴别请求中包括的所述第四生物特征信息和所述第二用户信息;

根据所述第二用户信息和所述预设规则获取与所述第二用户信息相对应的第二加密次数,其中,所述第二加密次数与所述第二用户信息是一一对应的;

根据第四预设加密函数对所述第四生物特征信息进行所述第二加密次数次加密,得到与所述第四生物特征信息相对应的第六生物特征信息;

若所述第六生物特征信息在所述数据库中的所述第五生物特征信息中存在匹配项,则将所述鉴别请求判定为鉴别通过。

根据本公开的第三方面,提供一种基于fido协议的身份认证装置,应用于客户端,所述方法包括:

第一接收模块,用于在注册阶段接收与第一用户信息相对应的一个或多个第一生物特征信息;

第一加密模块,用于根据与所述第一用户信息相对应的第一秘钥索引和第一预设加密函数分别对每一所述第一生物特征信息进行加密,得到与所述第一生物特征信息一一对应的加密后的第二生物特征信息;

注册断言生成模块,用于生成注册断言,并将所有所述第二生物特征信息都添加至所述注册断言中;

注册请求生成模块,用于根据所述注册断言和所述第一用户信息生成注册请求,并将所述注册请求发送给服务端。

可选地,所述注册断言生成模块包括:

第一生成子模块,用于将每一所述第二生物特征信息都分别添加进一个第一通信结构体中;

第二生成子模块,用于构造第二通信结构体,所述第二通信结构体中包括所有所述第一通信结构体,其中,所述第一通信结构体的个数与所述第二生物特征信息的个数相同;

第三生成子模块,用于将所述第二通信结构体添加进所述注册断言中。

可选地,所述装置还包括:

第二接收模块,用于在鉴别阶段接收与第二用户信息相对应的第三生物特征信息;

第二加密模块,用于根据与所述第二用户信息相对应的第二秘钥索引和第二预设加密函数对所述第三生物特征信息进行加密,得到与所述第三生物特征信息相对应的加密后的第四生物特征信息;

鉴别断言生成模块,用于生成鉴别断言,并将所述第四生物特征信息添加至所述鉴别断言中;

鉴别请求生成模块,用于根据所述鉴别断言和所述第二用户信息生成鉴别请求,并将所述鉴别请求发送给服务端。

可选地,所述鉴别断言生成模块包括:

第四生成子模块,用于将所述第四生物特征信息添加进一个第三通信结构体中;

第五生成子模块,用于将所述第三通信结构体添加至所述鉴别断言中。

根据本公开的第四方面,提供一种基于fido协议的身份认证装置,应用于服务端,所述装置包括:

第三接收模块,用于接收客户端在注册阶段发送的注册请求,所述注册请求中包括待注册的第二生物特征信息和与所述第二生物特征信息相关的第一用户信息,其中,所述第二生物特征信息为一个或多个;

第一解析模块,用于对所述注册请求进行解析,得到所述注册请求中包括的所有所述第二生物特征信息和所述第一用户信息;

第一加密次数获取模块,用于根据所述第一用户信息和预设规则获取与所述第一用户信息相对应的第一加密次数,其中,所述第一加密次数与所述第一用户信息是一一对应的;

第三加密模块,用于根据第三预设加密函数分别对每一所述第二生物特征信息进行所述第一加密次数次加密,得到与每一所述第二生物特征信息一一对应的第五生物特征信息;

存储模块,用于将所有所述第五生物特征信息存储于数据库中。

可选地,所述装置还包括:

第四接收模块,用于接收所述客户端在鉴别阶段发送的鉴别请求,所述鉴别请求中包括待鉴别的第四生物特征信息和与所述第四生物特征信息相关的第二用户信息;

第二解析模块,用于对所述鉴别请求进行解析,得到所述鉴别请求中包括的所述第四生物特征信息和所述第二用户信息;

第二加密次数获取模块,用于根据所述第二用户信息和所述预设规则获取与所述第二用户信息相对应的第二加密次数,其中,所述第二加密次数与所述第二用户信息是一一对应的;

第四加密模块,用于根据第四预设加密函数对所述第四生物特征信息进行所述第二加密次数次加密,得到与所述第四生物特征信息相对应的第六生物特征信息;

鉴别模块,用于若所述第六生物特征信息在所述数据库中的所述第五生物特征信息中存在匹配项,则将所述鉴别请求判定为鉴别通过。

根据本公开的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开的第一方面所述基于fido协议的身份认证方法的步骤。

根据本公开的第六方面,提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现本公开的第一方面所述基于fido协议的身份认证方法的步骤。

根据本公开的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开的第二方面所述基于fido协议的身份认证方法的步骤。

根据本公开的第八方面,提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现本公开的第二方面所述基于fido协议的身份认证方法的步骤。

通过上述技术方案,将用户注册时输入的生物特征信息存储于服务端,并将生物特征信息与其相关用户进行绑定,这样能够使得在同一个客户端设备中注册的不同用户的操作能够彼此独立,使得用户管理简明有序;另外,通过加密手段使得客户端与服务端中传输的代表用户生物特征信息的数据中不包含用户原始生物特征信息,保障了用户的个人隐私,降低了通信的安全风险。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法的流程图。

图2是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法中将第二生物特征信息添加至注册断言中的方法的流程图。

图3是根据本公开一示例性实施例示出的又一基于fido协议的身份认证方法的流程图。

图4是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法中将第四生物特征信息添加至鉴别断言中的方法的流程图。

图5是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法的流程图。

图6是根据本公开一示例性实施例示出的又一基于fido协议的身份认证方法的流程图。

图7是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置的结构框图。

图8是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置中注册断言生成模块的结构框图。

图9是根据本公开一示例性实施例示出的又一基于fido协议的身份认证装置的结构框图。

图10是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置中鉴别断言生成模块的结构框图。

图11是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置的结构框图。

图12是根据本公开一示例性实施例示出的又一基于fido协议的身份认证装置的结构框图。

图13是根据一示例性实施例示出的一种电子设备的框图。

图14是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法的流程图。所述方法应用于客户端,如图1所示,所述方法包括步骤101至步骤104。

在步骤101中,在注册阶段接收与第一用户信息相对应的一个或多个第一生物特征信息。当用户需要在客户端设备上进行用户注册时,通过向客户端输入指令等方法能够令客户端进入注册阶段,在注册阶段中,客户端对于接收到的与所述第一用户信息相对应的所述一个或多个第一生物特征信息就会执行以下步骤102至步骤104的操作。其中,所述第一用户信息可以是默认当前操作的用户信息,也可以是用户指定的与输入的一个或多个第一生物特征信息相对应的用户信息。所述第一用户信息可以是例如aaid(认证器鉴证标志符)、keyid、appid和username等。

在步骤102中,根据与所述第一用户信息相对应的第一秘钥索引和第一预设加密函数分别对每一所述第一生物特征信息进行加密,得到与所述第一生物特征信息一一对应的加密后的第二生物特征信息。所述第一秘钥索引即keyid,每一个用户都只对应一个keyid,因此在知道所述第一用户信息的情况下,就能确定keyid的值;所述第一预设加密函数为预设在所述客户端设备上的加密函数,优选为单向加密函数,例如可以为哈希函数(hashfunction),常见的哈希函数的算法有例如sha256、sm3等。当所述加密函数为哈希函数时,根据所述第一秘钥索引和所述第一预设加密函数对所述第一生物特征信息进行加密,得到与所述第一生物特征信息一一对应的加密后的第二生物特征信息的过程就可以为:

第二生物特征信息=hash(keyid|hash(第一生物特征信息)),

即先对第一生物特征信息进行哈希加密得到其摘要值,然后再对第一生物特征信息的摘要值和第一秘钥索引(keyid)一起进行加密得到一个最终的摘要值作为所述第二生物特征信息,该第二生物特征信息中不包括任何用户原始输入的第一生物特征信息。

在步骤103中,生成注册断言,并将所有所述第二生物特征信息都添加至所述注册断言中。根据fido协议,在进行用户注册时,客户端都需要将待注册的用户相关的注册信息添加至一个注册断言(assertion)中,该注册断言用于给服务端提供用户注册所需的所述注册信息。所述注册信息的具体内容可能会根据fido协议版本的不同有一定的变化,例如,在fido协议1.0版本中,所述注册信息中可以包括aaid(认证器鉴证标识符)、authenticatorversion(认证器版本)、authenticationmode(鉴别模式)、signaturealgandencoding(签名算法和编码格式)、publickeyalgandencoding(公钥算法和编码格式)、finalchallenge(最终挑战值)、keyid、signcounter(签名计数器值)、regcounter(注册计数器值)、publickey(用户公钥)等。实际注册断言中包括的信息可以根据fido协议的要求变化,只要保证将步骤102中生成的每一所述第二生物特征信息都添加到该注册断言中去即可。

在步骤104中,根据所述注册断言和所述第一用户信息生成注册请求,并将所述注册请求发送给服务端。所述注册请求中包括所述注册断言和所述第一用户信息,所述注册请求中包括的所述第一用户信息可以但不限于例如aaid(认证器鉴证标志符)、keyid、appid和username中的一种或多种。所述注册请求中包括的注册断言中包括对用户所输入的第一生物特征信息一一进行加密后得到的第二生物特征信息。

通过上述技术方案,将用户注册时输入的生物特征信息存储于服务端,并将生物特征信息与其相关用户进行绑定,这样能够使得在同一个客户端设备中注册的不同用户的操作能够彼此独立,使得用户管理简明有序;另外,通过加密手段使得客户端与服务端中传输的代表用户生物特征信息的数据中不包含用户原始生物特征信息,保障了用户的个人隐私,降低了通信的安全风险。

图2是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法中将第二生物特征信息添加至注册断言中的方法的流程图。如图2所示,所述方法包括步骤201至步骤203。

在步骤201中,将每一所述第二生物特征信息都分别添加进一个第一通信结构体中。所述通信结构体可以为例如tlv结构,即,对加密后得到的每一个第二生物特征信息都分别构建一个第一tlv结构,并将该第二生物特征信息作为该第一tlv结构的值添加进该第一tlv结构中。

在步骤202中,构造第二通信结构体,所述第二通信结构体中包括所有所述第一通信结构体,其中,所述第一通信结构体的个数与所述第二生物特征信息的个数相同。再构造一个第二tlv结构,根据tlv结构的特性,将在步骤201中对每一个第二生物特征信息构造的第一tlv结构都添加进该第二tlv结构中。

在步骤203中,将所述第二通信结构体添加进所述注册断言中。所述注册断言也可以采用所述通信结构体的格式,例如,所述注册断言也可以是构造的一个第三tlv结构;所述将第二通信结构体添加进所述注册断言的过程可以是将上述的第二tlv结构添加进该第三tlv结构中。所述注册断言中还可能会包括fido协议中要求的其他注册信息,这些其他的注册信息也可以以tlv结构的方式添加进该注册断言的tlv结构中。

图3是根据本公开一示例性实施例示出的又一基于fido协议的身份认证方法的流程图。如图3所示,所述方法中除了包括图1中所示的步骤101至步骤104之外,还包括步骤301至步骤304。

在步骤301中,在鉴别阶段接收与第二用户信息相对应的第三生物特征信息。当用户需要在客户端设备上进行用户鉴别时,通过向客户端设备输入指令等方法能够令客户端进入鉴别阶段,在鉴别阶段中,客户端对于接收到的与所述第二用户信息相对应的所述第三生物特征信息就会执行以下步骤302至步骤304的操作。其中,所述第二用户信息可以是默认当前操作的用户信息,也可以是用户指定的与输入的第三生物特征信息相对应的用户信息。所述第二用户信息可以是例如aaid(认证器鉴证标志符)、keyid、appid和username等。

在步骤302中,根据与所述第二用户信息相对应的第二秘钥索引和第二预设加密函数对所述第三生物特征信息进行加密,得到与所述第三生物特征信息相对应的加密后的第四生物特征信息。所述第二秘钥索引即keyid,每一个用户都只对应一个keyid,因此在知道所述第二用户信息的情况下,就能确定keyid的值。即,当所述第二用户信息与注册阶段时的所述第一用户信息相同时,所述第二秘钥索引与所述第一秘钥索引(keyid)也相同。所述第二预设加密函数为预设在所述客户端设备上的加密函数,因此所述第二预设加密函数与所述第一预设加密函数为同一个加密函数。根据第二秘钥索引与第二预设加密函数对第三生物特征信息进行加密的流程,与注册阶段中根据第一秘钥索引与第一预设加密函数对第一生物特征信息进行加密的流程相同。且对所述第三生物特征信息进行加密后得到的第四生物特征信息中也不包括任何用户原始输入的第三生物特征信息。

在步骤303中,生成鉴别断言,并将所述第四生物特征信息添加至所述鉴别断言中。根据fido协议,在进行用户鉴别时,客户端都需要将待鉴别的用户相关的鉴别信息添加至一个鉴别断言(assertion)中,该鉴别断言用于给服务端提供用户鉴别时所需的鉴别信息。所述鉴别信息的具体内容可能会根据fido协议版本的不同有一定的变化,例如,在fido协议1.0版本中,所述鉴别信息中可以包括aaid(认证器鉴证标识符)、authenticatorversion(认证器版本)、authenticationmode(鉴别模式)、signaturealgandencoding(签名算法和编码格式)、authnrnonce(随机数)、finalchallenge(最终挑战值)、tchash(交易内容哈希值)、keyid、signcounter(签名计数器值)等。实际鉴别断言中包括的信息可以根据fido协议的要求变化,只要保证将步骤302中生成的所述第四生物特征信息添加到该鉴别断言中去即可。

在步骤304中,根据所述鉴别断言和所述第二用户信息生成鉴别请求,并将所述鉴别请求发送给服务端。所述鉴别请求中包括所述鉴别断言和所述第二用户信息,所述鉴别请求中包括的所述第二用户信息可以但不限于例如aaid(认证器鉴证标志符)、keyid、appid和username中的一种或多种。所述鉴别请求中包括的鉴别断言中包括对用户所输入的第三生物特征信息一一进行加密后得到的第四生物特征信息。

其中,图3中所示的步骤301至步骤304能够在步骤101至步骤104执行完成之后循环执行多次。

图4是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法中将第四生物特征信息添加至鉴别断言中的方法的流程图。如图4所示,所述方法包括步骤401和步骤402。

在步骤401中,将所述第四生物特征信息添加进一个第三通信结构体中。与注册阶段时将所有所述第二生物特征信息都添加至所述注册断言中的方法类似,在将第四生物特征信息添加至鉴别断言中时,也可以选用通过通信结构体的方式进行添加。所述通信结构体也可以为tlv结构。即可以构造一个第四tlv结构,将该第四生物特征信息添加进所述第四tlv结构中。然后在步骤402中,将所述第三通信结构体添加至所述鉴别断言中。所述鉴别断言也可以为一个tlv结构,将第三通信结构体添加至鉴别断言中的过程就可以为将上述第四tlv结构添加进该鉴别断言的tlv结构中。

图5是根据本公开一示例性实施例示出的一种基于fido协议的身份认证方法的流程图。所述方法应用于服务端,所述方法包括步骤501至步骤504。

在步骤501中,接收客户端在注册阶段发送的注册请求,所述注册请求中包括待注册的第二生物特征信息和与所述第二生物特征信息相关的第一用户信息,其中,所述第二生物特征信息为一个或多个。

在步骤502中,对所述注册请求进行解析,得到所述注册请求中包括的所有所述第二生物特征信息和所述第一用户信息。

在步骤503中,根据所述第一用户信息和预设规则获取与所述第一用户信息相对应的第一加密次数,其中,所述第一加密次数与所述第一用户信息是一一对应的。所述预设规则可以为例如获取所述第一用户信息的摘要值的指定字段,并根据该指定字段来获取所述第一加密次数。例如,可以是将该指定字段中的一个数值作为与第一用户信息相对应的第一加密次数。所述第一用户信息可以为例如aaid(认证器鉴证标志符)、keyid、appid和username等中的任意一个或多个,也可以为其他的用户信息。通常在客户端设备中都会将该第一用户信息的内容预设好,因此,本公开中虽然不指定第一用户信息、第二用户信息包括的具体内容,但在设备上实际实施是,其内容都是预设好的,即如果通信设备中规定所述第一用户信息为username,那么相应的第二用户信息等无论在注册阶段还是鉴别阶段所使用到的用户信息都是指username。

在步骤504中,根据第三预设加密函数分别对每一所述第二生物特征信息进行所述第一加密次数次加密,得到与每一所述第二生物特征信息一一对应的第五生物特征信息。所述第三预设加密函数是预设在所述服务端的,可以与客户端的所述第一预设加密函数和第二预设加密函数不相同,也可以为同一个加密函数。所述第三预设加密函数优选为单向加密函数,例如可以为哈希函数(hashfunction),常见的哈希函数的算法有例如sha256、sm3等。在对客户端发送的注册请求进行解析,得到注册请求中包括的一个或多个第二生物特征信息之后,按照步骤503中根据用户信息和预设规则得到的该第一加密次数对第二生物特征信息分别一一加密,例如,如果所述第三预设加密函数为哈希函数,第一加密次数为3次,那么就对所述注册请求中的每一个第二生物特征信息都进行哈希函数的3次加密,得到与每一个第二生物特征信息一一对应的加密后的第五生物特征信息。

在步骤505中,将所有所述第五生物特征信息存储于数据库中。所述数据库可以是所述服务端内部的数据库,也可以为外接的数据库,本公开中对于所述数据库的位置不做限制。

通过上述技术方案,将用户注册时输入的生物特征信息存储于服务端,并将生物特征信息与其相关用户进行绑定,这样能够使得在同一个客户端设备中注册的不同用户的操作能够彼此独立,使得用户管理简明有序;另外,通过加密手段使得客户端与服务端中传输的代表用户生物特征信息的数据中不包含用户原始生物特征信息,降低了通信的安全风险,且所述服务端在接收到客户端发送的加密之后的生物特征信息之后,在存储之前还会对其进行再次加密,这样又进一步保障了用户的个人隐私。

图6是根据本公开一示例性实施例示出的又一基于fido协议的身份认证方法的流程图。如图6所示,所述方法除了包括如图5所示的步骤501至步骤505之外,还包括步骤601至步骤605。

在步骤601中,接收所述客户端在鉴别阶段发送的鉴别请求,所述鉴别请求中包括待鉴别的第四生物特征信息和与所述第四生物特征信息相关的第二用户信息。

在步骤602中,对所述鉴别请求进行解析,得到所述鉴别请求中包括的所述第四生物特征信息和所述第二用户信息。

在步骤603中,根据所述第二用户信息和所述预设规则获取与所述第二用户信息相对应的第二加密次数,其中,所述第二加密次数与所述第二用户信息是一一对应的。由于在鉴别阶段,获取所述所述第二加密次数所使用的所述预设规则与注册阶段用于获取所述第一加密次数的预设规则是同一个,因此,根据同一个用户信息获取得到的加密次数是固定不变的,且所述第二加密次数与所述第二用户信息也是一一对应的,因此,只要所述第二用户信息与所述第一用户信息是同一个用户的用户信息,则在注册阶段根据该预设规则获取到的第一加密次数与在鉴别阶段根据该预设规则获取到的第二加密次数相同。

在步骤604中,根据第四预设加密函数对所述第四生物特征信息进行所述第二加密次数次加密,得到与所述第四生物特征信息相对应的第六生物特征信息。

在步骤605中,若所述第六生物特征信息在所述数据库中的所述第五生物特征信息中存在匹配项,则将所述鉴别请求判定为鉴别通过。若所述第四生物特征信息是已经在所述第二用户信息下注册过的第四生物特征信息,又因为通过相同的用户信息获得的第一加密次数和第二加密次数也相同,因此,在进行了所述第二加密次数加密之后的得到的所述第六生物特征信息是能够在所述数据库中找到匹配项的。因此,可以通过是否能在所述数据库中找到匹配项来判定包括所述第四生物特征信息的鉴别请求是否能够鉴别通过。

其中,图6中所示的步骤601至步骤605能够在步骤501至步骤505执行完成之后循环执行多次。

通过上述技术方案,由于根据相同的用户信息和相同的规则获得的加密次数是相同的,而根据不同的用户信息获得的加密次数不同,因此,当所述第四生物特征信息的确在客户端设备中注册过,但不与该第二用户信息绑定时,服务端获取的加密次数就会与该第四生物特征信息注册时存储在所述数据库里之前进行加密的次数不同,从而就会使得服务端无法在数据库中找到匹配项,由此判断鉴别不通过。这样,就做到了生物特征信息与其相关用户绑定的效果。

在一种可能的实施方式中,所述方法还包括:接收客户端发送的注销请求,所述注销请求中包括待注销的账户信息;根据所述待注销的账户信息将所述数据库中与所述待注销的账户信息相关联的第五生物特征信息进行删除。其中,所述注销请求还用于指示删除与所述待注销的账户信息相关联的任意其他数据。

图7是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置10的结构框图。所述装置10应用于客户端,如图7所示,所述装置10包括:第一接收模块101,用于在注册阶段接收与第一用户信息相对应的一个或多个第一生物特征信息;第一加密模块102,用于根据与所述第一用户信息相对应的第一秘钥索引和第一预设加密函数分别对每一所述第一生物特征信息进行加密,得到与所述第一生物特征信息一一对应的加密后的第二生物特征信息;注册断言生成模块103,用于生成注册断言,并将所有所述第二生物特征信息都添加至所述注册断言中;注册请求生成模块104,用于根据所述注册断言和所述第一用户信息生成注册请求,并将所述注册请求发送给服务端。

通过上述技术方案,将用户注册时输入的生物特征信息存储于服务端,并将生物特征信息与其相关用户进行绑定,这样能够使得在同一个客户端设备中注册的不同用户的操作能够彼此独立,使得用户管理简明有序;另外,通过加密手段使得客户端与服务端中传输的代表用户生物特征信息的数据中不包含用户原始生物特征信息,保障了用户的个人隐私,降低了通信的安全风险。

图8是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置10中注册断言生成模块103的结构框图。如图8所示,所述注册断言生成模块103包括:第一生成子模块1031,用于将每一所述第二生物特征信息都分别添加进一个第一通信结构体中;第二生成子模块1032,用于构造第二通信结构体,所述第二通信结构体中包括所有所述第一通信结构体,其中,所述第一通信结构体的个数与所述第二生物特征信息的个数相同;第三生成子模块1033,用于将所述第二通信结构体添加进所述注册断言中。

图9是根据本公开一示例性实施例示出的又一基于fido协议的身份认证装置10的结构框图。如图9所示,所述装置10还包括:第二接收模块105,用于在鉴别阶段接收与第二用户信息相对应的第三生物特征信息;第二加密模块106,用于根据与所述第二用户信息相对应的第二秘钥索引和第二预设加密函数对所述第三生物特征信息进行加密,得到与所述第三生物特征信息相对应的加密后的第四生物特征信息;鉴别断言生成模块107,用于生成鉴别断言,并将所述第四生物特征信息添加至所述鉴别断言中;鉴别请求生成模块108,用于根据所述鉴别断言和所述第二用户信息生成鉴别请求,并将所述鉴别请求发送给服务端。

图10是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置10中鉴别断言生成模块107的结构框图。所述鉴别断言生成模块107包括:第四生成子模块1071,用于将所述第四生物特征信息添加进一个第三通信结构体中;第五生成子模块1072,用于将所述第三通信结构体添加至所述鉴别断言中。

图11是根据本公开一示例性实施例示出的一种基于fido协议的身份认证装置20的结构框图。所述装置20应用于服务端,如图11所示,所述装置20包括:第三接收模块201,用于接收客户端在注册阶段发送的注册请求,所述注册请求中包括待注册的第二生物特征信息和与所述第二生物特征信息相关的第一用户信息,其中,所述第二生物特征信息为一个或多个;第一解析模块202,用于对所述注册请求进行解析,得到所述注册请求中包括的所有所述第二生物特征信息和所述第一用户信息;第一加密次数获取模块203,用于根据所述第一用户信息和预设规则获取与所述第一用户信息相对应的第一加密次数,其中,所述第一加密次数与所述第一用户信息是一一对应的;第三加密模块204,用于根据第三预设加密函数分别对每一所述第二生物特征信息进行所述第一加密次数次加密,得到与每一所述第二生物特征信息一一对应的第五生物特征信息;存储模块205,用于将所有所述第五生物特征信息存储于数据库中。

通过上述技术方案,将用户注册时输入的生物特征信息存储于服务端,并将生物特征信息与其相关用户进行绑定,这样能够使得在同一个客户端设备中注册的不同用户的操作能够彼此独立,使得用户管理简明有序;另外,通过加密手段使得客户端与服务端中传输的代表用户生物特征信息的数据中不包含用户原始生物特征信息,降低了通信的安全风险,且所述服务端在接收到客户端发送的加密之后的生物特征信息之后,在存储之前还会对其进行再次加密,这样又进一步保障了用户的个人隐私。

图12是根据本公开一示例性实施例示出的又一基于fido协议的身份认证装置20的结构框图。如图12所示,所述装置20还包括:第四接收模块206,用于接收所述客户端在鉴别阶段发送的鉴别请求,所述鉴别请求中包括待鉴别的第四生物特征信息和与所述第四生物特征信息相关的第二用户信息;第二解析模块207,用于对所述鉴别请求进行解析,得到所述鉴别请求中包括的所述第四生物特征信息和所述第二用户信息;第二加密次数获取模块208,用于根据所述第二用户信息和所述预设规则获取与所述第二用户信息相对应的第二加密次数,其中,所述第二加密次数与所述第二用户信息是一一对应的;第四加密模块209,用于根据第四预设加密函数对所述第四生物特征信息进行所述第二加密次数次加密,得到与所述第四生物特征信息相对应的第六生物特征信息;鉴别模块210,用于若所述第六生物特征信息在所述数据库中的所述第五生物特征信息中存在匹配项,则将所述鉴别请求判定为鉴别通过。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图13是根据一示例性实施例示出的一种电子设备1300的框图。如图13所示,该电子设备1300可以包括:处理器1301,存储器1302。该电子设备1300还可以包括多媒体组件1303,输入/输出(i/o)接口1304,以及通信组件1305中的一者或多者。

其中,处理器1301用于控制该电子设备1300的整体操作,以完成上述的身份认证方法中的全部或部分步骤。存储器1302用于存储各种类型的数据以支持在该电子设备1300的操作,这些数据例如可以包括用于在该电子设备1300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1303可以包括屏幕、音频组件和视频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号、视频组件可以用于输出和/输入视频信号或图像信号。例如,所述视频组件可以包括一个摄像头,用于获取外部视频信号或者图像信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1302或通过通信组件1305发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口1304为处理器1301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1305用于该电子设备1300与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件13013可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,电子设备1300可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的身份认证方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的身份认证方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1302,上述程序指令可由电子设备1300的处理器1301执行以完成上述的身份认证方法。

图14是根据一示例性实施例示出的一种电子设备1400的框图。例如,电子设备1400可以被提供为一服务器。参照图14,电子设备1400包括处理器1422,其数量可以为一个或多个,以及存储器1432,用于存储可由处理器1422执行的计算机程序。存储器1432中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1422可以被配置为执行该计算机程序,以执行上述的身份认证方法。

另外,电子设备1400还可以包括电源组件1426和通信组件1450,该电源组件1426可以被配置为执行电子设备1400的电源管理,该通信组件1450可以被配置为实现电子设备1400的通信,例如,有线或无线通信。此外,该电子设备1400还可以包括输入/输出(i/o)接口1458。电子设备1400可以操作基于存储在存储器1432的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的身份认证方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1432,上述程序指令可由电子设备1400的处理器1422执行以完成上述的身份认证方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1