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

用户验证方法、用户验证装置、系统以及存储介质

文献发布时间:2023-06-19 11:45:49


用户验证方法、用户验证装置、系统以及存储介质

技术领域

本公开涉及信息安全领域或金融领域,更具体地,涉及一种用户验证方法、用户验证装置、系统以及存储介质。

背景技术

人们使用手机、电脑等电子设备进行工作、生活或娱乐等活动,导致日常使用的电子设备上存储有越来越多的重要数据。例如用户使用手机银行客户端进行银行业务的办理,该用户通过银行客户端可以看到银行余额,并可以办理转账、收款或储蓄等业务。由于涉及到财产安全,需要对电子设备或者手机银行客户端设定密码进行保护,以防止他人使用。相关技术中,例如可以设定九宫格手势密码、数字密码或者字母、数字和符号组合的密码等形式进行保护,该用户可以利用该密码对电子设备进行解锁后使用。

在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题:

若用户设定的密码泄露,由于无法验证是否是用户本人操作,他人也可以使用该密码对电子设备进行解锁并使用,导致安全性较差。

发明内容

有鉴于此,本公开实施例提供了一种能够验证使用电子设备的是否为用户本人的用户验证方法、用户验证装置、以及用户验证系统和存储介质。

本公开实施例的一个方面提供了一种用于电子设备的用户验证方法。所述用户验证方法包括:获取待验证用户对所述电子设备的屏幕进行操作而产生的验证数据,其中,所述验证数据包括所述待验证用户与所述屏幕上N个坐标点接触的顺序数据,以及与N个所述坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。对所述验证数据进行处理获得至少一个第一特征向量。将所述至少一个第一特征向量发送到服务器,以使得所述服务器将所述至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比。当接收到所述服务器发送的对比结果为通过时,所述用户验证通过。

根据本公开的实施例,所述与N个所述坐标点中每个坐标点接触的压力数据包括:有效接触压力值、最大压力值、最小压力值和平均压力值的至少一种。

根据本公开的实施例,所述与N个所述坐标点中每个坐标点接触的接触面积数据包括:有效接触面积、最大接触面积、最小接触面积和平均接触面积中的至少一种。

根据本公开的实施例,所述待验证用户对所述电子设备的屏幕进行操作包括:所述待验证用户对所述屏幕进行点击和/或滑动操作。

根据本公开的实施例,在获取所述验证数据之前,还包括:采集S次所述待验证用户的注册数据,其中,所述注册数据包括所述待验证用户与N个所述坐标点接触的注册顺序数据,以及与每个所述坐标点接触的注册压力数据或注册接触面积数据中的至少一种,S为大于1的整数。对S次采集的所述注册数据分别进行处理获得S组注册特征向量,其中,每组所述注册特征向量包括至少一个所述注册特征向量。将S组所述注册特征向量发送到所述服务器,以使得所述服务器对S组所述注册特征向量取平均值来获得所述至少一个第二特征向量。

本公开实施例的另一个方面提供了一种应用于服务器的用户验证方法。所述用户验证方法包括:接收电子设备发送的至少一个第一特征向量,其中,所述至少一个特征向量由所述电子设备对待验证用户的验证数据进行处理获得,所述验证数据包括所述待验证用户与所述电子设备的屏幕上N个坐标点接触的顺序数据,以及与N个所述坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。将所述至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比,其中,包括:计算每个所述第一特征向量与对应的每个所述第二特征向量的相似性。将对比结果发送到所述电子设备,其中,当所述相似性满足预设条件时,所述对比结果为通过。

根据本公开的实施例,在接收所述至少一个第一特征向量之前,所述方法还包括获得所述至少一个第二特征向量,具体包括:接收所述电子设备发送的S组注册特征向量,其中,每组所述注册特征向量由所述电子设备对每次采集的所述待验证用户的注册数据进行处理而获得,所述注册数据包括所述待验证用户与N个所述坐标点接触的注册顺序数据,以及与每个所述坐标点接触的注册压力数据或注册接触面积数据中的至少一种,S为大于1的整数。对S组所述注册特征向量取平均值,获得所述至少一个第二特征向量,其中,每组所述注册特征向量包括至少一个所述注册特征向量,S为大于或等于1的整数。

根据本公开的实施例,所述计算每个所述第一特征向量与对应的每个所述第二特征向量的相似性包括利用分类模型计算所述相似性,在接收所述至少一个第一特征向量之前还包括训练所述分类模型,具体包括:获得训练集中的M个正样本数据,其中,每个所述正样本数据包括一个已知用户的所述验证数据,M为大于或等于1的整数。基于所述训练集训练单类支持向量机模型获得所述分类模型。

