掌桥专利:专业的专利平台
掌桥专利
首页

一种身份验证方法、装置及设备

文献发布时间:2023-06-19 18:46:07


一种身份验证方法、装置及设备

本申请为2017年08月22日提交中国专利局、申请号为201710722531.5、发明名称为“一种身份验证方法、装置及设备”的中国专利申请的分案申请。

技术领域

本申请涉及核身技术领域,尤其涉及一种身份验证方法、装置及设备。

背景技术

个人信息安全,尤其是金融场景的应用程序中个人信息的安全性越来越受到人们的重视,如何保证用户的信息安全,提高用户的使用体验,消除人们使用相关应用程序的后顾之忧,成为需要解决的重要问题。

在绝大多数情况下,身份验证是在线系统不可或缺的一个模块,被用来判断当前登陆服务器的账户对应的用户是否是注册用户本人,只有保证当前登陆的账户对应的用户属于该用户本人,服务器中存储的该用户的资源才能保证安全与可控。验证问题是常用的一种身份验证方式,即服务器提供一些验证问题数据给用户,通过判断用户对于验证问题数据的回答与服务器中预先存储的答案是否一致来验证用户的身份。其中,验证问题数据通常可以由用户主动提供,即用户通过终端设备向服务器提供的验证页面中输入其需要设置的验证问题,比如“您的高中班主任名字是什么?”,而且,该验证问题的答案也由用户自己填入服务器提供的上述验证问题对应的答案中。在进行身份验证时,服务器可以将用户预先设置的验证问题数据发送给用户,用户输入相应的答复数据后再通过终端设备发送给服务器,服务器将该答复数据与用户预先存储的答案进行对比,如果两者相同,则验证通过,否则验证失败。

然而,上述方式容易泄露用户的相关信息,尤其是会泄露给生活中与该用户较熟悉的人,造成用户的账户安全性降低,而且,通常上述验证过程需要多个验证问题进行结合,这样会使得用户操作流程长,便捷性差。

发明内容

本申请实施例的目的是提供一种身份验证方法、装置及设备,以实现通过问答的形式,与用户进行语音交互,自然地完成用的声纹采集和比对,而且,通过验证问题数据和声纹特征等两方面数据对用户的身份进行验证,提升用户的目标账户的安全性,并且,可以缩短用户的操作流程,提高身份验证的便捷性。

为解决上述技术问题,本申请实施例是这样实现的:

本申请实施例提供的一种身份验证方法,所述方法包括:

获取用户针对验证问题数据所发出的语音的语音数据;

对所述语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征;

根据所述语音识别结果和声纹特征,对所述用户的身份进行验证。

可选地,所述获取用户针对验证问题数据所发出的语音的语音数据之前,所述方法还包括:

接收所述用户发起的身份验证请求,所述身份验证请求中包括验证环境信息;

根据所述验证环境信息获取与所述用户相匹配的验证问题数据。

可选地,所述根据所述验证环境信息获取与所述用户相匹配的验证问题数据,包括:

根据所述验证环境信息,确定所述用户的目标账户被盗用的风险系数;

根据所述风险系数,确定用于身份验证的语音问答数量和验证问题数据。

可选地,所述语音问答数量与所述目标账户的安全等级正相关。

可选地,所述对所述语音数据进行语音识别,得到语音识别结果,包括:

对所述语音数据进行语音识别,得到所述语音数据对应的文本数据,将所述文本数据作为所述语音识别结果。

可选地,所述根据所述语音识别结果和声纹特征,对所述用户标识对应的用户身份进行验证,包括:

将所述语音识别结果与相应的验证问题数据的答案进行比对,得到第一比对结果,并将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果;

根据所述第一比对结果和所述第二比对结果,确定所述用户的身份验证是否通过。

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

获取所述声纹特征的特征值;

所述将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果,包括:

如果所述声纹特征的特征值大于第一预设阈值,则将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果。

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

如果所述声纹特征的特征值与所述目标声纹特征的特征值的比对值不大于第二预设阈值,则获取与所述用户和所述验证环境信息相匹配的附加验证问题数据;

基于所述附加验证问题数据和所述第一比对结果,对所述用户的身份进行验证。

可选地,所述验证问题数据根据所述用户标识对应的用户的历史行为数据生成,或,从所述用户预先设置的安全问答数据中选取。

可选地,所述验证环境信息包括所述用户当前所处的位置信息和/或与所述用户相关的交易信息。

本申请实施例提供的一种身份验证装置,所述装置包括:

语音获取模块,用于获取用户针对验证问题数据所发出的语音的语音数据;

