一种身份认证方法及系统与流程

文档序号:11156098阅读:706来源:国知局
一种身份认证方法及系统与制造工艺

本发明涉及通信领域,尤其涉及一种身份认证方法及系统。



背景技术:

目前,常用的身份认证方式有:手机短信验证码、银行卡的CVV码、生物识别等。考虑到手机短信验证码需要用户随身携带手机,同时还存在短信延迟或者被黑客盗取的问题;银行卡存在被盗或丢失的风险,而且一般在发生实际资金损失之前,用户通常不知道银行卡的CVV码已经被泄露;生物识别则包括指纹识别、虹膜识别等,这类生物识别方法在技术实现上也存在各种问题,例如用户的面部特征会由于整容、胖瘦、衰老等原因发生改变,所以也会发生认证失败的问题。考虑到目前常用的身份认证方式仍然存在各种安全隐患,所以亟需一种更加安全且便于用户使用的身份认证方法。



技术实现要素:

本发明实施例提供一种身份认证方法及系统,用以提供一种更加安全且便于用户使用的身份认证方法。

本发明方法包括一种身份认证方法,该方法包括:

在设定时间段内,获取用户操作终端的外接输入设备的使用习惯统计数据;

根据获取的使用习惯统计数据生成所述用户的使用习惯样本;

将生成的使用习惯样本与预设的使用习惯样本库中的样本进行相似度匹配,若匹配成功,则身份认证成功。

基于同样的发明构思,本发明实施例进一步地提供身份认证系统,该系统包括:

获取单元,用于在设定时间段内,获取用户操作终端的外接输入设备的使用习惯统计数据;

生成单元,用于根据获取的使用习惯统计数据生成所述用户的使用习惯样本;

认证单元,用于将生成的使用习惯样本与预设的使用习惯样本库中的样本进行相似度匹配,若匹配成功,则身份认证成功。

本发明实施例通过在用户登录终端之后,继续统计用户对终端的输入设备的使用习惯,然后对当前用户的使用习惯统计数据所构成的样本与历史样本库中样本进行相似度匹配,若匹配成功,则当前这次辅助身份认证成功,否则的话则认证失败,因为本发明实施例提供的身份认证方法对于用户来说是透明的,对输入设备的使用习惯的分析是后台进行的,用户全程是无感知的,用户不需要输入验证码之类的操作,便于用户使用,另外,这种辅助身份认证等于增加一个隐形的防护措施,增强了安全性。

附图说明

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

图1为本发明实施例提供的身份认证方法对应的使用场景示意图;

图2为本发明实施例提供一种身份认证方法流程示意图;

图3为本发明实施例提供一种使用习惯样本库的生成示意图;

图4为本发明实施例提供一种身份认证方法步骤图;

图5为本发明实施例提供一种身份认证系统结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提出了一种新的身份认证方法,该方法的使用场景如图1所示,在图1中,用户101在操作终端102时,使用键盘和鼠标进行输入,因为终端102上的网页上预先加载了JavaScript动态脚本,所以可以获取用户操作了终端的键盘和鼠标的行为。Web服务器103负责分析行为数据,根据后台数据库104中存储的用户行为模板和训练数据,对当前的用户行为进行匹配,确定确定用户身份是否合法。

具体地,参见图2所示,本发明实施例提供一种身份认证方法流程示意图,具体地实现方法包括:

步骤S101,在设定时间段内,获取用户操作终端的外接输入设备的使用习惯统计数据。

步骤S102,根据获取的使用习惯统计数据生成所述用户的使用习惯样本。

步骤S103,将生成的使用习惯样本与预设的使用习惯样本库中的样本进行相似度匹配,若匹配成功,则身份认证成功。

在上述步骤中,终端的外接输入设备可以包括键盘和鼠标等输入设备,当然也可以包括各种遥控器,因为不同的用户使用这类设备的习惯是不相同的,通过统计大量的使用习惯数据,就可以生成用户的使用习惯样本。比如说,用户利用键盘进行输入,那么用户输入键盘的按键时间间隔,以及各个按键按下的时间和次数等生成该用户的使用习惯样本。