根据本公开的实施例,所述分类模型包括数据处理模型,在所述获得所述分类模型之后还包括:获取所述电子设备的参数。基于所述电子设备的参数修改所述数据处理模型的参数。将修改后的所述数据处理模型发送到所述电子设备,以使得所述电子设备基于修改后的所述数据处理模型处理所述待验证用户的验证数据而获得所述至少一个第一特征向量。

根据本公开的实施例,所述方法还包括:为所述待验证用户分配一个用户标识。预先将所述用户标识与所述至少一个第二特征向量相关联地存储。其中,在所述计算每个所述第一特征向量与对应的每个所述第二特征向量的相似性之前,还包括:基于所述用户标识,将所述至少一个第一特征向量与对应的所述至少一个第二特征向量进行匹配。

本公开实施例的另一方面提供了一种应用于电子设备的用户验证装置。所述用户验证装置包括数据获取模块、数据处理模块、向量发送模块和用户验证模块。所述数据获取模块用于获取待验证用户对所述电子设备的屏幕进行操作而产生的验证数据,其中,所述验证数据包括所述待验证用户与所述屏幕上N个坐标点接触的顺序数据,以及与N个所述坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。所述数据处理模块用于对所述验证数据进行处理获得至少一个第一特征向量。所述向量发送模块用于将所述至少一个第一特征向量发送到服务器,以使得所述服务器将所述至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比。所述用户验证模块用于当接收到所述服务器发送的对比结果为通过时,所述用户验证通过。

本公开实施例的另一方面提供了一种应用于服务器的用户验证装置。所述用户验证装置包括向量接收模块、向量对比模块和结果发送模块。所述向量接收模块用于接收电子没备发送的至少一个第一特征向量,其中,所述至少一个特征向量由所述电子设备对待验证用户的验证数据进行处理获得,所述验证数据包括所述待验证用户与所述电子设备的屏幕上N个坐标点接触的顺序数据,以及与N个所述坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。所述向量对比模块用于将所述至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比,其中,包括:计算每个所述第一特征向量与对应的每个所述第二特征向量的相似性。所述结果发送模块用于将对比结果发送到所述电子设备,其中,当所述相似性满足预设条件时,所述对比结果为通过。

本公开实施例的另一方面提供了一种用户验证系统。所述用户验证系统包括一个或多个存储器、以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的方法。本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

本公开实施例的又一方面提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述的方法。

上述一个或多个实施例具有如下优点或有益效果:可以至少部分地解决若电子设备的解锁密码泄露,他人也可以使用该密码对电子设备进行解锁的问题,通过获取待验证用户的顺序数据,再结合压力数据或接触面积数据中的至少一种,得到验证数据,并将处理验证数据得到的至少一个第一特征向量与预先存储的至少一个第二特征向量进行对比,即使他人获得顺序数据,也能够基于压力数据和/或接触面积数据的不同,通过对比结果验证出是否是本人操作,从而提高安全性。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的可以应用用户验证方法的示例性系统架构;

图2示意性示出了根据本公开的实施例的用于电子设备的用户验证方法的流程图;

图3示意性示出了根据本公开的实施例的获取待验证用户的注册特征向量的流程图;

图4示意性示出了根据本公开的实施例的用于服务器的用户验证方法的流程图;

图5示意性示出了根据本公开的再一实施例的用于服务器的用户验证方法的流程图;

图6示意性示出了根据本公开的又一实施例的用于服务器的用户验证方法的流程图;

图7示意性示出了根据本公开的实施例的将修改后的数据处理模型发送到电子设备的流程图;

图8示意性示出了根据本公开的又一实施例的用于服务器的用户验证方法的流程图;

图9示意性示出了根据本公开的实施例的用于电子设备的用户验证装置的框图;

图10示意性示出了根据本公开的实施例的用于服务器的用户验证装置的框图;

图11示意性示出了根据本公开的实施例的用于电子设备的用户验证装置与用于服务器的用户验证装置的交互流程图;以及

图12示意性示出了根据本公开实施例的适于实现用户验证方法和装置的计算机系统的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

本公开实施例的一个方面提供了一种用于电子设备的用户验证方法。用户验证方法包括:获取待验证用户对电子设备的屏幕进行操作而产生的验证数据,其中,验证数据包括待验证用户与屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。对验证数据进行处理获得至少一个第一特征向量。将至少一个第一特征向量发送到服务器,以使得服务器将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比。当接收到服务器发送的对比结果为通过时,用户验证通过。

