生物识别信息传输建立方法、装置、系统及存储介质与流程

文档序号:14491570阅读:192来源:国知局
生物识别信息传输建立方法、装置、系统及存储介质与流程

本申请涉及指纹识别领域,尤其涉及一种生物识别信息传输建立方法、装置、系统及存储介质。



背景技术:

近几年随着软硬件技术的不断发展,指纹识别技术也取得了突飞猛进的进步。指纹识别过程包括:传感器采集生物识别信息并通过微控制单元(microcontrollerunit,mcu)将该生物识别信息传输给驱动单元,驱动单元通过驱动程序识别生物识别信息,并将识别结果反馈给mcu,目前mcu和驱动单元沿用客户端和服务器端之间的安全传输层协议(transportlayersecurity,tls)进行生物识别信息传输。

tls用于在两个通信应用程序之间提供保密性和数据完整性。tls协议包括tls记录协议和tls握手协议。客户端和服务器端之间的tls握手过程包括:客户端向服务器端发送客户端问候消息(clienthello),包括:客户端所支持的密码套件种类、最高ssl/tls协议版本以及压缩算法以及客户端生成的随机数;服务器端向客户端发送服务器端问候消息(serverhello),包括服务器端选择的密码套件、压缩算法等以及服务器端生成的随机数;服务器端向客户端发送的服务器端密钥交换消息(serverkeyexchange),该消息可以包括:服务器端提供的可供选择的多个预共享密钥(pre-sharedkey,psk);服务器端向客户端发送服务器端问候结束消息(serverhellodone)。客户端向服务器端发送客户端密钥交换消息(serverkeyexchange),该消息可以包括客户端选择的psk;客户端向服务器端发送客户端的完成消息(finished),包括客户端利用客户端生成的客户端和服务器端之间的会话密钥对它执行的所有消息计算得到的消息鉴别码。服务器端向客户端发送服务器端的完成消息(finished),包括服务器端利用它所生成的客户端和服务器端之间的会话密钥对它执行的所有消息计算得到的消息鉴别码。当客户端和服务器端两者的消息鉴别码相同时,表示客户和服务器端之间的会话建立成功。

然后,现有技术提供的tls握手流程涉及交互次数较多,从而造成较大的系统开销。



技术实现要素:

本申请提供一种生物识别信息传输建立方法、装置、系统及存储介质,通过该方法可以降低系统开销。

第一方面,本申请提供一种生物识别信息传输建立方法,包括:向驱动单元发送第一随机数;接收驱动单元发送的第二随机数以及第一身份校验信息;根据第一随机数、第二随机数和预共享密钥生成第一会话密钥,并根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息;向驱动单元发送第二身份校验信息,并根据第一身份校验信息和第二身份校验信息判断生物识别装置和驱动单元之间的会话是否建立成功。

本申请的有益效果为:首先本申请中无需驱动单元或者生物识别装置(客户端)在多个预共享密钥中选择一个,而是双方均已预置预共享密钥,并且本申请中驱动单元仅需根据第三会话密钥、第一随机数和第二随机数三个参数生成第一身份校验信息,同样,生物识别装置(服务器端)仅需根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息,而现有技术中客户端和服务器端均需要对tls所有消息生成身份校验信息,综上,通过本申请提供的生物识别信息传输建立方法,减少了握手交互次数,进而达到降低驱动单元和生物识别装置构成的系统的开销。

可选地,第一会话密钥包括至少一个第二会话密钥;若判断微控制单元和驱动单元之间的会话建立成功,方法还包括:在判断生物识别装置和驱动单元之间的会话建立成功时,采用第一会话密钥或第二会话密钥对生物识别信息进行加密生成第一密文,并发送给驱动单元。

可选地,第一会话密钥还包括:第一数值以及第一算法的密钥,第一数值用于确定向驱动单元发送的数据包的数量;第一算法为用于生成第二身份校验信息的算法;方法还包括:

采用第一算法对第一算法的密钥、第一密文和第一数值进行计算,得到第一校验值;将第一校验值和第一密文发送给驱动单元,第一校验值用于判断第一密文是否合法。

本申请的有益效果为:由于第一会话密钥包括至少一个第二会话密钥,使得生物识别装置在每次信息传输时,可以循环利用至少一个第二会话密钥,而无需仅适用一个固定的会话密钥,从而提高生物识别信息传输的可靠性。此外,本申请还可以通过第一会话密钥对生物识别信息进行加密传输,从而提高生物识别信息传输的灵活性。

可选地,方法还包括:在判断生物识别装置和驱动单元之间的会话建立成功时,接收驱动单元发送的第二密文;采用第一会话密钥或第二会话密钥对第二密文进行解密。

可选地,第一会话密钥还包括:第二数值,第二数值用于确定从驱动单元接收到的数据包的数量;方法还包括:接收驱动单元发送的第二校验值;采用第一算法对第一算法的密钥、第二密文和第二数值进行计算,得到第三校验值;根据第二校验值和第三校验值是否相同确定第二密文是否合法。