识别提取模块,用于对所述语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征;

验证模块,用于根据所述语音识别结果和声纹特征,对所述用户的身份进行验证。

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

请求接收模块,用于接收所述用户发起的身份验证请求,所述身份验证请求中包括验证环境信息;

数据获取模块,用于根据所述验证环境信息获取与所述用户相匹配的验证问题数据。

可选地,所述数据获取模块,包括:

风险系数确定单元,用于根据所述验证环境信息,确定所述用户的目标账户被盗用的风险系数;

数据获取单元,用于根据所述风险系数,确定用于身份验证的语音问答数量和验证问题数据。

可选地,所述语音问答数量与所述目标账户的安全等级正相关。

可选地,所述识别提取模块,用于对所述语音数据进行语音识别,得到所述语音数据对应的文本数据,将所述文本数据作为所述语音识别结果。

可选地,所述验证模块,包括:

比对结果获取单元,用于将所述语音识别结果与相应的验证问题数据的答案进行比对,得到第一比对结果,并将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果;

验证单元,用于根据所述第一比对结果和所述第二比对结果,确定所述用户的身份验证是否通过。

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

特征值获取模块,用于获取所述声纹特征的特征值;

所述比对结果获取单元,用于如果所述声纹特征的特征值大于第一预设阈值,则将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果。

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

附加数据获取模块,用于如果所述声纹特征的特征值与所述目标声纹特征的特征值的比对值不大于第二预设阈值,则获取与所述用户和所述验证环境信息相匹配的附加验证问题数据;

所述验证模块,用于基于所述附加验证问题数据和所述第一比对结果,对所述用户的身份进行验证。

可选地,所述验证问题数据根据所述用户标识对应的用户的历史行为数据生成,或,从所述用户预先设置的安全问答数据中选取。

可选地,所述验证环境信息包括所述用户当前所处的位置信息和/或与所述用户相关的交易信息。

本申请实施例提供的一种身份验证设备,所述设备包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

获取用户针对验证问题数据所发出的语音的语音数据;

对所述语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征;

根据所述语音识别结果和声纹特征,对所述用户的身份进行验证。

由以上本申请实施例提供的技术方案可见,本申请实施例通过获取用户针对验证问题数据所发出的语音的语音数据,然后,对该语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征,最后,可以根据该语音识别结果和声纹特征,对用户的身份进行验证,这样,通过验证问题数据,以问答的形式,与用户进行语音交互,自然地完成用的声纹采集和比对,而且,通过验证问题数据和声纹特征等两方面数据对用户的身份进行验证,提升用户的目标账户的安全性,并且,由于增加了声纹比对,可以减少验证问题数据的数量,从而,缩短用户的操作流程,提高身份验证的便捷性。

附图说明

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

图1为本申请一种身份验证方法实施例;

图2为本申请一种用户的身份验证的显示界面示意图;

图3为本申请另一种身份验证方法实施例;

图4为本申请一种身份验证装置实施例;

图5为本申请一种身份验证设备实施例。

具体实施方式

本申请实施例提供一种身份验证方法、装置及设备。

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

实施例一

如图1所示,本申请实施例提供一种身份验证方法,该方法的执行主体可以为终端设备或服务器,其中的终端设备可以是如手机、平板电脑等移动终端设备,还可以是如个人计算机等终端设备,服务器可以是独立的一个服务器,也可以是由多个服务器组成的服务器集群。本申请实施例中为了提高语音识别与声纹提取的效率,该方法的执行主体以服务器为例进行详细说明,对于终端设备的情况,可以参照下述服务器的具体处理执行,在此不再赘述。该方法具体可以包括以下步骤:

在步骤S102中,获取用户针对验证问题数据所发出的语音的语音数据。

其中,用户可以是任意需要进行身份验证的用户。验证问题数据可以是在对用户进行身份验证时用于验证某用户是否是其本人的问题的数据,例如,“您的高中名称是什么?”,或“您最近一个月内购买过的商品包括下面中的哪个?A、XXX休闲鞋,B、XXX手机,C、XXX笔记本电脑,D、XXXT恤”等。