相关技术中,可以通过设定九宫格手势密码、数字密码,或者数字、字母和符号组合而成的密码对电子设备加锁,然后电子设备的主人在使用时使用解锁密码先对电子设备进行解锁。上述验证方式是用户可以感知到的,而实际上用户在日常使用电子设备过程中,可以在征得用户同意后,获得用户操作过程中硬件传感器采集的数据,上述数据是用户无感知的具有个人特点的数据。例如不同用户的年龄、性别或体格不同,用户使用电子设备时的角度、与屏幕的接触面积或压力值并不相同。

利用本公开实施例的用户验证方法,通过获取待验证用户设定的顺序数据,再结合具有待验证用户的个人特点的压力数据或接触面积数据中的至少一种,得到验证数据,并将处理验证数据得到的至少一个第一特征向量与预先存储的至少一个第二特征向量进行对比,即使他人获得顺序数据,也能够基于压力数据和/或接触面积数据的不同,进行无感知验证,通过对比结果确定是否是本人操作,从而提高安全性。

图1示意性示出了根据本公开实施例的可以应用用户验证方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括电子设备101、102、103,网络104和服务器105。网络104用以在电子设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用电子设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。电子设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。网络104还可以包括安全验证接口、统一通行证验证单元等,以允许授权通过的电子设备101、102、103才能与服务器105交互。

电子设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。需要说明的是,本公开所指的对用户进行验证,可以包括使用电子设备时进行验证,例如锁屏状态下,还可以包括使用电子设备的某一通讯客户端应用时,进入该应用之前对用户进行验证。

服务器105可以是提供各种服务的服务器,例如对用户利用电子设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给电子设备。

根据本公开的实施例,服务器105可以预先存储有至少一个第二特征向量,或者可以调用存储在数据库中的至少一个第二特征向量。电子设备101、102、103可以将至少一个第一特征向量发送到服务器105。在本公开的一些实施例中,电子设备101、102、103可以直接将验证数据发送到服务器105,由服务器105处理验证数据获得至少一个第一特征向量。

需要说明的是,本公开实施例所提供的应用于电子设备的用户验证方法一般可以由电子设备101、102、103任一个执行。相应地,本公开实施例所提供的应用于电子设备的用户验证方法一般可以设置于电子设备101、102、103任一个中。本公开实施例所提供的应用于服务器的用户验证方法一般可以由服务器105执行。相应地,本公开实施例所提供的应用于服务器的用户验证方法一般可以没置于服务器105中。

本公开实施例所提供的应用于服务器的用户验证方法也可以由不同于服务器105且能够与电子设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的应用于服务器的用户验证装置也可以设置于不同于服务器105且能够与电子设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的电子设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的电子设备、网络和服务器。

图2示意性示出了根据本公开的实施例的用于电子设备的用户验证方法的流程图。

如图2所示,可以用于电子设备的用户验证方法包括操作S210~操作S240。

在操作S210,获取待验证用户对电子设备的屏幕进行操作而产生的验证数据,其中,验证数据包括待验证用户与屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。

根据本公开的实施例,待验证用户对电子设备的屏幕进行操作包括:待验证用户对屏幕进行点击和/或滑动操作。需要说明的是,用户可以使用手指直接对屏幕进行操作,也可以使用如电子笔等第三方装置对屏幕进行操作,本公开不对其进行限定。

根据本公开的实施例,例如待验证用户预先在电子设备105上设置了锁屏密码。当锁屏密码为九宫格滑动解锁形式时,验证数据可以包括待验证用户滑动九宫格的小圆点的顺序数据,例如依次滑动前6个小圆点。其中,前6个小圆点的位置对应6个坐标点,验证数据还可以包括滑动经过每个坐标点时采集的压力数据或接触面积数据中的至少一种。

当锁屏密码为数字、字母或者符号组合的密码形式时,验证数据可以包括密码中各个数字、字母或符号的顺序数据。以密码为“123*abc”为例,首先,待验证用户在解锁时,获取待验证用户调取的键盘信息,例如当前键盘为九键形式的数字键盘。然后,确定键盘上的各个数字对应屏幕上的各个坐标点。接着,获取待验证用户依次点击数字键盘上1、2和3的数字信息,以及顺序数据,并同时获取点击1、2和3时的压力数据或接触面积中的至少一种。再然后,当待验证用户调取符号键盘,或者调取26键形式的英文键盘时,可以重复上述步骤。最后,获取到的验证数据包含有“123*abc”字符信息、顺序数据,以及每个坐标点的压力数据或接触面积中的至少一种。