第二方面,本申请提供一种生物识别信息传输建立方法,包括:向生物识别装置发送第二随机数;接收生物识别装置发送的第一随机数以及第二身份校验信息;根据第一随机数、第二随机数和预共享密钥生成第三会话密钥,并根据第三会话密钥、第一随机数和第二随机数生成第一身份校验信息;向生物识别装置发送第一身份校验信息,并根据第一身份校验信息和第二身份校验信息判断生物识别装置和驱动单元之间的会话是否建立成功。

其中该有益效果和第一方面有益效果相同,在此不再赘述。

可选地,第三会话密钥包括至少一个第四会话密钥;方法还包括:在判断生物识别装置和驱动单元之间的会话建立成功时,采用第三会话密钥或第四会话密钥对生物识别信息进行加密生成第二密文,并发送给生物识别装置。

可选地,第三会话密钥还包括:第三数值以及第一算法的密钥,第三数值用于确定向生物识别装置发送的数据包的数量;第一算法为用于生成第一身份校验信息的算法;方法还包括:采用第一算法对第一算法的密钥、第二密文和第三数值进行计算,得到第二校验值;将第二校验值和第二密文发送给生物识别装置,第二校验值用于判断第二密文是否合法。

本申请的有益效果为:由于第三会话密钥包括至少一个第四会话密钥,使得驱动单元在每次信息传输时,可以循环利用至少一个第四会话密钥,而无需仅适用一个固定的会话密钥,从而提高生物识别信息传输的可靠性。此外,本申请还可以通过第三会话密钥对生物识别信息进行加密传输,从而提高生物识别信息传输的灵活性。

可选地,在判断生物识别装置和驱动单元之间的会话建立成功时,接收生物识别装置发送的第一密文;采用第三会话密钥或第四会话密钥对第一密文进行解密。

可选地,第三会话密钥还包括:第四数值,第四数值用于确定从生物识别装置接收到的数据包的数量;方法还包括:接收生物识别装置发送的第一校验值;采用第一算法对第一算法的密钥、第一密文和第四数值进行计算,得到第四校验值;根据第一校验值和第四校验值是否相同确定第一密文是否合法。

下面对生物识别信息传输建立系统、装置及存储介质进行介绍,其实现原理和技术效果与上述第一方面涉及的方法、第二方面涉及的方法、第一方面的可选方式以及第二方面的可选方式的原理和技术效果类似,此处不再赘述。

第三方面,本申请提供一种生物识别信息传输建立系统,包括:生物识别装置和驱动单元;

生物识别装置用于:

向驱动单元发送第一随机数;

接收驱动单元发送的第二随机数以及第一身份校验信息;

根据第一随机数、第二随机数和预共享密钥生成第一会话密钥,并根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息;

向驱动单元发送第二身份校验信息;并根据第一身份校验信息和第二身份校验信息判断生物识别装置和驱动单元之间的会话是否建立成功;

驱动单元用于:

根据第一随机数、第二随机数和预共享密钥生成第三会话密钥,并根据第三会话密钥、第一随机数和第二随机数生成第一身份校验信息;

根据第一身份校验信息和第二身份校验信息判断生物识别装置和驱动单元之间的会话是否建立成功。

第四方面,本申请提供一种计算机存储介质,存储介质包括计算机指令,当指令被计算机执行时,使得计算机实现如第一方面、第二方面、第一方面的可选方式以及第二方面的可选方式中的任一项的方法。

第五方面,本申请提供一种计算机程序产品,其包含指令,当计算机程序被计算机所执行时,该指令使得计算机执行如第一方面、第二方面、第一方面的可选方式以及第二方面的可选方式中的任一项的方法。

第六方面,本申请提供一种生物识别装置,包括传感器和微控制单元,传感器用于采集生物识别信息,微控制单元用于执行如第一方面以及第一方面的可选方式中的任一项的方法来建立生物识别装置与驱动单元之间的生物识别信息传输通道,生物识别信息传输通道用于传输生物识别信息。

本申请提供一种生物识别信息传输建立方法、装置、系统及存储介质,包括:向驱动单元发送第一随机数;接收驱动单元发送的第二随机数以及第一身份校验信息;根据第一随机数、第二随机数和预共享密钥生成第一会话密钥,并根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息;向驱动单元发送第二身份校验信息,并根据第一身份校验信息和第二身份校验信息判断生物识别装置和驱动单元之间的会话是否建立成功。即,本申请中无需驱动单元或者生物识别装置在多个预共享密钥中选择一个,而是双方均已预置预共享密钥,并且本申请中驱动单元仅需根据第三会话密钥、第一随机数和第二随机数三个参数生成第一身份校验信息,同样,生物识别装置仅需根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息,而现有技术中客户端和服务器端均需要对tls所有消息生成身份校验信息,综上,通过本申请提供的生物识别信息传输建立方法,减少了握手交互次数,进而达到降低驱动单元和生物识别装置构成的系统的开销。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的生物识别信息传输建立方法、装置和系统可以适用的应用场景示意图;