在实施中,需要对用户的身份进行验证的场景可以包括多种,例如,用户忘记其登陆某应用程序的后台服务器的用户名或密码,需要找回用户名或密码时需要进行身份验证,再例如,用户通过网络或在线下购物并结算时,可以对用户的身份进行验证,又例如,用户通过其用户名和密码登录服务器时,检测到用户登录的地理位置与用户通常登录的地理位置不同,则可以进一步对用户的身份进行验证等。在上述场景下,当需要对用户的身份进行验证时,为了提高用户体验和身份验证效率,可以通过语音方式进行身份验证。具体地,当用户处于上述任意场景时,用户可以触发服务器中的验证机制,服务器启动验证机制,并根据验证机制中预先设定的执行步骤对用户的身份进行验证,即可以根据用户购买过的商品或用户的好友等信息,生成一个或多个验证问题,可以将生成的验证问题通过显示设备显示给用户,如图2所示,或者,可以通过服务器中预先设置的语音逐一读取上述验证问题。用户可以针对服务器输出的验证问题数据进行应答,在应答的过程中,用户可以根据当前输出的验证问题,通过语音说出该验证问题的答案,同时,服务器可以启动音频接收设备,可以通过音频接收设备接收用户所发出的语音的语音数据。

例如,服务器生成两个验证问题,分别为“您的高中名称是什么?”和“您最近一个月内购买过的商品包括下面中的哪个?A、XXX休闲鞋,B、XXX手机,C、XXX笔记本电脑,D、XXXT恤”,此时,服务器可以先输出(通过语音输出或通过显示设备显示等)“您的高中名称是什么?”这一验证问题数据,用户可以针对该验证问题通过语音说出答案,例如“我的高中名称是A中学”,此时,服务器可以通过音频接收设备接收用户所发出的“我的高中名称是A中学”的语音的语音数据,然后,服务器可以接着输出“您最近一个月内购买过的商品包括下面中的哪个?A、XXX休闲鞋,B、XXX手机,C、XXX笔记本电脑,D、XXXT恤”这一验证问题数据,用户可以针对该验证问题通过语音说出答案,例如“D”,此时,服务器可以通过音频接收设备接收用户所发出的“D”的语音的语音数据等。

在步骤S104中,对上述语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征。

其中,语音识别结果可以是将用户语音中的语言内容转换为计算机可读数据,例如二进制编码或字符序列等,在实际应用中,计算机还可以将转换的可读数据进一步转换为相应的文本数据,如英文的文本数据或中文的文本数据等,具体可以根据实际情况设定。声纹特征可以包括如音强、波形、共振峰的频率和走向等,具体可以根据实际情况设定。

在实施中,为了保证用户的账户的安全,不仅可以通过验证问题数据来验证用户的身份,还可以结合用户的语音的声纹来验证用户的身份,具体地,对语音数据进行语音识别和声纹提取可以是两个相互独立的处理过程,在具体处理中可以不存在先后顺序。先对语音识别的处理过程进行说明,可以基于海量的语音数据对预先设置的语音识别模型进行训练,得到可以用于语音识别的语音识别模型,语音识别模型中可以包括多种处理机制,如预处理、特征提取和特征匹配等处理机制,具体地,可以分别将海量的语音数据传输到语音识别模型中,语音识别模型首先将语音数据进行预处理,再根据人的语音特点建立语音模型,对输入的语音信号进行分析,并抽取所需的特征,在此基础上建立语音识别所需的语音模板,从而得到语音识别模型。在语音识别的过程中,用户发出的语音被音频接收设备接收后,可将其变换成电信号传输到语音识别模型中,可以将语音识别模型中的语音模板与输入的语音数据的特征进行比较,根据一定的搜索和匹配策略,找出一系列最优的与输入的语音数据相匹配的语音模板,然后,再根据此语音模板的定义,通过查表就可以得到该语音数据的识别结果。

接下来,对语音数据进行声纹提取的处理过程进行说明,声纹特征可以包括梅尔倒谱系数MFCC(Mel Frequency Cepstral Coefficients),感知线性预测系数PLP(Perceptual Linear Predictive)、深度特征Deep Feature、以及能量规整谱系数PNCC等。以声纹特征为MFCC为例,可以对接收到的包含语音数据的语音信号进行预加重、分帧、加窗等处理,得到处理后的语音信号,然后,可以通过快速傅里叶变换(即FFT)将上述处理后的语音信号转换成mel频率下的语音信号,计算mel频率下的语音信号的log对数能量,最后,可以通过DCT(离散余弦变换)求倒谱的方式,计算得到相应的MFCC,即声纹特征。

在步骤S106中,根据上述语音识别结果和上述声纹特征,对用户的身份进行验证。