由于不同的用户使用的电子设备型号不同,使用习惯也不相同,导致调取的键盘尺寸各不相同,因此获取的键盘信息还包括尺寸信息,便于确定各个数字、字母或符号对应的坐标点。在本公开的一些实施例中,可以提供固定大小和尺寸的解锁键盘,能够直接获取待验证用户点击各个数字、字母或符号的字符信息、对应坐标点的顺序数据、以及压力数据或接触面积中的至少一种。

在操作S220,对验证数据进行处理获得至少一个第一特征向量。

根据本公开的实施例,待验证用户与每个坐标点接触的压力数据可以包括:有效接触压力值、最大压力值、最小压力值和平均压力值的至少一种。

根据本公开的实施例,待验证用户与每个坐标点接触的接触面积数据可以包括:有效接触面积、最大接触面积、最小接触面积和平均接触面积中的至少一种。

以九宫格滑动解锁为例,通过在九宫格手势滑动的轨迹中加入数据埋点,获取用户划过每个小圆点时屏幕传感器采集的压力和接触面积数据,拼接成76维向量(例如为1行76列形式的向量)。该向量由前4维和后72维构成,在九宫格手势滑动过程中,可以设置最少经过5个点,最多经过9个点。其中,前4维分别表示第一个小圆点开始滑动时的接触面积、离开最后一个小圆点之前的接触面积、第一个小圆点开始滑动时的压力、离开最后一个小圆点之前的压力,后72维以每8维为一组,共9组,每组表示手势滑动中经过每个小圆点时采集的数据。每组向量中的8维分别表示经过每个小圆点时的有效接触面积、有效压力、最小接触面积、最大接触面积、平均接触面积、最小压力、最大压力、平均压力,若手势滑动过程结束后触及的小圆点数未达9个,则未采集到的数据以0填充。

另外,九宫格滑动解锁的顺序数据可以另一个81维向量表示,以每9维为一组,各组顺序与9个小圆点顺序一一对应。例如第一次滑动的小圆点为第3个,第3个小圆点对应第三组向量,那么第三组的数值为[100000000]。即第1个数值置为1,则表示第3个小圆点在第一次被滑动。

根据本公开的实施例,还可以利用机器学习模型对上述向量进一步处理,得到至少一个第一特征向量。还可以将上述76维向量和81维向量进行组合,得到一个第一特征向量。

在本公开的一些实施例中,在待验证用户使用点击的方式输入数字、字母等密码时,处理验证数据得到第一特征向量的过程与上述类似。例如密码为“123*abc”时,顺序数据可以49维向量表示,以每7维为一组,各组与一个数字、字母或者符号一一对应。在本公开的一些实施例中,可以使用哈希算法对“123*abc”进行处理,获得哈希值作为顺序数据,此时顺序数据不再以向量形式表示。

在操作S230,将至少一个第一特征向量发送到服务器,以使得服务器将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比。

在操作S240,当接收到服务器发送的对比结果为通过时,用户验证通过。

利用本公开实施例的用户验证方法,通过获取待验证用户设定的顺序数据,并结合具有待验证用户的个人特点的压力数据或接触面积数据中的至少一种,得到验证数据,并将处理验证数据得到的至少一个第一特征向量与预先存储的至少一个第二特征向量进行对比,即使他人获得顺序数据,也能够基于压力数据和/或接触面积数据的不同,进行无感知验证,以确定是否是本人操作,从而提高安全性。

图3示意性示出了根据本公开的实施例的获取待验证用户的注册特征向量的流程图。

如图3所示,获取待验证用户的注册特征向量可以包括操作S310~操作S330。

在操作S310,采集S次待验证用户的注册数据,其中,注册数据包括待验证用户与N个坐标点接触的注册顺序数据,以及与每个坐标点接触的注册压力数据或注册接触面积数据中的至少一种,S为大于1的整数。

根据本公开的实施例,在待验证用户为电子设备主人的前提下,例如待验证用户欲对电子设备设置九宫格手势密码,首先可以提示待验证用户设置4次(仅为示例),例如重复滑动4次,然后,在滑动过程中采集顺序数据、以及压力数据和/或接触面积数据作为注册数据。在本公开的一些实施例中,可以在设置密码界面提示待验证用户滑动1次或者2次手势密码,在后续待验证用户解锁的过程中无感知的获取压力数据和/或接触面积数据。