图2为本申请一实施例提供的一种生物识别信息传输建立方法的交互流程图;

图3为本申请一实施例提供的第一会话密钥的示意图;

图4为本申请一实施例提供的一种生物识别信息传输建立方法的交互流程图;

图5为本申请一实施例提供的应用层数据包传输格式示意图;

图6为本申请一实施例提供的第三会话密钥的示意图;

图7为本申请一实施例提供的一种生物识别信息传输建立方法的交互流程图;

图8为本申请一实施例提供的一种生物识别信息传输建立系统80的结构示意图;

图9为本申请一实施例提供的一种生物识别装置90的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

目前,mcu和驱动单元之间沿用客户端和服务器端之间的tls进行生物识别信息传输。然而,tls的握手流程设计交互次数较多,从而造成过大的系统开销。为了解决这一技术问题,本申请提供一种生物识别信息传输建立方法、装置、系统及存储介质。

具体地,图1为本申请提供的生物识别信息传输建立方法、装置和系统可以适用的应用场景示意图,本申请的应用场景可以具体是终端设备,比如笔记本电脑或者个人计算机,可替代地,其也可以是移动终端,比如智能手机或者平板电脑,如图1所示,其包括传感器11、微处理单元(mcu)12和驱动单元13。传感器11用于采集生物识别信息,如指纹信息、虹膜信息或者人脸检测信息等,并将该生物识别信息输出给mcu12,mcu12用于与主机端的驱动单元13建立生物识别信息传输通道,并通过通用串行总线(universalserialbus,usb)或者串行外设接口(serialperipheralinterface,spi)等通信方式将生物识别信息传输给主机端的驱动单元13,驱动单元13用于注册或者匹配生物识别信息,并将注册结果或者匹配结果传输给mcu12。本申请主要提供mcu12和驱动单元13之间的生物识别信息传输建立过程。

具体地,该传感器11用于采集生物识别信息,传感器11可被称为生物识别传感器,该生物识别传感器可以是用于检测指纹信息的指纹传感器,或者是用于检测虹膜信息的虹膜传感器,又或者是检测人脸信息的面部传感器。

进一步地,上述生物识别传感器还可以同时检测多种生物识别信息,比如指纹传感器可以同时检测指纹信息、心率信息和血氧浓度信息等。

驱动单元13加载有主机操作系统的驱动程序(driver),通过该驱动程序可对生物识别信息进行识别以及验证。

如上所述,上述传感器11、mcu12和驱动单元13可以位于同一终端设备,可替代地,上述传感器11、mcu12组成的生成识别装置与驱动单元13可以位于不同的终端设备,本申请对此不做限制。其中,本申请所述的终端设备可以是笔记本电脑、移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。本申请对此不做限制。

以传感器11、mcu12和驱动单元13可以位于同一笔记本电脑为例,其中,传感器11和mcu12可以构成生物识别装置。且该生物识别装置可以集成在笔记本电脑的电源键或者其他位置。驱动单元13可以是配置在笔记本电脑的主板。该笔记本电脑可安装有windows操作系统。相应的,所述驱动单元13加载有windows操作系统的驱动程序(driver)。

基于上述应用场景,下面具体介绍生物识别信息传输建立方法、装置、系统及存储介质。

实施例一

图2为本申请一实施例提供的一种生物识别信息传输建立方法的交互流程图,如图2所示,该方法应用于生物识别信息传输建立系统,该系统包括:传感器、mcu和驱动单元,其中可以将包括传感器和mcu的生物识别装置定义为客户端,而将驱动单元定义为服务器端。本申请提供的是该客户端(即生物识别装置)与该服务器端(即驱动单元)之间的生物识别信息传输建立方法,具体包括如下步骤:

步骤s201:客户端向服务器端发送第一随机数;

步骤s202:服务器端根据第一随机数、第二随机数和预共享密钥生成第三会话密钥,并根据第三会话密钥、第一随机数和第二随机数生成第一身份校验信息;

结合步骤s201和步骤s202进行说明:第一随机数是客户端采用现有技术提供的随机数生成方法生成的,第二随机数是服务器端采用现有技术提供的随机数生成方法生成的。本申请中,客户端已被预置一个预共享密钥psk,并且服务器端被预置与客户端相同的psk。

服务器端接收到第一随机数之后,可以将第一随机数、第二随机数和psk作为伪随机数函数(pseudorandomfunction,prf)的输入参数,通过该prf生成第三会话密钥。或者,

可选地,该第三会话密钥的全部或者部分可用于服务器端对向客户端发送的生物识别信息进行加密。该第三会话密钥的全部或者部分还可用于服务器端对从客户端接收的生物识别信息进行解密。其中,“服务器端从客户端接收的生物识别信息”是指客户端从传感器获取的生物识别信息。“服务器端向客户端发送的生物识别信息”是指服务器端向客户端反馈的指纹识别结果。