在实施中,对于根据语音识别结果对用户的身份进行验证的处理,可以将语音识别结果与相应的验证问题数据的答案进行对比,如果两者相同,则表示用户回答的验证问题正确,否则错误。例如,基于上述步骤S102的示例,如果验证问题数据为“您的高中名称是什么?”的答案为“A中学”,用户发出的语音的语音识别结果为“我的高中名称是A中学”,此时,服务器可以通过对比,确定用户回答的验证问题正确。又例如,如果验证问题数据“您最近一个月内购买过的商品包括下面中的哪个?A、XXX休闲鞋,B、XXX手机,C、XXX笔记本电脑,D、XXXT恤”的答案为“D”,用户发出的语音的语音识别结果为“A”,此时,服务器可以通过对比,确定用户回答的验证问题错误。

对于声纹识别机制,如果是需要用户提供其身份(如账户等)以及声纹特征,然后预先存储的该用户的声纹特征进行比对,确认两者是否一致,即该声纹识别机制是一个1:1的识别机制;如果只需要用户提供其声纹特征,然后从预先存储的多个声纹特征中搜寻出哪个是该用户的声纹特征,那么该声纹识别机制是一个1:N的识别机制。本申请可以是上述两种声纹识别机制中的任意一种声纹识别机制,本申请实施例中以1:N的识别机制为例,目前,可以通过iVector方式来得到声纹识别模型和对用户的声纹进行验证,声纹识别机制主要可以包括两个处理过程,即声纹识别模型的训练过程和声纹识别过程,在训练过程中,可以对收集的大量用户的语音数据进行预处理,去除语音数据中的噪音数据、无用数据等,得到的预处理后的语音数据分别进行GMM(Mixtore of Gaussian,高斯混合模型)模型训练、UBM(Universal Background Model,通用背景模型)模型训练、信道训练、信道补偿、iVector训练和SVM(Support Vector Machine,支持向量机)训练,从而得到GMM模型、SVM模型、iVector模型和信道模型。在对用户的语音数据进行识别的过程中,可以将用户的语音数据进行预处理,得到预处理后的语音数据,可以将预处理后的语音数据分别通过GMM模型、SVM模型和iVector模型进行处理,即计算用户发出的语音的声纹特征与预先存储的声纹特征之间的相似度,如果得到的相似度数值大于预设的相似度阈值,则确定该用户的身份,否则,用户的身份确认失败。

对于根据上述语音识别结果和上述声纹特征,对用户的身份进行验证的处理,当根据语音识别结果,确定用户回答的验证问题正确,且根据用户的声纹特征,确定该用户的身份时,服务器可以确定对用户的身份验证通过,否则服务器确定用户未通过身份验证。

本申请实施例提供一种身份验证方法,通过获取用户针对验证问题数据所发出的语音的语音数据,然后,对该语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征,最后,可以根据该语音识别结果和声纹特征,对用户的身份进行验证,这样,通过验证问题数据,以问答的形式,与用户进行语音交互,自然地完成用的声纹采集和比对,而且,通过验证问题数据和声纹特征等两方面数据对用户的身份进行验证,提升用户的目标账户的安全性,并且,由于增加了声纹比对,可以减少验证问题数据的数量,从而,缩短用户的操作流程,提高身份验证的便捷性。

实施例二

如图3所示,本申请实施例提供了一种身份验证方法,该方法的执行主体可以为终端设备或服务器,其中的终端设备可以是如手机、平板电脑等移动终端设备,还可以是如个人计算机等终端设备,服务器可以是独立的一个服务器,也可以是由多个服务器组成的服务器集群。本申请实施例中为了提高语音识别与声纹提取的效率,该方法的执行主体以服务器为例进行详细说明,对于终端设备的情况,可以参照下述服务器的具体处理执行,在此不再赘述。该方法具体包括如下内容:

在步骤S302中,接收用户发起的身份验证请求,该身份验证请求中包括验证环境信息。

其中,验证环境信息可以是用户当前所处的环境中与验证身份相关的环境的信息,例如,该验证环境信息包括用户当前所处的位置信息和/或与所述用户相关的交易信息,如交易金额等,其中的位置信息可以是地理位置信息,也可以是与某基准点之间的相对位置信息等,其中的交易金额具体如1000或5000等。

