活体认证方法、系统及计算机设备与流程

文档序号:29424343发布日期:2022-03-26 14:49阅读:336来源:国知局
活体认证方法、系统及计算机设备与流程
活体认证方法、系统及计算机设备
1.本技术是申请日为2020年6月19日,申请号为2020105651199的申请的分案申请。
技术领域
2.本说明书涉及身份认证技术领域,尤其涉及活体认证方法、系统及计算机设备。


背景技术:

3.随着智能终端不断普及和功能的日益强大,移动互联网应用已经全面融入并影响人们的生活。特别的,在移动支付以及互联网金融的快速发展背景下,用户的身份鉴别日益重要。传统的基于用户名和密码的身份鉴别模式由于易盗用、难记忆等问题,逐渐无法满足用户体验和应用的安全要求。随着生物特征识别技术的完善,目前基于生物特征识别的身份鉴别技术成为主流方案之一,其便捷性和安全性得到了用户的认可。
4.但是,生物特征识别解决方案面临被攻击的问题,而其中特别重要的是非活攻击,即用人造道具等方式模拟产生生物识别特征,进而盗取正常用户的权限。为解决这一问题,产生了活体检测技术,如何提供一种更加安全可靠的活体检测方案,成为亟待解决的技术问题。


技术实现要素:

5.为克服相关技术中存在的问题,本说明书实施例提供了活体认证方法、系统及计算机设备。
6.根据本说明书实施例的第一方面,提供一种活体认证方法,包括:
7.客户端向服务端发送活体认证请求;
8.所述服务端在接收所述活体认证请求后,将加密的标识发送给所述客户端;
9.所述客户端将所述加密的标识进行解密后获得所述标识,获得与所述标识对应的目标声波数据;在采集用户的活体认证数据的过程中播放所述目标声波数据后采集声波数据;将采集到的声波数据携带在所述活体认证数据中发送至所述服务端;
10.所述服务端识别接收到的所述活体认证数据中的所述声波数据是否携带所述目标声波数据,根据识别结果进行活体认证。
11.根据本说明书实施例的第二方面,提供一种活体认证方法,应用于服务端,包括:
12.在接收到客户端发送的活体认证请求后,将加密的标识发送给所述客户端,以供所述客户端接收到加密的标识后并解密获得所述标识,并获得与所述标识对应的目标声波数据;
13.接收所述客户端发送的活体认证数据,活体认证数据中携带有所述客户端采集的声波数据,所述声波数据是在采集用户的活体认证数据的过程中播放所述目标声波数据后采集的;
14.识别接收到的所述活体认证数据中的所述声波数据是否携带所述目标声波数据,根据识别结果进行活体认证。
15.根据本说明书实施例的第三方面,提供一种活体认证方法,应用于客户端,包括:
16.向服务端发送活体认证请求,接收加密的标识后并解密获得所述标识,并获得与所述标识对应的目标声波数据作为本次活体认证所需要的目标声波数据;
17.在采集用户的活体认证数据的过程中播放所述目标声波数据并采集声波数据;
18.将携带有采集到的声波数据的所述活体认证数据发送给所述服务端,以供所述服务端识别所述活体认证数据中的所述声波数据是否携带所述目标声波数据,根据识别结果进行活体认证。
19.根据本说明书实施例的第四方面,提供一种活体认证系统,包括服务端和客户端:
20.客户端用于,向服务端发送活体认证请求;以及在收到服务端发送的加密的标识后,将所述加密的标识进行解密后获得所述标识,获得与所述标识对应的目标声波数据;并在采集用户的活体认证数据的过程中播放所述目标声波数据后采集声波数据;将采集到的声波数据携带在所述活体认证数据中发送至所述服务端;
21.服务端用于,在接收所述活体认证请求后,将加密的标识发送给所述客户端;以及识别所收到的活体认证数据中的所述声波数据是否携带所述目标声波数据,根据识别结果进行活体认证。
22.根据本说明书实施例的第五方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述活体认证方法。
23.本说明书的实施例提供的技术方案可以包括以下有益效果:
24.本说明书实施例中的活体认证方案在活体认证过程中增加声波认证,并且客户端在采集活体认证数据之前先收到服务端发送的加密标识,进行解密获得该标识,获得与所述标识对应的目标声波数据;客户端在采集用户的活体认证数据时,通过播放目标声波数据,使采集到的声波数据中携带有目标声波数据,活体认证数据中携带有该声波数据。服务端在进行活体认证的过程中,可以识别活体认证数据中是否携带有该目标声波数据,使得活体认证可以结合声波认证取得更为安全可靠的效果。被黑客攻击伪造的风险较低,认证结果更为安全可靠。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
27.图1a是本说明书根据一示例性实施例示出的一种活体认证方法的应用场景示意图。
28.图1b是本说明书根据一示例性实施例示出的一种活体认证方法的流程图。
29.图2a是本说明书根据一示例性实施例示出的一种活体认证方法的流程图。
30.图2b是本说明书根据一示例性实施例示出的一种活体认证方法的流程图。
31.图3是本说明书根据一示例性实施例示出的另一种活体认证方法的应用场景示意图。
32.图4是本说明书根据一示例性实施例示出的另一种活体认证方法流程图。
33.图5是本说明书根据一示例性实施例示出的另一种活体认证方法的流程图。
34.图6是本说明书实施例活体认证装置所在计算机设备的一种硬件结构图。
35.图7至图10分别是本说明书根据一示例性实施例示出的一种活体认证装置的框图。
具体实施方式
36.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
37.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
38.应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
39.目前,生物特征识别解决方案面临着攻击问题,其中特别重要的是非活攻击,非活攻击是指针对生物识别系统的生物特征数据采集过程,以非人类和/或无生命体征人类的生物特征呈现给数据采集设备,用以伪装具有生命的人体,从而干扰生物特征识别系统正常运行的攻击行为。为解决这一问题,产生了活体检测技术,例如针对视频或照片的人脸识别,可借助反光等方式来进行活体检测。
40.基于此,本说明书实施例提供一种活体检测方案,本说明书实施例的活体认证方案涉及客户端与服务端,客户端与服务端之间的所有校验过程可基于互联网完成,本实施例在活体认证过程中增加声波认证,客户端在采集用户的活体认证数据时,通过播放与服务端约定的目标声波,使采集的活体认证数据携带有目标声波数据。服务端在进行活体认证的过程中,可以识别活体认证数据是否携带有声波,以及在识别出有声波后,可以将识别的声波与约定的目标声波进行比对,使得活体认证可以结合声波认证取得更为安全可靠的效果。下面对本技术实施例进行详细说明。
41.参见图1a,是本说明书根据一示例性实施例示出的一种活体认证方法的应用场景示意图,该实施例中涉及客户端侧设备和服务端侧设备,客户端与服务端之间的交互可以基于互联网实现,结合图1b,图1b为本说明书活体认证方法的一个实施例的流程图,该实施例通过客户端侧设备与服务器之间的交互,描述了对用户进行活体认证的过程:
42.在步骤102、客户端向服务端发送活体认证请求。本实施例中客户端需要与所述服务端确定本次活体认证所需要的目标声波数据,本实施例的目标声波的频段为非可听波频段。
43.在步骤104、服务端在接收到客户端发送的活体认证请求后,与所述客户端确定本次活体认证所需要的目标声波数据。
44.在步骤106、客户端在采集用户的活体认证数据的过程中,利用所述目标声波数据播放声波,获取携带有声波的活体认证数据。
45.在步骤108、客户端将所述活体认证数据发送给所述服务端。
46.在步骤110、服务端接收所述客户端发送的活体认证数据。
47.在步骤112、服务端识别所述活体认证数据中是否携带有所述目标声波数据,根据识别结果进行活体认证。
48.本说明书实施例中的活体认证方法可应用于多种需要进行用户身份认证的场景,例如智能手机上的应用对注册用户进行活体认证,支付业务应用对用户的敏感操作进行活体认证,还可以是如银行等业务大厅的智能设备对用户进行身份认证等等。作为例子,客户端设备上安装的应用如果采用活体认证方式对用户的身份进行认证,则应用可以在需要身份认证时,向服务端发送用户的活体认证请求。
49.服务端接收到活体认证请求后,可以与客户端确定本次活体认证需要的目标声波。
50.在活体认证过程中,客户端通常需要采集包含有用户的生物识别特征的活体认证数据,例如拍摄用户人脸获得人脸视频数据,拍摄用户的行为姿态获得的行为姿态视频数据,采集用户语音获得语音数据等,活体认证数据还可以是综合包含有用户人脸、行为姿态及语音等多种生物识别特征的数据。本实施例希望在活体认证过程中增加声波,使得服务端在活体认证过程中,可以对客户端发送的携带有声波的活体认证数据进行认证,通过新增的声波认证,使得活体认证过程更加安全可靠。由于需要对客户端的声波进行认证,本实施例中可以由服务端与客户端确定本次活体认证所需要的目标声波数据,作为例子,可以是由服务端准备声波的相关数据,由客户端在服务端的指示下获取携带有声波的活体认证数据,具体的实现方式可以有多种,作为例子,可以是服务端及客户端都预存有多个声波数据与对应的标识,服务端可以根据需要为本次活体认证选取其中一个或多个声波,之后将对应标识发送给客户端;客户端在接收到该标识后,从预存数据中获取到与该标识对应的声波数据;可选的,在发送声波标识时可以对声波标识进行加密处理。
51.在一些例子中,还可以是服务端与客户端各自按照预先约定生成方式生成声波标识,作为例子,服务端与客户端双方约定,按照本次活体认证的参数生成声波标识,可以利用包括用户标识、ip地址、时间、本次认证的编号等一种或多种参数的组合,按照设定方式生成字符串编码,设定方式可以按需配置,也可以是哈希算法等,本实施例对此不作限定。因此,客户端可以检测到用户触发活体认证后,根据参数生成声波标识;客户端发送给服务端的活体认证请求中携带上述参数,服务端在接收到活体认证请求后读取参数,根据参数生成声波标识。
52.在另一些例子中,为了提高处理速度,提高活体认证的安全性,在服务端侧,服务端可以生成目标声波的标识后发送给客户端,在客户端侧,客户端接收到该标识后,可以生成携带有该标识的声波数据。本说明书实施例中,客户端与服务端都不需要预存声波数据,因此可以减少数据的存储空间,也减少客户端侧因存储声波数据造成数据泄露及被攻击的风险。其中,本说明书对声波的标识的生成方式不作限定,作为例子,实际应用中可以根据
需要设定标识的长度(例如长度至少20位以上等)、所采用的标识组成方式(例如包括字母、数字或标点符号等)等等。
53.可选的,为了防止活体认证过程中黑客攻击提交伪造数据,本实施例中目标声波具有唯一性,也就是说,本次活体认证所需要的目标声波数据,与其他次活体认证的目标声波数据都不同。可选的,服务端可以针对每次活体认证都生成不同的声波数据。可选的,可以通过生成唯一标识实现,使得不同用户的不同次活体认证,都可以对应有各自的声波。基于此,即使黑客采集已发生的活体认证的数据并从中识别出声波,之后伪造了活体认证数据,由于每次活体认证所采用的声波都不相同,服务端也可以根据声波标识识别出来黑客攻击。可选的,生成唯一标识的过程可以采用随机算法、哈希算法或guid(全局统一标识符)函数等,本实施例对此不作限定。以随机算法为例,可以通过配置输出值的长度等属性,利用随机算法输出的随机数作为该标识。以哈希算法为例,可以利用本次活体认证相关的信息作为算法输入,使算法输出唯一的哈希值作为本次活体认证的声波标识,与本次活体认证相关的信息可以是活体认证请求的时间、客户端设备标识、用户标识等可以与其他活体认证区别的信息。可选的,服务端还可以记录每次生成的声波标识,在后续生成声波标识时进行比对,或者是对算法进行配置,配置已生成的声波标识为无效标识,使算法生成有效的标识,从而可以进一步防止生成重复的标识。本实施例中,生成唯一标识可以使每次活体认证所采用的声波都不相同,从而可以防止被黑客伪造攻击。
54.相关技术中采用变化屏幕颜色来录制视频,通过检测屏幕变化产生的光影响的视频效果来判断是否为活体。因为颜色只有256种差值。如果在活体认证过程中采用差值较近的多个颜色,则服务端很可能识别不出来,因此只能选择差值较大的多个颜色,这样则导致可取的颜色组合非常少,因此被攻击的机率就显著提高。即使是所有三种颜色的组合,最多也就只是256的三次方,也就是16777216种,在过亿的用户场景中只能复用各种组合,显然无法保证唯一性。由于变化屏幕颜色无法保证唯一性,黑客可以录制变化过程中的颜色,然后模拟出相似光,插入到之前录制好的视频里,从而伪造活体认证数据。而本实施例通过唯一的声波标识保证了每次活体认证声波的唯一性,因此黑客无法伪造,显著地提高了活体认证的安全性。
55.可选的,针对一次活体认证,服务端与客户端约定的目标声波可以是一个,也可以是两个或两个以上,本实施例对此不作限定,实际应用中可以根据需要灵活配置。实际应用中还可以需要灵活配置目标声波的其他属性,比如声波的时长或频率等等。
56.可选的,本实施例声波的标识可以是指经过加密处理的标识,客户端与服务端可以根据实际需要约定标识的加解密方式,本实施例对此不作限定。
57.本实施例中,客户端可以在接收到该标识后,根据音频处理技术产生携带有该标识的声波数据,进而在采集用户的活体认证数据的过程中,利用生成的声波数据播放声波,从而获取到携带有声波的活体认证数据。其中,本实施例的声波的频段为非可听波频段,因此客户端播放的声波用户不会听到,不会对用户形成干扰;可选的,本实施例的声波可以是超声波,也可以根据客户端设备的硬件能力设定声波的频段,只要处于人耳不可听到的频段即可。而采用非可听波频段的方式,也使得活体认证带有隐蔽性,不会被黑客轻易发现活体认证数据中携带了声波。
58.实际应用中,声波的时长、客户端进行活体认证的时长、声波的播放方式等都可以
根据需要灵活配置。可选的,服务端可以与客户端确定本次活体认证的声波播放方式,确定的方式可以是每次活体认证都确定,可以是固定配置的方式,客户端预先配置有声波播放方式。基于此,本实施例方法在活体认证过程中,服务端还可以按照所述声波播放方式识别所述活体认证数据中是否携带有所述目标声波数据,还可以识别所述活体认证数据中携带的声波的播放方式是否与所述确定的声波播放方式相同,若不同,可以确定本次活体认证不通过,因此可以进一步提高活体认证的安全性。
59.例如,由于是活体认证数据携带声波,因此声波的时长可以不大于活体认证数据的采集时长,而每个用户的活体认证过程可能不同,可以根据历史活体认证数据确定活体认证的时长,进而确定声波的长度。进一步的,本说明书实施例还可以根据需要设定声波播放方式,比如播放次数可以循环播放、播放一次、播放多次等,还可以包含播放的时刻,比如在采集后的特定时刻播放、在采集过程中的特定时间范围内播放等。作为例子,若声波的时长短于活体认证数据的时长,可以是在活体认证数据的采集时开始播放声波,在一次声波播放结束后,可以根据需要,可以是循环播放直到活体认证数据的采集结束,此种方式由于整段活体认证数据都携带有声波,可以便于服务端从活体认证数据中识别声波数据,也使得采集的活体认证数据更为可靠。在另一些例子中,也可以是只播放一次,也可以播放两次以上等,或者还可以根据需要设定声波播放在该活体认证数据中的时刻,例如设置活体认证数据采集后的5秒开始播放,或者是活体认证数据采集后的2秒开始循环播放至15秒等。在另一些例子中,还可以是活体认证数据采集中,在播放声波之前播放特定的声波,之后播放目标声波,播放结束后再次播放特定的声波,基于此可以供服务端利用声波的播放方式更为快速地识别出活体认证数据中携带的目标声波。
60.服务端在接收到客户端发送的活体认证数据后,可以先识别活体认证数据中是否携带有声波数据,如果没有,可以确定本次活体认证不通过,因为很有可能是由攻击的黑客提供了伪造的活体认证数据。进一步的,若可以识别出声波数据,可以将所述识别的声波数据与前述客户端与服务端事先约定的目标声波进行比对进行活体认证。作为例子,可以解析活体认证数据的音频内容,从中提取出声波数据,进一步地解析声波数据中携带的标识,将声波数据中携带的标识与事先约定的声波的标识进行比对。
61.实际应用中,还可以利用声波的时效进一步提高活体认证的安全性,作为例子,所述目标声波数据对应有有效时间,本实施例方法还可包括:识别所述活体认证数据中携带的声波数据的时间是否满足所述有效时间。作为例子,服务端可以在与客户端约定好目标声波后,记录目标声波的有效时间,在活体认证时可以检验到活体认证数据中声波的时间,通过记录的有效时间与检测到的时间的比对结果,判断本次活体认证是否通过。通过上述方式,使得黑客攻击无法事先伪造活体认证数据,因此极大地提高了攻击难度。
62.可以理解,本实施例中服务端的活体认证过程还可以包括其他对象的活体认证,例如根据实际的活体认证数据中包含用户的生物识别特征,进行人脸识别、虹膜识别、声纹识别等等,服务端可以根据各项活体认证的结果进行最终的活体认证判定,具体方式可以根据需要灵活配置,本实施例对此不作限定。
63.由上述实施例可见,本实施例利用声波可以携带信息进行传输的特点,创造性地在活体认证过程中新增了针对声波的认证,传统的技术思路是利用用户自身的生物识别特征进行活体认证,但本技术在活体认证数据中额外增加了客户端播放出的声波,在已有活
体认证的基础上增加了声波认证,使得活体认证更加安全可靠。另一方面声波不会被用户听到,不会对用户造成干扰,本实施例的声波播放具有隐蔽性,使黑客难以得知活体认证过程中新增了声波数据,因此可以降低被攻击的风险,也使得服务端可以通过新增的声波认证更加可靠地识别出黑客攻击。
64.接下来再通过一实施例对本说明书实施例的活体认证方法进行说明,本实施例通过客户端设备与服务器之间的交互,描述了对用户进行活体认证的过程。其中,本说明书实施例的客户端侧的设备配置有音频模块,具备音频处理功能。作为例子,活体认证方法的实施例可以包括:
65.客户端向服务端发送活体认证请求;
66.服务端在接收到该活体认证请求后,生成本次活体认证所需要的声波标识;其中,该标识具有唯一性,服务端可以根据需要生成非重复的标识,例如可以以当前时间、客户端标识等多种信息作为哈希算法的输入,利用算法生成唯一标识。可选的,还可以记录本次标识的时间。
67.服务端根据与客户端约定的加密方案加密标识。
68.服务端生成活体认证所需要的其他内容;例如生成文字、数字、问题等需要用户采用语言或行为姿态等进行认证的内容。
69.服务端发送数据给客户端,包括有前述的加密标识等活体认证所需要的数据。
70.客户端接收到服务端发送的活体认证所需要的数据。其中包括该加密标识,客户端根据约定的加解密方案解密得到标识。
71.客户端启动摄像模块和音频模块,以开始活体认证数据的采集。可选的,客户端根据服务端发送的数据,提示用户说出文字、数字或字母等内容。
72.客户端在采集活体认证数据的同时,还根据前述标识生成的声波数据播放声波。
73.客户端采集到活体认证数据后发送给服务端。
74.服务端接收到活体认证数据后进行活体认证,可选的,活体认证可以包括如下多项:
75.从活体认证数据中的音频数据中识别出声波数据,进而识别出声波数据中携带的标识,判断该标识是否与之前生成的标识相同;
76.从活体认证数据中的音频数据中识别用户的说话内容,判断该说话内容与之前语言认证内容是否一致;
77.从活体认证数据中的视频数据中识别出用户的人脸数据,对人脸数据进行认证。
78.如果上述三项都通过,则可确定活体认证通过。
79.由上述实施例可见,本实施例通过每次有时效的超声波标识来确定当前的活体认证数据是当前录制的,并非是事先录制。因为每次活体认证所采用的声波标识不同,并且在采集的活体认证数据中,用户听不到,但是服务端可以进行识别,所以具有较好的隐蔽性和安全性。
80.而用户听不到声波,因此不会对用户造成干扰,不会对用户产生副作用;由于每次产生的声波标识不同,并且具有时效性,所以每次必须实时采集活体认证数据,每次活体认证数据都是实时拍摄的,因此伪造难度显著提高,黑客无法通过攻击摄像模块,采用实现录制好的视频数据来进行攻击,即使黑客采用之前录制的活体认证数据来验证,服务端也可
以通过声波标识进行验证,从而识别黑客攻击。
81.如图2a所示,为本说明书活体认证方法的另一个实施例的流程图,该实施例通过服务器侧描述了活体认证的过程:
82.在步骤202中,在接收到客户端发送的活体认证请求后,与所述客户端确定本次活体认证所需要的目标声波数据,其中,目标声波的频段为非可听波频段;
83.在步骤204中,接收所述客户端发送的活体认证数据;
84.在步骤206中,识别所述活体认证数据中是否携带有所述目标声波数据,根据识别结果进行活体认证。
85.可选的,所述本次活体认证所需要的目标声波数据,与其他次活体认证的目标声波数据都不同。
86.可选的,所述与所述客户端确定本次活体认证所需要的目标声波数据,包括:
87.生成与本次活体认证对应的目标声波的标识,将所述标识发送给客户端,以供所述客户端接收到标识后,生成携带有所述接收到的标识的声波数据。
88.可选的,所述目标声波数据对应有有效时间;所述方法还包括:识别所述活体认证数据中携带的目标声波数据的时间是否满足所述有效时间。
89.可选的,所述方法还包括:与客户端确定本次活体认证的声波播放方式;
90.所述识别所述活体认证数据中是否携带有所述目标声波数据,包括:
91.按照所述声波播放方式识别所述活体认证数据中是否携带有所述目标声波数据。
92.本实施例的具体实施方式可参考前述图1a和图1b的实施例,在此不再赘述。
93.如图2b所示,为本说明书活体认证方法的另一个实施例的流程图,该实施例通过客户端侧描述了活体认证的过程:
94.在步骤212中,向服务端发送活体认证请求,以与所述服务端确定本次活体认证所需要的目标声波数据,其中,目标声波的频段为非可听波频段;
95.在步骤214中,在采集用户的活体认证数据的过程中,利用所述目标声波数据播放声波,获取携带有声波的活体认证数据;
96.在步骤216中,将所述活体认证数据发送给所述服务端,以供所述服务端识别所述活体认证数据中是否携带有所述目标声波数据,根据识别结果进行活体认证。
97.可选的,所述与所述服务端确定本次活体认证所需要的目标声波数据,包括:接收所述服务端发送的目标声波的标识,生成携带有所述标识的目标声波数据,所述标识是所述服务端在收到所述活体认证请求后针对本次活体认证生成的。
98.可选的,还包括:确定本次活体认证的声波播放方式;在利用所述目标声波数据播放声波时,根据所述声波播放方式播放声波。
99.可选的,所述声波播放方式包括:在活体认证数据开始采集至结束期间循环播放目标声波的方式;或,在目标声波播放之前和/或播放结束之后,播放特定声波的方式。
100.本实施例的具体实施方式可参考前述图1a和图1b的实施例,在此不再赘述。
101.本说明书还提供了另一种活体认证方法,本实施例基于区块链实现,如图3是一示例性实施例提供的一种基于区块链的活体认证方案的应用场景示意图,包括客户端和区块链系统,区块链系统中可以包括多个节点设备,图3中以4个设备为例进行示意。用户可以通过客户端向区块链系统提交包含活体认证数据的活体认证交易,区块链系统中的任一节点
设备在接收到活体认证交易后调用智能合约中的活体认证逻辑,以验证所述活体认证数据中是否携带有目标声波数据。
102.由于将涉及用户的活体认证数据提交至区块链系统上,并由智能合约对活体认证数据进行验证,可以保证针对活体认证数据的验证逻辑真实有效,确保活体认证的安全性和可靠性。
103.以下从区块链系统侧介绍本说明书的基于区块链的活体认证方法,如图4所示,本说明书根据一示例性实施例示出的一种基于区块链的活体认证方法流程图,所述方法可应用于区块链中的任一节点设备,所述方法可以包括以下步骤:
104.在步骤402中,接收客户端发送的活体认证交易;其中,所述活体认证交易包括活体认证数据;
105.在步骤404中,响应于所述活体认证交易,调用发布至区块链上的智能合约中的活体认证逻辑,验证所述活体认证数据中是否携带有目标声波数据;其中,目标声波的频段为非可听波频段;
106.在步骤406中,获取所述智能合约对所述活体认证数据的验证结果,根据验证结果确定本次活体认证是否通过。
107.在本说明书所描述的区块链,具体可以包括私有链、共有链以及联盟链等,在本说明书中不进行特别限定。
108.例如,在一个场景中,上述区块链具体可以是由各个业务节点作为联盟成员组成的一个联盟链;该联盟链的运营方可以依托于该联盟链,来部署相应的业务。各个业务节点可以将自身所产生或者接收到的与业务数据以交易的形式在联盟链中进行发布,并在该交易经过联盟链中的共识节点的共识处理之后,在联盟链中的分布式数据库进行存储。
109.其中,需要说明的是,在本说明书中所描述的交易(transaction),是指通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。
110.区块链中的交易,通常存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的在线业务,而在这类联盟链中,交易可以是用户经由业务系统在联盟链中发布的一笔具有业务意图的业务请求。
111.在区块链技术中,区块链中节点对区块进行操作通常需要依赖相应的智能合约(smart contract)。例如在区块链中存储、修改、删除等操作均需要依赖智能合约。所述智能合约可以是一种旨在应用在可以部署在区块链上的以信息化方式传播、验证或执行合同的计算机协议。通过在智能合约中声明业务逻辑可以实现执行相应操作。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。智能合约能够提供优于传统合同方法的安全,并减少与合同相关的其他交易成本。通常,智能合约可以是部署在区块链节点本地,当节点需要执行某个动作时可以调用相应的智能合约,运行智能合约以执行智能合约中声明的业务逻辑,从而得到执行结果。
112.本实施例中,区块链的节点设备接收由客户端发送的活体认证交易,响应于所述活体认证交易,调用发布在所述区块链上的智能合约中声明的活体认证逻辑,从而验证所
述活体认证数据中是否携带有目标声波数据。
113.其中,活体认证逻辑可以是声明在该智能合约中的,与验证活体认证数据中是否携带有目标声波数据的执行逻辑相关的程序代码(例如:一些可供调用的程序方法或者函数)。
114.本实施例中区块链上的智能合约需要验证活体认证数据中携带的是否是指定的目标声波数据,与前述实施例类似,区块链上的智能合约如何获取到指定的目标声波数据可以有多种实现方式。
115.在一些例子中,目标声波中可以承载一声波标识,通过从目标声波中识别出的声波标识来对活体认证数据进行验证。基于此,本实施例中活体认证交易包括声波标识,所述验证所述活体认证数据中是否携带有目标声波数据可以包括:验证所述活体认证数据中是否携带有承载所述声波标识的目标声波数据。
116.其中,声波标识可以是在由节点设备在链下生成,也可以是在链上生成。
117.作为例子,区块链上的智能合约还声明有声波标识生成逻辑,客户端在接收所述活体认证交易之前,可以构建声波标识生成交易发送给区块链上的节点设备,区块链上的节点设备接收客户端发送的声波标识生成交易,响应于所述声波标识生成交易,调用发布至区块链上的智能合约中的声波标识生成逻辑生成声波标识。基于此,客户端获取生成的声波标识后,结合活体认证数据构造前述的活体认证交易。
118.在另一些例子中,也可以是区块链上的节点设备接收客户端发送的声波标识生成交易,响应于所述声波标识生成交易,生成声波标识并返回给客户端。
119.在另一些例子中,还可以是由智能合约中声明的活体认证逻辑生成声波标识,客户端可以构造包含有交易参数的活体认证交易,活体认证逻辑可以根据所述交易参数生成声波标识,验证所述活体认证数据中是否携带有承载所述声波标识的目标声波数据。作为例子,客户端可以将用户标识、本次活体认证请求的编号和/或时间等作为交易参数,智能合约中声明的活体认证逻辑对交易参数进行哈希运算,将生成的哈希值作为声波标识;实际应用中还可以设定其他声波标识的生成方式,本实施例对此不作限定。在客户端侧,客户端在采集用户的活体认证数据时,以相同方式利用交易参数生成声波标识,生成承载有所述声波标识的目标声波数据并进行播放,使得采集到的活体认证数据中携带有目标声波数据,后续利用智能合约进行验证。
120.上述实施例示出了对活体认证数据中的声波进行验证的过程,实际业务中,活体认证流程通常还涉及对用户生物特征数据进行验证的其他流程,例如对活体认证数据中的用户人脸数据、声纹数据或指纹数据等进行验证,因此需要将活体认证数据中生物特征数据与用户的真实生物特征数据进行匹配。
121.在一些例子中,可以是整个活体认证流程都由智能合约进行验证。用户的真实生物特征数据可以是存储在区块链上,智能合约的活体认证逻辑可以调取用户的真实生物特征数据对活体认证数据中生物特征数据进行验证;例如,活体认证交易中可以包括用户标识,智能合约的活体认证逻辑通过用户标识调取到用户的真实生物特征数据进行验证。
122.在其他例子中,还可以是智能合约执行部分验证。例如,本实施例的应用场景中,除了图3所示的客户端及区块链系统之外,还可以包括有业务系统。上述业务系统可以是搭载在区块链中的节点设备上的软件系统,也可以是搭载在与区块链中的节点设备之间建立
连接的服务器上的软件系统。用户的真实生物特征数据存储在业务系统侧,可以是业务系统执行对活体认证数据中的生物特征数据的验证,例如,业务系统可以接收客户端发送的携带用户标识的活体认证请求,通过用户标识查找到用户的真实生物特征数据后对活体认证数据中的生物特征数据进行验证。
123.在另一些例子中,利用用户的真实生物特征数据后对活体认证数据中的生物特征数据进行验证的过程,也可以通过调用智能合约的生物特征验证逻辑来执行。例如,业务系统可以构造包括真实生物特征数据和活体认证数据的生物特征验证交易并发送给区块链上的节点设备,节点设备响应于该生物特征验证交易,调用发布至区块链上的智能合约中的生物特征验证逻辑,验证所述活体认证数据中生物特征数据是否与所述真实生物特征数据匹配。业务系统通过获取智能合约的生物特征验证结果,根据验证结果确定本次活体认证是否通过。
124.如图5所示,是本说明书根据一示例性实施例示出的另一活体认证方法的流程图,该实施例基于区块链实现,本实施例从客户端的角度描述了活体认证的过程,包括如下步骤:
125.在步骤502中,在采集用户的活体认证数据的过程中,播放目标声波数据,获取携带有所述目标声波数据的活体认证数据,其中,目标声波的频段为非可听波频段。
126.在步骤504中,构造包含有所述活体认证数据的活体认证交易。
127.在步骤506中,将所述活体认证交易发送给区块链中的节点设备,以供所述节点设备响应于所述活体认证交易,调用发布至区块链上的智能合约中的活体认证逻辑,验证所述活体认证数据中是否携带有目标声波数据。
128.在步骤508中,获取所述智能合约的验证结果,根据验证结果确定本次活体认证是否通过。
129.可选的,所述活体认证交易包括声波标识,所述验证所述活体认证数据中是否携带有目标声波数据,包括:
130.验证所述活体认证数据中是否携带有承载所述声波标识的目标声波数据。
131.可选的,所述声波标识通过如下方式获取到:
132.在活体认证流程被触发后,构造声波标识生成交易并发送所述节点设备,以供所述节点设备响应于所述声波标识生成交易,调用发布至区块链上的智能合约中的声波标识生成逻辑生成声波标识,获取所述智能合约生成的声波标识。
133.可选的,所述方法还包括:
134.在活体认证流程被触发后,向所述节点设备发送声波标识生成请求,获取所述节点设备根据所述声波生成请求生成的声波标识。
135.可选的,所述播放目标声波数据,包括:
136.根据本次活体认证请求的请求参数生成声波标识后,生成承载有所述声波标识的目标声波数据并进行播放;
137.所述活体认证交易还包括所述请求参数:
138.可选的,所述播放承载有所述声波标识的目标声波,包括:
139.按照目标播放方式播放承载有所述声波标识的目标声波;以供所述智能合约按照所述目标播放方式从所述活体认证数据中提取声波数据。
140.与前述活体认证方法的实施例相对应,本说明书还提供了活体认证装置及其所应用的设备的实施例。
141.本说明书活体认证装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书实施例活体认证装置所在计算机设备的一种硬件结构图,除了图6所示的处理器610、内存630、网络接口620、以及非易失性存储器640之外,实施例中装置631所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
142.如图7所示,图7是本说明书根据一示例性实施例示出的一种活体认证装置的框图,所述装置包括:
143.确定模块71,用于:在接收到客户端发送的活体认证请求后,与所述客户端确定本次活体认证所需要的目标声波数据,其中,目标声波的频段为非可听波频段;
144.接收模块72,用于:接收所述客户端发送的活体认证数据;
145.认证模块73,用于:识别所述活体认证数据中是否携带有所述目标声波数据,根据识别结果进行活体认证。
146.可选的,所述本次活体认证所需要的目标声波数据,与其他次活体认证的目标声波数据都不同。
147.可选的,所述确定模块71还用于:
148.生成与本次活体认证对应的目标声波的标识,将所述标识发送给客户端,以供所述客户端接收到标识后,生成携带有所述接收到的标识的声波数据。
149.可选的,所述目标声波数据对应有有效时间;所述认证模块73还用于:识别所述活体认证数据中携带的目标声波数据的时间是否满足所述有效时间。
150.可选的,所述生成的针对本次活体认证的目标声波的标识,与其他次活体认证对应的目标声波的标识都不同。
151.可选的,所述确定模块71还用于:与客户端确定本次活体认证对应的声波播放方式;
152.所述认证模块73还用于:
153.按照所述声波播放方式识别所述活体认证数据中是否携带有所述目标声波数据。
154.可选的,所述声波播放方式包括:在活体认证数据开始采集至结束期间循环播放目标声波的方式;或,在目标声波播放之前和/或播放结束之后,播放特定声波的方式。
155.如图8所示,图8是本说明书根据一示例性实施例示出的一种活体认证装置的框图,所述装置包括:
156.确定模块81,用于:向服务端发送活体认证请求,以与所述服务端确定本次活体认证所需要的目标声波数据,其中,目标声波的频段为非可听波频段;
157.播放模块82,用于:在采集用户的活体认证数据的过程中,利用所述目标声波数据播放声波,获取携带有声波的活体认证数据;
158.发送模块83,用于:将所述活体认证数据发送给所述服务端,以供所述服务端从所述活体认证数据中获取声波数据,结合所述获取的声波数据与所述目标声波数据的比对结
果进行活体认证。
159.可选的,所述确定模块81,还用于:接收所述服务端发送的目标声波的标识,生成携带有所述标识的目标声波数据,所述标识是所述服务端在收到所述活体认证请求后针对本次活体认证生成的。
160.可选的,所述确定模块81,还用于:确定本次活体认证的声波播放方式;所述播放模块82还用于:在利用所述目标声波数据播放声波时,根据所述声波播放方式播放声波。
161.可选的,所述声波播放方式包括:在活体认证数据开始采集至结束期间循环播放目标声波的方式;或,在目标声波播放之前和/或播放结束之后,播放特定声波的方式。
162.如图9所示,图9是本说明书根据一示例性实施例示出的一种活体认证装置的框图,所述装置包括:
163.接收模块91,用于:接收客户端发送的活体认证交易;其中,所述活体认证交易包括活体认证数据;
164.响应模块92,用于:响应于所述活体认证交易,调用发布至区块链上的智能合约中的活体认证逻辑,验证所述活体认证数据中是否携带有目标声波数据;其中,目标声波的频段为非可听波频段;
165.验证模块93,用于:获取所述智能合约对所述活体认证数据的验证结果,根据验证结果确定本次活体认证是否通过。
166.可选的,所述活体认证交易包括声波标识,所述验证模块83还用于:
167.验证所述活体认证数据中是否携带有承载所述声波标识的目标声波数据。
168.可选的,所述装置还包括生成模块,用于:
169.在接收所述活体认证交易之前,接收客户端发送的声波标识生成交易,响应于所述声波标识生成交易,调用发布至区块链上的智能合约中的声波标识生成逻辑生成声波标识。
170.可选的,所述装置还包括返回模块(图9中未示出),用于:
171.在接收所述活体认证交易之前,接收客户端发送的声波标识生成交易,生成声波标识并返回给所述客户端。
172.可选的,所述活体认证交易包括交易参数;所述验证模块还用于:
173.根据所述交易参数生成声波标识,验证所述活体认证数据中是否携带有承载所述声波标识的目标声波数据。
174.如图10所示,图10是本说明书根据一示例性实施例示出的一种活体认证装置的框图,所述装置包括:
175.获取模块1001,用于:在采集用户的活体认证数据的过程中,播放目标声波数据,获取携带有所述目标声波数据的活体认证数据,其中,目标声波的频段为非可听波频段;
176.构造模块1002,用于:构造包含有所述活体认证数据的活体认证交易;
177.发送模块1003,用于:将所述活体认证交易发送给区块链中的节点设备,以供所述节点设备响应于所述活体认证交易,调用发布至区块链上的智能合约中的活体认证逻辑,验证所述活体认证数据中是否携带有目标声波数据;
178.验证模块1004,用于:获取所述智能合约的验证结果,根据验证结果确定本次活体认证是否通过。
179.可选的,所述活体认证交易包括声波标识,所述验证模块94还用于:
180.验证所述活体认证数据中是否携带有承载所述声波标识的目标声波数据。
181.可选的,所述验证模块1004还用于:
182.在活体认证流程被触发后,构造声波标识生成交易并发送所述节点设备,以供所述节点设备响应于所述声波标识生成交易,调用发布至区块链上的智能合约中的声波标识生成逻辑生成声波标识,获取所述智能合约生成的声波标识。
183.可选的,所述装置还包括标识请求模块(图10中未示出),用于:
184.在活体认证流程被触发后,向所述节点设备发送声波标识生成请求,获取所述节点设备根据所述声波生成请求生成的声波标识。
185.可选的,所述播放目标声波数据,包括:
186.接收活体认证请求,根据所述活体认证请求的请求参数生成声波标识后,生成承载有所述声波标识的目标声波数据并进行播放;
187.所述活体认证交易还包括所述请求参数。
188.可选的,所述获取模块1001还用于:
189.按照目标播放方式播放承载有所述声波标识的目标声波数据;以供所述智能合约按照所述目标播放方式从所述活体认证数据中提取所述目标声波数据。
190.相应的,本说明书还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述活体认证方法的实施例。
191.上述活体认证装置中各个模块的功能和作用的实现过程具体详见上述活体认证方法中对应步骤的实现过程,在此不再赘述。
192.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
193.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
194.本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
195.应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限
制。
196.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1