进一步地,一种可选方式:服务器端将第三会话密钥的部分或者全部、第一随机数和第二随机数作为哈希运算消息认证码(hash-basedmessageauthenticationcode,hmac)的输入参数,通过hmac算法生成第一身份校验信息。实际上,hmac是一种哈希算法,因此第一份校验信息实际上是第一随机数和第二随机数构成的消息的消息摘要。

可选地,当通过第三会话密钥的部分作为hmac算法的输入参数以计算第一身份校验信息时,可以将该部分第三会话密钥称为hmac算法的密钥。

或者,当通过第三会话密钥的全部作为hmac算法的输入参数以计算第一身份校验信息时,可以将该第三会话密钥称为hmac算法的密钥。

另一种可选方式,服务器端将第三会话密钥的部分或者全部、第一随机数和第二随机数作为prf的输入参数,通过prf生成第一身份校验信息。即计算第一身份校验信息的函数和计算第三会话密钥的函数相同。

需要说明的是,本申请对计算第一身份校验信息的函数或者算法不做限制。

步骤s203:服务器端向客户端发送第二随机数和第一身份校验信息;

步骤s204:客户端根据第一随机数、第二随机数和预共享密钥生成第一会话密钥,并根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息;

结合步骤s203和步骤s204进行说明:客户端接收到第二随机数和第一身份校验信息之后,可以将第一随机数、第二随机数和psk作为prf的输入参数,通过该prf生成第一会话密钥。或者,总之,客户端生成第一会话密钥和服务器端生成第三会话密钥的函数或者算法相同即可。基于此,可知,客户端和服务器端生成各自的会话密钥采用的算法相同,且输入参数也相同,从而得到的第一会话密钥和第三会话密钥相同。

可选地,该第一会话密钥的全部或者部分可用于客户端对向服务器端发送的生物识别信息进行加密。该第一会话密钥的全部或者部分还可用于客户端对从服务器端接收的生物识别信息进行解密。其中,“客户端向服务器端发送的生物识别信息”是指客户端从传感器获取的生物识别信息。“客户端从服务器端接收的生物识别信息”是指服务器端向客户端反馈的注册结果或者生物识别信息匹配结果等。

进一步地,一种可选方式:服务器端将第一会话密钥的部分或者全部、第一随机数和第二随机数作为hmac的输入参数,通过hmac算法生成第二身份校验信息。

可选地,当通过第一会话密钥的部分作为hmac算法的输入参数以计算第二身份校验信息时,可以将该部分第一会话密钥称为hmac算法的密钥。

或者,当通过第一会话密钥的全部作为hmac算法的输入参数以计算第一身份校验信息时,可以将该第一会话密钥称为hmac算法的密钥。

另一种可选方式,服务器端将第一会话密钥的部分或者全部、第一随机数和第二随机数作为prf的输入参数,通过prf生成第二身份校验信息。

需要说明的是,本申请对计算第二身份校验信息的函数或者算法不做限制。

本申请中,客户端生成第一身份校验信息和服务器端生成第二身份校验信息的函数或者算法需要相同。

步骤s205:客户端根据第一身份校验信息和第二身份校验信息判断客户端和服务器端之间的会话是否建立成功;

一种可选方式,当客户端确定第一身份校验信息和第二身份校验信息相同时,确定客户端和服务器端之间的会话建立成功;当客户端确定第一身份校验信息和第二身份校验信息不同时,确定客户端和服务器端之间的会话建立失败。

另一种可选方式,当客户端确定第一身份校验信息和第二身份校验信息的差值绝对值小于预设阈值时,确定客户端和服务器端之间的会话建立成功;当客户端确定第一身份校验信息和第二身份校验信息的差值绝对值大于或者等于所述预设阈值时,确定客户端和服务器端之间的会话建立失败。其中,该预设阈值可以根据实际情况设置,本申请对如何确定预设阈值不做限制。

步骤s206:客户端向服务器端发送第二身份校验信息;

步骤s207:服务器端根据第一身份校验信息和第二身份校验信息判断客户端和服务器端之间的会话是否建立成功。

一种可选方式,当服务器端确定第一身份校验信息和第二身份校验信息相同时,确定客户端和服务器端之间的会话建立成功;当服务器端确定第一身份校验信息和第二身份校验信息不同时,确定客户端和服务器端之间的会话建立失败。

另一种可选方式,当服务器端确定第一身份校验信息和第二身份校验信息的差值绝对值小于预设阈值时,确定客户端和服务器端之间的会话建立成功;当服务器端确定第一身份校验信息和第二身份校验信息的差值绝对值大于或者等于所述预设阈值时,确定客户端和服务器端之间的会话建立失败。其中,该预设阈值可以根据实际情况设置,本申请对如何确定预设阈值不做限制。