在实施中,个人信息安全,尤其是金融场景的应用程序中个人信息的安全性越来越受到人们的重视,如何保证用户的信息安全,提高用户的使用体验,消除用户的后顾之忧,成为需要解决的重要问题,为此,本申请提出一种用户的身份验证方法,以防止用户的目标账户或个人信息被盗用。具体地,用户可以根据需要注册成为某网站的用户,如某线下购物商场的网站、购物网站、即时通讯网站或论坛等网站的用户,对于该用户为某线下购物商场的网站的用户的情况,用户发起身份验证请求可以有多种情况,如用户在线下购物商场中购买了商品,在进行结算时,可以由购物商场的终端设备确定用户所购买的商品的信息,以及其价格,进而得到用户所购买的商品的总价格,通过该总价格可以得到相应的交易金额,同时,可以获取用户当前所处的地理位置信息,并可以基于上述交易金额和用户的地理位置信息等验证环境信息生成身份验证请求,然后,可以将该身份验证请求发送给服务器,从而,服务器可以接收到用户发起的身份验证请求。对于该用户为线上购物网站、即时通讯网站或论坛等网站的用户的情况,用户发起身份验证请求也可以有多种情况,如用户在登录相应网站时,忘记了登录的用户名和/或密码等,此时,用户可以点击其使用的终端设备中显示的登录页面中的“忘记密码”的超链接,终端设备可以显示相应的页面,以请求用户输入用户预先设置的邮箱或手机号码等信息,用户输入完成后,可以点击其中的确定按键,终端设备可以获取当前的地理位置信息和/或交易金额(对于线上购物网站),并以此生成身份验证请求,然后,可以将该身份验证请求发送给服务器,从而,服务器可以接收到用户发起的身份验证请求。

在步骤S304中,根据上述验证环境信息获取与用户相匹配的验证问题数据。

在实施中,服务器接收到用户发出的验证环境信息后,可以对验证环境信息进行分析,提取其中的地理位置信息和/或交易金额等信息,例如验证环境信息中包括地理位置信息和交易金额,则服务器可以获取该用户的目标账户登录服务器所在的常用地理位置信息,可以将验证环境信息中的地理位置信息与常用地理位置信息进行对比,如果两者相同,则表明用户的目标账户的登录地理位置正常,如果两者不同,即该用户的目标账户异地登录服务器,则表明用户的目标账户被盗用的风险较高。同时,可以获取预先存储的交易限额,可以将交易金额与上述交易限额进行对比,如果交易金额大于交易限额,则表明用户的目标账户的交易风险较高,如果交易金额小于交易限额,则表明用户的目标账户的交易风险相对较低。基于上述内容,可以确定如果该用户的目标账户异地登录服务器,则用户的目标账户被盗用的风险较高;如果交易金额大于交易限额,则用户的目标账户的交易风险较高;如果该用户的目标账户异地登录服务器,且交易金额大于交易限额,则可以确定用户的目标账户被盗用的风险较高。

通过上述方式可以确定用户的目标账户被盗用的风险或交易风险,可以根据用户的目标账户被盗用的风险或交易风险,从预先设置的验证问题数据中选取相应的验证问题数据,和/或,根据用户的历史行为数据生成相应的验证问题数据等。例如,如果该用户的目标账户异地登录服务器,且交易金额大于交易限额,则根据上述情况,可以获取6个验证问题数据,其中的2个验证问题数据可以从用户预先设置的验证问题数据中选取,剩余的4个验证问题数据可以根据用户用户的历史行为数据生成等。

上述步骤S304的处理可以通过多种方式实现,以下再提供一种可选的处理方式,具体可以包括以下步骤一和步骤二。

步骤一,根据上述验证环境信息,确定用户的目标账户被盗用的风险系数。

其中,风险系数可以是具体数值,也可以是数值区间对应的信息等,如可以根据验证环境信息设置多个风险等级,具体如三个风险等级,分别为高风险、中级风险和低风险等。

在实施中,如果验证环境信息中只包括地理位置信息,且用户的地理位置信息与用户的常用地理位置信息相同,则可以确定用户的目标账户被盗用的风险较低,目标账户可以处于低风险等级,目标账户被盗用的风险系数为低,如果用户的地理位置信息与用户的常用地理位置信息不相同,则可以确定用户的目标账户被盗用的风险较高,目标账户可以处于高风险等级,目标账户被盗用的风险系数为高。

如果验证环境信息中只包括交易金额,且相应的交易限额包括第一交易限额和第二交易限额,其中,第一交易限额小于第二交易限额,这样,可以划分三个区间,即0~第一交易限额,第一交易限额~第二交易限额和大于第二交易限额,例如,0~500,500~1000,大于1000,三个区间可以分别设置不同的风险等级,如0~第一交易限额为低风险,第一交易限额~第二交易限额为中级风险,大于第二交易限额为高风险。例如,服务器获取的用户的交易金额为150元,则通过上述三个区间,可以确定目标账户处于低风险等级,即目标账户被盗用的风险系数为低。

