一种基于生物特征的安全校验方法及客户端、服务器与流程

文档序号:12624089阅读:221来源:国知局
一种基于生物特征的安全校验方法及客户端、服务器与流程

本发明属于身份认证技术领域,尤其涉及在身份认证过程中的一种基于生物特征的安全校验方法及客户端、服务器。



背景技术:

传统的密码校验过程中需要输入密码,每次输入密码的过程中,都存在泄漏风险,如键盘记录木马、物理窥视等。由于指纹具有稳定性强、个人唯一、算法准确性高等特点,近年来很多设备都开始采用指纹校验的功能,例如通过指纹校验实现在线支付,可以提高用户体验,增加支付安全性。

在现有技术中,在线指纹校验过程中客户端将用户的指纹数据(指纹图像或指纹特征数据)发送到服务器端,在服务器端和用户原来的指纹数据进行比较,完成校验。因为需要把指纹数据传输到服务器端,上传过程中存在指纹数据泄漏风险,指纹数据为个人隐私数据,用户不一定同意上传,同时泄漏会造成声誉风险。即使用户同意上传指纹数据,在指纹数据上传过程中还要耗费网络流量,服务器端也需要比对指纹数据,需耗费额外的计算资源及存储资源。



技术实现要素:

本发明的目的是提供一种基于生物特征的安全校验方法及客户端、服务器,以避免现有技术校验过程中存在的上述耗费网络流量、存在个人指纹数据泄露风险等技术问题,并提高安全性。

为了实现上述目的,本发明技术方案如下:

一种基于生物特征的安全校验方法,应用于身份认证系统中的客户端,所述身份认证系统还包括服务器端,所述客户端保存有开通记录,所 述开通记录包含有开通生物特征校验过程中获取的用于生物特征校验的生物特征模版ID,所述安全校验方法包括:

向服务器端发送认证请求,接收服务器端返回的认证请求应答消息;

接收用户输入的生物特征,获取该生物特征对应的生物特征模版ID,将获取的所述生物特征模版ID与保存的开通记录中的生物特征模版ID进行比对,如果吻合则生成包括该获取的生物特征模版ID的认证响应消息,向服务器端发送认证响应消息,以便服务器端接收所述认证响应消息进行校验。

其中,所述开通生物特征校验过程包括:

向服务器端发送开通生物特征校验的开通请求,接收服务器端返回的开通请求应答消息;

接收用户输入的用于校验的生物特征,获取该用于校验的生物特征对应的生物特征模版ID,生成开通记录保存;

生成包括所述生物特征模版ID的开通响应消息,向服务器端发送开通响应消息,以便服务器端接收所述开通响应消息,获取其中包含的所述生物特征模版ID生成用户记录保存。

进一步地,所述服务器端以约定的第一私钥对所述认证请求应答消息或开通请求应答消息进行签名,则客户端在接收到所述认证请求应答消息之后,还包括:

以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错;

则客户端在接收到所述开通请求应答消息之后,还包括:

以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。

通过本步骤,可以进一步加强开通过程中的安全性,防止伪造开通过程。

进一步地,所述开通请求应答消息中携带有挑战值,所述开通生物特征校验过程还包括:

生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥;

根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥对生成的开通响应消息进行签名后发送给服务器端,所述开通响应消息包括用户公钥,以便服务器端接收所述开通响应消息并使用约定第二公钥进行校验,在服务器端保存用户公钥。

进一步地,所述认证请求应答消息中携带有挑战值,所述安全校验方法还包括:

根据所述挑战值选择签名算法,用选择的签名算法和所述用户私钥对认证响应消息进行签名,以便所述服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法和所述用户公钥对认证响应消息进行校验。

通过在开通生物特征校验过程中生成用户密钥对,并在认证过程中使用选择的签名算法和用户密钥对来进行校验,增强了安全性,防止伪造消息的重放攻击。

进一步地,所述开通请求应答消息还包括用户ID,所述客户端在接收到所述开通请求应答消息后,还包括:

将所述用户ID保存在所述开通记录中,并且在客户端生成的开通响应消息中还包括所述用户ID,以便所述服务器端在接收到所述开通响应消息后,获取其中的用户ID并将其保存在所述用户记录中。

所述开通响应消息还包括客户端设备ID,以便所述服务器端在接收到所述开通请求应答消息后,获取其中的设备ID并将其保存在所述用户记录中。