需要说明的是,本发明实施例提供的身份认证方法可以作为一种身份认证方法单独使用,当然也可以与传统的身份认证方法相结合,也就是说可以作为一种辅助身份认证方法。如果本发明实施例提供的身份认证方法作为一种辅助身份认证方法,那么先接收用户输入的登录信息,并在用户成功登录后获取用户标识;在用户成功登录后的设定时间段内,才获取用户操作终端的外接输入设备的使用习惯统计数据。如果本发明实施例提供的方法作为辅助身份认证方法,则可以进一步地降低因为传统的认证信息泄露存在的安全危险,提高认证系统整体地安全性。

在执行步骤S101之前,本发明实施例需要预先生成使用习惯样本库,具体地,如图3所示,根据不同用户的注册请求,生成各用户的注册信息,所述注册信息包括用户标识;

针对任意一个用户,在所述用户注册成功后的N个时间段,分别获取所述用户操作终端的外接输入设备的使用习惯统计数据;并根据N个时间段的使用习惯统计数据,生成与所述用户标识对应的使用习惯样本库。

也就是说,用户利用终端的操作系统登录某一应用的客户端时,例如,用户利用台式计算机登录移动网上营业厅时,需要先进行注册,获得用户名和密码,然后,用户后续再登录时,因为网页中预先嵌入了JavaScript动态脚本技术,本发明实施例提供的方法可以开发成一个软件系统,该软件系统监控用户在注册时键盘鼠标输入的行为,或者,系统引导用户在网页进行多轮的键盘和鼠标操作。在此期间,网页通过JavaScript动态脚本技术,获取用户键盘鼠标行为,把相应数据通过网络传输到后台的Web服务器,Web服务器分析用户行为。

其中,收集行为数据具体方法如下:软件系统获取用户登录时输入的用户名标识,然后网页中的JavaScript监测鼠标和键盘事件,当用户的动作触发事件时,则记录相应的数据。JavaScript注册的鼠标键盘事件和相应记录数据如以下表格所示:

软件系统接收从网页传输过来的用户行为数据,统计键盘和鼠标行为信息,统计得到的信息有:鼠标移动平均速率、将屏幕水平和垂直方向等分,产生4个区域。鼠标落在屏幕4个区域的时间比例。又或者是,左键的单击时间间隔均值、方差、右键的单击时间间隔均值、方差、滚轮向上滚动的平均速率、滚轮向下滚动的平均速率、键盘按键的平均时间、方差等。根据用户一次连续操作生成统计信息,被称为用户行为样本Ti=<ti1,ti2…tin>。一般来说,用户鼠标键盘操作行为会受周围环境和心理因素影响,为了避免一次采集收集到的数据是异常样本,因此,系统会引导用户进行多次操作,或采用分段收集数据的方式,生成多张用户行为样本。将这些用户行为样本与用户标识关联得到每个用户的预设的使用习惯样本库,定义如下:

S(id)={Tid,1,Tid,2...Tid,n,m,s1,s2,...sn,Thres}

其中Tid,1..Tid,n表示n个用户模板数据,m表示系统判断时离当前时间最近的模板的数量,n>m;Si表示第i个用户行为模板在身份判断时系统计算的概率值;Thres是使用逻辑回归计算而成,表示下一次判断身份的动态阈值。

在收集足够多的用户行为样本后,系统从中生成训练数据,进行模型训练。模型构建阶段负责识别特征并量化特征对判断的贡献度。该阶段用到的主要算法是分类,分类算法是一种有监督的机器学习算法,需要预先设置有标注的训练数据。具体步骤如下:

步骤201,系统从后台数据库中抽取部分用户行为模板,组成若干个相同用户ID的模板对<Ti,Tj>和不同用户ID的模板对<Ti,Tj>,作为训练数据。相同用户ID的模板对是指其中的Ti和Tj属于同一个用户ID。不同用户ID的模板对是指其中的Ti和Tj不属于同一个用户ID。为了防止训练数据倾斜,影响模型效果,“两份模板属于相同用户ID”和“两份模板属于不同用户ID”两个类别选取的训练数据数量尽可能接近。

步骤202,为上述两个类别的模板对生成特征向量,作为训练数据。

