身份认证方法、装置及终端设备与流程

文档序号:15558895发布日期:2018-09-29 01:46阅读:152来源:国知局

本发明涉及安全技术领域,具体而言,本发明涉及一种身份认证方法、装置及终端设备。



背景技术:

近年来随着社会信息化和智能化大潮的推进,智能终端特别是触屏终端(如智能手机及平板电脑)已经与人们的日常生活密不可分,例如,通过安装在手机上的购物app进行网购,通过安装在手机上的金融app进行转账、支付等。智能终端中存储着大量的个人隐私信息(如短信、通讯录、银行账号、支付账号等),而个人信息被恶意盗取的现象屡见不鲜,严重地损害了智能终端用户的权益,于是智能终端的安全防护成为人们普遍关注的问题。

安全有效的身份认证是智能终端安全防护的核心问题,传统的身份认证主要采用如密码、九宫格图形锁、指纹、人脸等,其中,密码和九宫格图形锁属于基于用户知识的识别技术,容易受到观察攻击和猜测攻击,从而被攻击者盗取解锁方式;指纹和人脸属于基于生物特征的识别技术,虽然可以有效避免上述基于用户知识的识别技术存在的缺陷,但是需要特殊硬件支持,极大增加生产成本,而且识别过程中需要较高的采集精度。于是,亟需一种既简便快捷又可安全高效地验证用户身份、确保数据安全的方法。



技术实现要素:

本发明的目的旨在至少能解决上述的技术缺陷之一,特别是无法简便快捷、安全高效地验证用户身份,确保数据安全的技术缺陷。

本发明的实施例根据一个方面,提供了一种的身份认证方法,包括:

当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据;

基于获取到的行为数据,确定是否满足身份认证的条件;

当满足身份认证的条件时,对用户身份的合法性进行认证。

优选地,所述基于获取到的行为数据,确定是否满足身份认证的条件,包括:

根据所述获取到的行为数据,确定各预设行为分别对应的行为等级,若任一行为等级达到预设等级,则确定满足身份认证的条件;或者,

根据所述获取到的行为数据,确定各预设行为的行为数据的数据量,若至少一种预设行为的行为数据的数据量达到预设数据量阈值,则确定满足身份认证的条件。

优选地,所述当满足身份认证的条件时,对用户身份的合法性进行认证,具体包括:

基于预训练的数学模型及识别算法,确定获取到的各预设行为的行为识别结果;

基于预训练的权重分配模型,确定所述各预设行为的行为识别结果的权重系数,各权重系数之和为预设值;

根据确定出的权重系数及各预设行为的行为识别结果,对用户身份的合法性进行认证。

优选地,所述基于预训练的数学模型及识别算法,确定获取到的各预设行为的行为识别结果,包括:

基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行识别,得到各预设行为的行为数据的识别结果;

基于预定方式,依据各预设行为的行为数据的识别结果,确定各预设行为的行为识别结果。

优选地,所述基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行识别,得到各预设行为的行为数据的识别结果,包括:

将任一预设行为的行为数据,通过与该任一预设行为相匹配的数学模型及识别算法进行识别,并将得到的算法识别结果与行为识别阈值进行比较,得到该预设行为的行为数据的识别结果;

其中,预设行为的数学模型及识别算法是根据该预设行为的行为数据的行为特征及分布特点来确定的;

所述行为识别阈值是根据预设行为的数学模型及识别算法预先训练得到的。

优选地,所述基于预训练的权重分配模型,确定所述各预设行为的行为识别结果的权重系数,包括:

根据各预设行为的行为数据的识别结果,确定各预设行为的行为识别准确率;

基于预训练的权重分配模型,根据各预设行为的行为识别准确率,确定各预设行为的行为识别结果的权重系数。

优选地,根据确定出的权重系数及各预设行为的行为识别结果,对用户身份的合法性进行认证,包括:

确定各预设行为的行为识别结果及其对应的权重系数的加权和;

依据所述加权和与预设阈值的比较结果,对用户身份的合法性进行认证。

优选地,所述用户的预设行为包括以下至少一项:

运动步态行为;触摸幕的滑动行为;触摸幕的点击行为;键盘的点击行为。

本发明的实施例根据另一个方面,还提供了一种身份认证装置,包括:

获取模块,用于当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据;

确定模块,用于基于获取到的行为数据,确定是否满足身份认证的条件;

认证模块,用于当满足身份认证的条件时,对用户身份的合法性进行认证。

优选地,所述确定模块具体用于根据所述获取到的行为数据,确定各预设行为分别对应的行为等级,若任一行为等级达到预设等级,则确定满足身份认证的条件;或者,用于根据获取到的行为数据,确定各预设行为的行为数据的数据量,若至少一种预设行为的行为数据的数据量达到预设数据量阈值,则确定满足身份认证的条件。

优选地,所述认证模块包括行为识别结果确定子模块、权重系数确定子模块和身份认证子模块;

所述行为识别结果确定子模块,用于基于预训练的数学模型及识别算法,确定获取到的各预设行为的行为识别结果;

所述权重系数确定子模块,用于基于预训练的权重分配模型,确定所述各预设行为的行为识别结果的权重系数,各权重系数之和为预设值;