如果验证环境信息中包括地理位置信息和交易金额,则可以根据实际情况设定相应的风险等级,如用户的地理位置信息与用户的常用地理位置信息相同,风险等级可以根据交易金额确定;如用户的地理位置信息与用户的常用地理位置信息不相同,交易金额为10000,则可以确定目标账户被盗用的风险系数为高,如用户的地理位置信息与用户的常用地理位置信息不相同,交易金额为200,则可以确定目标账户被盗用的风险系数为中等。

步骤二,根据上述风险系数,确定用于身份验证的语音问答数量和验证问题数据。

其中,该验证问题数据是根据用户的历史行为数据生成的数据,和/或,是从用户预先设置的安全问答数据中选取的数据。该语音问答数量与该目标账户的安全等级正相关,即语音问答数量越多,目标账户的安全等级的就会越高,而如果目标账户初始的安全等级越低,相应需要获取的语音问答数量会越多,通过这种方式可以提高目标账户的安全等级。

在实施中,通过上述步骤一可以得到目标账户被盗用的风险系数,在服务器中可以预先设置有风险系数与语音问答数量之间的对应关系,验证问题数据可以与风险系数有关,也可以与风险系数无关,例如,通过风险系数与语音问答数量之间的对应关系,查找到上述目标账户被盗用的风险系数对应的语音问答数量后,可以从与用户有关的验证问题数据中随机选取或随机生成查找到的语音问答数量的验证问题数据。或者,通过风险系数与语音问答数量之间的对应关系,查找到上述目标账户被盗用的风险系数对应的语音问答数量后,可以根据目标账户被盗用的风险系数,从与用户有关的验证问题数据中选取或生成目标账户被盗用的风险系数相应的验证问题数据,且得到的验证问题数据的数量为语音问答数量。

需要说明的是,验证问题数据的安全等级由语音问答数量决定,目标账户的安全等级由验证问题数据的安全等级和声纹特征的比对共同决定,在声纹特征的比对结果未知的情况下,可以基于预定的业务经验确认验证问题数据的最小安全等级要求(或称为最小问题数量)。目标账户的安全等级可以通过以下方式确定,假设验证问题数据为Q