所述认证请求应答消息还包括用户ID,所述在接收用户输入的生物特征,获取该生物特征对应的生物特征模版ID之后,还包括:

根据用户ID查找到对应的开通记录,以便将获取的所述生物特征模版ID与该查找到的开通记录中的生物特征模版ID进行比对;

在客户端生成的认证响应消息中还包括所述用户ID,以便所述服务器端在接收到所述认证响应消息后,获取其中的用户ID并根据所述用户ID查找到对应的用户记录。

所述认证响应消息还包括客户端设备ID,以便所述服务器端在接收 到所述认证响应消息后,获取所述认证响应消息中的设备ID,根据所述设备ID查找到对应的用户记录。

通过上述步骤,能支持一个终端设备支持多个用户,或一个用户具有多个终端设备的情况,根据用户ID或设备ID来找到对应的开通记录或者用户记录来进行对比校验。

本发明还提出了一种基于生物特征的安全校验方法,应用于身份认证系统中的服务器端,所述身份认证系统还包括客户端,所述服务器端保存有用户记录,所述用户记录包含有开通生物特征校验过程中获取的用于生物特征校验的生物特征模版ID,所述安全校验方法包括:

接收来自客户端的认证请求,向客户端发送认证请求应答消息;

接收来自客户端的认证响应消息,所述认证响应消息包括生物特征模版ID;

将所述认证响应消息中的生物特征模版ID与保存的用户记录中的生物特征模版ID进行比对校验,如果一致则校验通过,否则报错。

其中,所述开通生物特征校验过程包括:

接收来自客户端的开通生物特征校验的开通请求,向客户端发送开通请求应答消息,以便客户端根据用户输入的用于校验的生物特征,获取该用于校验的生物特征对应的生物特征模版ID,生成开通记录保存;

接收来自客户端的开通响应消息,获取所述开通响应消息包括的生物特征模版ID,生成用户记录保存。

进一步地,所述安全校验方法还包括:

以约定的第一私钥对所述认证请求应答消息或开通请求应答消息进行签名,以便所述客户端以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错,或以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。通过本步骤,可以进一步加强开通过程中的安全性,防止伪造开通过程。

进一步地,所述开通请求应答消息中携带有挑战值,所述客户端生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥,所述开通生物 特征校验过程还包括:

接收客户端根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥签名的开通响应消息,所述开通响应消息包括用户公钥,同样根据挑战值选择签名算法,并使用第二公钥校验开通响应消息,在服务器端保存用户公钥。

进一步地,所述安全校验方法还包括:

接收客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和用户私钥进行签名的认证响应消息,同样根据挑战值选择签名算法和用户公钥校验认证响应消息的签名。

通过在开通生物特征校验过程中生成用户密钥对,并在认证过程中使用选择的签名算法和用户密钥对来进行校验,增强了安全性,防止伪造消息的重放攻击。

进一步地,所述开通请求应答消息还包括用户ID,以便所述客户端在接收到所述开通请求应答消息后,将所述用户ID保存在所述开通记录中,并且在客户端生成的开通响应消息中还包括所述用户ID,则所述服务器端在接收到所述开通响应消息后,还包括:

从所述开通响应消息中获取用户ID,将所述用户ID保存在所述用户记录中。

所述开通响应消息还包括客户端设备ID,所述服务器端在接收到所述开通响应消息后,还包括:

从所述开通响应消息中获取设备ID,将所述设备ID保存在所述用户记录中。

所述认证请求应答消息还包括用户ID,以便所述客户端根据用户ID查找到对应的开通记录,将获取的所述生物特征模版ID与该查找到的开通记录中的生物特征模版ID进行比对,并在客户端生成的认证响应消息中还包括所述用户ID,所述服务器端在接收到所述认证响应消息后,还包括:

获取所述认证响应消息中的用户ID,根据所述用户ID查找到对应的用户记录。

所述认证响应消息还包括客户端设备ID,所述服务器端在接收到所述认证响应消息后,还包括:

获取所述认证响应消息中的设备ID,根据所述设备ID查找到对应的用户记录。

本发明还提出了一种客户端,应用于身份认证系统,所述身份认证系统还包括服务器端,所述客户端保存有开通记录,所述开通记录包含有开通生物特征校验过程中获取的用于生物特征校验的生物特征模版ID,所述客户端包括:

请求模块,用于向服务器端发送认证请求,接收服务器端返回的认证请求应答消息;