在操作S320,对S次采集的注册数据分别进行处理获得S组注册特征向量,其中,每组注册特征向量包括至少一个注册特征向量。

在操作S330,将S组注册特征向量发送到服务器,以使得服务器对S组注册特征向量取平均值来获得至少一个第二特征向量。

根据本公开的实施例,利用无感知的方法验证用户,即在用户使用电子设备的过程中,采集用户的行为数据以确定该用户的个人特点。因此,通过采集多次注册数据能够更准确的确定该用户的个人特点,防止采集1次可能出现无法准确判断是否是本人的问题。

根据本公开的实施例,由于用户的行为序列具有多样性、无规律性,从采集的数据中抽象出的用户特征无法很好地拟合当前用户,导致在进行无感知验证时常常会放过异常的行为序列,如非本人操作等行为,使无感知验证无法达到预期的目的。而通常每个人操作屏幕的压力数据或接触面积数据具有一定的规律性,因此,通过对顺序数据、压力数据或接触面积数据的处理,可以很好地拟合当前用户,提高验证安全性。

图4示意性示出了根据本公开的实施例的用于服务器的用户验证方法的流程图。

如图4所示,可以用于服务器的用户验证方法包括操作S410~操作S430。

在操作S410,接收电子设备发送的至少一个第一特征向量,其中,至少一个特征向量由电子设备对待验证用户的验证数据进行处理获得,验证数据包括待验证用户与电子设备的屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。

在操作S420,将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比,其中,包括:计算每个第一特征向量与对应的每个第二特征向量的相似性。

根据本公开的实施例,计算两个向量之间的相似性可以选择计算欧氏距离、曼哈顿距离或切比雪夫距离等,本公开不对其进行限定。

在操作S430,将对比结果发送到电子设备,其中,当相似性满足预设条件时,对比结果为通过。

根据本公开的实施例,例如计算欧氏距离时,可以确定预设阈值为0.5,当欧氏距离小于或等于0.5时,相似性即满足预设条件,则对比结果为通过。

根据本公开的实施例,将第二特征向量预先存储在服务器,并利用服务器执行至少一个第一特征向量与预先存储的至少一个第二特征向量的对比操作。相比于在电子设备存储第二特征向量,可以避免他人利用恶意手段破解电子设备而导致第二特征向量泄露。例如,在本公开的一些实施例中,可以在电子设备与服务器进行交互之前,设置安全网关或者统一通行证访问规则,对电子设备进行安全认证,进一步提高用户安全等级。

图5示意性示出了根据本公开的再一实施例的用于服务器的用户验证方法的流程图。

如图5所示,本公开实施例的用户验证方法可以包括操作S510~操作S520、以及操作S410~操作S430。

在操作S510,接收电子设备发送的S组注册特征向量,其中,每组注册特征向量由电子设备对每次采集的待验证用户的注册数据进行处理而获得,注册数据包括待验证用户与N个坐标点接触的注册顺序数据,以及与每个坐标点接触的注册压力数据或注册接触面积数据中的至少一种,S为大于1的整数。

在操作S520,对S组注册特征向量取平均值,获得至少一个第二特征向量,其中,每组注册特征向量包括至少一个注册特征向量,S为大于或等于1的整数。

在操作S410,接收电子设备发送的至少一个第一特征向量,其中,至少一个特征向量由电子设备对待验证用户的验证数据进行处理获得,验证数据包括待验证用户与电子设备的屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。

在操作S420,将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比,其中,包括:计算每个第一特征向量与对应的每个第二特征向量的相似性。

在操作S430,将对比结果发送到电子设备,其中,当相似性满足预设条件时,对比结果为通过。

根据本公开的实施例,参照操作S310,电子设备采集S次待验证用户的注册数据,然后处理注册数据获得S组注册特征向量。其中,电子设备采集的S次可以为有效次数。具体地,首先,服务器接收第一组注册特征向量。然后,接收第二组注册特征向量,计算第二组注册特征向量与第一组注册特征向量中各个之间的相似性,例如两个注册特征向量之间的欧氏距离大于0.5,则第二组注册特征向量为无效向量。并通知电子设备第二次采集的注册数据作废,重新进行第二次数据采集。重复上述步骤,直至接收S组注册特征向量。

根据本公开的实施例,用户在使用电子设备的过程中,两次相同的操作所产生的压力数据或接触面积数据并不会完全一样。因此,对S组注册特征向量取平均值的方式可以确定第二特征向量作为验证基准,并以相似性作为判断条件进行相应调整。从而避免了即使是本人操作也无法验证通过的情况。