步骤203,将训练数据输入分类器,训练分类器,并构建样本生成模型,将这些使用习惯样本作为一个样本库存储至后台数据库104。

进一步地,所述将生成的使用习惯样本与预设的使用习惯样本库进行相似度匹配,包括:

利用分类器计算所述生成的使用习惯样本与所述预设的使用习惯样本库中的M个样本的相似度,得到M个相似度值;

所述若匹配成功,则身份认证成功,包括:

确定所述M个相似度值的均值是否大于第一阈值,若大于,则身份认证成功。

比如说,当前用户登录之后的一小时内,软件系统收集键盘和鼠标的使用行为数据,生成了当前时段的使用习惯样本,然后将该样本与使用习惯样本库中的最近时间的10个样本进行相似对的匹配,这里是利用预先生成的分类器进行匹配,然后分类器会给出相似度值,进一步,把这10个样本的相似度值进行去平均,就可以得到最终的相似度均值。之所以使用多个样本进行匹配,是因为采用多样本的信息匹对,相比于一张样本,能够避免由于历史样本中存在异常数据,因此造成的错误判断的问题。

进一步地,上述步骤中的第一阈值是根据用户操作终端的外接输入设备的熟练程度,利用公式一动态生成的;

所述公式一为:

thres=q(i+1)+d·day_diff………公式[1]

其中,thres代表第一阈值,q(i+1)表示下一次身份认证期望的概率值,day_diff表示当前认证日期与最后一次认证成功的日期之间的差值,d是系统预设值的参数,其中d越大则对距离上次操作成功的时间间隔长的身份认证的容忍程度越大。

也就是说,根据用户对系统的熟练程度,更新第一阈值thres。一般来说,用户反复输入和使用系统,其操作习惯从开始的生疏到逐渐熟悉,持续趋于稳定的过程,因此,总体来说,一方面,在初始阶段,阈值相对设定得要比较高,能够容忍用户行为的大幅变化,在后期阶段,用户输入习惯趋于固定,容忍幅度相对变小,阈值也会小于初期的阶段;另一方面,如果用户操作时间距离最近操作系统的时间越近,操作稳定性越高,否则,会存在一定幅度的变化;

每个人熟悉系统的时间和过程因人而异,给定用户操作行为数据,系统很难判断用户处于这个学习过程中前期、中期还是后期。因此,我们借鉴用户之前的操作行为,即使用习惯样本库,对用户输入的历史行为进行拟合,使用逻辑回归算法对应的公式[1],计算第一阈值,对于公式[1]中q(i+1)的逻辑回归算法的计算公式如下:

其中i∈[1,n],对应的q(i)∈{s1,s2,....sn),作为回归算法的训练集,通过迭代进行模型训练,以训练出逻辑回归参数a,b,c

因为采用动态阈值技术,在更新用户模板的同时,根据用户对系统的熟悉程度,设置阈值,符合用户真实用户习惯,提升了最终匹配结果的准确度。

进一步地,在身份认证成功之后,还包括:将生成的使用习惯样本存储至所述预设的使用习惯样本库;判断更新后的所述使用习惯样本库内的样本数是否大于第二阈值;若大于,则删除所述使用习惯样本库内的存储时间较长的样本,直至删除后的所述使用习惯样本库内的样本数不大于所述第二阈值。这一步骤主要是为了对使用习惯样本库中的样本进行更新,因为存储时间较长的样本有可能已经不符合目前的用户使用习惯,所以将每次验证成功的当前样本存储至使用习惯样本库,并将历史存储时间较久的样本删除,这样可以保证使用习惯样本库的可参考性。

为了更加系统地描述上述身份认证的过程,本发明实施例进一步地提供图4所示的步骤图,对本发明实施例提供的身份认证方法进行详细阐述。

步骤301,web服务器中嵌入的软件系统接收验证请求,并获取用户标识,用户标识是用来标识区分用户。

步骤302,用户输入用户名和密码登录终端的应用,登录成功后,软件系统通过JavaScript收集用户行为数据,数据收集的方法与上述步骤提到的收集方法相同。