响应模块,用于接收用户输入的生物特征,获取该生物特征对应的生物特征模版ID,将获取的所述生物特征模版ID与保存的开通记录中的生物特征模版ID进行比对,如果吻合则生成包括获取的生物特征模版ID的认证响应消息,向服务器端发送认证响应消息,以便服务器端接收所述认证响应消息进行校验。

进一步地,所述请求模块还用于向服务器端发送开通生物特征校验的开通请求,接收服务器端返回的开通请求应答消息;所述响应模块还用于接收用户输入的用于校验的生物特征,获取该用于校验的生物特征对应的生物特征模版ID,生成开通记录保存,生成包括所述生物特征模版ID的开通响应消息,向服务器端发送开通响应消息,以便服务器端接收所述开通响应消息,获取其中包含的所述生物特征模版ID生成用户记录保存。

进一步地,所述服务器端以约定的第一私钥对所述认证请求应答消息或开通请求应答消息进行签名,则所述请求模块在接收到所述认证请求应答消息之后,还用于以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错;所述请求模块在接收到所述开通请求应答消息之后,还用于以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。

本发明所述开通请求应答消息中携带有挑战值,所述响应模块还用于生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥;根据开通 请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥对生成的开通响应消息进行签名后发送给服务器端,所述开通响应消息包括用户公钥,以便服务器端接收所述开通响应消息并使用约定第二公钥进行校验,在服务器端保存用户公钥。

进一步地,所述认证请求应答消息中携带有挑战值,所述响应模块还用于根据所述挑战值选择签名算法,用选择的签名算法和所述用户私钥对认证响应消息进行签名,以便所述服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法和所述用户公钥对认证响应消息进行校验。

本发明还提出了一种服务器,应用于身份认证系统,所述身份认证系统还包括客户端,所述服务器保存有用户记录,所述用户记录包含有开通生物特征校验过程中获取的用于生物特征校验的生物特征模版ID,所述服务器包括:

应答模块,用于接收来自客户端的认证请求,向客户端发送认证请求应答消息;

校验模块,用于接收来自客户端的认证响应消息,所述认证响应消息包括生物特征模版ID,将所述认证响应消息中的生物特征模版ID与保存的用户记录中的生物特征模版ID进行比对校验,如果一致则校验通过,否则报错。

进一步地,所述应答模块还用于接收来自客户端的开通生物特征校验的开通请求,向客户端发送开通请求应答消息,以便客户端根据用户输入的用于校验的生物特征,获取该用于校验的生物特征对应的生物特征模版ID,生成开通记录保存;所述校验模块还用于接收来自客户端的开通响应消息,获取所述开通响应消息包括的生物特征模版ID,生成用户记录保存。

进一步地,所述应答模块还用于以约定的第一私钥对所述认证请求应答消息或开通请求应答消息进行签名,以便所述客户端以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错,或以约定的第一公钥对接收的开通请求应答消息进行校验,如 果校验通过才进行后续的响应,否则报错。

本发明所述开通请求应答消息中携带有挑战值,所述客户端生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥,所述校验模块还用于接收客户端根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥签名的开通响应消息,所述开通响应消息包括用户公钥,同样根据挑战值选择签名算法,并使用第二公钥校验开通响应消息,保存用户公钥。

进一步地,所述校验模块还用于接收客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和用户私钥进行签名的认证响应消息,同样根据挑战值选择签名算法和用户公钥校验认证响应消息的签名。

本发明一种基于生物特征的安全校验方法及客户端、服务器,实现在客户端的指纹校验、指纹模版存储、校验过程在可信执行环境(TEE)中进行,和普通硬件完全隔离,无隐私泄漏风险。同时减少传输指纹数据过程中网络流量,同时在服务器端也只比较指纹模版ID,减少服务器端计算开销及存储开销。开通指纹校验时与具体指纹模版绑定,开通后添加的新指纹模版不能用于校验,增加安全性。通过选择的签名算法进一步增强验证过程的安全性,防止伪造消息的网络攻击。

附图说明

图1为本发明开通生物特征校验过程流程图;

图2为本发明基于生物特征的安全校验方法流程图;

图3为本发明客户端结构示意图;

图4为本发明服务器结构示意图。

具体实施方式

下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。

