活体认证方法、装置、客户端设备及服务器
技术领域
本申请涉及移动通信技术领域,尤其涉及活体认证方法、装置、客户端设备及服务器。
背景技术
随着智能终端的发展和普及,为了提高身份认证的安全性,可以采用生物识别技术完成认证。在认证过程中,通过终端摄像头拍摄用户的掌纹或人脸等生物特征,将上述生物特征传输给服务器,以便服务器根据该生物特征确认认证对象为用户本人,并对用户放行。
然而,当恶意第三方通过彩色高清图片模仿真实用户的生物特征,例如,将手掌的高清图片直接传输给服务器,则服务器在识别该手掌图片后,也会将认证对象确认为用户本人,从而对非用户本人进行错误放行,导致认证结果不准确,认证存在安全隐患。
发明内容
本申请提供活体认证方法、装置、客户端设备及服务器,以解决现有技术中活体认证结果不准确,容易造成安全隐患的问题。
根据本申请实施例的第一方面,提供一种活体认证方法,所述方法包括:
向服务器发送用户的活体认证请求;
接收所述服务器根据所述活体认证请求返回的活体认证问题;
获取认证对象根据所述活体认证问题呈现的行为姿态;
通过识别所述行为姿态,获得所述活体认证问题的答案识别信息;
将所述答案识别信息发送至所述服务器,以使所述服务器在验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
根据本申请实施例的第二方面,提供另一种活体认证方法,所述方法包括:
接收客户端设备发送的用户的活体认证请求;
根据所述活体认证请求向所述客户端设备返回活体认证问题;
接收所述客户端设备发送的所述活体认证问题的答案识别信息,所述答案识别信息为所述客户端设备获取到认证对象根据所述活体认证问题呈现的行为姿态后,通过识别所述行为姿态获得的识别信息;
当验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
根据本申请实施例的第三方面,提供一种活体认证装置,所述装置包括:
发送单元,用于向服务器发送用户的活体认证请求;
接收单元,用于接收所述服务器根据所述活体认证请求返回的活体认证问题;
获取单元,用于获取认证对象根据所述活体认证问题呈现的行为姿态;
识别单元,用于通过识别所述行为姿态,获得所述活体认证问题的答案识别信息;
所述发送单元,还用于将所述答案识别信息发送至所述服务器,以使所述服务器在验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
根据本申请实施例的第四方面,提供一种活体认证装置,所述装置包括:
接收单元,用于接收客户端设备发送的用户的活体认证请求;
发送单元,用于根据所述活体认证请求向所述客户端设备返回活体认证问题;
所述接收单元,还用于接收所述客户端设备发送的所述活体认证问题的答案识别信息,所述答案识别信息为所述客户端设备获取到认证对象根据所述活体认证问题呈现的行为姿态后,通过识别所述行为姿态获得的识别信息;
验证单元,用于当验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
根据本申请实施例的第五方面,提供一种客户端设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
向服务器发送用户的活体认证请求;
接收所述服务器根据所述活体认证请求返回的活体认证问题;
获取认证对象根据所述活体认证问题呈现的行为姿态;
通过识别所述行为姿态,获得所述活体认证问题的答案识别信息;
将所述答案识别信息发送至所述服务器,以使所述服务器在验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
根据本申请实施例的第六方面,提供一种服务器,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收客户端设备发送的用户的活体认证请求;
根据所述活体认证请求向所述客户端设备返回活体认证问题;
接收所述客户端设备发送的所述活体认证问题的答案识别信息,所述答案识别信息为所述客户端设备获取到认证对象根据所述活体认证问题呈现的行为姿态后,通过识别所述行为姿态获得的识别信息;
当验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
应用本申请实施例对用户进行验证时,向用户返回活体认证问题,以使用户实时呈现行为姿态对认证问题进行回答,通过识别行为姿态得到答案识别信息,如果答案识别信息与认证问题的答案信息一致,则可以验证用户为活体用户。通过本申请实施例可以避免恶意第三方通过非活体方式进行用户验证,保证验证通过的用户均为活体用户,由此提高认证准确性,降低认证过程中存在的安全隐患。
附图说明
图1为本申请实施例的活体认证应用场景示意图;
图2为本申请活体认证方法的一个实施例流程图;
图3为本申请活体认证方法的另一个实施例流程图;
图4A为本申请活体认证方法的另一个实施例流程图;
图4B至图4E为本申请实施例中手势识别过程示意图;
图5为本申请活体认证装置所在设备的一种硬件结构图;
图6为本申请活体认证装置的一个实施例框图;
图7为本申请活体认证装置的另一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在基于互联网通信的场景中,用户可以通过所持客户端设备上安装的各种应用客户端实现对各种网络应用的访问,在访问过程中,为了保证安全性,往往需要对用户身份进行认证,现有技术可以结合生物识别技术,例如,利用用户掌纹信息进行身份认证,但是由于上述认证过程中均采用静态生物信息,因此恶意第三方在非法获取用户生物信息后,也能够完成身份认证,从而导致认证结果不准确。基于此,本申请实施例采用活体认证方式,参见图1,为本申请实施例的活体认证应用场景示意图,其中终端与服务器之间的所有校验过程均基于互联网完成,在认证过程中,客户端设备侧的用户通过行为姿态回答服务器实时发送的认证问题,并由客户端设备识别行为姿态对应的答案识别信息,当服务器验证答案识别信息与活体认证问题的答案信息一致时,可以验证用户为活体用户,以此避免非活体方式进行的用户认证,从而提高用户认证的准确性,下面对本申请实施例进行详细说明。
参见图2,为本申请活体认证方法的一个实施例的流程图,该实施例从实现活体认证的客户端设备侧进行描述:
步骤201:向服务器发送用户的活体认证请求。
本申请实施例中,客户端设备上安装的应用如果预设采用活体认证方式对用户的身份进行认证,则客户端设备可以在启动该应用时,向服务器发送用户的活体认证请求。
步骤202:接收服务器根据活体认证请求返回的活体认证问题。
服务器接收到活体认证请求后,可以随机生成活体认证问题,该活体认证问题的设置以用户能够通过简单的行为姿态进行回答为目的,从而使得服务器可以较快地检测验证对象是否为活体用户。
步骤203:获取认证对象根据活体认证问题呈现的行为姿态。
本实施例中,当活体认证问题为10以内的数字加减法时,可以通过手势姿态呈现问题答案,例如,活体认证问题为“5-3”,验证对象可以伸出二根手指对该活体认证问题进行回答,则客户端设备可以通过摄像装置获取认证对象根据活体认证问题呈现的手势姿态,即“伸出两根手指”;或者,当活体认证问题为10以内的数字描述时,可以通过头部摇动姿态呈现问题答案,例如,活体认证问题为“2”,验证对象可以上下摇动头部两次对该活体认证问题进行回答,则客户端设备可以通过摄像装置获取认证对象根据活体认证问题呈现的头部摇动姿态,即“上下摇动头部两次”。
步骤204:通过识别行为姿态,获得活体认证问题的答案识别信息。
一种可选的识别手势姿态的方式为:在客户端设备获取到认证对象回答活体认证问题时所呈现手势姿态的手势图像后,可以通过提取边缘矢量从手势姿态图像中分离出手部轮廓图像,对手部轮廓图像进行高斯模糊处理,获得手部轮廓边缘曲线,通过设置的采样点获得手部轮廓边缘曲线的空域梯度变化值,将空域梯度变化值转换为手部轮廓边缘曲线的频域信号,计算频域信号与不同手势模板对应的频域信号之间的相似度值,获得相似度值最高的手势模板,将获得的手势模板表示的信息确定所述活体认证问题的答案识别信息。
另一种可选的识别手势姿态的方式为:客户端设备可以采用视频跟踪从手势图像中获取认证对象的手势区域,通过边缘局部方向直方图和几何特征提取手势区域内的手势特征,对手势特征进行动态聚类后,通过豪斯多夫距离测量方式获得手势特征对应的答案识别信息。
需要说明的是,不局限于上述两种识别方式,本申请实施例中客户端设备通过摄像装置获取到用户的行为姿态图像后,也可以采用其他图像处理识别方式获得行为姿态对应的答案识别信息,对此本申请实施例不进行限制。
步骤205:将答案识别信息发送至服务器,以使服务器在验证答案识别信息与活体认证问题的答案信息一致时,确定认证对象为活体用户。
由上述实施例可见,在对用户进行验证时,向用户返回活体认证问题,以使用户实时呈现行为姿态对认证问题进行回答,通过识别行为姿态得到答案识别信息,如果答案识别信息与认证问题的答案信息一致,则可以验证用户为活体用户。通过本申请实施例可以避免恶意第三方通过非活体方式进行用户验证,保证验证通过的用户均为活体用户,由此提高认证准确性,降低认证过程中存在的安全隐患。
参见图3,为本申请活体认证方法的另一个实施例的流程图,该实施例从实现活体认证的服务器侧进行描述:
步骤301:接收客户端设备发送的用户的活体认证请求。
步骤302:根据活体认证请求向客户端设备返回活体认证问题。
当服务器接收到客户端设备发送的活体认证请求后,可以根据活体认证请求随机生成活体认证问题,并为活体认证问题生成时间戳,保存用户ID与活体认证问题的答案信息和时间戳之间的对应关系。
步骤303:接收客户端设备发送的活体认证问题的答案识别信息,该答案识别信息为客户端设备获取到认证对象根据活体认证问题呈现的行为姿态后,通过识别行为姿态获得的识别信息。
步骤304:当验证答案识别信息与活体认证问题的答案信息一致时,确定认证对象为活体用户。
本实施例中,服务器可以根据答案识别信息中携带的用户ID查找保存的对应关系,获得与携带的用户ID对应的答案信息和时间戳,如果当前时间未超过时间戳限定的时间,则进一步比较答案识别信息与获得的答案信息是否一致,当答案识别信息与获得的答案信息一致时,确定认证对象为活体用户。
由上述实施例可见,在对用户进行验证时,向用户返回活体认证问题,以使用户实时呈现行为姿态对认证问题进行回答,通过识别行为姿态得到答案识别信息,如果答案识别信息与认证问题的答案信息一致,则可以验证用户为活体用户。通过本申请实施例可以避免恶意第三方通过非活体方式进行用户验证,保证验证通过的用户均为活体用户,由此提高认证准确性,降低认证过程中存在的安全隐患。
参见图4A,为本申请活体认证方法的另一个实施例的流程图,该实施例通过客户端设备与服务器之间的交互,描述了通过手势姿态对用户进行活体认证的过程:
步骤401:当要对用户进行认证时,客户端设备获取认证对象的生物特征信息。
生物识别技术是一种可以通过人类生物特征进行身份认证的技术,人类的生物特征通常具有唯一性,通过不同的生物特征可以识别出不同的人,生物特征可以包括手掌掌纹、手指指纹、脸形、虹膜等。本申请实施例可以兼容现有基于生物特征的身份认证过程,即基于获取到的认证对象的生物特征信息,首先识别认证对象是否为用户本人,对于非用户本人,则无需进行后续的活体认证过程,以此初步筛选出符合进行活体认证要求的认证对象。
步骤402:客户端设备向服务器发送活体认证请求和获取的生物特征信息。
步骤403:服务器验证生物特征信息与保存的该用户的生物特征信息是否一致,若是,则执行步骤404;否则,执行步骤415。
步骤404:服务器确定认证对象为用户本人后,根据活体认证请求随机生成活体认证问题和时间戳。
当服务器根据客户端设备发送的生物特征信息确定认证对象为用户本人后,可以开始后续的活体认证过程,以便确定用户本人是否为活体用户,从而防止恶意第三方通过用户本人的生物特征高清图片,仿冒用户本人进行身份认证。
在开始进行活体认证时,服务器首先根据活体认证请求随机生成活体认证问题,本实施例中,活体认证问题可以为10以内的数字加减法,例如,活体认证问题为“5-3”,该活体认证问题的答案方便认证对象通过手势进行呈现。
步骤405:服务器保存用户的用户ID与活体认证问题的答案信息和时间戳之间的对应关系。
由于服务器可能同时需要对多个认证对象进行活体认证,因此为了区分不同认证对象的活体认证问题,服务器可以保存认证对象对应的用户ID与活体认证问题的答案信息之间的对应关系,仍然以活体认证问题为“5-3”为例,其答案信息为“2”,因此服务器保存用户ID与答案信息“2”之间的对应关系。进一步,为了保证本次活体认证过程的时效,服务器可以为活体认证问题设置时间戳,同时将该时间戳保存到上述对应关系中,以此建立用户ID与活体认证问题和时间戳之间的对应关系。
步骤406:服务器向客户端设备返回活体认证问题。
步骤407:客户端设备通过摄像装置获取认证对象回答活体认证问题时所呈现手势姿态的手势图像。
本申请实施例中,客户端设备上通常设置有摄像装置,例如摄像头,客户端设备可以具体为手机、平板电脑等,在活体认证过程中,开启客户端设备的摄像装置,认证对象通过手势姿态回答活体认证问题时,摄像装置可以拍摄认证对象呈现的手势姿态的手势图像,以便后续通过识别手势图像获得认证对象动态呈现的问题答案。
步骤408:客户端设备通过识别手势图像,获得活体认证问题的答案识别信息。
本实施例通过手势姿态回答活体认证问题时,活体认证问题可以设置为十以内的加减法,以便认证对象可以通过两只手对问题答案进行呈现。因此,客户端设备内可以预先分别保存数字1至10对应的手势模板。以生成数字“2”的手势模板为例,可以预先选择多张由不同用户表示的“2”的手势图像,提取这些手势图像的边界矢量,将这些边界矢量进行FFT(Fast Fourier Transformation,快速傅里叶变换)后的平均频域信号对应的矢量形状作为数字“2”的手势模板。
在客户端设备内已保存不同手势模板的情况下,参见图4B至图4E,描述了采用本实施例进行手势识别的过程:假设认证对象根据认证问题“5-3”的答案“2”呈现了手势姿势“两根手指”,则客户端设备通过摄像装置实时获取“两根手指”的手势图像后,提取该手势图像的边缘矢量,从而分离出手部轮廓图像,如图4B所示;对图4B中的手部轮廓图像进行高斯模糊处理,得到手部轮廓的边缘曲线,该边缘曲线可以以图4B中的手腕作为边缘曲线的起点和终点,然后通过在边缘曲线上设置采样点获得空域梯度变化值,如图4C所示,本实施例可以取边缘曲线上的400个采样点,根据这400个采样点对应的角度值得到空域梯度变化值;然后将空域梯度变化值通过FFT变换,转换为手部轮廓边缘曲线的频域信号,如图4D所示,手势“2”的频域信号具有特定的矢量形状,为了区别于手势“2”,参见图4E,示出了手势“0”的频域信号的矢量形状,可以看出,二者之间的矢量形状存在差异;将图4D中对应的矢量形状与预设的手势模板进行相似度比对,可以得到图4D表示的矢量形状与手势模板中手势“2”的频域信号的矢量形状相似度最高,因此可以识别出认证对象做出了手势“2”,即活体认证问题的答案识别信息为“2”。
步骤409:客户端设备将答案识别信息发送至服务器。
步骤410:服务器根据答案识别信息中携带的用户ID查找保存的对应关系,获得与携带的用户ID对应的答案信息和时间戳。
步骤411:服务器判断当前时间是否超过时间戳限定的时间,若是,则执行步骤412,否则,执行步骤415。
步骤412:服务器比较答案识别信息与获得的答案信息是否一致,若是,则执行步骤413;否则,执行步骤414。
步骤413:服务器向客户端设备返回用户认证通过信息,结束当前流程。
步骤414:服务器向客户端设备返回用户认证未通过信息,结束当前流程。
由上述实施例可见,在对用户进行验证时,向用户返回活体认证问题,以使用户实时呈现行为姿态对认证问题进行回答,通过识别行为姿态得到答案识别信息,如果答案识别信息与认证问题的答案信息一致,则可以验证用户为活体用户。通过本申请实施例可以避免恶意第三方通过非活体方式进行用户验证,保证验证通过的用户均为活体用户,由此提高认证准确性,降低认证过程中存在的安全隐患
与本申请活体认证方法的实施例相对应,本申请还提供了活体认证装置、客户端设备及服务器的实施例。
本申请活体认证装置的实施例可以分别应用在客户端设备和服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请活体认证装置所在设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,如对于客户端设备来说,可能包括摄像头、触摸屏子、通信组件等,对于服务器,可能包括负责处理报文的转发芯片等等。
参见图6,为本申请活体认证装置的一个实施例框图,该活体认证装置可以应用在客户端设备上:
该装置包括:发送单元610、接收单元620、获取单元630和识别单元640。
其中,发送单元610,用于向服务器发送用户的活体认证请求;
接收单元620,用于接收所述服务器根据所述活体认证请求返回的活体认证问题;
获取单元630,用于获取认证对象根据所述活体认证问题呈现的行为姿态;
识别单元640,用于通过识别所述行为姿态,获得所述活体认证问题的答案识别信息;
所述发送单元610,还用于将所述答案识别信息发送至所述服务器,以使所述服务器在验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
在一个可选的实现方式中:
所述获取单元630可以包括至少一个下述子单元:第一获取子单元,用于获取认证对象根据所述活体认证问题呈现的手势姿态;第二获取子单元,用于获取认证对象根据所述活体认证问题呈现的头部摇动姿态。
在另一个可选的实现方式中:
所述获取单元630,可以具体用于通过摄像装置获取所述认证对象回答所述活体认证问题时所呈现手势姿态的手势图像;
所述识别单元640可以包括:手部图像分离子单元,用于通过提取边缘矢量从所述手势姿态图像中分离出手部轮廓图像;边缘曲线获得子单元,用于对所述手部轮廓图像进行高斯模糊处理,获得手部轮廓边缘曲线;空域信息获得子单元,用于通过设置的采样点获得所述手部轮廓边缘曲线的空域梯度变化值;频域信号转换子单元,用于将所述空域梯度变化值转换为所述手部轮廓边缘曲线的频域信号;相似度值计算子单元,用于计算所述频域信号与不同手势模板对应的频域信号之间的相似度值,获得相似度值最高的手势模板;识别信息确定子单元,用于将获得的手势模板表示的信息确定所述活体认证问题的答案识别信息。
在另一个可选的实现方式中:
所述获取单元630,还可以用于获取所述认证对象的生物特征信息;
所述发送单元610,还可以用于将所述生物特征信息发送至所述服务器,以使所述服务器在验证所述生物特征信息与保存的所述用户的生物特征信息一致时,确定所述认证对象为用户本人。
参见图7,为本申请活体认证装置的另一个实施例框图,该活体认证装置可以应用在服务器上:
该装置包括:接收单元710、发送单元720和验证单元730。
其中,接收单元710,用于接收客户端设备发送的用户的活体认证请求;
发送单元720,用于根据所述活体认证请求向所述客户端设备返回活体认证问题;
所述接收单元710,还用于接收所述客户端设备发送的所述活体认证问题的答案识别信息,所述答案识别信息为所述客户端设备获取到认证对象根据所述活体认证问题呈现的行为姿态后,通过识别所述行为姿态获得的识别信息;
验证单元730,用于当验证所述答案识别信息与所述活体认证问题的答案信息一致时,确定所述认证对象为活体用户。
在一个可选的实现方式中:
所述装置还可以包括:生成单元,用于根据所述活体认证请求随机生成活体认证问题,并为所述活体认证问题生成时间戳;保存单元,用于保存所述用户的用户ID与所述活体认证问题的答案信息和时间戳之间的对应关系。
相应的,所述验证单元730可以包括:信息获得子单元,用于根据所述答案识别信息中携带的用户ID查找所述对应关系,获得与所述携带的用户ID对应的答案信息和时间戳;信息比较子单元,用于如果当前时间未超过所述时间戳限定的时间,则比较所述答案识别信息与获得的答案信息是否一致;验证确定子单元,用于当所述答案识别信息与获得的答案信息一致时,确定所述认证对象为活体用户。
在另一个可选的实现方式中:
所述接收单元710,还可以用于接收所述客户端设备发送的生物特征信息;
所述验证单元730,还可以用于当验证所述生物特征信息与保存的所述用户的生物特征信息一致时,确定所述认证对象为用户本人;
所述发送单元720,还可以用于当确定所述认证对象为用户本人,且为活体用户后,向所述客户端设备返回所述用户的认证通过信息。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,在对用户进行验证时,向用户返回活体认证问题,以使用户实时呈现行为姿态对认证问题进行回答,通过识别行为姿态得到答案识别信息,如果答案识别信息与认证问题的答案信息一致,则可以验证用户为活体用户。通过本申请实施例可以避免恶意第三方通过非活体方式进行用户验证,保证验证通过的用户均为活体用户,由此提高认证准确性,降低认证过程中存在的安全隐患。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。