图6示意性示出了根据本公开的又一实施例的用于服务器的用户验证方法的的流程图。

如图6所示,本公开实施例的用户验证方法可以包括操作S610~操作S620、以及操作S410~操作S430。其中,在操作S420中计算每个第一特征向量与对应的每个第二特征向量的相似性包括利用分类模型计算相似性。参照图6,在操作S410之前,训练分类模型可以包括操作S610~操作S620。

在操作S610,获得训练集中的M个正样本数据,其中,每个正样本数据包括一个已知用户的验证数据,M为大于或等于1的整数。

根据本公开的实施例,参照图1,例如三个已知用户分别正常使用电子设备101、102和103,在使用过程中,收集三个已知用户的验证数据。因为已知用户在正常使用过程中产生的数据是符合个人特点的,所以属于正样本数据。

在操作S620,基于训练集训练单类支持向量机模型获得分类模型。

在操作S410,接收电子设备发送的至少一个第一特征向量,其中,至少一个特征向量由电子设备对待验证用户的验证数据进行处理获得,验证数据包括待验证用户与电子设备的屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。

在操作S420,将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比,其中,包括:计算每个第一特征向量与对应的每个第二特征向量的相似性。

在操作S430,将对比结果发送到电子设备,其中,当相似性满足预设条件时,对比结果为通过。

根据本公开的实施例,利用用户的行为序列进行无感知验证的目的就在于寻找用户的行为规律。因此,若在训练集中构建负样本,一方面会呈现无规律性,使得机器学习模型无法学到有用的特征,另一方面也会增加构建训练集的成本。使用单类支持向量机算法(one class support vector machine)训练机器学习模型,能够在仅有正样本的情况下,获得能够对正常用户和异常用户进行分类的单类支持向量机模型。

图7示意性示出了根据本公开的实施例的将修改后的数据处理模型发送到电子设备的流程图。

如图7所示,在操作S620中训练分类模型还可以包括操作S710~操作S730,将修改后的数据处理模型发送到电子设备,以对电子设备进行相应的适配。其中,分类模型包括数据处理模型。

在操作S710,获取电子设备的参数。

在操作S720,基于电子设备的参数修改数据处理模型的参数。

在操作S730,将修改后的数据处理模型发送到电子设备,以使得电子设备基于修改后的数据处理模型处理待验证用户的验证数据而获得至少一个第一特征向量。

根据本公开的实施例,例如修改后的数据处理模型可以首先对采集到的压力数据或接触面积数据进行标准化处理,获得预处理后的向量。然后,将预处理后的向量作为模型的输入,输出至少一个第一特征向量。

根据本公开的实施例,待验证用户操作电子设备的屏幕时,电子设备可以通过传感器采集数据。不同型号的电子设备,或者电子设备的操作系统不同,传感器采集到的数值也不相同(如单位、数据格式不同)。可以获取电子设备的型号、操作系统、系统版本和传感器型号等参数,对数据处理模型的参数进行修改,从而为每个用户进行个性化适配。

图8示意性示出了根据本公开的又一实施例的用于服务器的用户验证方法的流程图。

如图8所示,本公开实施例的用户验证方法可以包括操作S510~操作S520、操作S810~操作S820、以及操作S410~操作S430。

在操作S510,接收电子设备发送的S组注册特征向量,其中,每组注册特征向量由电子设备对每次采集的待验证用户的注册数据进行处理而获得,注册数据包括待验证用户与N个坐标点接触的注册顺序数据,以及与每个坐标点接触的注册压力数据或注册接触面积数据中的至少一种,S为大于1的整数。

在操作S520,对S组注册特征向量取平均值,获得至少一个第二特征向量,其中,每组注册特征向量包括至少一个注册特征向量,S为大于或等于1的整数。

在操作S810,为待验证用户分配一个用户标识。

在操作S820,预先将用户标识与至少一个第二特征向量相关联地存储。

在操作S410,接收电子设备发送的至少一个第一特征向量,其中,至少一个特征向量由电子设备对待验证用户的验证数据进行处理获得,验证数据包括待验证用户与电子设备的屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。

在操作S420,将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比,其中,包括:计算每个第一特征向量与对应的每个第二特征向量的相似性。

在操作S430,将对比结果发送到电子设备,其中,当相似性满足预设条件时,对比结果为通过。