所述身份认证子模块,用于根据确定出的权重系数及各预设行为的行为识别结果,对用户身份的合法性进行认证。

优选地,行为识别结果确定子模块具体用于基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行识别,得到各预设行为的行为数据的识别结果;以及用于基于预定方式,依据各预设行为的行为数据的识别结果,确定各预设行为的行为识别结果。

优选地,行为识别结果确定子模块具体用于将任一预设行为的行为数据,通过与该任一预设行为相匹配的数学模型及识别算法进行识别,并将得到的算法识别结果与行为识别阈值进行比较,得到该预设行为的行为数据的识别结果;其中,预设行为的数学模型及识别算法是根据该预设行为的行为数据的行为特征及分布特点来确定的;所述行为识别阈值是根据预设行为的数学模型及识别算法预先训练得到的。

优选地,权重系数确定子模块具体用于根据各预设行为的行为数据的识别结果,确定各预设行为的行为识别准确率;以及用于基于预训练的权重分配模型,根据各预设行为的行为识别准确率,确定各预设行为的行为识别结果的权重系数。

优选地,身份认证子模块具体用于确定各预设行为的行为识别结果及其对应的权重系数的加权和;以及用于依据所述加权和与预设阈值的比较结果,对用户身份的合法性进行认证。

优选地,所述用户的预设行为包括以下至少一项:

运动步态行为;触摸幕的滑动行为;触摸幕的点击行为;键盘的点击行为。

本发明的实施例根据另一个方面,还提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的身份认证方法。

本发明的实施例根据另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的身份认证方法。

本发明实施提供的身份认证方法,当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据,为后续联合多种预设行为的行为数据,对用户身份的合法性进行认证提供了前提保障;基于获取到的行为数据,确定是否满足身份认证的条件,从而确保获取到的行为数据满足身份认证条件时,才对用户身份的合法性进行认证,使得在不影响用户操作的情况下,尽可能推迟身份认证的时间,以获取足够多的行为数据,提高身份认证的准确率;当满足身份认证的条件时,对用户身份的合法性进行认证,从而在需要进行身份认证时,通过联合获取到的多种行为数据,来对用户身份的合法性进行有效认证,有效避免了采用单一行为数据所造成的认证不稳定性和随机性等问题。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明第一实施例的身份认证方法的流程示意图;

图2为本发明第二实施例的身份认证装置的基本结构示意图;