在基于生物特征的校验中,通过指纹识别、语音识别、脸部识别、虹 膜识别等技术手段来进行身份认证越来越普遍。这种生物特征校验应用的范围很广,例如在门禁系统中,或互联网支付中。本实施例以互联网支付中的指纹校验为例来详细描述本发明一种基于生物特征的安全校验方法。

有别于在线指纹校验,本实施例的互联网支付中的指纹校验,在用户的客户端完成指纹的比对,并在服务器端进一步进行结果校验,通过双重保护来保证指纹校验的有效性。本实施例的客户端一般为应用程序,安装在用户的移动终端、电脑或其他智能设备中,有些客户端直接是服务商提供的网页结合指纹扫描终端。

本实施例的指纹校验方法,包括指纹校验开通过程、校验过程,以下分别进行说明。

实施例一、指纹校验的开通过程。

互联网支付的指纹校验首先需要开通指纹校验功能,如图1所示,包括如下步骤:

①、客户端向服务器端发送开通指纹校验的开通请求。

当用户开通指纹校验功能时,首先向服务器端发起开通请求。

②、服务器端接收到开通指纹校验的开通请求后,向客户端发送开通请求应答消息。

③、客户端在收到开通请求应答消息后,接收用户输入的用于校验的指纹图像,获取该用于校验的指纹图像对应的指纹模版ID。

在开通指纹校验之前,用户的客户端设备上存储了用户录入的多个指纹模版,该指纹模版是从指纹图像提取的指纹特征。在开通指纹校验功能时,用户将用来进行指纹校验的手指的指纹图像输入到客户端,例如将该手指放在指纹扫描设备上,获取指纹图像,提取出指纹特征,从而与客户端已经存储的指纹模版进行对比,获取对应的指纹模版ID。

如果在开通指纹校验之前,用户的客户端设备上没有存储任何用户的指纹模版,这里也可以直接录入用户用来进行指纹校验的指纹图像,生成指纹模版及指纹模版ID,获取该指纹模版ID。

④、客户端保存开通记录,开通记录包括指纹模版ID。

开通记录是保存在客户端设备中的记录,包含开通时用户用来进行指 纹校验的指纹模版ID,用于在后续步骤的指纹校验中,与输入的指纹模版ID进行对比,看输入的指纹模版ID是否与最初开通时的指纹模版ID一致。即只有采用开通时输入的指纹模版ID才能在后续校验中应用,不能够通过破解用户的开机密码修改用于校验的指纹模版ID,从而保证了即使用户客户端设备丢失,也不必担心密码被破解而被不法分子冒用。

⑤、客户端生成包括开通记录中指纹模版ID的开通响应消息,向服务器端发送开通响应消息。

本实施例将开通记录中的指纹模版ID携带在开通响应消息中发送到服务器端,以便在服务器端保存上述信息。

⑥、服务器端接收开通响应消息,生成用户记录保存,用户记录中包括该用户的指纹模版ID。

从而在服务器端接收到客户端发来的开通响应消息,在服务器端用户记录保存,用户记录中包括该用户的指纹模版ID。在服务器端保存用户记录,以便在后续的校验过程中进行结果校验。

优选地,为了进一步地增加开通过程中的安全性,本实施例的步骤②中,还包括如下步骤:

服务器端采用第一私钥对开通请求应答消息进行加密。

从而在客户端接收到开通请求应答消息后,需要对开通请求应答消息进行校验。一般来说,在客户端与服务器端约定有服务器公私钥对,包括第一公钥和第一私钥,第一公钥保存在客户端,第一私钥保存在服务器端。服务器端在采用第一私钥对开通请求应答消息进行加密后发送到客户端,客户端用第一公钥解密进行校验,校验通过则进行后续的步骤,否则报错。这里用到的加密算法可以为对称算法、非对称算法、摘要算法等。

从而在本实施例的步骤③中,还包括步骤:

客户端采用第一公钥校验开通请求应答消息,如果校验通过才进行后续的响应,否则报错。

即客户端在接收到开通请求应答消息后,用第一公钥解密进行校验,校验通过则进行后续的步骤,否则报错。需要注意的是,在一般安全要求不高的情况下,也可以省略对开通请求应答消息的校验过程,第一公钥和 第一私钥始终不变,对于任意的客户端都一样。