步骤303,软件系统生成当前使用习惯样本TC,软件系统从后台数据库104中,找到与该用户标识相关联的使用习惯样本库S(id)。然后,将Tc与S(id)中的样本进行比对,使用分类器逐一计算当前样本TC和S(id)中离当前时间最近m个模板的概率。这样,产生多个概率值。取概率值的均值作为最终的概率值p。

步骤304,如果p大于等于第一阀值Thres,则判定认证成功

步骤305,如果验证成功,系统添加当前模板至用户标识的使用习惯样本库S(id),并存储至数据库。如果与该用户标识相关联的用户模板数大于第一阀值Thres_n,则删除存储时间最久但非录入阶段存储的模板。

步骤306,如果p小于第一阀值Thres,则判断认证失败,系统提示用户进行其他辅助认证方式。

其中,软件系统对应的伪代码如算法1所示:

其中,算法第11行,系统将Tc至模板集合SET(u),然后,将Tc与用户ID关联,存储至后台数据库。

因为鼠标和键盘这类输入设备具有易采集、部署实施成本低、管理维护容易等的优点。采集数据只需要鼠标和键盘,相比于U盘和指纹识别等方法,用户设备成本几乎等于零,用户端部署无需额外工作。另外,输入设备的行为特征是用户长期操作形成的习惯,相比于指纹识别和静态密码,具有较好的保密性,较难被窃取。

基于相同的技术构思,本发明实施例还提供一种身份认证系统,该系统可执行上述方法实施例。本发明实施例提供的系统如图5所示,包括:获取单元401、生成单元402、认证单元403,其中:

获取单元401,用于在设定时间段内,获取用户操作终端的外接输入设备的使用习惯统计数据;

生成单元402,用于根据获取的使用习惯统计数据生成所述用户的使用习惯样本;

认证单元403,用于将生成的使用习惯样本与预设的使用习惯样本库中的样本进行相似度匹配,若匹配成功,则身份认证成功。

进一步地,所述获取单元401具体用于:接收用户输入的登录信息,并在用户成功登录后获取用户标识;在用户成功登录后的设定时间段内,获取用户操作终端的外接输入设备的使用习惯统计数据。

进一步地,所述生成单元402还用于:根据不同用户的注册请求,生成各用户的注册信息,所述注册信息包括用户标识;

针对任意一个用户,在所述用户注册成功后的N个时间段,分别获取所述用户操作终端的外接输入设备的使用习惯统计数据;并根据N个时间段的使用习惯统计数据,生成与所述用户标识对应的使用习惯样本库。

进一步地,所述认证单元403具体用于:利用分类器计算所述生成的使用习惯样本与所述预设的使用习惯样本库中的M个样本的相似度,得到M个相似度值;确定所述M个相似度值的均值是否大于第一阈值,若大于,则身份认证成功。

进一步地,所述第一阈值是根据用户操作终端的外接输入设备的熟练程度,利用公式一动态生成的,公式一的具体内容如上文公式[1]所述,不再赘述。

进一步地,还包括:更新单元404,用于将生成的使用习惯样本存储至所述预设的使用习惯样本库;判断更新后的所述使用习惯样本库内的样本数是否大于第二阈值;若大于,则删除所述使用习惯样本库内的存储时间较长的样本,直至删除后的所述使用习惯样本库内的样本数不大于所述第二阈值。

综上所述,本发明实施例通过在用户登录终端之后,继续统计用户对终端的输入设备的使用习惯,然后对当前用户的使用习惯统计数据所构成的样本与历史样本库中样本进行相似度匹配,若匹配成功,则当前这次辅助身份认证成功,否则的话则认证失败,因为本发明实施例提供的身份认证方法对于用户来说是透明的,对输入设备的使用习惯的分析是后台进行的,用户全程是无感知的,用户不需要输入验证码之类的操作,便于用户使用,另外,这种辅助身份认证等于增加一个隐形的防护措施,增强了安全性。因为鼠标和键盘这类输入设备具有易采集、部署实施成本低、管理维护容易等的优点。采集数据只需要鼠标和键盘,相比于U盘和指纹识别等方法,用户设备成本几乎等于零,用户端部署无需额外工作。另外,输入设备的行为特征是用户长期操作形成的习惯,相比于指纹识别和静态密码,具有较好的保密性,较难被窃取。

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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