需要说明的是,本申请对步骤s201至步骤s204不局限于上述的执行顺序,只要保证客户端在生成第一会话密钥之前获取到第二随机数,服务器端在生成第三会话密钥之前获取到第一随机数即可。例如:本申请中服务器端先向客户端发送第二随机数,接着客户端根据第一随机数、第二随机数和预共享密钥生成第一会话密钥,并根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息;并将第一随机数和第二身份校验信息发送给客户端,客户端根据第一随机数、第二随机数和预共享密钥生成第三会话密钥,并根据第三会话密钥、第一随机数和第二随机数生成第一身份校验信息。

本申请对步骤s205至步骤s207不局限于上述的执行顺序,只要保证客户端在判断客户端和服务器端之间的会话是否建立成功之前,接收到第二身份校验信息即可。服务器端在判断客户端和服务器端之间的会话是否建立成功之前,接收到第一身份校验信息即可。

可选地,步骤s205之后还包括:客户端可以向服务器端发送第一指示信息,该第一指示信息用于指示客户端和服务器端之间的会话是否建立成功。

可选地,步骤s207之后还包括:服务器端可以向客户端发送第二指示信息,该第二指示信息用于指示客户端和服务器端之间的会话是否建立成功。

本申请提供一种生物识别信息传输建立方法,包括:客户端向服务器端发送第一随机数;服务器端根据第一随机数、第二随机数和预共享密钥生成第三会话密钥,并根据第三会话密钥、第一随机数和第二随机数生成第一身份校验信息;服务器端向客户端发送第二随机数和第一身份校验信息;客户端根据第一随机数、第二随机数和预共享密钥生成第一会话密钥,并根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息;客户端根据第一身份校验信息和第二身份校验信息判断客户端和服务器端之间的会话是否建立成功;客户端向服务器端发送第二身份校验信息。服务器端根据第一身份校验信息和第二身份校验信息判断客户端和服务器端之间的会话是否建立成功。即,首先本申请中无需服务器端或者客户端在多个预共享密钥中选择一个,而是双方均已预置预共享密钥,并且本申请中服务器端仅需根据第三会话密钥、第一随机数和第二随机数三个参数生成第一身份校验信息,同样,客户端仅需根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息,而现有技术中客户端和服务器端均需要对tls所有消息生成身份校验信息,综上,通过本申请提供的生物识别信息传输建立方法,减少了握手交互次数,进而达到降低服务器端和客户端构成的系统的开销。

实施例二

在实施例一的基础上,进一步地,上述第一会话密钥包括至少一个第二会话密钥。具体地,图3为本申请一实施例提供的第一会话密钥的示意图,如图3所示,第一会话密钥长度为48字节,后12字节为n个第二会话密钥。n为大于或者等于1的正整数。其中,客户端可以根据为至少一个第二会话密钥预配置的字节数m以及第二会话密钥的长度l确定,例如:客户端为所有第二会话密钥总共预配置了32字节,而规定第二会话密钥的长度为8,则n=32/8=4。“/”表示数学中的“相除”。假设n为1,则客户端之间每次传输的生物识别信息都采用该第二会话密钥。假设n大于1,则客户端可以循环利用n个第二会话密钥。例如:当n为3时,3个第二会话密钥分别为第二会话密钥a、第二会话密钥b和第二会话密钥c,客户端第一次进行生物识别信息传输时采用第二会话密钥a。客户端第二次进行生物识别信息传输时采用第二会话密钥b。客户端第三次进行生物识别信息传输时采用第二会话密钥c。客户端第四次进行生物识别信息传输时继续采用第二会话密钥a。基于此,依次循环使用3个第二会话密钥。

可选地,第一会话密钥还包括:第一数值以及第一算法的密钥。

第一数值用于确定客户端向服务器端发送的数据包的数量;可选地,第一数值可以为客户端对应的第一计数器的初始值;该第一计数器用于统计客户端向服务器端发送的数据包的数量。

第一算法为用于生成第二身份校验信息的算法。例如:当生成第二身份校验信息的算法为hmac算法时,这里的第一算法是指hmac算法,而第一算法的密钥则是hmac算法的密钥。当生成第二身份校验信息的算法为prf算法时,这里的第一算法是指prf算法。而第一算法的密钥则是prf算法的密钥。

结合图3,当判断客户端和服务器端之间的会话建立成功之后,本申请提供客户端和服务器端之间的生物识别信息传输流程,图4为本申请一实施例提供的一种生物识别信息传输建立方法的交互流程图,如图4所示,该方法包括如下步骤:

步骤s401:客户端采用第一会话密钥或第二会话密钥对生物识别信息进行加密生成第一密文;

可选地,该第一密文可以是客户端对传感器采集到的生物识别信息加密后得到的数据。

可选地,客户端将整个第一会话密钥作为加密密钥,通过该第一会话密钥对生物识别信息进行加密生成第一密文。

可选地,客户端将第二会话密钥作为加密密钥,通过该第二会话密钥对生物识别信息进行加密生成第一密文。