本实施例的客户端上如果开通了多个用户,例如多个用户共用一个客户端,则开通记录中需要包含用户ID,以便区分不同用户的开通记录。然而由于客户端容易被黑客攻击篡改用户ID,因此本实施例在开通请求应答消息中包括用户ID,由于开通请求应答消息经过了加密签名,能有效防止在开通请求应答消息的传送过程中被篡改,通过在开通请求应答消息中包含用户ID,并采用该用户ID来生成开通记录,能有效保证开通记录中记录了正确的用户ID及其对应的指纹模版ID,从而保证了后续步骤中校验的正确性。

因此本实施例的开通请求应答消息中进一步包含用户ID,并在开通记录中包含用户ID和指纹模版ID,在开通响应消息中也包含用户ID和指纹模版ID,从而在服务器端接收到开通响应消息后,获取用户ID和指纹模版ID,并生成用户记录保存,用户记录中包括用户ID和指纹模版ID。

则当用户用用户ID登录后,根据用户ID来找对应的开通记录,能够根据用户ID来匹配其开通记录中的指纹模版ID,能够支持多用户共用一个客户端。同理在服务器端,也根据用户ID来查找用户记录,比对其对应的指纹模版ID进行校验。

进一步地,当用户有多个终端设备,为了区分不同的终端设备,在开通响应消息中还包含了设备ID,能够进一步区分用户的不同设备。从而在服务器端存储包括用户ID、设备ID和指纹模版ID的用户记录。当用户具有多个设备时,对应用户的不同设备,在服务器端保存不同的用户记录,从而能够识别校验。同理,当用户使用不同的终端设备,基于本发明的上述步骤,能够区分用户的不同终端设备,进行校验。即在比对时,还根据设备ID来找到对应的开通记录和用户记录,分别与匹配的开通记录和用户记录中的指纹模版ID进行比对校验。

优选地,为了进一步防止在校验过程中的重放攻击,在本实施例的开通过程中,还采用挑战应答方式来进一步增强安全性。即在步骤②中,开通请求应答消息还携带有挑战值。挑战应答方式是身份认证中常用的方法之一,因此服务器端接收来自客户端的开通请求后,生成挑战值,向客户 端发送携带挑战值的开通请求应答消息,后续步骤通过验证应答值来进行校验。挑战值是在身份认证过程中通过随机算法生成的,关于随机数的生成,现有技术中有伪随机算法和强随机算法,本实施例采用强随机算法,获得的随机数分布更加均匀。则客户端在接收到开通应答消息后,还需要生成应答值,在开通响应消息中携带应答值发送给服务器端,服务器端需要对此进行校验。

本实施例在步骤③之后,还包括步骤:

客户端根据开通请求应答消息中包含的挑战值选择签名算法,生成用户公私钥对,在保存的开通记录中包含用户私钥;

用选择的签名算法和约定的第二私钥对开通响应消息进行签名,在开通响应消息中包括生成的用户公钥;

同样根据所述挑战值选择的签名算法和约定的第二公钥对开通响应消息进行校验,在校验通过后,保存包括所述用户公钥的用户记录,如果校验失败则报错。

其中根据接收的挑战值来选择签名算法,例如可选择的签名算法有4中,分别为签名算法1、签名算法2、签名算法3、签名算法4。可以以挑战值求余的方式选择算法,如果挑战值除以4余数为0,则选择签名算法1,余数为1则选择签名算法2,依次类推。

具体的签名算法有安全哈希算法RAS-SHA1、RSA-SHA256等,上述签名算法对应有统一的用户公私钥生成算法,在开通时生成一对用户公私钥对,用来作为后续进行指纹验证时的加密和解密,从而每个用户拥有自己的用户公私钥对,用户公私钥匙对包括用户私钥和用户公钥。

在发送开通响应消息前,本实施例采用选择的签名算法和约定的第二私钥对开通响应消息进行签名,这里的第二私钥是客户端硬件所决定的,相应地在服务器端具有对应的第二公钥。

需要说明的是,本实施例以挑战值求余的方式选择算法,也可以直接以挑战值的个位数或十位数来进行选择,或根据挑战值除以4得到的值来进行选择,本发明不限于具体选择方式。

在服务器对开通响应消息的校验过程中,包括如下两个校验步骤:

1)、使用第二公钥和签名算法对签名进行校验。

在服务器端,根据与客户端相同的方法对挑战值求余,选择对应的签名算法,同时根据约定的第二公钥对签名的响应消息进行校验。

2)、使用与客户端相同的算法计算得到应答值与响应消息中的应答值进行比较校验。