根据本公开的实施例,在执行操作S420去计算每个第一特征向量与对应的每个第二特征向量的相似性之前,还可以基于用户标识,将至少一个第一特征向量与对应的至少一个第二特征向量进行匹配。

根据本公开的实施例,服务器可能为多个用户的电子设备提供验证服务,而服务器上存储有多个用户对应的第二特征向量。因此,将每个用户的标识与该用户的第二特征向量相关联的存储,可以提高第一特征向量与第二特征向量的对比速度。

需要说明的是,虽然上文以特定的顺序描述了方法的各个操作,然而本公开的实施例不限于此,上述操作可以根据需要以其他顺序执行。例如步骤S810可以在步骤S520之前执行,也可以同时执行。在一些实施例中,用户标识的生成可以独立于获得第二特征向量的过程来执行。

图9示意性示出了根据本公开的实施例的用于电子设备的用户验证装置900的框图。

如图9所示,用户验证装置900可以包括数据获取模块910、数据处理模块920、向量发送模块930和用户验证模块940。

数据获取模块910例如可以执行操作S210,用于获取待验证用户对电子设备的屏幕进行操作而产生的验证数据,其中,验证数据包括待验证用户与屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。

根据本公开的实施例,与N个坐标点中每个坐标点接触的压力数据包括:有效接触压力值、最大压力值、最小压力值和平均压力值的至少一种。

根据本公开的实施例,与N个坐标点中每个坐标点接触的接触面积数据包括:有效接触面积、最大接触面积、最小接触面积和平均接触面积中的至少一种。

数据处理模块920例如可以执行操作S220,用于对验证数据进行处理获得至少一个第一特征向量。

向量发送模块930例如可以执行操作S230,用于将至少一个第一特征向量发送到服务器,以使得服务器将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比。

用户验证模块940例如可以执行操作S240,用于当接收到服务器发送的对比结果为通过时,用户验证通过。

根据本公开的实施例,用户验证装置900还可以包括第一注册模块。第一注册模块例如可以执行操作S310~操作S330,用于采集S次待验证用户的注册数据,其中,注册数据包括待验证用户与N个坐标点接触的注册顺序数据,以及与每个坐标点接触的注册压力数据或注册接触面积数据中的至少一种,S为大于1的整数。对S次采集的注册数据分别进行处理获得S组注册特征向量,其中,每组注册特征向量包括至少一个注册特征向量。将S组注册特征向量发送到服务器,以使得服务器对S组注册特征向量取平均值来获得至少一个第二特征向量。

图10示意性示出了根据本公开的实施例的用于服务器的用户验证装置1000的框图。

如图10所示,用户验证装置1000可以包括向量接收模块1010、向量对比模块1020和结果发送模块1030。

向量接收模块1010例如可以执行操作S410,用于接收电子设备发送的至少一个第一特征向量,其中,至少一个特征向量由电子设备对待验证用户的验证数据进行处理获得,验证数据包括待验证用户与电子设备的屏幕上N个坐标点接触的顺序数据,以及与N个坐标点中每个坐标点接触的压力数据或接触面积数据中的至少一种,N为大于或等于1的整数。

向量对比模块1020例如可以执行操作S420,用于将至少一个第一特征向量与预先存储的至少一个第二特征向量一一对应地进行对比,其中,包括:计算每个第一特征向量与对应的每个第二特征向量的相似性。

结果发送模块1030例如可以执行操作S430,用于将对比结果发送到电子设备,其中,当相似性满足预设条件时,对比结果为通过。

根据本公开的实施例,用户识别装置1000还可以包括第二注册模块。第二注册模块例如可以执行操作S510~操作S520,用于接收电子设备发送的S组注册特征向量,其中,每组注册特征向量由电子设备对每次采集的待验证用户的注册数据进行处理而获得,注册数据包括待验证用户与N个坐标点接触的注册顺序数据,以及与每个坐标点接触的注册压力数据或注册接触面积数据中的至少一种,S为大于1的整数。对S组注册特征向量取平均值,获得至少一个第二特征向量,其中,每组注册特征向量包括至少一个注册特征向量,S为大于或等于1的整数。

根据本公开的实施例,用户识别装置1000还可以包括训练模块。训练模块例如可以执行操作S610~操作S620,用于获得训练集中的M个正样本数据,其中,每个正样本数据包括一个已知用户的验证数据,M为大于或等于1的整数。基于训练集训练单类支持向量机模型获得分类模型。