其中,客户端对生物识别信息可以采用现有的基于身份的基于身份的加密技术(identitybasedencryption,ibe)或者是高级加密标准(advancedencryptionstandard,aes)等算法。本申请对此不做限制。

步骤s402:客户端采用第一算法对第一算法的密钥、第一密文和第一数值进行计算,得到第一校验值;

如上所述,该第一算法可以是hmac算法或者prf算法,相应的,第一算法的密钥分别是hmac算法的密钥和prf算法的密钥。第一算法的密钥、第一密文和第一数值作为第一算法的输入参数,第一校验值为第一算法的输出参数。

图5为本申请一实施例提供的应用层数据包传输格式示意图,如图5所示,该应用层数据包包括:4字节的第一校验值的类型、4字节的该应用层数据包的长度、x字节的第一校验值以及32字节的第一算法的标识hmac。其中,x表示可变长度。

步骤s403:客户端将第一校验值和第一密文发送给服务器端;

步骤s404:第三会话密钥包括:第四数值,该第四数值用于确定服务器端从客户端接收到的数据包的数量;服务器端采用第一算法对第一算法的密钥、第一密文和第四数值进行计算,得到第四校验值;

结合步骤s403和步骤s404进行说明:第一会话密钥包括的第一数值和第三会话密钥包括的第四数值相同,即服务器端从客户端接收到的数据包的数量的初始值和客户端向服务器端发送的数据包的数量的初始值相同。基于此,若客户端和服务器端之间未发生丢包现象,则后续基于第一数值确定的客户端向服务器端发送的数据包的数量和基于第四数值确定的服务器端从客户端接收到的数据包的数量相同。因此,服务器端计算得到的第四校验值应该和接收到的第一校验值相同。相反的,若客户端和服务器端之间发生丢包现象,则后续基于第一数值确定的客户端向服务器端发送的数据包的数量和基于第四数值确定的服务器端从客户端接收到的数据包的数量不同。因此,服务器端计算得到的第四校验值应该和接收到的第一校验值不同。

步骤s405:服务器端根据第一校验值和第四校验值是否相同确定第一密文是否合法。

步骤s406:若第一密文合法,服务器端生成的第三会话密钥包括至少一个第四会话密钥;则服务器端通过第三会话密钥或第四会话密钥解密第一密文。

结合步骤s405和步骤s406进行说明:当第一校验值和第四校验值相同时,表示客户端和服务器端之间未发生丢包现象,从而确定第一密文合法,服务器端通过第三会话密钥或第四会话密钥解密第一密文。相反的,当第一校验值和第四校验值不相同时,表示客户端和服务器端之间发生丢包现象,从而确定第一密文不合法,服务器端可丢弃该第一密文。

需要说明的是,第二会话密钥和第四会话密钥相同。可选地,第二会话密钥在第一会话密钥中的位置与第四会话密钥在第三会话密钥中的位置相同。

客户端使用第二会话密钥的循环机制和服务器端使用第二会话密钥的循环机制完全相同,以保证对同一生物识别信息加密和解密的密钥相同。

本申请中,由于第一会话密钥包括至少一个第二会话密钥,使得客户端在每次信息传输时,可以循环利用至少一个第二会话密钥,而无需仅适用一个固定的会话密钥,从而提高生物识别信息传输的可靠性。此外,本申请还可以通过第一会话密钥对生物识别信息进行加密传输,从而提高生物识别信息传输的灵活性。

实施例三

在实施例二的基础上,进一步地,当服务器端解密完第一密文之后,服务器端识别该第一密文对应的生物识别信息,并得到指纹识别结果,将该指纹识别结果传输给客户端。和客户端相同,服务器端也需要对该指纹识别结果进行加密,得到第二密文。

在介绍第二密文的传输过程之前,本申请先介绍第三会话密钥。其中,第三会话密钥包括至少一个第四会话密钥。具体地,图6为本申请一实施例提供的第三会话密钥的示意图,如图3所示,第二会话密钥长度为48字节,后12字节为n个第四会话密钥。n为大于或者等于1的正整数。其中,服务器端可以根据为至少一个第四会话密钥预配置的字节数m以及第四会话密钥的长度l确定,例如:服务器端为所有第二会话密钥总共预配置了32字节,而规定第四会话密钥的长度为8,则n=32/8=4。“/”表示数学中的“相除”。假设n为1,则服务器端每次传输的生物识别信息都采用该第四会话密钥。假设n大于1,则服务器端可以循环利用n个第四会话密钥。例如:当n为3时,3个第四会话密钥分别为第四会话密钥a、第四会话密钥b和第四会话密钥c,服务器端第一次进行生物识别信息传输时采用第四会话密钥a。服务器端第二次进行生物识别信息传输时采用第四会话密钥b。服务器端第三次进行生物识别信息传输时采用第四会话密钥c。服务器端第四次进行生物识别信息传输时继续采用第四会话密钥a。基于此,依次循环使用3个第四会话密钥。