在指纹校验过程中,客户端在接收到开通请求应答消息后,需要进行响应,向服务器端返回响应消息。响应消息中包括应答值,该应答值是根据挑战值按照固定的算法计算得到的,以便服务器端根据同样的算法计算得到应答值进行比较校验。

从而在校验通过后,服务器端保存对应的用户记录,服务器端保存的用户记录包括用户ID、设备ID、用户公钥、指纹模版ID,以便在后续的校验过程中进行结果校验。

本实施例中开通请求应答消息包括用户ID和挑战值,开通记录包括用户私钥、用户ID和指纹模版ID,而开通响应消息包括用户公钥、用户ID、设备ID和指纹模版ID,在服务器端保存的用户记录包括用户ID、设备ID、指纹模版ID和用户公钥。

实施例二、用户在使用过程中的指纹认证过程。

用户在使用该互联网支付时,需要校验用户的指纹,如图2所示,执行如下步骤:

(1)、客户端向服务器端发送给认证请求,服务器端获取来自客户端的认证请求。

(2)、服务器端接收到认证请求后,向客户端发送认证请求应答消息。

(3)、客户端在收到认证请求应答消息后,接收用户输入的用于校验的指纹图像,获取该用于校验的指纹图像对应的指纹模版ID,与客户端保存的开通记录中的指纹模版ID进行比对,如果吻合则进入下一步,否则报错。

在支付过程中的指纹校验,用户只需根据提示界面,将用来支付的手指放在指纹扫描器上,输入用于校验的指纹图像。客户端从存储的指纹模版中找到对应的指纹模版,获取该指纹模版ID,根据用户ID找到对应的 开通记录,与开通记录中的指纹模版进行比对。如果获得指纹模版ID与开通记录中的一致,则校验通知,否则报错,校验不通过。

例如,用户在开通指纹验证功能时使用的是食指,那么在开通记录中保存的就是“食指”的指纹模版ID,在验证时,先识别用户在终端中输入的指纹所对应的指纹模版ID是否为“食指”的指纹模版ID,即是否与开通记录中保存的指纹模版ID一致。

本实施例在客户端本地进行指纹模版ID的比对,不用在网络中传输用户的指纹,避免了用户生物特征的泄漏。

(4)、客户端生成包括获取的指纹模版ID的认证响应消息,向服务器端发送认证响应消息。

(5)服务器端接收认证响应消息,与本地保存的对应用户记录中的指纹模版ID进行比对,如果吻合则校验通过,否则报错。

本实施例的指纹认证过程,客户端在进行指纹校验后,仅需要将指纹模版ID而不是指纹模版发送到服务器端,由服务器端与用户记录中的指纹模版ID进行再次对比,通过两次对比进一步进行指纹认证,更加安全。同时传输的是指纹模版ID,传输过程中的传输流量也比较少,并且服务器端的计算量也小。

与实施例一相同的是,为了区分用户和用户的终端设备,在认证请求应答消息中包括用户ID,以便在客户端本地根据用户ID查找到对应的开通记录,并与其中的指纹模版ID进行对比。同时认证响应消息中包含设备ID、用户ID以及指纹模版ID,服务器端据此找到对应的用户记录,将该指纹模版ID与本地保存的对应用户记录进行比对,如果一致则认为校验通过,结束校验过程,否则报错,校验失败。

与实施例一相同的是,在实施例二中,也可以对认证应答消息采用第一私钥进行加密,然后在客户端用第一公钥进行解密验证。

值得注意的是,在校验指纹的认证过程,本实施例仍然基于挑战应答方式来进行校验。同样在认证应答消息中包括挑战值,客户端根据挑战值选择签名算法,签名算法所采用的密钥,可以是第二私钥,这时候在服务器端采用第二公钥进行校验。

优选地,使用开通记录中的用户私钥对认证响应消息进行签名,在服务器端,同样根据挑战值选择签名算法,用根据用户记录中的用户公钥对认证响应消息进行校验。校验的过程同实施例一对响应消息的校验过程,只不过使用的密钥不同,实施例一使用第二公钥进行校验,而实施例二使用用户公钥进行校验。由于用户公私钥对对每个用户是唯一的,进一步保证校验过程中的安全性。

即:客户端根据所述挑战值选择签名算法,用选择的签名算法和所述用户私钥对认证响应消息进行签名;服务器端在接收到认证响应消息后,同样根据挑战值选择签名算法和用户公钥对认证响应消息进行校验。