根据本公开的实施例,用户识别装置1000还可以包括模型发送模块。模型发送模块例如可以执行操作S710~操作S730,用于获取电子设备的参数。基于电子设备的参数修改数据处理模型的参数。将修改后的数据处理模型发送到电子设备,以使得电子设备基于修改后的数据处理模型处理待验证用户的验证数据而获得至少一个第一特征向量。

根据本公开的实施例,用户识别装置1000还可以包括向量存储模块。向量存储模块例如可以执行操作S810~操作S820,为待验证用户分配一个用户标识。预先将用户标识与至少一个第二特征向量相关联地存储。在本公开的一些实施例中,用户识别装置1000还可以包括匹配模块,用于在计算每个第一特征向量与对应的每个第二特征向量的相似性之前,基于用户标识,将至少一个第一特征向量与对应的至少一个第二特征向量进行匹配。

图11示意性示出了根据本公开的实施例的用于电子设备的用户验证装置900与用于服务器的用户验证装置1000的交互流程图。

如图11所示,用户验证装置900与用户验证装置1000的交互可以包括操作S1101~操作S1107。其中,用户验证装置900可以包括一个或多个,相应地,电子设备可以包括一个或多个。

在操作S1101,当在训练阶段时,可以通过用户验证装置900的第一注册模块采集已知用户的验证数据,并发送给用户验证装置1000。具体地,可以参照操作S310~操作S330。

在操作S1102,用户验证装置1000接收已知用户的验证数据构建训练集,并利用训练模块获得训练模型。具体地,可以参照操作S610~操作S620。

在操作S1103,当在部署阶段时,用户验证装置1000可以利用模型发送模块针对每个电子设备进行部署。具体地,可以参照操作操作S710~操作S730。

根据本公开的实施例,用户验证装置1000在部署阶段还可以对模型进行剪枝、量化等操作,在尽可能减少精度损失的情况下减小模型体积。

在操作S1104,当在注册阶段时,用户验证装置900可以利用第一注册模块对用户进行注册。具体地,可以参照操作S310~操作S330。

根据本公开的实施例,例如用户对电子没备上安装的手机银行客户端启用密码保护,那么数据处理模型可以部署在手机银行客户端。用户可以通过手机银行客户端的安全注册页面提交注册数据,例如九宫格手势密码,以及滑动九宫格的一个小圆点时的压力数据或者接触面积数据。在本公开的一些实施例中,可以基于每个用户的账号id和电子设备型号分配一个用户标识。

在操作S1105,用户验证装置1000接收到用户的注册特征向量后,可以利用第二注册模块对用户进行注册。具体地,可以参照操作S510~操作S520。

在操作S1106,在验证阶段时,用户验证装置900可以将至少一个第一特征向量发送给用户验证装置1000。具体地,可以参照操作S210~操作S240。

根据本公开的实施例,在用户滑动九宫格的过程中采集对应的压力或者接触面积数据,滑动结束后将数据经过预处理并传入客户端侧部署的数据处理模型,模型执行后输出至少一个第一特征向量。

在操作S1107,用户验证装置1000将接收到的至少一个第一特征向量与预先存储的至少一个第二特征向量进行对比,并将对比结果发送到用户验证装置900。

根据本公开的实施例,用户验证装置1000根据相似性判断当前用户数据是否存在异常,对于异常数据(即相似性没有满足预设条件),还可以利用例如人脸、指纹、声纹等其他生物识别验证方法进行二次验证。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任伺其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,用户验证装置900或用户验证装置1000中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,用户验证装置900或用户验证装置1000中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,用户验证装置900或用户验证装置1000中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

需要说明的是,本公开的实施例的用户验证方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本公开的实施例的用户验证的方法和装置的应用领域不做限定。

图12示意性示出了根据本公开实施例的适于实现用户验证方法和装置的计算机系统的方框图。图12示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图12所示,根据本公开实施例的计算机系统1200包括处理器1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1203中,存储有系统1200操作所需的各种程序和数据。处理器1201、ROM1202以及RAM 1203通过总线1204彼此相连。处理器1201通过执行ROM 1202和/或RAM 1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1202和RAM 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统1200还可以包括输入/输出(I/O)接口1205,输入/输出(I/O)接口1205也连接至总线1204。系统1200还可以包括连接至I/O接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备、服务器或用户验证系统实现本公开实施例所提供的用户验证方法。

在该计算机程序被处理器1201执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 用户验证方法、用户验证装置、系统以及存储介质
  • 用户身份在线验证方法及用户身份在线验证系统
技术分类

06120113046180