活体检测方法及系统与流程

未命名 07-22 阅读:105 评论:0


1.本说明书涉及活体检测领域,尤其涉及一种活体检测方法及系统。


背景技术:

2.近年来,人脸识别成为了主要的身份认证方式之一,并被广泛应用于各类场景,例如刷脸支付、刷脸进站以及刷脸考勤等等。与此同时,人脸识别也面临着各类安全风险。其中,活体攻击是人脸识别系统的长期以来面对的最常见也是最有威胁的安全风险,人脸照片、人脸视频、三维面具等活体攻击方式层出不穷,活体检测也越来越受到关注。但是,高精度的活体攻击检测方法仍然存在诸多的问题和挑战。
3.因此,需要提供一种新的活体检测方法及系统,以提升活体检测的安全性。


技术实现要素:

4.本说明书提供的活体检测方法及系统,可以提升活体检测的安全性。
5.第一方面,本说明书提供一种活体检测方法,包括:获取目标用户在当前时间窗口中的目标操作行为数据;基于所述目标操作行为数据进行风险识别,得到所述目标用户在所述当前时间窗口对应的目标风险分类结果;以及基于所述目标风险分类结果,确定是否主动对所述目标用户进行活体检测。
6.在一些实施例中,所述目标操作行为数据包括下述数据中的至少一种:访问的页面;页面的访问时间;页面的访问时长;执行所述操作行为数据的目标终端的设置状态;所述目标终端的ip地址;以及所述目标终端的位置。
7.在一些实施例中,所述基于所述目标操作行为数据进行风险识别,得到所述目标用户在所述当前时间窗口对应的目标风险分类结果,包括:基于风险识别模型对所述目标操作行为数据进行识别,确定所述目标风险分类结果;或将所述目标操作行为数据与所述目标用户在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果。
8.在一些实施例中,所述将所述目标操作行为数据与所述目标用户在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果,包括:确定所述目标操作行为数据与所述历史操作行为数据的相似度大于预设的相似度阈值,确定所述目标风险分类结果为无风险;或者确定所述目标操作行为数据与所述历史操作行为数据的相似度小于所述相似度阈值,确定所述目标风险分类结果为有风险。
9.在一些实施例中,所述基于所述目标风险分类结果,确定是否主动对所述目标用户进行活体检测,包括:确定所述目标风险分类结果为有风险,对所述目标用户进行活体检测;或者确定所述目标风险分类结果为无风险,不对所述目标用户进行活体检测。
10.在一些实施例中,所述对所述目标用户进行活体检测包括:基于所述目标操作行为数据,确定进行所述活体检测的目标检测时间;以及在所述目标检测时间对所述目标用户进行活体检测。
11.在一些实施例中,所述目标检测时间包括页面切换时间以及待处理事件完成时间
中的至少一种。
12.在一些实施例中,所述在所述目标检测时间对所述目标用户进行活体检测,包括:在所述目标检测时间,获取所述目标用户的目标图像;至少基于所述目标图像对所述目标用户进行活体检测,得到目标活体分类结果;以及输出所述目标活体分类结果。
13.在一些实施例中,所述至少基于所述目标图像对所述目标用户进行活体检测,包括:基于所述目标图像对所述目标用户进行活体检测;或者基于所述目标图像以及所述目标操作行为数据对所述目标用户进行活体检测。
14.在一些实施例中,所述基于所述目标图像以及所述目标操作行为数据对所述目标用户进行活体检测,包括:将所述目标操作行为数据和所述目标图像输入多模态活体检测模型进行活体检测,所述多模态活体检测模型在训练时的训练目标包括:所述多模态活体检测模型输出的预测活体分类结果与真实活体分类结果之间的差异在第一预设活体检测范围内,所述预测活体分类结果包括:基于操作行为数据样本和用户图像样本得到的融合预测活体分类结果。
15.在一些实施例中,所述预测活体分类结果还包括:基于所述操作行为数据样本得到的第一预测活体分类结果;以及基于所述用户图像样本得到的第二预测活体分类结果。
16.在一些实施例中,所述训练目标还包括:所述第一预测活体分类结果、所述第二预测活体分类结果与所述融合预测活体分类结果之间的差异在第二预设活体检测范围内。
17.第二方面,本说明书还提供一种活体检测系统,包括:服务器,所述服务器包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述第一方面所述的活体检测方法。
18.由以上技术方案可知,本说明书提供的活体检测方法及系统,在目标用户对目标终端进行操作的过程中,基于目标用户的目标操作行为数据进行风险识别,并根据风险识别的分类结果决定是否对目标用户主动进行活体检测,并在确认目标用户的目标操作行为数据存在风险时,主动发起对目标用户的活体检测,避免攻击用户提前准备,提升攻击者的成本,从而提升活体检测的安全性。所述方法和系统还可以进一步基于所述目标操作行为数据,确定目标检测时间,然后基于所述目标检测时间主动发起活体检测,并基于所述目标操作行为数据和所述目标用户的目标图像,通过多模态活体检测模型进行活体检测。由于正常用户和攻击用户在所述目标终端的操作行为存在差异,因此,所述目标操作行为数据中携带了区分正常用户或攻击用户的信息,从而,基于所述目标操作行为数据和所述目标用户的目标图像进行多模态活体检测,可以有效的增加所述多模态活体检测模型用于活体检测的信息量,在不需要额外增加所述目标用户的交互配合的情况下,可以提高活体检测的性能。
19.本说明书提供的活体检测方法及系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测方法及系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
20.为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
22.图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
23.图3示出了根据本说明书的实施例提供的一种活体检测方法流程图;
24.图4a示出了根据本说明书的实施例提供的一种购买飞机票服务场景的主页面示意图;
25.图4b示出了根据本说明书的实施例提供的一种购买飞机票服务场景的选择航班面示意图;
26.图4c示出了根据本说明书的实施例提供的一种购买飞机票服务场景的确认航班页面示意图;
27.图4d示出了根据本说明书的实施例提供的一种购买飞机票服务场景的确认订单页面示意图;以及
28.图5示出了根据本说明书的实施例提供的一种提示目标用户开始进行活体检测的页面示意图。
具体实施方式
29.以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
30.这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
31.考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
32.本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
33.在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
34.本说明书提供的活体检测方法可以应用在任意的活体检测场景中,比如,在人脸支付场景中,可以通过本说明书的活体检测方法对采集的待支付用户的人脸图像进行活体检测;在身份验证场景中,可以通过本说明书的活体检测方法对采集的用户的身份图像进行活体检测;还可以应用在任意的人脸识别场景中,在此不再一一赘述。本领域技术人员应当明白,本说明书所述的活体检测方法和系统应用于其他使用场景也在本说明书的保护范围内。
35.为了方便描述,本说明书对以下描述可能会出现的术语进行解释:
36.活体检测:利用人工智能模型进行检测并判断用户通过人脸识别系统进行刷脸的过程中是活体(真人)用户或攻击用户的技术,活体检测可以有效拦截攻击用户。
37.活体攻击:利用屏幕、纸张、面具等方式进行呈现,尝试绕过人脸识别系统的攻击手段。
38.图1示出了根据本说明书的实施例提供的一种活体检测系统001的应用场景示意图。所述活体检测系统001(以下简称系统001)可以应用于任意场景的活体检测,比如,人脸支付场景下的活体检测、身份验证场景下的活体检测、人脸识别场景下的活体检测,等等。如图1所示,系统001可以包括目标终端200和服务器300,相应的,所述系统001的应用场景可以包括:目标用户100、系统001以及通信网络400。
39.其中,目标用户100可以是所述目标终端200的操作方。所述目标终端200可以为对目标用户100进行活体检测的终端设备,在对目标用户100进行活体检测时与所述目标用户100进行交互以及数据采集的设备。
40.在一些实施例中,所述目标终端200可以为智能电子设备。所述智能电子设备包括人机交互设备和图像采集设备。所述人机交互设备用于与目标用户100进行人机交互。所述图像采集设备可以用于采集目标用户100的图像或者视频数据。比如,目标终端200可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。比如,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。比如,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。比如,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。
41.在一些实施例中,所述人机交互设备可以包括人机交互界面,所述人机交互设备的人机交互功能可以包括但不限于:语音播报、语音输入、网络浏览、文字处理、状态提示、操作输入等。在一些实施例中,所述人机交互设备可以包括显示屏,所述显示屏可以是触摸屏式的液晶显示器(lcd)。所述显示屏具有图像用户界面(gui),可使得所述用户通过触摸所述图像用户界面(gui)和/或通过手势与目标终端200进行人机交互。在一些实施例中,所述人机交互设备可以包括语音播放装置,比如扬声器。所述语音播放装置可以是任意形式的可以传递音频信号的装置。所述用户可以通过所述语音播放装置接收目标终端200传递的语音信息,从而与目标终端200进行人机交互。在一些实施例中,用于执行上述人机交互功能的可执行指令被存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
42.在一些实施例中,所述图像采集设备可以包括二维图像采集设备(比如rgb摄像头),在一些实施例中,所述图像采集设备还可以包括深度图像采集设备(比如3d结构光摄
像头、激光探测器,等等)。
43.在一些实施例中,目标终端200可以是具有定位技术的设备,用于定位目标终端200的位置。
44.在一些实施例中,所述目标终端200上可以安装至少一个应用(app)。所述app能够为所述目标用户100提供通过网络400同外界交互的能力以及界面。所述app可以包括但不限于:网页浏览器类app程序、搜索类app程序、聊天类app程序、购物类app程序、视频类app程序、理财类app程序、即时通信工具、邮箱客户端、社交平台软件等等。其中,每个所述应用可以包括计算机程序代码。所述计算机程序代码可以包括但不限于,程序、例程、对象、组件、数据结构、过程、模块,等等。所述至少一个应用包括目标应用。在一些实施例中,所述目标终端200上安装有目标应用,所述目标应用可以是一种开放平台,外部的程序可以通过所述目标应用公开的应用程序编程接口(api)或函数(function)在不更改该开放平台的源代码的情况下,增加该开放平台的功能或使用所述目标终端的资源,例如,所述目标终端的相关数据。作为示例,所述目标应用可以包括但不限于,数字生活开放平台,社交开放平台,购物开放平台,游戏开放平台,购票开放平台等等。所述外部的程序指的是所述目标应用以外的程序。所述目标应用的功能可能覆盖了日常生活的多种服务场景,例如,购买电影票、领取卡券、分期还款、订餐、打车、查询快递、领取积分、生活缴费、充值、购物等多种服务场景,从而覆盖多种功能。所述目标用户100在使用所述目标应用提供的多种服务场景时,可以在所述目标终端200的显示屏上显示所述服务场景的访问页面,所述目标用户100可以基于所述访问页面进行目标操作行为。例如:假设所述目标应用为购票开放平台,所述目标用户100使用所述目标应用提供的购票服务场景购买飞机票,且所述目标用户100首次绑定银行卡a进行付款,在此过程中,需要对所述目标用户100进行活体检测,在所述目标用户100成功通过所述活体检测后,所述银行卡a绑定成功,所述目标用户100可以采用所述银行卡a对其通过目标应用购买的飞机票付款。
45.所述服务器300可以是实现所述目标应用的各种功能的后台服务器。也就是说,所述目标应用是与所述服务器300相应的用户端应用,以为目标用户100提供本地服务。所述目标应用可以通过所述目标终端200与所述服务器300通信,从而所述服务器300可以通过所述目标终端200向所述目标用户100提供服务。在一些实施例中,所述服务器300可以与多个终端进行通信连接(图1中未示出)。在一些实施例中,所述目标终端200可以通过通信网络400与所述服务器300交互,以接收或发送消息等,比如接收或发送目标用户100的视频、图像以及操作行为数据等。
46.通信网络400用以在目标终端200和服务器300之间提供通信连接的介质。通信网络400可以促进信息或数据的交换。如图1所示,目标终端200和服务器300可以同通信网络400连接,并且通过通信网络400互相传输信息或数据。在一些实施例中,通信网络400可以是任何类型的有线或无线网络,也可以是其组合。比如,通信网络400可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、大都市市区网(man)、广域网(wan)、公用电话交换网(pstn)、蓝牙
tm
网络、zigbee
tm
网络、近场通信(nfc)网络或类似网络。在一些实施例中,通信网络400可以包括一个或多个网络接入点。例如,通信网络400可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,目标终端200和服务器300的一个或多个组件可以连接到通信网络400以交
换数据或信息。
47.应该理解,图1中的目标终端200、服务器300和同通信网络400的数目仅仅是示意性的。根据实现需要,场景001中可以具有任意数目的目标终端200、服务器300和通信网络400。
48.需要说明的是,所述活体检测方法可以完全在目标终端200上执行,也可以完全在服务器300上执行,还可以部分在目标终端200上执行,部分在服务器300上执行。
49.图2示出了根据本说明书的实施例提供的一种计算设备600的硬件结构图。所述计算设备600可以执行本说明书描述的活体检测方法,所述活体检测方法将在本说明书中的其他部分详细介绍。当所述活体检测方法在目标终端200上执行时,所述计算设备600可以是目标终端200。当所述活体检测方法在服务器300上执行时,所述计算设备600可以是服务器300。当所述活体检测方法部分在目标终端200上执行,部分在服务器300上执行时,所述计算设备600既可以是目标终端200,也可以是服务器300。
50.如图3所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。同时,计算设备600还可以包括i/o组件660。
51.内部通信总线610可以连接不同的系统组件,包括存储介质630、处理器620和通信端口650。
52.i/o组件660支持计算设备600和其他组件之间的输入/输出。
53.通信端口650用于计算设备600同外界的数据通信,比如,通信端口650可以用于计算设备600同通信网络400之间的数据通信。通信端口650可以是有线通信端口也可以是无线通信端口。
54.存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(rom)634或随机存取存储介质(ram)636中的一种或多种。存储介质630还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的活体检测方法的程序、例程、对象、组件、数据结构、过程、模块等等。
55.至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的活体检测方法。处理器620可以执行活体检测方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令集处理器(asip),中心处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例
如,如果在本说明书中计算设备600的处理器620执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。
56.目前,活体检测通常是基于用户的触发操作,由用户发起的,相应的,所述计算设备600是被动的进行活体检测。根据用于活体检测图像数量不同,活体检测方法可以被分为如下两种类型:第一种类型是基于单张图像的活体检测方法,也就是说,通过采集一张用户的图像进行活体检测,基于单张图像的活体检测方法的优点是相应的活体检测模型易于训练,便于部署,计算量小,缺点是由于单张图像的信息量有限,因此活体检测的安全性能较差。第二种类型是基于多张图像的活体检测方法,也就是说,通过采集多张用户的图像进行活体检,所述基于多张图像的活体检测方法的性能相比前述基于单张图像的活体检测方法,检测性能有明显提升,但是,由于需要采集多张图像,通常要求用户配合完成特定的动作,因此通常采集图像的耗时长,用户的体验会明显降低,同时由于输入图像数量多,训练相应的活体检测模型需要耗费的算力也更多,因此,活体检测模型的训练成本也较高,占用的存储空间也较大。
57.为了能够在兼顾用户的体验和活体检测性能,本说明书提出了一种计算设备600主动发起的活体检测方法p100。需要说明的是,本说明书提出的活体检测方法p100,可以通过多种方式触发,本说明书对此不做限定。在一些实施例中,所述方法p100可以是一种周期性的方法,也就是说,计算设备600可以周期性地执行p100中的所有步骤,因此,所述方法p100可以由触发周期所触发,例如,所述触发周期为5分钟,则所述计算设备600每隔5分钟执行一次所述方法p100。在一些实施例中,所述方法p100也可以是一种随机抽查性的方法,也就是说,计算设备600可以以随机的时间间隔执行一次所述方法p100。在一些实施例中,所述方法p100还可以是一种基于预设操作行为触发执行的方法,也就是说,当所述目标用户100执行的目标操作行为是所述预设操作行为中的至少一种时,所述计算设备600可以执行一次所述方法p100,其中,所述预设操作行为可以包括高风险操作行为,比如,贷款页面的贷款操作行为、付款页面的大额付款操作行为、转账行为等。
58.图3示出了根据本说明书的实施例提供的一种活体检测方法p100的流程图。如前所述,计算设备600可以执行本说明书的活体检测方法p100。需要说明的是,在所述方法p100中所获取的目标用户100的数据以及其他用户的数据均经过用户授权。如图3所示,方法p100可以包括:
59.s110:获取目标用户100在当前时间窗口中的目标操作行为数据。
60.需要说明的是,在步骤s110之前,所述方法p100还可以包括感应活体检测的触发操作。如前所述,所述活体检测可以通过多种方式触发,在此不再赘述。当目标用户100进入目标应用中时,所述方法p100可以感应所述活体检测的触发操作,并响应于所述触发操作执行所述方法p100。
61.其中,所述当前时间窗口可以包括在当前时刻之前的预设长度的时间窗口。所述当前时刻可以是所述活体检测的触发时刻。所述预设长度可以是任意时长,比如,1min,2min,10min,15min,甚至可以更长,比如1h、2h,等等。例如,假设所述当前时间为9:10:00,预设长度为15分钟,也就是说,所述计算设备600获取的是所述目标用户100从8:55:00-9:10:00的目标操作行为数据。所述目标操作行为数据可以是目标用户100在所述目标应用中
发生的所有目标操作行为所产生的数据。所述目标操作行为可以是行为信息,如搜索、浏览、打分、点评、加入购物筐、取出购物筐、加入期待列表、购买、使用减价券、退货、转账、贷款、还款、领取积分、消费积分、充值、打车、购票、查询快递等,甚至包括在第三方网站上的相关行为,如比价、看相关评测、参与讨论、社交媒体上的交流、与好友互动等。其中,上述第三方网站/app与目标应用相关联,例如,目标用户100能够通过目标应用中的链接跳转到上述第三方网站/app;上述第三方网站/app在内容上也可以与所述目标应用存在关联。所述行为信息可以深度地反映出所述目标用户100的心理和意向。通过对目标用户100的行为信息进行分析,能对目标用户100的行为进行预判,识别用户的意图。
62.其中,所述目标用户100可以使用所述目标终端200访问所述目标应用的某个服务场景的页面,并根据自己的需求执行相应的目标操作行为。例如,假设所述目标应用为购票开放平台,可以提供订购火车票、飞机票、汽车票、船票、酒店以及出租车接送等服务场景,若目标用户100的需求为购买飞机票,则所述目标用户100的目标操作行为可以包括:访问购买飞机票的相关页面并基于所述购买飞机票的相关页面的提示选择购买火车飞机票的日期、选择购买飞机票的出发地和目的地、确认订单、选择付款方式并付款等。
63.相应的,所述目标操作行为会产生目标操作行为数据。在一些实施例中,所述目标操作行为数据可以包括下述数据中的至少一种:访问的页面;页面的访问时间;页面的访问时长;执行所述操作行为数据的目标终端200的设置状态;所述目标终端200的ip(internet protocol)地址;以及所述目标终端200的位置。例如,若目标用户100使用所述购票开放平台访问购买飞机票服务场景的相关页面购买飞机票,则相应的目标操作行为数据可以包括以下数据的至少一种:所述目标用户100访问的页面,所述目标用户100访问的页面可以如图4a-4d所示,其中,图4a示出了本说明书的实施例提供的一种购买飞机票服务场景的主页面示意图,图4b示出了根据本说明书的实施例提供的一种购买飞机票服务场景的选择航班面示意图,图4c示出了根据本说明书的实施例提供的一种购买飞机票服务场景的确认航班页面示意图,以及图4d示出了根据本说明书的实施例提供的一种购买飞机票服务场景的确认订单页面示意图。所述页面的访问时间可以为所述目标用户100访问所述购买火车服务场景的主页面的时间,例如:上午10:05;所述访问页面的时长可以为所述目标用户100访问所述购买火车服务场景的主页面到完成飞机票订购所需的时间,例如:从所述目标用户100访问图4a所示页面到图4d所示页面的时长为10分钟。
64.所述执行所述操作行为数据的目标终端200的设置状态可以包括目标终端200中是否存在危险设置或高风险设置,比如是否存在高危插件、是否存在改机等设置,高危插件越多、改机设置越多,风险也越高。
65.所述目标终端200的ip(internet protocol)地址可以是目标终端200的互联网协议地址。所述目标终端200的位置可以是当前时刻目标终端200的地理位置。所述目标终端200的位置可以通过位置服务(lbs,location based services)获得的。lbs是通过定位技术获得移动终端的位置信息的技术,又称为定位服务。
66.上述目标操作行为数据中携带了一定的信息,其中包括区分所述目标操作行为有风险或无风险的信息,因此,所述目标操作行为数据可以用于风险识别。
67.s130:基于所述目标操作行为数据进行风险识别,得到所述目标用户100在所述当前时间窗口对应的目标风险分类结果。
68.如前所述,所述目标操作行为数据中携带有可以用于风险识别的信息。计算设备600可以对所述目标操作行为数据进行风险识别,以确定当前时间窗口内的目标操作行为是否存在风险。
69.在一些实施例中,由于每个用户可能存在其特定的操作行为规律,所以对于上述目标操作行为,可以从个体用户的角度来对所述目标操作行为数据进行风险识别,也就是基于所述目标用户100在预设历史时间窗口内的历史操作行为数据对所述目标操作行为数据进行风险识别。比如,通过所述目标用户100在预设历史时间窗口内的历史操作行为数据,可以得到所述目标用户100的操作行为规律。当所述目标用户100的目标操作行为数据与所述目标用户100的操作行为规律不匹配时,可以认为所述目标用户100的目标操作行数据可能存在风险(异常),也就是说所述目标用户100可能是攻击用户,需要进一步对所述目标用户100进行活体检测。例如,若所述目标用户100的操作行为规律包括:所述目标用户100访问所述目标应用的采用的目标终端200的位置以90%的概率为西安,而目标操作行为数据中的目标终端200的位置为北京,则所述目标操作行为数据可能存在风险,需要进一步对目标用户100进行活体识别检验。
70.在一些实施例中,对于上述目标操作行为,所述方法p100还可以从全局用户的角度来对所述目标操作行为数据进行风险识别,也就是基于所述服务器300可以获得的所有使用所述目标应用的用户在预设历史时间窗口内的历史操作行为数据的角度来对所述目标操作行为数据进行风险识别。通常正常用户的操作行为和攻击用户的操作行为也存在着明显的规律和区别。所述方法p100还可以基于所述全局用户中的所有正常用户在预设历史时间窗口内的历史操作行为数据得到正常操作规律,还可以基于全局用户中的所有攻击用户在预设历史时间窗口内的历史操作行为数据得到攻击操作规律。当所述目标用户100的目标操作行为数据与所述正常操作规律不匹配或者与所述攻击操作规律匹配时,可以认为所述目标用户100的目标操作行数据可能存在风险(异常),也就是说所述目标用户100可能是攻击用户,需要进一步进行活体检测。例如:若正常操作规律包括:95%的用户访问所述目标应用的时间为7:00到24;00,则目标用户100在夜间00:00-7:00的目标操作行为数据不符合所述基准操作规律,可能存在风险,需要进一步对目标用户100进行活体检测。
71.本领域技术人员可以通过多种方式基于所述目标操作行为数据进行风险识别,得到所述目标用户100在所述当前时间窗口对应的目标风险分类结果。在一些实施例中,步骤s130可以包括:基于风险识别模型对所述目标操作行为数据进行识别,确定所述目标风险分类结果。
72.在一些实施例中,步骤s130可以包括:将所述目标操作行为数据与所述目标用户100在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果。
73.下面,首先对基于风险识别模型对所述目标操作行为数据进行识别,确定所述目标风险分类结果的方式进行详细说明。其中,所述风险识别模型可以是一个数据计算模型,可以表征操作行为数据和风险分类结果之间的映射关系。计算设备600可以将所述目标操作行为数据输入至所述风险识别模型中,所述风险识别模型输出所述目标风险分类结果。
74.在一些实施例中,所述风险识别模型可以基于建立数学模型并进行数据拟合的方式获得。服务器300或者其他计算设备可以先获取预设历史时间窗口中,服务器300中用户的历史操作数据及其对应的历史风险分类结果,并通过数据拟合的方式建立历史操作行为
数据和历史风险分类结果之间的映射关系,从而获取操作行为数据和风险分类结果之间的映射关系,即所述风险识别模型。其中,所述服务器300中用户可以包括所述目标用户100或者所述全局用户。
75.在一些实施例中,所述风险识别模型可以基于机器学习的方式得到。为了方便描述,我们将训练所述风险识别模型的设备定义为训练设备。所述训练设备可以是服务器300,也可以是服务器300以外的其他计算设备,在此不作限定。所述风险识别模型的训练方法包括:获取第一样本集及其对应的标签;基于所述第一样本集以及所述标签对初始风险识别模型进行训练,直至模型收敛,得到所述风险识别模型。
76.所述第一样本集中可以包括多个样本。所述多个样本中的每个样本可以包括一组操作行为数据样本。所述一组操作行为数据样本可以是预设时间长度的历史时间窗口内的历史操作行为数据。具体的,如表1所示,所述第一样本集中的多个样本可以包括同一用户在不同历史时间窗口中的多组操作行为数据样本,所述第一样本集中的多个样本还可以包括多个不同用户的多组操作行为数据样本。所述第一样本集中的样本可以包括正常样本,即不存在风险的操作行为数据样本,也可以包括攻击样本,即存在风险的操作行为数据样本。所述第一样本集中样本的标签可以是对每组操作行为数据样本的风险分类的标注,也可以理解为真实风险分类结果。所述标签可以包括有风险或无风险。所述第一样本集中样本的标签可以是通过人工标注的方式得到的。
77.所述风险识别模型可以是任意适用于数据分类的机器学习模型,本说明书对此不做限定。例如,所述风险识别模型可以是多层感知器(multi-layer perception,mlp)。所述风险识别模型的训练目标可以包括:在训练过程中,所述初始风险识别模型输出的对第一样本集中的样本的预测风险分类结果与所述第一样本集中相应样本的标签的差异(距离)在预设风险识别范围内,以使得训练过程中的所述初始风险识别模型输出的所述第一样本集中的样本的预测风险分类结果趋近于所述第一样本集中相应样本的标签。即所述风险识别模型在训练时的损失函数可以包括风险分类损失函数。在一些实施例中,所述预测风险分类结果可以是样本存在风险的预测风险概率。当所述样本为有风险时,样本对应的标签为1;当所述样本为无风险时,样本的标签为0。在一些实施例中,所述预测风险分类结果可以是样本无风险的预测无风险概率。当所述样本为有风险时,样本对应的标签为0;当所述样本为无风险时,样本的标签为1。所述风险分类损失函数包括每个样本的预测风险分类结果和对应的标签之间的差异。需要说明的是,所述预设风险识别范围可以通过多种方式获取,本说明书对此不做限定。比如,通过经验方式获取,通过统计学方式获取,通过实验方式获取,通过机器学习的方式获取,等等。所述风险分类损失函数的类型可以是任意类型,比如均方差损失函数、平均绝对误差损失函数、分位数损失函数、交叉熵损失函数、hinge损失函数,等等,本说明书对此不做限定。
78.所述风险识别模型可以包括风险特征提取模块和风险识别模块。所述风险特征提取模块的输入为所述第一样本集中的样本,输出为所述样本对应的风险特征;所述风险识别模块的输入为所述样本对应的风险特征,输出为所述样本对应的预测风险分类结果。在步骤s130中,计算设备600可以将所述目标操作行为数据输入至训练好的所述风险识别模型中,所述风险识别模型输出所述目标操作行为数据对应的风险概率或无风险概率,计算设备600基于所述目标操作行为数据对应的风险概率或无风险概率确定所述目标操作行为
数据对应的目标风险分类结果。当所述风险概率超过预定的风险阈值时,或者当所述无风险概率小于预定的无风险阈值时,计算设备600确定所述目标操作行为数据的目标风险分类结果为有风险。当所述风险概率小于预定的风险阈值时,或者当所述无风险概率大于预定的无风险阈值时,计算设备600确定所述目标操作行为数据的目标风险分类结果为无风险。所述风险阈值和所述无风险阈值可以通过多种方式获取,比如通过经验方式获取,通过统计学方式获取,通过实验方式获取,通过机器学习的方式获取,等等。
79.在一些实施例中,所述风险识别模型还可以输出输入数据对应的风险特征。当输入数据为所述目标操作行为数据时,所述风险识别模型可以输出所述目标操作行为数据对应的目标风险特征。当所述输入数据为历史操作行为数据时,所述风险识别模型可以输出所述历史操作行为数据对应的历史风险特征。
80.如前所述,计算设备600还可以将所述目标操作行为数据与所述服务器300中用户在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果。所述用户可以是所述目标用户100。所述用户也可以是服务器300中的所有用户或部分用户。所述用户还可以是服务器300中的正常用户。所述用户还可以是服务器300中的攻击用户。在一些实施例中,所述历史时间窗口可以是所述当前时间窗口之前的任意一个或多个时间窗口。在一些实施例中,所述历史时间窗口可以是所述当前时间窗口之前与所述当前时间窗口相邻的任意一个或多个时间窗口。在一些实施例中,所述历史时间窗口可以是与当前时间窗口处于同一个时间段的历史时间窗口,比如,不同天中的同一个时间段,或者不同周中的同一天,或者不同月中的同一天,等等。
81.在一些实施例中,计算设备600可以基于所述服务器300中用户的历史操作行为数据,得到所述用户的操作规律(以下简称操作规律)。所述操作规律可以包括所述目标用户100的操作规律。所述操作规律也可以包括服务器300中的所有用户或部分用户的操作规律。所述操作规律也可以包括正常用户的操作规律或者而攻击用户的操作规律。计算设备600可以将所述目标操作行为数据与所述操作规律进行匹配,以计算所述目标操作行为数据与所述操作规律的相似度,基于所述目标操作行为数据与所述操作规律的相似度,确定所述目标风险分类结果。其中,所述操作规律可以通过统计学的均值和/或概率的方式体现。在一些实施例中,所述操作规律也可以通过所述风险识别模型得到。
82.为了方便描述,我们将以所述用户为目标用户100为例进行描述。此时,将所述目标操作行为数据与所述服务器300中用户在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果可以是:将所述目标操作行为数据与目标用户100在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果。具体地,计算设备600可以计算所述目标操作行为数据与所述历史操作行为数据的相似度,基于所述相似度确定所述目标风险分类结果。在一些实施例中,所述基于所述相似度确定所述目标风险分类结果,可以包括:确定所述目标操作行为数据与所述历史操作行为数据的相似度大于预设的相似度阈值,确定所述目标风险分类结果为无风险;或者确定所述目标操作行为数据与所述历史操作行为数据的相似度小于所述相似度阈值,确定所述目标风险分类结果为有风险。
83.如前所述,所述风险识别模型可以输出所述目标操作行为数据对应的目标风险特征。计算设备600可以获取目标用户100在历史时间窗口中的历史操作行为数据对应的历史
风险特征,从而得到目标用户100的操作规律。在一些实施例中,将所述目标操作行为数据与目标用户100在历史时间窗口中的历史操作行为数据进行匹配,可以是将所述目标操作行为数据对应的风险特征与所述历史操作行为数据对应的历史风险特征进行匹配,以计算所述目标风险特征与所述历史风险特征的相似度,从而得到所述目标操作行为数据与所述历史操作行为数据的相似度,确定所述目标风险分类结果。示例的,假设所述同一用户为用户c,所述用户c在一周内的多个历史事件窗口内的历史风险特征为[riskfeature1,riskfeature2,...,riskfeaturen],其中n为自然数,n大于1,分别比较riskfeature0(当前时间窗口的目标风险特征)和riskfeature1,riskfeature2,...,riskfeaturen,从而得到所述用户c的目标风险特征以及所述用户c在一周内的多个历史风险特征之间的相似度。例如,计算设备600可以分别获取riskfeature0和riskfeature1,riskfeature2,...,riskfeaturen的相似度,并获取多个相似度的加权和(定义为sum1),或者,均方差之和(定义为sum2),sum1或sum2都可以体现上述相似度。sum1或sum2越大,则表示所述相似度越高,sum1或sum2越小,则表示所述相似度越低。当确定所述目标操作行为数据与所述历史操作行为数据的相似度大于预设的相似度阈值时,确定所述目标风险分类结果为无风险;当确定所述目标操作行为数据与所述历史操作行为数据的相似度小于所述相似度阈值,确定所述目标风险分类结果为有风险。所述相似度阈值可以通过多种方式获取,比如经验方式、统计学方式、实验方式或者机器学习的方式,等等。
[0084]
如前所述,所述操作规律也可以通过统计方式得到。示例的,假设所述历史操作行为数据为所述目标用户100在过去两年内50个不同时间窗口中的历史操作行为数据,其中每个时间窗口中的历史操作行为数据包括:访问的页面。其中所述目标应用的服务场景共有4个,分别为订购飞机票、订购飞机票、订购酒店、订购接送的出租车等。每个服务场景包括至少一个相应的访问页面。用户对于所述访问页面的操作行为规律,可以基于统计学的概率方式体现。例如,可以基于所述目标用户100的历史操作行为数据中访问的页面数据,得到所述目标用户100访问不同访问的页面的概率值,假设所述目标用户100访问订购飞机票服务场景的页面的次数为36次,所述目标用户100访问订购飞机票服务场景的页面的次数为9次,所述目标用户100访问订购酒店服务场景的页面的次数为3次,所述目标用户100访问订购出租车服务场景的页面的次数为2次,可见,所述目标用户100访问订购飞机票服务场景的页面的概率值为36/50=72%,所述目标用户100访问订购飞机票服务场景的页面的概率值为9/50=18%,所述目标用户100访问订购酒店服务场景的页面的概率值为3/50=6%,所述目标用户100访问订购出租车服务场景的页面的概率值为2/50=4%,可见所述目标用户100很少访问订购酒店服务场景的页面和访问订购出租车服务场景的页面,假设预设的相似度阈值为概率值且取值为15%,则若所述目标操作行为数据的访问页面为订购飞机票服务场景的页面,由于18%大于15%,则所述目标操作行为数据的访问页面数据的风险结果为无风险;若所述目标操作行为数据的访问页面为订购出租车服务场景的页面,由于4%小于15%,则所述目标操作行为数据的访问页面数据的风险分类结果为有风险。同理的,对于访问每个时间窗口中的历史操作行为数据为所述目标终端200的设置状态、所述目标终端200的ip地址、所述目标终端200的位置中的任意一种的情况,也可以通过上述方式获得相应的目标操作行为数据的风险结果。若访问每个时间窗口中的历史操作行为数据包括访问的页面、所述目标终端200的设置状态、所述目标终端200的ip地址、所述目标终端
200的位置中的至少两种,则若所述目标操作行为数据中的上述一种数据的风险分类结果为有风险,则所述目标操作行为数据的风险分类结果为有风险。假设每个时间窗口中的历史操作行为数据还包括:每个访问页面的访问时长,则所述每个访问页面的访问时长的操作规律可以通过均值体现。例如,继续上述示例,假设所述目标用户100历史访问订购飞机票服务场景的页面的时长分别为t1-t50(单位为分钟),则所述目标用户100历史访问订购飞机票服务场景的页面的时长的均值为sum(t1-t50)/50,其中sum(t1-t50)表示求t1-t50的和,假设该均值的具体数值为20(单位为分钟),假设所述预设的相似度阈值为75%,若所述目标用户100当前访问订购飞机票服务场景的页面的目标时长为18(单位为分钟),则18/20=90%》75%,则所述目标用户100当前访问订购飞机票服务场景的页面的目标时长的目标风险分类结果为无风险,若所述目标用户100当前访问订购飞机票服务场景的页面的目标时长为5(单位为分钟),则5/20=25%《75%,则所述目标用户100当前访问订购飞机票服务场景的页面的目标时长的目标风险分类结果为有风险。同理的,对于访问每个时间窗口中的历史操作行为数据为所述页面的访问时间的情况,也可以通过上述方式获得相应的目标操作行为数据的风险识别结果。若访问每个时间窗口中的历史操作行为数据为页面的访问时间和页面的访问时长,则若目标操作行为中的一种数据的风险分类结果为有风险,则该目标操作行为数据的风险分类结果为有风险。
[0085]
本领域技术人员应当知晓,所述历史操作行为数据越多,得到的风险分类结果也就更准确。
[0086]
需要注意的是,可能出现通过风险识别模型得到的风险分类结果和通过对比历史操作行为数据的相似度得到的风险分类结果不一致的情况。因此,计算设备600还可以设置确定两种风险识别方式的优先级,或者选择其中任意一种方式进行计算,或者出现结果不一致时,均按照有风险处理。
[0087]
s150:基于所述目标风险分类结果,确定是否主动对所述目标用户100进行活体检测。
[0088]
如前所述,所述目标风险分类结果包括有风险和无风险,因此,s150可以包括:计算设备600确定所述目标风险分类结果为有风险,对所述目标用户100进行活体检测;或者计算设备600确定所述目标风险分类结果为无风险,不对所述目标用户100进行活体检测。所述对目标用户100进行活体检测可以是所述计算设备600主动发起活体检测,而不是由目标用户100触发再发起的,因此,可以有效避免攻击用户提前准备,在攻击用户无意识或无准备的情况下主动发起活体检测,提升安全性。同时,前述的风险识别过程在后台进行,目标用户100全程无感,因此,攻击用户无法提前感知,更无法提前准备,进一步提升安全性。需要说明的是,计算设备600可以在确定所述目标风险分类结果为有风险时,立即对所述目标用户100进行活体检测,也可以在确定所述目标风险分类结果为有风险后,在预设时间内选取适当的时间再对所述目标用户100进行活体检测。所述预设时间可以是确认目标风险分类结果为有风险后的一定时间范围。所述预设时间的长度可以通过多种方式获取,比如经验方式、实验方式、统计方式、机器学习方式,等等。所述预设时间的长度可以小于预设的长度阈值,从而可以避免攻击用户提前准备。所述长度阈值可以是1min、2min,甚至更长或更短。当所述活体检测的方法为周期性触发时,所述长度阈值可以小于所述周期性触发时的触发周期。这是由于计算设备600在确定所述目标风险分类结果为有风险时,所述目标用
户100的目标操作行为可能还没有完成,突然中断目标操作行为可能降低所述目标用户100的体验感。基于此,所述对所述目标用户100进行活体检测可以包括:基于所述目标操作行为数据,确定进行所述活体检测的目标检测时间;以及在所述目标检测时间对所述目标用户100进行活体检测。其中,所述目标检测时间可以包括页面切换的时间以及完成待处理事件的时间中的至少一种。也就是说,在确定需要进一步对所述目标用户100进行活体检测后,还可以先基于所述目标操作行为数据确定进行所述活体检测的目标检测时间,然后根据所述目标检测时间对所述目标用户100进行活体检测,从而可以避免打断所述目标用户100的当前操作,降低所述活体检测引起的所述目标用户100的不适感,在保证活体检测安全性的同时,提升用户体验感。其中,所述目标检测时间通常可以表征为从确定所述目标操作行为数据有风险到所述目标用户100切换当前页面的时间,或者,也可以表征为从确定所述目标操作行为数据有风险到所述目标用户100完成当前的待处理事件的时间,或者,当所述目标用户100进行切换页面的时间和所述目标用户100的待处理事件完成时间相同时,所述目标检测时间可以同时表征所述目标用户100切换页面的时间和所述目标用户100的待处理事件完成时间。示例的,假设目标用户100的当前的目标操作行为是:在凌晨4点使用购票开放平台的购买飞机票服务场景,购买飞机票服务场景的页面可以如图4a-图4d所示,若当前时间窗口中的目标操作行为数据包括所述目标用户100对图4a所示的页面的操作行为数据,且所述基于在当前时间窗口中的目标操作行为数据进行风险分类识别得到的风险分类结果为有风险(假设此时为trisk),需要进一步对所述目标用户100进行活体检测,若此时所述目标用户100对图4a所示页面的操作尚未完成,则所述目标检测时间可以为从trisk到页面切换到图4b、图4c或者图4d所示页面的时间,或者,所述目标检测时间可以为从trisk到页面切换出图4d所示页面的时间,所述页面切换出图4d所示页面的时间为所述目标用户100的待处理时间完成的时间。需要注意的是,因为图4d所示页面之后的页面是付款页面,为了确保安全性,所述目标检测时间不应晚于从trisk到页面所述目标用户100完成付款的时间。
[0089]
本领域技术人员可以通过多种方式获得所述目标检测时间。在一些实施例中,所述目标检测时间可通过所述目标应用或者所述服务器300感知获得。也就是说,所述目标应用和/或所述服务器300可以实时的感知所述目标用户100的操作行为,当确定所述目标操作行为数据存在风险后,若所述目标应用和/或所述服务器300感知所述目标用户100完成了页面切换以及完成待处理事件中的至少一种情况时,所述计算设备600可以主动发起活体检测。
[0090]
在一些实施例中,所述目标检测时间可以通过检测时间预测模型获得,所述检测时间预测模型可以是一个数据计算模型,表征所述操作行为数据和检测时间之间的映射关系。计算设备600可以将所述目标操作行为数据输入至所述检测时间预测模型中,所述检测时间预测模型输出所述目标检测时间。
[0091]
示例的,所述检测时间预测模型可以基于建立数学模型并进行数据拟合的方式获得。服务器300或者其他计算设备可以先获取预设历史时间窗口中的所述历史操作数据及其对应的历史检测时间,并通过数据拟合的方式建立历史操作行为数据和历史检测时间之间的映射关系,从而获取操作行为数据和历史检测时间之间的映射关系,即所述检测时间预测模型。其中,所述历史检测时间可以是所述用户在进行历史操作时,所述计算设备600
基于预设规则感知、获取并存储的,也可以是基于所述预设规则,通过机器或者人工的方式确定的。所述预设规则包括:完成页面切换以及完成待处理事件中的至少一种。
[0092]
示例的,所述检测时间预测模型还可以通过机器学习的方式获得。为了方便描述,我们将训练所述检测时间预测模型的设备定义为训练设备。所述训练设备可以是服务器300,也可以是服务器300以外的其他计算设备,在此不作限定。所述检测时间预测模型的训练方法包括:获取第二样本集及其对应的标签;基于所述第二样本集以及所述标签对初始检测时间预测模型进行训练,直至模型收敛,得到所述检测时间预测模型。
[0093]
所述第二样本集可以包括多个样本。所述多个样本中的每个样本可以是风险样本。所述风险样本可以是存在风险的一组操作行为数据样本。所述第二样本集中样本的标签可以是对每组操作行为数据样本的检测时间的标注,也可以理解为真实检测时间。所述第二样本集中样本的标签可以是基于所述预设规则通过人工标注的方式得到的。也就是说,基于所述预设规则,可以将确定样本有风险后,用户进行页面切换的时间作为标签,或者,将确定样本有风险后,用户完成待处理事件的时间作为标签。
[0094]
所述检测时间预测模型可以是任意适用于数据分类的机器学习模型,本说明书对此不做限定。例如,所述检测时间预测模型可以是多层感知器(multi-layer perception,mlp)。所述检测时间预测模型的训练目标可以包括:在训练过程中,所述初始检测时间预测模型输出的对第二样本集中的样本的预测检测时间与所述第二样本集中相应样本的标签的差异(距离)在预设检测时间范围内,以使得训练过程中的所述初始检测时间预测模型输出的所述第二样本集中的样本的预测检测时间趋近于所述第二样本集中相应样本的标签。即所述检测时间预测模型在训练时的损失函数可以包括预测时间损失函数。预测时间损失函数可以包括每个样本的预测检测时间和对应的标签之间的差异。所述预测时间损失函数的类型可以是任意类型,比如均方差损失函数、平均绝对误差损失函数、分位数损失函数、交叉熵损失函数、hinge损失函数,等等,本说明书对此不做限定。所述预设检测时间范围可以通过多种方式获取,比如通过经验方式获取,通过统计学方式获取,通过实验方式获取,通过机器学习的方式获取,等等,本说明书对此不做限定。
[0095]
在确定了所述目标检测时间后,所述计算设备600可以在所述目标检测时间对所述目标用户100进行活体检测。在一些实施例中,所述计算设备600可以通过在当前操作行为页面上显示活体检测窗口的形式主动进行活体检测。示例的,假设所述目标用户100的当前操作行为的页面如图4d所示,则如图5所示,所述计算设备600可以在图4d所示页面上弹出活体检测窗口,提示所述目标用户100开始进行活体检测。
[0096]
在一些实施例中,所述在所述目标检测时间对所述目标用户100进行活体检测可以包括:在所述目标检测时间,获取所述目标用户100的目标图像;至少基于所述目标图像对所述目标用户100进行活体检测,得到目标活体分类结果;以及输出所述目标活体分类结果。
[0097]
在一些实施例中,所述目标用户100的目标图像可以包括所述目标用户100的静态单帧图像;在一些实施例中,所述目标用户100的目标图像可以包括多帧所述目标用户100的不同识别动作图像,例如,所述计算设备600可以提示并获取所述目标用户100的活体识别动作视频,并从中获取多帧所述目标用户100的图像;在一些实施例中,所述目标用户100的目标图像可以包括多帧所述目标用户100的不同类型的图像,例如,所述不同类型的图像
可以包括所述目标用户100的rgb图像以及深度图像。
[0098]
其中,所述至少基于所述目标图像对所述目标用户100进行活体检测,包括:基于所述目标图像对所述目标用户100进行活体检测;或者基于所述目标图像以及所述目标操作行为数据对所述目标用户100进行活体检测。也就是说,所述计算设备600可以仅基于所述目标图像对所述目标用户100进行活体检测。在进行活体检测之前,计算设备600已经获取并基于所述目标操作行为数据进行了风险识别,所述目标操作行为数据中携带了区用于分正常用户或攻击用户的信息,因此,所述计算设备600可以同时基于所述目标图像和所述目标操作行为数据对所述目标用户100进行活体检测,从而可以在不需要所述目标用户100进行额外配合的情况下,可以为活体检测提供更多有用的信息,从而可以提升活体检测的性能。
[0099]
基于目标图像进行活体检测方式可以有很多种。比如,基于多种不同模态的目标图像进行活体检测的方法,再比如,基于用户动作配合,获取多张不同动作下的目标图像进行活体检测的方法,再比如,通过改变背景光获取多张不同背景光下的目标图像进行活体检测的方法,再比如,基于单模态目标图像进行活体检测的方法,等等。
[0100]
下面,对所述计算设备600基于所述目标图像和所述目标操作行为数据,对所述目标用户100进行活体检测的方法进行详细说明。所述计算设备600可以通过多模态活体检测模型对所述目标用户100进行活体检测。所述多模态活体检测模型可以基于机器学习的方式得到。为了方便描述,我们将训练所述多模态活体检测模型的设备定义为训练设备。所述训练设备可以是服务器300,也可以是服务器300以外的其他计算设备,在此不作限定。所述多模态活体检测的训练方法包括:获取第三样本集及其对应的标签;基于所述第三样本集以及所述标签对初始多模态活体检测模型进行训练,直至模型收敛,得到所述多模态活体检测模型。
[0101]
所述第三样本集中可以包括多个样本。所述第三样本集中的样本可以包括正常用户样本和攻击用户样本,所述第三样本集中的每一样本都包括用户图像样本和相应用户的一组操作行为数据样本,所述相应用户的一组操作行为数据样本可以与第一样本集中的组操作行为数据样本相同,此处不再赘述。所述第三样本集中样本的标签可以是对样本的真实活体分类结果的标注。所述标签可以包括正常用户或攻击用户。所述第一样本集中样本的标签可以是通过机器标注或者人工标注的方式得到的。
[0102]
所述多模态活体检测模型可以是任意适用于数据分类的机器学习模型,本说明书对此不做限定。例如,所述多模态活体检测模型可以是多层感知器(multi-layer perception,mlp)。所述多模态活体检测模型的训练目标可以包括:在训练过程中,所述初始多模态活体检测模型输出的对第三样本集中的样本的预测活体分类结果与所述第三样本集中相应样本的标签的差异(距离)在第一预设活体检测范围内,以使得训练过程中的所述初始多模态活体检测模型输出的所述第三样本集中的样本的预测活体分类结果趋近于所述第三样本集中相应样本的标签。即所述多模态活体检测模型在训练时的损失函数可以包括活体分类损失函数。在一些实施例中,所述预测活体分类结果可以是样本为预测攻击用户概率。当所述样本为攻击用户时,样本对应的标签为1;当所述样本为正常用户时,样本的标签为0。在一些实施例中,所述预测活体分类结果可以是样本为预测正常用户概率。当所述样本为攻击用户时,样本对应的标签为0;当所述样本为正常用户时,样本的标签为1。
所述活体分类损失函数包括每个样本的预测活体分类结果和对应的标签之间的差异。所述活体分类损失函数的类型可以是任意类型,比如均方差损失函数、平均绝对误差损失函数、分位数损失函数、交叉熵损失函数、hinge损失函数,等等,本说明书对此不做限定。
[0103]
所述多模态活体检测模型可以包括操作行为特征编码器、活体特征编码器以及融合决策模块。其中,所述操作行为特征编码器的输入为所述第三样本集中的操作行为数据样本,输出包括所述样本对应的第一活体特征;活体特征编码器的输入是所述第三样本集中的用户图像样本,输出包括所述样本对应的第二活体特征;所述融合决策模块的输入是所述第一活体特征和所述第二活体特征,输出是融合预测活体分类结果。所述融合预测活体分类结果为所述多模态活体检测模型最终输出的预测活体分类结果。也就是说,所述预测活体分类结果可以包括:基于操作行为数据样本和用户图像样本得到的融合预测活体分类结果。
[0104]
在一些实施例中,为提升所述多模态活体检测模型的活体检测精度,所述预测活体分类结果还可以包括基于所述第一活体特征得到的第一预测活体分类结果;和/或基于所述第二活体分类特征得到的第二预测活体分类结果。
[0105]
在一些实施例中,为提升所述多模态活体检测模型的活体检测精度,所述多模态活体检测模型训练目标还可以包括预测一致性,即所述第一预测活体分类结果、所述第二预测活体分类结果与所述融合预测活体分类结果一致,所述一致可以是所述第一预测活体分类结果、所述第二预测活体分类结果与所述融合预测活体分类结果之间的差异在第二预设活体检测范围内,以使得所述第一预测活体分类结果、所述第二预测活体分类结果均趋近于所述融合预测活体分类结果。也就是说,所述多模态活体检测模型的损失函数还可以包括:第一预测活体分类结果与融合预测活体分类结果之间的差异以及第二预测活体分类结果与融合预测活体分类结果之间的差异在所述第二预设活体检测范围内。
[0106]
需要说明的是,所述第一预设活体检测范围和所述第二预设活体检测范围可以通过多种方式获取,比如通过经验方式获取,通过统计学方式获取,通过实验方式获取,通过机器学习的方式获取,等等,本说明书对此不做限定。
[0107]
相应的,在步骤s150中,计算设备600可以将所述目标操作行为数据和用户图像输入至训练好的所述多模态活体检测模型中,所述多模态活体检测模型输出所述目标操作行为数据和目标图像对应的正常用户概率或攻击用户概率,计算设备600基于所述目标操作行为数据和目标图像对应的正常概率或攻击用户概率确定所述用户的活体分类结果为正常用户或攻击用户。当所述攻击用户概率超过预定的攻击阈值时,或者当所述正常用户概率小于预定的活体阈值时,计算设备600确定所述目标用户100的活体分类结果为攻击用户。当所述攻击用户概率小于预定的攻击阈值时,或者当所述正常用户概率大于预定的活体阈值时,计算设备600确定所述目标用户100的活体分类结果为正常用户。所述活体阈值和所述攻击阈值可以通过多种方式获取,比如通过经验方式获取,通过统计学方式获取,通过实验方式获取,通过机器学习的方式获取,等等。
[0108]
本说明书提供的活体检测方法及系统,在所述目标用户100对目标终端200的目标应用中服务场景的页面进行目标操作行为时,计算设备600可以周期性的获取目标操作行为数据并对所述目标操作行为数据进行风险识别,并在风险识别结果为有风险时,计算设备600可以进一步基于所述目标操作行为数据,确定目标检测时间,然后所述基于目标检测
时间主动发起活体检测,并基于所述目标操作行为数据和所述目标用户100的目标图像,基于多模态活体检测模型进行活体检测。由于正常用户和攻击用户对所述目标终端200的目标应用中服务场景的页面进行目标操作行为时,操作行为存在差异,因此,所述目标操作行为数据中携带了区分正常用户或攻击用户的信息,从而,基于所述目标操作行为数据和所述目标用户100的目标图像进行多模态活体检测,可以有效的增加所述多模态活体检测模型的输入信息量,在不需要额外增加所述目标用户100的交互配合的情况下,可以提高所述多模态活体检测模型的活体检测性能。
[0109]
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行活体检测的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测方法p100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的活体检测方法p100的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
[0110]
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
[0111]
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技
术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
[0112]
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
[0113]
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
[0114]
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
[0115]
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。