与实施例一不同的是,本步骤的认证请求应答消息中还包括业务信息,以便在客户端接收到认证应答消息后,在客户端显示业务信息。用户可以根据显示的业务信息判断是否是自己正在进行指纹认证对应的业务,如果是则选择进行继续操作,否则可以放弃指纹认证。

无论在开通过程还是后面的校验过程,本发明根据随机数选择签名算法,不限于选择一种签名算法来进行签名,也可以选择多种算法的组合进行签名操作,提高算法的变化。例如根据随机数的个位数和十位数,选择两个签名算法,先后进行两次签名来进一步增强签名的安全性。本实施例对响应消息进行的签名校验,由于是随机的签名算法,即使用户私钥泄露,由于攻击者不知道签名算法,也无法伪造响应消息。

在现有技术中,FIDO联盟推出的校验方案包括了密码、网页插件以及校验硬件,而校验硬件多种多样,例如U盘(或U盾)、NFC芯片、TPM(可信赖平台模块)芯片,以及指纹扫描器、语音识别、脸部识别、虹膜识别等生物识别硬件。使用FIDO联盟的校验方法,用户的密码不会被发送出去,而是由手机、电脑等设备内部的软件进行处理;校验通过后,软件发送密钥到登录服务器,不保存任何登陆信息;与此同时,登陆服务器发送密钥到用户设备告知其“已经通过认证”。企业如果要使用FIDO的认证方式,只需要在服务器上安装校验软件,然后在客户和员工的设备上安装相应的插件或应用程序即可。然而以指纹校验为例,FIDO的指纹校验的开通仅能和设备绑定,即开通指纹后,所有设备上的指纹模版,都能 完成指纹校验,指纹开通后添加的指纹模版也能完成校验,而一般在设备上添加指纹只需输入简单密码(如4为数字密码),成为安全短板,存在安全漏洞。同时从服务器端来的消息也没有签名,可以通过伪造消息对设备端模块进行攻击。而本发明在开通过程中存储开通记录和用户记录,在后续无法进行用于指纹校验的指纹模版ID的更改,防止了在指纹开通后添加指纹模版;同时通过挑战值选择签名算法,在校验过程中增加签名,可以防止伪造消息进行攻击。

如图3所示,本发明还提出了一种客户端,应用于身份认证系统,所述身份认证系统还包括服务器端,所述客户端保存有开通记录,所述服务器端保存有用户记录,所述开通记录和用户记录包含有开通生物特征校验过程中获取的用于生物特征校验的生物特征模版ID,所述客户端包括:

请求模块,用于向服务器端发送认证请求,接收服务器端返回的认证请求应答消息;

响应模块,用于接收用户输入的生物特征,获取该生物特征对应的生物特征模版ID,与本地保存的开通记录中的生物特征模版ID进行比对,如果吻合则生成包括获取的生物特征模版ID的认证响应消息,向服务器端发送认证响应消息,以便服务器端接收所述认证响应消息,与服务器端本地保存的用户记录中的生物特征模版ID进行比对校验,否则报错。

进一步地,所述请求模块还用于向服务器端发送开通生物特征校验的开通请求,接收服务器端返回的开通请求应答消息;所述响应模块还用于接收用户输入的用于校验的生物特征,获取该用于校验的生物特征对应的生物特征模版ID,生成开通记录保存,生成包括所述生物特征模版ID的开通响应消息,向服务器端发送开通响应消息,以便服务器端接收所述开通响应消息,获取其中包含的所述生物特征模版ID生成用户记录保存。

进一步地,所述服务器端以约定的第一私钥对所述认证请求应答消息或开通请求应答消息进行签名,则所述请求模块在接收到所述认证请求应答消息之后,还用于以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错;所述请求模块在接收到所述开通请求应答消息之后,还用于以约定的第一公钥对接收的开通请求 应答消息进行校验,如果校验通过才进行后续的响应,否则报错。

本发明所述开通请求应答消息中携带有挑战值,所述响应模块还用于生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥;根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥对生成的开通响应消息进行签名后发送给服务器端,所述开通响应消息包括用户公钥,以便服务器端接收开通响应消息并使用约定第二公钥进行校验,在服务器端保存用户公钥。