可选地,第三会话密钥还包括:第三数值以及第一算法的密钥。

所述第三数值用于确定服务器端向客户端发送的数据包的数量;可选地,第三数值可以为服务器端对应的第一计数器的初始值;该第一计数器用于统计服务器端向客户端发送的数据包的数量。

第一算法为用于生成所述第一身份校验信息的算法例如:当生成第一身份校验信息的算法为hmac算法时,这里的第一算法是指hmac算法,而第一算法的密钥则是hmac算法的密钥。当生成第一身份校验信息的算法为prf算法时,这里的第一算法是指prf算法。而第一算法的密钥则是prf算法的密钥。

在实施例二的基础上,进一步地,图7为本申请一实施例提供的一种生物识别信息传输建立方法的交互流程图,如图7所示,该方法包括如下步骤:

步骤s701:服务器端采用第三会话密钥或第四会话密钥对生物识别信息进行加密生成第二密文;

可选地,该第二密文可以是服务器端对指纹识别结果加密后得到的数据。

可选地,服务器端将整个第三会话密钥作为加密密钥,通过该第三会话密钥对指纹识别结果进行加密生成第二密文。

可选地,服务器端将第四会话密钥作为加密密钥,通过该第四会话密钥对指纹识别结果进行加密生成第二密文。

其中,客户端对生物识别信息可以采用现有的ibe或者是aes等算法。本申请对此不做限制。

步骤s702:服务器端采用第一算法对第一算法的密钥、第二密文和第三数值进行计算,得到第二校验值;

如上所述,该第一算法可以是hmac算法或者prf算法,相应的,第一算法的密钥分别是hmac算法的密钥和prf算法的密钥。第一算法的密钥、第一密文和第三数值作为第一算法的输入参数,第二校验值为第一算法的输出参数。

其中,第二校验值的传输格式类似于图5,在此不再赘述。

步骤s703:服务器端将第二校验值和第二密文发送给客户端;

步骤s704:第一会话密钥还包括:第二数值,第二数值用于确定客户端从服务器端接收到的数据包的数量;客户端采用第一算法对第一算法的密钥、第二密文和第二数值进行计算,得到第三校验值;

结合步骤s703和步骤s704进行说明:第一会话密钥包括的第二数值和第三会话密钥包括的第三数值相同,即客户端从服务器端接收到的数据包的数量的初始值和服务器端向客户端发送的数据包的数量的初始值相同。基于此,若客户端和服务器端之间未发生丢包现象,则后续基于第二数值确定的客户端从服务器端接收到的数据包的数量和基于第三数值确定的服务器端向客户端发送的数据包的数量相同。因此,客户端计算得到的第三校验值应该和接收到的第二校验值相同。相反的,若客户端和服务器端之间发生丢包现象,则后续基于第二数值确定的客户端从服务器端接收到的数据包的数量和基于第三数值确定的服务器端向客户端发送的数据包的数量不同。因此,客户端计算得到的第三校验值应该和接收到的第二校验值不同。

步骤s705:客户端根据第二校验值和第三校验值是否相同确定所述第二密文是否合法;

步骤s706:若第二密文合法,客户端采用第一会话密钥或第二会话密钥对第二密文进行解密。

结合步骤s705和步骤s706进行说明:当第二校验值和第三校验值相同时,表示客户端和服务器端之间未发生丢包现象,从而确定第二密文合法,客户端通过第一会话密钥或第二会话密钥解密第二密文。相反的,当第二校验值和第三校验值不相同时,表示客户端和服务器端之间发生丢包现象,从而确定第二密文不合法,客户端可丢弃该第二密文。

需要说明的是,第二会话密钥和第四会话密钥相同。可选地,第二会话密钥在第一会话密钥中的位置与第四会话密钥在第三会话密钥中的位置相同。

客户端使用第二会话密钥的循环机制和服务器端使用第二会话密钥的循环机制完全相同,以保证对同一生物识别信息加密和解密的密钥相同。

本申请中,由于第三会话密钥包括至少一个第四会话密钥,使得服务器端在每次信息传输时,可以循环利用至少一个第四会话密钥,而无需仅适用一个固定的会话密钥,从而提高生物识别信息传输的可靠性。此外,本申请还可以通过第三会话密钥对生物识别信息进行加密传输,从而提高生物识别信息传输的灵活性。

实施例四

图8为本申请一实施例提供的一种生物识别信息传输建立系统80的结构示意图,如图8所示,该系统80包括:传感器81、mcu82和驱动单元83。其中,上述传感器81可以为生物识别传感器,mcu82可以为与传感器81相对应的微控制单元,在具体实施例中,上述传感器81和mcu82可以作为生物识别装置(应当理解,生物识别装置还可能包括其他外围电路或者辅助电路),并且应用在终端设备中用于采集用户生物识别信息以对用户进行身份验证。上述传感器81、mcu82和驱动单元83可以位于同一终端设备,或者,包括上述传感器81和mcu82的生物识别装置与驱动单元83可以位于不同的终端设备,本申请对此不做限制。