技术特征:
1.一种活体检测方法,包括:获取目标用户在当前时间窗口中的目标操作行为数据;基于所述目标操作行为数据进行风险识别,得到所述目标用户在所述当前时间窗口对应的目标风险分类结果;以及基于所述目标风险分类结果,确定是否主动对所述目标用户进行活体检测。2.如权利要求1所述的方法,其中,所述目标操作行为数据包括下述数据中的至少一种:访问的页面;页面的访问时间;页面的访问时长;执行所述操作行为数据的目标终端的设置状态;所述目标终端的ip地址;以及所述目标终端的位置。3.如权利要求2所述的方法,其中,所述基于所述目标操作行为数据进行风险识别,得到所述目标用户在所述当前时间窗口对应的目标风险分类结果,包括:基于风险识别模型对所述目标操作行为数据进行识别,确定所述目标风险分类结果;或将所述目标操作行为数据与所述目标用户在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果。4.如权利要求3所述的方法,其中,所述将所述目标操作行为数据与所述目标用户在历史时间窗口中的历史操作行为数据进行匹配,确定所述目标风险分类结果,包括:确定所述目标操作行为数据与所述历史操作行为数据的相似度大于预设的相似度阈值,确定所述目标风险分类结果为无风险;或者确定所述目标操作行为数据与所述历史操作行为数据的相似度小于所述相似度阈值,确定所述目标风险分类结果为有风险。5.如权利要求1所述的方法,其中,所述基于所述目标风险分类结果,确定是否主动对所述目标用户进行活体检测,包括:确定所述目标风险分类结果为有风险,对所述目标用户进行活体检测;或者确定所述目标风险分类结果为无风险,不对所述目标用户进行活体检测。6.如权利要求5所述的方法,其中,所述对所述目标用户进行活体检测包括:基于所述目标操作行为数据,确定进行所述活体检测的目标检测时间;以及在所述目标检测时间对所述目标用户进行活体检测。7.如权利要求6所述的方法,其中,所述目标检测时间包括完成页面切换的时间以及完成待处理事件的时间中的至少一种。8.如权利要求6所述的方法,其中,所述在所述目标检测时间对所述目标用户进行活体检测,包括:在所述目标检测时间,获取所述目标用户的目标图像;至少基于所述目标图像对所述目标用户进行活体检测,得到目标活体分类结果;以及输出所述目标活体分类结果。
9.如权利要求8所述的方法,其中,所述至少基于所述目标图像对所述目标用户进行活体检测,包括:基于所述目标图像对所述目标用户进行活体检测;或者基于所述目标图像以及所述目标操作行为数据对所述目标用户进行活体检测。10.如权利要求9所述的方法,其中,所述基于所述目标图像以及所述目标操作行为数据对所述目标用户进行活体检测,包括:将所述目标操作行为数据和所述目标图像输入多模态活体检测模型进行活体检测,所述多模态活体检测模型在训练时的训练目标包括:所述多模态活体检测模型输出的预测活体分类结果与真实活体分类结果之间的差异在第一预设活体检测范围内,所述预测活体分类结果包括:基于操作行为数据样本和用户图像样本得到的融合预测活体分类结果。11.如权利要求10所述的方法,其中,所述预测活体分类结果还包括:基于所述操作行为数据样本得到的第一预测活体分类结果;和/或基于所述用户图像样本得到的第二预测活体分类结果。12.如权利要求11所述的方法,其中,所述训练目标还包括:所述第一预测活体分类结果、所述第二预测活体分类结果与所述融合预测活体分类结果之间的差异在第二预设活体检测范围内。13.一种活体检测系统,包括:服务器,所述服务器包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集执行权利要求1-12中任一项所述的活体检测方法。

技术总结
本说明书提供的一种活体检测方法及系统,能够在目标用户对目标终端进行操作的过程中,基于目标用户的目标操作行为数据进行风险识别,并根据风险识别的分类结果决定是否对目标用户主动进行活体检测,并在确认目标用户的目标操作行为数据存在风险时,主动对目标用户进行活体检测,避免攻击用户提前准备,提升攻击者的成本,从而提升活体检测的安全性。从而提升活体检测的安全性。从而提升活体检测的安全性。


技术研发人员:曹佳炯
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2023.04.22
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