S=α*∑r(Q

在步骤S306中,获取用户针对验证问题数据所发出的语音的语音数据。

在步骤S308中,对上述语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征。

上述步骤S306和步骤S308的步骤内容分别与上述实施例一中的步骤S102和步骤S104的步骤内容相同,上述步骤S306和步骤S308的处理可以分别参见步骤S102和步骤S104的相关内容,在此不再赘述。

需要说明的是,上述步骤S308中对上述语音数据进行语音识别,得到语音识别结果的处理可以多种多样,以下提供一种可行的处理方式,具体可以包括以下内容:对上述语音数据进行语音识别,得到该语音数据对应的文本数据,将该文本数据作为上述语音识别结果,具体处理过程可以参见上述步骤S104的相关内容在此不再赘述。

在步骤S310中,将上述语音识别结果与相应的验证问题数据的答案进行比对,得到第一比对结果,并将上述声纹特征与预先存储的用户的目标声纹特征进行比对,得到第二比对结果。

考虑到用户的语音可能会受到外界环境的影响,即外界环境的噪音进入用户的语音中,造成用户的语音质量下降,另外,受外界环境等的影响,用户的声纹也会发生变化,进而造成用户的语音质量下降,为此,可以设置得到的声纹特征是否可以提供身份验证决策的判断机制,以确定是否需要进行声纹特征的比对,具体可以参见下述步骤一和步骤二。

步骤一,获取上述声纹特征的特征值。

在实施中,上述声纹特征的特征值可以根据特征值的计算方法确定,例如,实施例一中步骤S106中基于iVector方式,可以得到相关声纹特征的向量,通过得到的声纹特征的向量进一步计算声纹特征的特征值。

步骤二,如果上述声纹特征的特征值大于第一预设阈值,则将该声纹特征与预先存储的用户的目标声纹特征进行比对,得到第二比对结果。

其中,第一预设阈值可以根据实际情况设定,具体如1或5等。

在步骤S312中,根据上述第一比对结果和上述第二比对结果,确定用户的身份验证是否通过。

上述步骤S312的处理可以分别参见上述实施例一中步骤S106的相关内容,在此不再赘述。

考虑到用户的语音受到外界环境的影响,即外界环境的噪音进入用户的语音中,造成用户的语音质量下降,另外,受外界环境等的影响,用户的声纹也会发生变化,进而造成用户的语音质量下降,为了避免用户的信息或目标账户等相关信息被盗用,可以增加附加验证问题数据,以提高目标账户的安全等级,具体可以参见下述步骤S314和步骤S316。

在步骤S314中,如果上述声纹特征的特征值与上述目标声纹特征的特征值的比对值不大于第二预设阈值,则获取与用户和上述验证环境信息相匹配的附加验证问题数据。

其中,第二预设阈值可以根据实际情况设定,具体如1或5等,并且,第一预设阈值大于第二预设阈值。上述声纹特征的特征值与上述目标声纹特征的特征值的比对值可以是两者的比值,例如声纹特征的特征值为5,目标声纹特征的特征值2,则上述声纹特征的特征值与上述目标声纹特征的特征值的比对值为5/2=2.5。附加验证问题数据是根据用户的历史行为数据生成的数据,和/或,是从用户预先设置的安全问答数据中选取的数据。

上述步骤S314的处理可以分别参见步骤S304的相关内容,在此不再赘述。

在步骤S316中,基于上述附加验证问题数据和上述第一比对结果,对用户的身份进行验证。

此外,需要说明的是,基于上述附加验证问题数据得到用户发出的语音的语音数据后可以,通过该语音数据的声纹特征来更新用户当前的声纹特征。

另外,如果用户未进行声纹特征的注册,则可以基于验证问题数据进行声纹特征的自动收集和注册,因此,本申请实施例并不强制限定用户必须进行声纹特征的主动注册;如果用户在进行声纹特征的比对时,由于各种问题导致比对结果无法应用于身份验证(比如环境噪音、声纹随年龄和身体状况变化等),则在不影响用户的身份验证流程和用户体验的前提下,收集用户发出的语音的语音数据,以便对声纹特征的提取算法或模型优化。待声纹特征的提取算法或模型的优化程度较高,能适应噪音等异常因素后,在进行用户的身份验证过程中可以要求必须符合声纹特征的比对要求,以提升用户的目标账户的安全等级;如果用户少量验证问题回答不正确,但最终声纹特征的比对通过,并且符合目标账户的安全等级要求时,则可以根据语音数据对相应的答案进行矫正,以提升验证问题数据的答案准确性。

本申请实施例提供一种身份验证方法,通过获取用户针对验证问题数据所发出的语音的语音数据,然后,对该语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征,最后,可以根据该语音识别结果和声纹特征,对用户的身份进行验证,这样,通过验证问题数据,以问答的形式,与用户进行语音交互,自然地完成用的声纹采集和比对,而且,通过验证问题数据和声纹特征等两方面数据对用户的身份进行验证,提升用户的目标账户的安全性,并且,由于增加了声纹比对,可以减少验证问题数据的数量,从而,缩短用户的操作流程,提高身份验证的便捷性。

实施例三

以上为本申请实施例提供的身份验证方法,基于同样的思路,本申请实施例还提供一种身份验证装置,如图4所示。

所述身份验证装置包括:语音获取模块401、识别提取模块402和验证模块403,其中:

语音获取模块401,用于获取用户针对验证问题数据所发出的语音的语音数据;

识别提取模块402,用于对所述语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征;

验证模块403,用于根据所述语音识别结果和声纹特征,对所述用户的身份进行验证。

在本申请实施例中,所述装置还包括:

请求接收模块,用于接收所述用户发起的身份验证请求,所述身份验证请求中包括验证环境信息;

数据获取模块,用于根据所述验证环境信息获取与所述用户相匹配的验证问题数据。

在本申请实施例中,所述数据获取模块,包括:

风险系数确定单元,用于根据所述验证环境信息,确定所述用户的目标账户被盗用的风险系数;

数据获取单元,用于根据所述风险系数,确定用于身份验证的语音问答数量和验证问题数据。

在本申请实施例中,所述语音问答数量与所述目标账户的安全等级正相关。

在本申请实施例中,所述识别提取模块402,用于对所述语音数据进行语音识别,得到所述语音数据对应的文本数据,将所述文本数据作为所述语音识别结果。

在本申请实施例中,所述验证模块403,包括:

比对结果获取单元,用于将所述语音识别结果与相应的验证问题数据的答案进行比对,得到第一比对结果,并将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果;

验证单元,用于根据所述第一比对结果和所述第二比对结果,确定所述用户的身份验证是否通过。

在本申请实施例中,所述装置还包括:

特征值获取模块,用于获取所述声纹特征的特征值;

所述比对结果获取单元,用于如果所述声纹特征的特征值大于第一预设阈值,则将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果。

在本申请实施例中,所述装置还包括:

附加数据获取模块,用于如果所述声纹特征的特征值与所述目标声纹特征的特征值的比对值不大于第二预设阈值,则获取与所述用户和所述验证环境信息相匹配的附加验证问题数据;

所述验证模块403,用于基于所述附加验证问题数据和所述第一比对结果,对所述用户的身份进行验证。

在本申请实施例中,所述验证问题数据根据所述用户标识对应的用户的历史行为数据生成,或,从所述用户预先设置的安全问答数据中选取。

在本申请实施例中,所述验证环境信息包括所述用户当前所处的位置信息和/或与所述用户相关的交易信息。

本申请实施例提供一种身份验证装置,通过获取用户针对验证问题数据所发出的语音的语音数据,然后,对该语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征,最后,可以根据该语音识别结果和声纹特征,对用户的身份进行验证,这样,通过验证问题数据,以问答的形式,与用户进行语音交互,自然地完成用的声纹采集和比对,而且,通过验证问题数据和声纹特征等两方面数据对用户的身份进行验证,提升用户的目标账户的安全性,并且,由于增加了声纹比对,可以减少验证问题数据的数量,从而,缩短用户的操作流程,提高身份验证的便捷性。

实施例四

基于同样的思路,本申请实施例还提供一种身份验证设备,如图5所示。

该身份验证设备可以为上述实施例提供的服务器或终端设备等。

身份验证设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器501和存储器502,存储器502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器502可以是短暂存储或持久存储。存储在存储器502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对身份验证设备中的一系列计算机可执行指令。更进一步地,处理器501可以设置为与存储器502通信,在身份验证设备上执行存储器502中的一系列计算机可执行指令。身份验证设备还可以包括一个或一个以上电源503,一个或一个以上有线或无线网络接口504,一个或一个以上输入输出接口505,一个或一个以上键盘506。

具体在本实施例中,身份验证设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对身份验证设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

获取用户针对验证问题数据所发出的语音的语音数据;

对所述语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征;

根据所述语音识别结果和声纹特征,对所述用户的身份进行验证。

可选地,所述可执行指令在被执行时,还可以使所述处理器:

接收所述用户发起的身份验证请求,所述身份验证请求中包括验证环境信息;

根据所述验证环境信息获取与所述用户相匹配的验证问题数据。

可选地,所述可执行指令在被执行时,还可以使所述处理器:

根据所述验证环境信息,确定所述用户的目标账户被盗用的风险系数;

根据所述风险系数,确定用于身份验证的语音问答数量和验证问题数据。

可选地,所述语音问答数量与所述目标账户的安全等级正相关。

可选地,所述可执行指令在被执行时,还可以使所述处理器:

对所述语音数据进行语音识别,得到所述语音数据对应的文本数据,将所述文本数据作为所述语音识别结果。

可选地,所述可执行指令在被执行时,还可以使所述处理器:

将所述语音识别结果与相应的验证问题数据的答案进行比对,得到第一比对结果,并将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果;

根据所述第一比对结果和所述第二比对结果,确定所述用户的身份验证是否通过。

可选地,所述可执行指令在被执行时,还可以使所述处理器:

获取所述声纹特征的特征值;

所述将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果,包括:

如果所述声纹特征的特征值大于第一预设阈值,则将所述声纹特征与预先存储的所述用户的目标声纹特征进行比对,得到第二比对结果。

可选地,所述可执行指令在被执行时,还可以使所述处理器:

如果所述声纹特征的特征值与所述目标声纹特征的特征值的比对值不大于第二预设阈值,则获取与所述用户和所述验证环境信息相匹配的附加验证问题数据;

基于所述附加验证问题数据和所述第一比对结果,对所述用户的身份进行验证。

可选地,所述验证问题数据根据所述用户标识对应的用户的历史行为数据生成,或,从所述用户预先设置的安全问答数据中选取。

可选地,所述验证环境信息包括所述用户当前所处的位置信息和/或与所述用户相关的交易信息。

本申请实施例提供一种身份验证设备,通过获取用户针对验证问题数据所发出的语音的语音数据,然后,对该语音数据进行语音识别和声纹提取,得到语音识别结果和声纹特征,最后,可以根据该语音识别结果和声纹特征,对用户的身份进行验证,这样,通过验证问题数据,以问答的形式,与用户进行语音交互,自然地完成用的声纹采集和比对,而且,通过验证问题数据和声纹特征等两方面数据对用户的身份进行验证,提升用户的目标账户的安全性,并且,由于增加了声纹比对,可以减少验证问题数据的数量,从而,缩短用户的操作流程,提高身份验证的便捷性。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

技术分类

06120115686073