图3为本发明第二实施例的身份认证装置的详细结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personalcommunicationsservice,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personaldigitalassistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(globalpositioningsystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobileinternetdevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

由于基于行为特征的身份认证技术不仅具有便利、无感知、不会遗忘或丢失及不易被窃取等特点,而且不需要特殊硬件支持,能够极大降低设备成本,于是,基于用户行为特征的身份识别与验证方式越来越受国内外研究人员的关注。用户在操作手机、平板电脑等智能终端的过程中,提供了丰富的行为数据,例如,当用户进行滑动手机屏幕、软键盘输入、点击屏幕、操作软件等具体行为时,智能终端的各种传感器(如触摸传感器、重力传感器、陀螺仪传感器、加速度传感器、gps定位传感器、压力传感器,麦克风等)和用户进行软件操作的痕迹,都提供了大量的用户行为数据,为基于用户行为特征的身份认证技术提供了基础。

现有的基于行为特征的身份认证技术中,仅使用某种单一的行为特征(如基于步态的身份认证技术)进行身份认证,导致身份认证结果不稳定、随机性大,而且往往要求用户在进行身份认证后,才能使用智能终端,即在使用智能终端之前先进行身份认证,导致短时间内无法收集足够多的行为数据来进行身份认证,严重影响了身份认证的准确率。

本发明实施例在解决短时间内无法收集足够多的行为数据,单一行为特征导致身份认证结果不稳定、随机性大的情况下,提供了一种身份认证方法,其中,本发明第一实施例提供的身份认证方法,如图1所示,包括:步骤11,当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据;步骤12,基于获取到的行为数据,确定是否满足身份认证的条件;步骤13,当满足身份认证的条件时,对用户身份的合法性进行认证。

本发明实施例提供的身份认证方法,与现有技术相比,当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据,为后续联合多种预设行为的行为数据,对用户身份的合法性进行认证提供了前提保障;基于获取到的行为数据,确定是否满足身份认证的条件,从而确保获取到的行为数据满足身份认证条件时,才对用户身份的合法性进行认证,使得在不影响用户操作的情况下,尽可能推迟身份认证的时间,以获取足够多的行为数据,提高身份认证的准确率;当满足身份认证的条件时,对用户身份的合法性进行认证,从而在需要进行身份认证时,通过联合获取到的多种行为数据,来对用户身份的合法性进行稳定、有效认证,有效避免了采用单一行为数据所造成的认证不稳定性和随机性等问题。

以下针对各个步骤的具体实现做进一步的说明:

在步骤11中,当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据。

具体地,用户的预设行为包括运动步态行为、触摸幕的滑动行为、触摸幕的点击行为以及键盘的点击行为中的至少一种。

进一步地,可以预先采集一定量的用户进行各种操作行为所产生的行为数据,并将该采集到的行为数据作为样本数据,接着,对该样本数据进行具体分析,确定其主要是由何种用户行为产生的,从而将确定出的用户行为作为身份认证依据的典型行为,即将确定出的用户行为作为用户的预设行为。例如,若18%的样本数据是由用户的运动步态行为产生的,21%的样本数据是由用户滑动触摸屏产生的,25%的样本数据是由用户点击触摸屏产生的,32%的样本数据是由用户点击键盘产生的,4%的样本数据是由用户运行软件产生的,则可以将运动步态行为、触摸幕的滑动行为、触摸幕的点击行为、键盘的点击行为作为用户的预设行为,用于后续的身份认证;又例如,若35%的样本数据是由用户的运动步态行为产生的,20%的样本数据是由用户滑动触摸屏产生的,40%的样本数据是由用户点击触摸屏产生的,5%的样本数据是由网络行为产生的,则可以将运动步态行为、触摸幕的滑动行为、触摸幕的点击行为作为用户的预设行为,用于后续的身份认证;再例如,若25%的样本数据是由用户滑动触摸屏产生的,45%的样本数据是由用户点击键盘产生的,25%的样本数据是由网络行为产生的,5%的样本数据是由用户的运动步态行为产生的,则可以将触摸幕的滑动行为、键盘的点击行为、网络行为作为用户的预设行为,用于后续的身份认证。需要说明的是,此处仅是列举了部分常见用户行为,其它未列举出的常用用户行为同样可以作为用户的预设行为。

进一步地,当检测到用户的上述预设行为时,获取至少两种预设行为分别对应的行为数据,从而联合至少两种行为的行为数据作为身份认证的依据,有效避免了基于单一行为的行为数据进行身份认证时,导致的身份认证结果不稳定、随机性大的问题。

在步骤12中,基于获取到的行为数据,确定是否满足身份认证的条件。

具体地,基于获取到的行为数据,确定是否满足身份认证的条件,包括:根据获取到的行为数据,确定各预设行为分别对应的行为等级,若任一行为等级达到预设等级,则确定满足身份认证的条件;或者,根据获取到的行为数据,确定各预设行为的行为数据的数据量,若至少一种预设行为的行为数据的数据量达到预设数据量阈值,则确定满足身份认证的条件。

进一步地,对获取到的各预设行为的行为数据(即至少两种预设行为的行为数据)进行相应分析,确定获取到的各预设行为的行为数据的敏感程度(即敏感级别),根据行为数据的敏感级别确定该行为数据对应的用户行为的等级,其中,数据的敏感级别是用户根据自身需要预先设定的,触发身份认证的用户行为的等级也是用户根据自身需要预先设定的,一般情况下,行为数据的敏感级别与其对应的用户行为的等级一一对应。例如,用户根据自身需要,将开关机、日历app、天气app等的行为数据的敏感级别设定为低,则与其对应的用户行为的等级也为低;将通讯录、短信、图片等的行为数据的敏感级别设定为中等,则与其对应的用户行为的等级也为中等;将电话、支付业务、银行业务等的行为数据的敏感级别设定为高,则与其对应的用户行为的等级也为高。于是,当用户预先设定触发身份认证的用户行为等级或者行为数据敏感级别为中等时,若用户的具体操作行为等级为低或行为数据敏感级别为低,如浏览日历app、天气app等,则不满足身份认证的条件,不会触发身份认证;若用户的具体操作行为等级为中等或行为数据敏感级别为中等时,如浏览通讯录或短信,则满足身份认证的条件,触发身份认证;当然,若用户的具体操作行为等级为高或行为数据敏感级别为高时,如触发电话、支付业务等,也必然满足身份认证的条件,触发身份认证。

进一步地,虽然用户的具体操作行为等级为低或行为数据敏感级别为低,如浏览日历app、浏览天气app,但是当至少一种预设行为的行为数据收集到足够时,例如达到预设的数据量阈值,也会触发身份认证,换言之,即使用户浏览日历app的行为数据的敏感级别或者行为等级,未达到用户设定的等级,不足以触发身份认证,但此时用户浏览日历app的行为数据已经收集完毕,也将触发身份认证,其中,行为数据是否收集完毕可以通过用户预设数据量阈值的方式来判断,例如,用户预设浏览日历app的数据量阈值为100,则当日历app的行为数据的数据量达到100时即认为行为数据收集完毕,于是,当收集的浏览日历app的数据量达到100时,即使浏览日历app的行为等级为低,也将触发身份认证。

需要说明的是,用户预设的数据量阈值可以根据预先采集的相应用户行为而产生的行为数据量(即样本数据量)而合理设定,例如,用户执行10次日历app的浏览行为所收集的行为数量为100,与用户执行30次、50次日历app的浏览行为所收集的行为数量105相比,浮动不超过5%,则可以设定用户执行日历app的浏览行为的行为数据量达到100时,即认为完成了行为数据的收集工作,满足身份认证的条件,也即若浏览日历app的行为数据量达到预设数据量阈值,则确定满足身份认证的条件。

另外,上述只是以单一的浏览日历app的用户行为为例,具体说明行为数据是否收集完毕的判断过程,其它行为数据是否已经收集完毕的判断也采用类似方法。若获取到的预设行为包括多种,例如预设行为a、b及c,此时:(1)如果只有一种预设行为a的行为数据的数据量达到其对应的预设数据量阈值,而其它预设行为b与c的行为数据的数据量未达到各自的预设数据量阈值,则说明仅对于预设行为a的识别达到了预期标准,而对于预设行为b与c的识别未达到预期标准,此时虽然也满足用户身份认证的条件,但是由于预设行为b与c的行为数据的数据量未达到各自的预设数据量阈值,将可能导致在后续的识别过程,预设行为b与c的识别准确率相对较低,获得相对较小的权重系数,进而可能导致预设行为b与c对联合识别结果的影响较小,使后续对用户身份的合法性进行认证时的认证效果相对较差;(2)如果预设行为a与b的行为数据的数据量达到了各自的预设数据量阈值,而预设行为c的行为数据的数据量未达到其对应的预设数据量阈值,则说明对于预设行为a与b的识别达到了各自的预期标准,而对于预设行为c的识别未达到预期标准,此时满足用户身份认证的条件,但是由于预设行为c的行为数据的数据量未达到其预设数据量阈值,将可能导致在后续的识别过程,预设行为c的识别准确率相对较低,获得相对较小的权重系数,进而可能导致预设行为c对联合识别结果的影响较小,从而后续对用户身份的合法性进行认证时的认证效果依然相对较差;(3)如果预设行为a、b及c的行为数据的数据量都到达各自的预设数据量阈值,则说明仅对于预设行为a、b及c的识别达到了预期标准,此时满足用户身份认证的条件,并且预设行为b与c的识别均未达到预期标准,从而在对用户身份的合法性进行认证时达到最好的认证效果。换言之,当获取到的预设行为包括多种时,若越多的预设行为的行为数据的数据量达到各自的预设数据量阈值,则在对用户身份的合法性进行认证时会取得越好的认证效果,在实际应用中,可以根据需要在达到预设数据量阈值的预设行为的个数与用户身份合法性认证的认证效果之间进行折衷。

在步骤13中,当满足身份认证的条件时,对用户身份的合法性进行认证。

具体地,在确定满足身份认证的条件时,根据获取到的至少两种预设行为分别对应的行为数据,来对用户身份的合法性进行认证,也即联合获取到的各预设行为的行为数据,来对用户身份的合法性进行综合评定,极大提高了身份认证的稳定性和准确性,有效避免仅利用单一预设行为的行为数据进行身份认证所造成的认证不稳定性和随机性等问题。

在一优选实施例中,步骤13包括步骤131(图中未示出)、步骤132(图中未示出)及步骤133(图中未示出),步骤131:基于预训练的数学模型及识别算法,确定获取到的各预设行为的行为识别结果;步骤132:基于预训练的权重分配模型,确定所述各预设行为的行为识别结果的权重系数,各权重系数之和为预设值;步骤133:根据确定出的权重系数及各预设行为的行为识别结果,对用户身份的合法性进行认证。

在另一优选实施例中,步骤131包括步骤1311(图中未示出)和步骤1312(图中未示出),步骤1311:基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行识别,得到各预设行为的行为数据的识别结果;步骤1312:基于预定方式,依据各预设行为的行为数据的识别结果,确定各预设行为的行为识别结果。

具体地,基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行识别,得到各预设行为的行为数据的识别结果,包括:将任一预设行为的行为数据,通过与该任一预设行为相匹配的数学模型及识别算法进行识别,并将得到的算法识别结果与行为识别阈值进行比较,得到该预设行为的行为数据的识别结果;其中,预设行为的数学模型及识别算法是根据该预设行为的行为数据的行为特征及分布特点来确定的;行为识别阈值是根据预设行为的数学模型及识别算法预先训练得到的。

优选地,基于预训练的权重分配模型,确定各预设行为的行为识别结果的权重系数,包括:根据各预设行为的行为数据的识别结果,确定各预设行为的行为识别准确率;基于预训练的权重分配模型,根据各预设行为的行为识别准确率,确定各预设行为的行为识别结果的权重系数。

优选地,根据确定出的权重系数及各预设行为的行为识别结果,对用户身份的合法性进行认证,包括:确定各预设行为的行为识别结果及其对应的权重系数的加权和;依据加权和与预设阈值的比较结果,对用户身份的合法性进行认证。

进一步地,当根据获取到的行为数据,确定其对应的任一预设行为的行为等级达到预设等级,或者,至少一种预设行为的行为数据的数据量达到预设数据量阈值时,则对用户身份的合法性进行认证。在对用户身份的合法性进行认证的过程中,对获取到的至少两种预设行为的行为数据进行相应分析,以确定出该至少两种预设行为的行为数据是否为终端设备合法用户(如手机的机主)的行为。其中,对用户身份的合法性进行认证的基本过程为:首先基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行分析、识别,得到各预设行为的行为数据的识别结果,接着基于预定方式,依据各预设行为的行为数据的识别结果,确定各预设行为的行为识别结果,接着根据各预设行为的行为数据的识别结果,确定各预设行为的行为识别准确率;接着基于预训练的权重分配模型,根据各预设行为的行为识别准确率,确定各预设行为的行为识别结果的权重系数,最后根据确定出的权重系数及各预设行为的行为识别结果,对用户身份的合法性进行认证。

进一步地,对于不同的预设行为会采取不同的数学模型及识别算法,即各种预设行为均具有一个与其匹配的预训练的数学模型,例如,预设行为a对应数学模型a,预设行为b对应数学模型b,预设行为c对应数学模型c,预设行为d对应数学模型d;在确定数学模型后再进一步确定出与数学模型及预设行为均理想匹配的识别算法,其中,识别算法可以嵌入数学模型中,也可以独立存在,例如数学模型a对应识别算法fa,数学模型b对应识别算法fb,数学模型c对应识别算法fc,数学模型d对应识别算法fd,后续可以通过与某一预设行为相匹配的数学模型及识别算法,对该预设行为的对行为数据进行具体分析与识别。

其中,上述用于分析行为数据的数学模型及识别算法,是根据预先采集到的用户某种行为产生的一定量的行为数据(即样本数据),预先训练得到的。在具体的训练过程中,各种行为数据的行为特征及分布规律,决定着具体采用何种数学模型及识别算法,例如,运动步态行为是周期性行为,其对应的行为数据是呈周期分布的,数学模型可以采用基于统计分布的隐马尔可夫模型,识别算法可以采用行为特征序列,得到基于隐马尔科夫模型的输出概率,对于其它的行为数据,根据其行为特征及分布规律,采用其它相匹配的数学模型及识别算法。

在数学模型及识别算法的训练过程中,假如基于高斯分布的高斯模型a(通过a(μ,σ^2)来描述,μ标识其位置,σ标识其分布的幅度)对预设行为a的行为数据的效果最好,于是将基于高斯分布的高斯模型a确定为与预设行为a相匹配的数学模型a,并将高斯模型a的概率密度函数作为预设行为a对应的识别算法fa,f(x)表示输入x(预设行为a的行为数据),属于a(μ,σ^2)的概率;再假如特征模板b对预设行为b的行为数据的效果最好,于是将特征模板b确定为与预设行为b相匹配的数学模型b,即通过特征模板b对预设行为b的行为数据进行识别,同时将描述坐标点到多维向量vectorb(b1,b2,…)的距离的距离函数作为与模型b对应的识别算法,即作为预设行为b的识别算法;再假如基于神经网络的二元识别模型c对预设行为c的行为数据的效果最好,于是将二元识别模型c确定为与预设行为c相匹配的数学模型c,即通过二元识别模型c对预设行为c的行为数据进行识别,二元识别模型c对应的识别算法是训练好的神经网络,即预设行为c的识别算法fc是训练好的神经网络,该神经网络的输出结果只有0(正确,行为数据属于合法用户)或1(错误,行为数据属于非法用户)。

需要说明的是,上述预设行为a对应的数学模型a及识别算法fa、预设行为b对应的数学模型b及识别算法fb及预设行为c对应的数学模型c与识别算法fc,对相应的行为数据进行识别的识别结果的表征方式并不相同,其中,数学模型a及识别算法fa用概率作为输出结果(即表征行为数据的识别结果),数学模型b及识别算法fb用距离作为输出结果(即表征行为数据的识别结果),数学模型c及识别算法fc用0或1作为输出结果(即表征行为数据的识别结果)。

进一步地,由于上述各数学模型及识别算法均具有一定的准确率的问题,所以任一预设行为的行为数据,通过与该任一预设行为相匹配的数学模型及识别算法进行识别的结果(记作算法识别结果),并不能直接作为该预设行为的行为数据的识别结果,需要将得到的算法识别结果与相应的行为识别阈值(例如数学模型a及识别算法fa的行为识别阈值为ta,数学模型b及识别算法fb的行为识别阈值为tb,数学模型c及识别算法fc的行为识别阈值为tc)进行比较,将大于识别阈值的算法识别结果作为该任一预设行为的行为数据的识别结果,其中,行为识别阈值是该任一预设行为的数学模型及识别算法根据训练样本预先训练得到的。

进一步地,根据上述描述,对于预设行为a的某个行为数据的识别结果可有如下表达形式:

a

对于预设行为b的某个行为数据的识别结果可有如下表达形式:

b

对于预设行为c的某个行为数据的识别结果可有如下表达形式:

c

另外,由于不同数学模型及识别算法对行为数据的识别结果的表征方式不相同,所以基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行识别的识别过程也略有差异,尤其是当预设行为的行为数据的数量大于1时。下面以任一预设行为的多个行为数据为例,简单说明上述各数学模型及识别算法对多个行为数据进行识别的过程:(1)对于输出结果为概率的数学模型a及识别算法fa有如下处理过程,将多个(例如10个)行为数据(x1,x2,…,x10)分别输入至数学模型a及识别算法fa,分别得到各行为数据的算法识别结果f(x1),f(x2),…,f(x10),接着将f(x1),f(x2),…,f(x10)与行为识别阈值ta进行比较,得到各行为数据的识别结果,例如-1,1,-1,-1,-1,-1,-1,-1,-1,1。由于每个预设行为均对应唯一的行为识别结果,故需要根据上述多个行为数据的识别结果得到其对应的预设行为的行为识别结果,其中,可以对所有的行为数据的识别结果取均值,即avg=[(-1)+1+(-1)+(-1)+(-1)+(-1)+(-1)+(-1)+(-1)+1]/10,当avg>=0时,预设行为的行为识别结果为1,当avg<0时,预设行为的行为识别结果为-1,另外,也可以把所有的行为数据的识别结果-1,1,-1,-1,-1,-1,-1,-1,-1,1中出现最多的识别结果-1作为预设行为的行为识别结果。(2)对于输出结果为距离的数学模型b及识别算法fb有如下处理过程,先将多个(例如10个)行为数据(x1,x2,…,x10)求均值,例如x=(x1+x2+…+x10)/10,再把均值x作为数学模型b及识别算法fb的输入,得到相应的输出结果(即算法识别结果),接着将算法识别结果与行为识别阈值tb进行比较,从而得到该预设行为的行为识别结果,其中,对于数学模型b及识别算法fb来说,对输入的单个行为数据进行识别时的识别算法1,与输入的多个行为数据的均值进行识别时的识别算法2略有不同,在实际应用根据需要进行调整。

进一步地,得到任一预设行为的多个行为数据的识别结果后,可以根据该多个行为数据的识别结果计算相应的数学模型及识别算法对该任一预设行为的识别准确率,其中,该任一预设行为的识别准确率可以表示为正确识别数与所有识别数的比值。由于预先训练的权重分配模型对各预设行为的权重系数的分配,是以各预设行为的识别准确率为依据的,即权重分配模型是根据识别准确率动态分配各预设行为的权重系数的,于是可以将各预设行为的识别准确率作为权重分配模型,把权重系数作为权重系数的输出,从而后续确定各预设行为的行为识别结果及其对应的权重系数的加权和,并依据该加权和与预设阈值的比较结果,对用户身份的合法性进行认证。其中,权重分配模型是根据不同情况下的行为数据来训练得到,可以是基于机器学习的深度神经网络构建的数学模型,也可以是基于各个行为数据的分布情况,构建的基于概率分布的数学模型。

需要说明的是,各预设行为的行为数据的数量在一定程度上影响着预设行为的识别准确率,进而影响权重分配模型对各预设行为的权重系数的分配。下面对权重分配模型分配权重系数的过程进行简要说明,假如行为a的行为数据xa、行为b的行为数据xb、行为c的行为数据xc及行为d的行为数据xd均只收集到一个,此时数学模型a及识别算法fa对行为数据xa对应的预设行为a的行为识别结果的识别准确率为95%,数学模型b及识别算法fb对行为数据xb对应的预设行为b的行为识别结果的识别准确率为90%,数学模型c及识别算法fc对行为数据xc对应的预设行为c的行为识别结果的识别准确率为97%,则权重分配模型可以将预设行为a的权重系数配置为0.332,将预设行为b的权重系数配置为0.295,将行为c的权重系数配置为0.373,其中,各权重系数之和为预设值1。如果预设行为a的行为数据xa收集到5个,预设行为b的行为数据xb收集到6个,预设行为c的行为数据xc收集到3个,则此时可能有数学模型a对行为数据xa对应的预设行为a的行为识别结果的识别准确率为98%,数学模型b对行为数据xb对应的预设行为a的行为识别结果的识别准确率为97%,数学模型c对行为数据xc对应的预设行为a的行为识别结果的识别准确率为98%,此时,权重分配模型在根据获取到的各预设行为的行为识别结果的识别准确率,重新配置各预设行为对应的权重系数,此时,可以将预设行为a的权重系数重新配置为0.345,将预设行为b的权重系数重新配置为0.325,将预设行为c的权重系数重新配置为0.33,可见,各预设行为的行为数据的数据量影响着数学模型及识别算法对各预设行为的行为识别结果的识别准确率,进而影响着权重分配模型对各预设行为的权重系数的分配。

进一步地,确定各预设行为对应的行为识别结果及权重系数后,计算各预设行为的行为识别结果及其对应的权重系数的加权和,假如预设行为a的行为识别结果为-1,且其对应的权重系数为0.345,预设行为b的行为识别结果为-1,且其对应的权重系数为0.325,预设行为c的行为识别结果为1,且其对应的权重系数为0.33,则加权和为0.345*(-1)+0.325*(-1)+0.33*1=-0.34,由于加权和-0.34小于预设阈值(例如-0.1,0,1等),确定各预设行为对应的用户为非法用户,此时禁止用户进行后续操作,另外可以采取一定的安全措施,采取的安全措施包括但不限于告警提醒,锁死终端设备,通过预定通信方式(如短信、微信等)向终端设备的机主发送消息,向终端设备的服务器发送提醒消息等。另外,当各预设行为的行为识别结果及其对应的权重系数的加权和大于或等于预设阈值(例如-0.1,0,1等),则确定各行为数据对应的用户为合法用户,此时允许用户进行相应的后续操作。

下面,通过具体示例对本发明上述实施例的整个过程,做进一步说明:

假设用户的预设行为主要有3种,分别记作行为a、行为b及行为c,其中,行为a的行为数据记作xa,行为a对应的数学模型为模型a,基于模型a的识别算法为fa;行为b的行为数据记作xb,行为b的数学模型为模型b,基于模型b的识别算法为fb;行为c的行为数据xc,行为c的数学模型为模型c,基于模型c的识别算法为fc;模型和识别算法分别通过训练得到,识别算法表征预训练的数学模型及识别算法正确识别行为数据的概率,行为数据通过终端设备的传感器进行采样及特征提取得到。于是,可以得到模型a及识别算法fa对行为a的行为数据xa的正确识别率为fa(xa);模型b及识别算法fb对行为b的行为数据xb的正确识别率为fb(xb);模型c及识别算法fc对行为c的行为数据xc的正确识别率为fc(xc)。

虽然可以通过上述方式得到各行为的行为数据的行为识别率,例如fa(xa)、fb(xb)及fc(xc)等,但是不能简单的认为行为识别率大于0.5,即可确定各预设行为的行为数据为合法用户的行为数据,而是需要根据训练数据样本得到各模型及识别算法对应的行为识别率阈值,例如,模型a及识别算法fa的行为识别率阈值为ta,模型b及识别算法fb的行为识别率阈值为tb,模型c及识别算法fc的行为识别率阈值为tc,只有当正确识别率满足预设行为识别率阈值时,才可确定各预设行为的行为数据为合法用户的行为数据。也就是说,若fa(xa)大于或等于ta,则确定行为数据xa为合法用户的行为数据,即行为数据xa的行为识别结果test(xa)=1,若fa(xa)小于ta,则确定行为数据xa为非法用户的行为数据,即行为数据xa的行为识别结果test(xa)=-1,其中,预先设定合法用户的行为数据的识别结果为1,非法用户的行为数据的识别结果为-1。同样,若fb(xb)小于或等于tb,则确定行为数据xb的行为识别结果test(xb)=1,若fb(xb)大于tb,则确定行为数据xb的行为识别结果test(xb)=-1;若fc(xc)大于或等于tc,则确定行为数据xc的行为识别结果test(xc)=1,若fc(xc)小于tb,则确定行为数据xc的行为识别结果test(xc)=-1。

其中,识别算法fa、fb和fc在标准情况下的识别准确率是根据预设数量的合法用户(理论识别结果=1)和预设数量的非法用户(理论识别结果=-1)的行为数据样本进行测试得到的,例如100个行为数据xa,100个行为数据xb,100个行为数据xc。也就是说,合法用户的行为数据xa、xb或xc,经过以上步骤后,得到的行为识别结果也是合法用户,即fa(xa)≥ta或fb(xb)≤tb或fc(xc)≥tc,也即test(xa)=1,test(xb)=1,test(xc)=1;非法用户的行为数据xa、xb或xc,经过以上步骤得到的识别结果同样为非法用户,即fa(xa)<ta或fb(xb)>tb,fc(xc)<tc,也即test(xa)=-1,test(xb)=-1,test(xc)=-1;否则为fa、fb及fc识别错误,即识别结果和理论结果不相同。

假如模型a的识别算法fa的正确识别率是95%,即100个行为数据中能够正确识别出95个,识别错误5个;b模型的识别算法fb的正确识别率是90%,即100个行为数据中能够正确识别出90个,识别错误10个;模型c的识别算法fc的正确识别率是85%,即100个行为数据中能够正确识别出85个,识别错误15个。可以看出,行为a的识别算法fa的识别效果最好,行为b的识别算法fb相对差一些,行为c的识别算法fc最差,反映到权重系数,那么标准情况下有:fa的权重系数ra>fb的权重系数rb>fc的权重系数rc;于是,可以设置ra=0.352(最大),rb=0.333,rc=0.315(最小),保证ra+rb+rc=1.0(即各权重系数之和为预设值1)。

假如在标准情况下识别时,识别算法fa的识别结果是合法用户(即识别结果为1),识别算法fb的识别结果是非法用户(即识别结果为-1),识别算法fc的识别结果是非法用户(即识别结果为-1)。那么联合识别结果为0.352*1+0.333*(-1)+0.315*(-1)=-0.296,-0.296<0,更趋近于-1(即非法用户)。根据已知先验经验,虽然fa识别准确率最高,但是因为另外2个模型都认为是非法的,那么最终联合识别结果也认为是非法的,据此可以发现,当模型越多时,联合识别受单个模型的影响越小,越趋于稳定。

需要说明的是,以上都是基于一个行为数据进行识别(即标准情况),而实际识别时,收集到的所有行为数据都会参与识别,并且识别结果只有一个(因为是同一用户的操作行为)。另外,在实际应用中进行识别时,例如基于滑动模型识别时,一般是基于终端开机到进行身份认证这段时间内,所有的滑动行为数据进行识别,行为数据的数量不只是一个,那么便有一批同一用户的行为数据n代表行为数据的个数,a代表预设行为a,代表n个同一用户(合法用户或非法用户)的预设行为a的行为数据,是一个预设行为a的行为数据,对应标准情况。

于是,n>1对应多个行为数据,根据以上的步骤,得到的行为识别结果有可能是不同的,例如可以分别为1,-1,…,又因为该n个行为数据均是同一用户的所为数据,故的行为识别结果只能有唯一的一个,即为所有识别结果的综合,例如可以简单取均值,即avg=(1+-1+…)/n。其中,当avg>=0时的行为识别结果确定为合法用户;当avg<0时,的识别结果确定为非法用户。随着n的增大,得到的的行为识别结果会越准确,但会有一个极限值,例如无限趋近于99.999%,可以预先设定一个数据量阈值na,当n=na时,即可认为的准确率达到预期识别准确率,即通过较少的数据量(na)达到相对较高的识别准确率(例如99%)。

在动态分配权重的过程中,数据量n不同时,模型的行为识别率会不同,进而各个模型的识别结果也会不同,在标准情况下识别率低的模型可能因为该类行为的行为数据量n较大,而提高行为识别率。例如,识别认证时,行为a的行为数据为3个,此时的行为识别率为98%,相应的动态分配的权重行为b的行为数据为4个,此时的行为识别率为98%,相应的动态分配的权重行为c的行为数据为6个,此时的行为识别率为99%,相应的动态分配的权重可见,随着行为数据量n的变化,行为识别率发生了变化,动态分配的权重相对标准情况下,也发生了变化。此时的联合识别结果为test(a)是模型a的识别结果。假如有识别结果为1,识别结果为-1,识别结果为1,则有:test=1*0.332+(-1)*0.332+1*0.336=0.336,其中,0.336更趋近与1,故识别为合法用户。

通过本发明实施提供的身份认证方法,不仅充分考虑了用户体验,尽可能在用户无感知的情况下,根据用户行为的行为等级或行为数据的敏感级别,推迟进行身份认证的时间,以获取尽量多的时间来收集用户的行为数据,确保用户身份认证的准确率,而且联合至少两种行为的行为数据进行身份认证,极大提高了身份认证的稳定性和准确性,同时,根据识别结果及行为数据的数据量动态分配权重系数,进一步提升了身份认证的鲁棒性。

本发明第二实施例提供了一种身份认证装置,如图2所示,包括获取模块21、确定模块22及认证模块23,其中,获取模块21用于当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据;确定模块22用于基于获取到的行为数据,确定是否满足身份认证的条件;认证模块23用于当满足身份认证的条件时,对用户身份的合法性进行认证。

进一步地,确定模块22具体用于根据获取到的行为数据,确定各预设行为分别对应的行为等级,若任一行为等级达到预设等级,则确定满足身份认证的条件;或者,用于根据获取到的行为数据,确定各预设行为的行为数据的数据量,若至少一种预设行为的行为数据的数据量达到预设数据量阈值,则确定满足身份认证的条件。

进一步地,认证模块23包括行为识别结果确定子模块231、权重系数确定子模块232和身份认证子模块233,如图3所示,行为识别结果确定子模块231用于基于预训练的数学模型及识别算法,确定获取到的各预设行为的行为识别结果;权重系数确定子模块232用于基于预训练的权重分配模型,确定各预设行为的行为识别结果的权重系数,各权重系数之和为预设值;身份认证子模块233用于根据确定出的权重系数及各预设行为的行为识别结果,对用户身份的合法性进行认证。

优选地,行为识别结果确定子模块231具体用于基于预训练的数学模型及识别算法,对获取到的各预设行为的行为数据进行识别,得到各预设行为的行为数据的识别结果;以及用于基于预定方式,依据各预设行为的行为数据的识别结果,确定各预设行为的行为识别结果。

优选地,行为识别结果确定子模块231具体用于将任一预设行为的行为数据,通过与该任一预设行为相匹配的数学模型及识别算法进行识别,并将得到的算法识别结果与行为识别阈值进行比较,得到该预设行为的行为数据的识别结果;其中,预设行为的数学模型及识别算法是根据该预设行为的行为数据的行为特征及分布特点来确定的;行为识别阈值是根据预设行为的数学模型及识别算法预先训练得到的。

优选地,权重系数确定子模块232具体用于根据各预设行为的行为数据的识别结果,确定各预设行为的行为识别准确率;以及用于基于预训练的权重分配模型,根据各预设行为的行为识别准确率,确定各预设行为的行为识别结果的权重系数。

优选地,身份认证子模块233具体用于确定各预设行为的行为识别结果及其对应的权重系数的加权和;以及用于依据所述加权和与预设阈值的比较结果,对用户身份的合法性进行认证。

进一步地,用户的预设行为包括以下至少一项:运动步态行为;触摸幕的滑动行为;触摸幕的点击行为;键盘的点击行为。

本发明实施例提供的身份认证装置,当检测到用户的预设行为时,获取至少两种预设行为分别对应的行为数据,为后续联合多种预设行为的行为数据,对用户身份的合法性进行认证提供了前提保障;基于获取到的行为数据,确定是否满足身份认证的条件,从而确保获取到的行为数据满足身份认证条件时,才对用户身份的合法性进行认证,使得在不影响用户操作的情况下,尽可能推迟身份认证的时间,以获取足够多的行为数据,提高身份认证的准确率;当满足身份认证的条件时,对用户身份的合法性进行认证,从而在需要进行身份认证时,通过联合获取到的多种行为数据,来对用户身份的合法性进行稳定、有效认证,有效避免了采用单一行为数据所造成的认证不稳定性和随机性等问题。

本发明第三实施例提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的身份认证方法。

本发明第四实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的身份认证方法。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1