进一步地,所述认证请求应答消息中携带有挑战值,所述响应模块还用于根据所述挑战值选择签名算法,用选择的签名算法和所述用户私钥对认证响应消息进行签名,以便所述服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法和所述用户公钥对认证响应消息进行校验。

进一步地,所述开通请求应答消息还包括用户ID,所述响应模块还将所述用户ID保存在所述开通记录中,并且在生成的开通响应消息中还包括所述用户ID,以便所述服务器端在接收到所述开通响应消息后,获取其中的用户ID并将其保存在所述用户记录中。

进一步地,所述开通响应消息还包括客户端设备ID,以便所述服务器端在接收到所述开通请求应答消息后,获取其中的设备ID并将其保存在所述用户记录中。

进一步地,所述认证请求应答消息还包括用户ID,所述响应模块在接收用户输入的生物特征,获取该生物特征对应的生物特征模版ID之后,还根据用户ID查找到对应的开通记录,以便将获取的所述生物特征模版ID与该查找到的开通记录中的生物特征模版ID进行比对;

在所述响应模块生成的认证响应消息中还包括所述用户ID,以便所述服务器端在接收到所述认证响应消息后,获取其中的用户ID并根据所述用户ID查找到对应的用户记录。

进一步地,所述认证响应消息还包括客户端设备ID,以便所述服务器端在接收到所述认证响应消息后,获取所述认证响应消息中的设备ID,根据所述设备ID查找到对应的用户记录。

如图4所示,本发明还提出了一种服务器,对应于前面的服务器端,应用于身份认证系统,所述身份认证系统还包括客户端,所述客户端保存有开通记录,所述服务器保存有用户记录,所述开通记录和用户记录包含有开通生物特征校验过程中获取的用于生物特征校验的生物特征模版ID,所述服务器端包括:

应答模块,用于接收来自客户端的认证请求,向客户端发送认证请求应答消息;

校验模块,用于接收来自客户端的认证响应消息,所述认证响应消息包括生物特征模版ID,将所述认证响应消息中的生物特征模版ID与保存的用户记录中的生物特征模版ID进行比对校验,如果一致则校验通过,否则报错。

进一步地,所述应答模块还用于接收来自客户端的开通生物特征校验的开通请求,向客户端发送开通请求应答消息,以便客户端根据用户输入的用于校验的生物特征,获取该用于校验的生物特征对应的生物特征模版ID,生成开通记录保存;所述校验模块还用于接收来自客户端的开通响应消息,获取所述开通响应消息包括的生物特征模版ID,生成用户记录保存。

进一步地,所述应答模块还用于以约定的第一私钥对所述认证请求应答消息或开通请求应答消息进行签名,以便所述客户端以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错,或以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。

本发明所述开通请求应答消息中携带有挑战值,所述客户端生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥,所述校验模块还用于接收客户端根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥签名的开通响应消息,所述开通响应消息包括用户公钥,同样根据挑战值选择签名算法,并使用第二公钥校验开通响应消息,在服务器端保存用户公钥。

进一步地,所述校验模块还用于接收客户端根据认证请求应答消息中 的挑战值选择签名算法,并使用选择的签名算法和用户私钥进行签名的认证响应消息,同样根据挑战值选择签名算法和用户公钥校验认证响应消息的签名。

进一步地,所述开通请求应答消息还包括用户ID,以便所述客户端在接收到所述开通请求应答消息后,将所述用户ID保存在所述开通记录中,并且在客户端生成的开通响应消息中还包括所述用户ID,则所述校验模块在接收到所述开通响应消息后,还从所述开通响应消息中获取用户ID,将所述用户ID保存在所述用户记录中。

进一步地,所述开通响应消息还包括客户端设备ID,所述校验模块在接收到所述开通响应消息后,还从所述开通响应消息中获取设备ID,将所述设备ID保存在所述用户记录中。

进一步地,所述认证请求应答消息还包括用户ID,以便所述客户端根据用户ID查找到对应的开通记录,将获取的所述生物特征模版ID与该查找到的开通记录中的生物特征模版ID进行比对,并在客户端生成的认证响应消息中还包括所述用户ID,所述校验模块在接收到所述认证响应消息后,还获取所述认证响应消息中的用户ID,根据所述用户ID查找到对应的用户记录。

进一步地,所述认证响应消息还包括客户端设备ID,所述校验模块在接收到所述认证响应消息后,还获取所述认证响应消息中的设备ID,根据所述设备ID查找到对应的用户记录。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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