传感器81用于采集生物识别信息,并将生物识别信息输出给mcu82;

mcu82用于建立生物识别装置与驱动单元之间的生物识别信息传输通道,所述生物识别信息传输通道用于传输传感器81采集的生物识别信息;具体地,mcu82用于:向驱动单元83发送第一随机数;接收驱动单元83发送的第二随机数以及第一身份校验信息;根据第一随机数、第二随机数和预共享密钥生成第一会话密钥,并根据第一会话密钥、第一随机数和第二随机数生成第二身份校验信息;向驱动单元83发送第二身份校验信息;并根据第一身份校验信息和第二身份校验信息判断mcu82和驱动单元83之间的会话是否建立成功;

驱动单元83用于:根据第一随机数、第二随机数和预共享密钥生成第三会话密钥,并根据第三会话密钥、第一随机数和第二随机数生成第一身份校验信息;根据第一身份校验信息和第二身份校验信息判断mcu82和驱动单元83之间的会话是否建立成功。

可选地,第一会话密钥包括至少一个第二会话密钥;若mcu82判断mcu82和驱动单元83之间的会话建立成功,则mcu82还用于采用第一会话密钥或第二会话密钥对生物识别信息进行加密生成第一密文,并发送给驱动单元83。

可选地,第一会话密钥还包括:第一数值以及第一算法的密钥,第一数值用于确定mcu82向驱动单元83发送的数据包的数量;第一算法为用于生成第二身份校验信息的算法;mcu82还用于:采用第一算法对第一算法的密钥、第一密文和第一数值进行计算,得到第一校验值;将第一校验值和第一密文发送给驱动单元83,第一校验值用于判断第一密文是否合法。

可选地,若mcu82判断mcu82和驱动单元83之间的会话建立成功,mcu82还用于:接收驱动单元83发送的第二密文;采用第一会话密钥或第二会话密钥对第二密文进行解密。

可选地,第一会话密钥还包括:第二数值,第二数值用于确定mcu82从驱动单元83接收到的数据包的数量;mcu82还用于:接收驱动单元83发送的第二校验值;采用第一算法对第一算法的密钥、第二密文和第二数值进行计算,得到第三校验值;根据第二校验值和第三校验值是否相同确定第二密文是否合法。

可选地,第三会话密钥包括至少一个第四会话密钥;若驱动单元83判断mcu82和驱动单元83之间的会话建立成功,驱动单元83还用于:采用第三会话密钥或第四会话密钥对生物识别信息进行加密生成第二密文,并发送给mcu82。

可选地,第三会话密钥还包括:第三数值以及第一算法的密钥,第三数值用于确定驱动单元83向mcu82发送的数据包的数量;第一算法为用于生成第一身份校验信息的算法;驱动单元83还用于:采用第一算法对第一算法的密钥、第二密文和第三数值进行计算,得到第二校验值;将第二校验值和第二密文发送给驱动单元83,第二校验值用于判断第二密文是否合法。

可选地,若驱动单元83判断mcu82和驱动单元83之间的会话建立成功,则驱动单元83还用于:接收mcu82发送的第一密文;采用第三会话密钥或第四会话密钥对第一密文进行解密。

可选地,第三会话密钥还包括:第四数值,第四数值用于确定驱动单元83从mcu82接收到的数据包的数量;驱动单元83还用于:接收mcu82发送的第一校验值;采用第一算法对第一算法的密钥、第一密文和第四数值进行计算,得到第四校验值;根据第一校验值和第四校验值是否相同确定第一密文是否合法。

本申请实施例提供的生物识别信息传输建立系统可以执行上述图2、图4以及图7对应实施例中的生物识别信息传输建立方法以及该方法的可选方式,其实现原理和技术效果类似,此处不再赘述。

实施例五

本申请提供一种计算机存储介质,所述存储介质包括计算机指令,当所述指令被计算机执行时,使得所述计算机实现如本申请所述的生物识别信息传输建立方法。

实施例六

本申请提供一种计算机程序产品,其包含指令,当计算机程序被计算机所执行时,该指令使得计算机执行如本申请所述的生物识别信息传输建立方法。

实施例七

图9为本申请一实施例提供的一种生物识别装置90的结构示意图,如图9所示,该装置90包括:传感器91和mcu92。其中,上述传感器91可以为生物识别传感器,mcu92可以为与传感器91相对应的微控制单元,(应当理解,该生物识别装置还可能包括其他外围电路或者辅助电路),并且应用在终端设备中用于采集用户生物识别信息以对用户进行身份验证。

传感器91用于采集生物识别信息,并将生物识别信息输出给mcu92;

mcu92用于建立生物识别装置与驱动单元之间的生物识别信息传输通道,所述生物识别信息传输通道用于传输传感器91采集的生物识别信息;具体地,mcu92用于执行本申请图2、图4以及图7对应实施例中的mcu执行的方法。其内容和效果在此不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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