一种用户身份认证方法和装置与流程

文档序号:14993453发布日期:2018-07-20 22:59阅读:213来源:国知局

本发明涉及用户身份认证技术领域,尤其涉及一种用户身份认证方法和装置。



背景技术:

在现有技术中,为了系统的安全性,需要对用户进行身份认证,最常见的方法是基于用户名和密码相结合的文本匹配身份认证,这种方法虽简单易行,然而一旦密码泄露,这种身份认证方法就会失效,导致这种方式的安全性比较低。

因此,设计一种安全性高的用户身份的方法,就成为一个亟待解决的问题。



技术实现要素:

本发明的目的在于提供一种用户身份认证方法和装置。

为了实现上述发明目的之一,本发明一实施方式提供了一种生成用户身份验证模型的方法,包括以下步骤:在用户训练时,从键盘获得若干组键盘消息,每组键盘消息包括若干按键的持续按住时间、相邻按键的击键时间间隔;生成若干组键盘消息的统计特征值,并依据所述若干组键盘消息的统计特征值生成用户身份验证模型。

作为本发明一实施方式的进一步改进,所述生成若干组键盘消息的统计特征值,包括:对每组键盘消息,都生成统计特征值,生成方法如下:

cvyz=cv(yi)*cv(zi)

meanyz=mean(yi)*mean(zi),stdyz=std(yi)*std(zi)

skewyz=skew(yi)*skew(zi),kurtyz=kurt(yi)*kurt(zi)

其中,yi为按键的持续按住时间,zi为相邻按键的击键时间间隔,n为该组键盘消息中的按键的数量。

作为本发明一实施方式的进一步改进,所述依据所述若干组键盘消息的统计特征值生成用户身份验证模型,包括:

β=(xtx)-1xty,其中m为所述键盘消息的数量,qi为第i组键盘消息的统计特征矢量,i=1,2,...,m,qi=(mean(y),std(y),cv(y),skew(y),kurt(y),mean(z),std(z),cv(z),skew(z),kurt(z),cvyz,meanyz,stdyz,skewyz,kurtyz,cvkewkurtyz),y为m行。

本发明一实施方式提供了一种生成用户身份验证模型的装置,包括以下模块:

训练模块,用于在用户训练时,从键盘获得若干组键盘消息,每组键盘消息包括若干按键的持续按住时间、相邻按键的击键时间间隔;

处理模块,用于生成若干组键盘消息的统计特征值,并依据所述若干组键盘消息的统计特征值生成用户身份验证模型。

本发明一实施方式提供了一种用户身份验证方法,包括以下步骤:在接收键盘所输入的用户名和密码时,获取若干按键的持续按住时间和相邻按键的击键时间间隔;依据所述若干按键的持续按住时间和相邻按键的击键时间间隔生成统计特征值;在确定所述统计特征值符合用户身份验证模型、且用户名和密码都正确时,通过验证。

作为本发明一实施方式的进一步改进,所述依据所述若干按键的持续按住时间和相邻按键的击键时间间隔生成统计特征值,包括:

cvyz=cv(yi)*cv(zi)

meanyz=mean(yi)*mean(zi),stdyz=std(yi)*std(zi)

skewyz=skew(yi)*skew(zi),kurtyz=kurt(yi)*kurt(zi)

其中,yi为按键的持续按住时间,zi为相邻按键的击键时间间隔,n为若干按键的数量。

作为本发明一实施方式的进一步改进,所述确定所述统计特征值符合用户身份验证模型,包括:

数值num=βqt大于等于预设值时,符合用户身份验证模型,其中,qi=(mean(y),std(y),cv(y),skew(y),kurt(y),mean(z),std(z),cv(z),skew(z),kurt(z),cvyz,meanyz,stdyz,skewyz,kurtyz,cvkewkurtyz)。

本发明一实施方式提供了一种用户身份验证装置,包括以下模块:输入模块,用于在接收键盘所输入的用户名和密码时,获取若干按键的持续按住时间和相邻按键的击键时间间隔;统计特征值生成模块,用于依据所述若干按键的持续按住时间和相邻按键的击键时间间隔生成统计特征值;验证模块,用于在确定所述统计特征值符合用户身份验证模型、且用户名和密码都正确时,通过验证。

作为本发明实施方式的进一步改进,所述统计特征值生成模块,还用于:

cvyz=cv(yi)*cv(zi)

meanyz=mean(yi)*mean(zi),stdyz=std(yi)*std(zi)

skewyz=skew(yi)*skew(zi),kurtyz=kurt(yi)*kurt(zi)

其中,yi为按键的持续按住时间,zi为相邻按键的击键时间间隔,n为若干按键的数量。

作为本发明一实施方式的进一步改进,所述验证模块,还用于:

数值num=βqt大于等于预设值时,符合用户身份验证模型,其中,qi=(mean(y),std(y),cv(y),skew(y),kurt(y),mean(z),std(z),cv(z),skew(z),kurt(z),cvyz,meanyz,stdyz,skewyz,kurtyz,cvkewkurtyz)。

相对于现有技术,本发明的技术效果在于:本发明实施例中的用户身份验证方法能够使用相关系数方法与分类算法在解决短密码击键序列中面临的过于松驰和过拟合问题,该方法具有较好的稳定性,充分考虑了击键的总时长、击键速度、偏度、峰度和变异程度等。这种基于统计学中“距函数”统计量的方法能够较好地把握短序列的总体变异情况,对这些统计量做组合之后,用户身份验证时,具有较好的稳定性和鲁棒性。并且该方法既能在合法用户多次重复击键行为有微小差异的情况下与其他非法用户区有较高的识别率,确保合法用户不至于被挡在门外,又能在合法用户单次击键序列的平稳性变化微小的情况下充分捕捉特征,进而有效地做特征相似度匹配计算,判别用户身份是否合法。

附图说明

图1是本发明实施例一中的生成用户身份验证模型的方法的流程示意图;

图2是本发明实施例一中的用户身份验证方法的流程示意图。

具体实施方式

以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。

本发明实施例一提供了一种生成用户身份验证模型的方法,该生成用户身份验证模型的方法可以由操作系统执行,如图1所述,包括以下步骤:

步骤101:在用户训练时,从键盘获得若干组键盘消息,每组键盘消息包括若干按键的持续按住时间、相邻按键的击键时间间隔;这里,当用户点击按键时,按键会被按下(此时的时刻即为按下时刻),之后用户松开手指,按键会弹起(此时的时刻即为弹起时刻),且每个按键都对应有一个输入值;因此,每个按键的弹起时刻与按下时刻的时间差就为该按键的持续按住时间。并且,由于已经获得了每个按键的输入值、按下时刻和弹起时刻,因此,可以得到若干按键被击键的次序,即可以获得每个输入值及其相邻的输入值,例如:第二输入值是紧跟着第一输入值之后输入的,第一输入值的弹起时刻为第一弹起时刻,第二输入值的按下时刻为第二按下时刻,因此,第一、第二输入值之间的击键时间间隔为第二按下时刻与第一弹起时刻之间的时间差。

在实际中,用户要使用系统,就先需要在该系统上注册,并输入用户的相关信息(例如,用户名和密码等),从而该系统就可以获得若干组键盘消息(例如,在用户输入用户名时,就可以获得一组键盘消息,该键盘消息包含有用户名中每个字符对应的按键的持续按住时间、相邻字符对应的按键之间的击键时间间隔;用户输入密码时,就可以获得一组键盘消息,该键盘消息包含有密码中每个字符对应的按键的持续按住时间、相邻字符对应的按键之间的击键时间间隔),这就是用户训练的一个实例;在用户使用系统时,用户有可能使用键盘输入信息,这也是用户训练的一个实例。

步骤102:生成若干组键盘消息的统计特征值,并依据所述若干组键盘消息的统计特征值生成用户身份验证模型。

在实际中,不同用户在击键时的持续按住时间和相邻按键的击键时间间隔等都是不一样的,这两个属性值与用户的年龄、性别和对计算机键盘的熟悉程度等都有联系,并且不同用户的击键行为模式很难以被他人模仿和盗用。而本实施例中的生成用户身份验证模型的方法,就能够依据这两个属性值来生成准确率较高的用户身份验证模型。

优选的,所述生成若干组键盘消息的统计特征值,包括:

对每组键盘消息,都生成统计特征值,生成方法如下:

cvyz=cv(yi)*cv(zi)

meanyz=mean(yi)*mean(zi),stdyz=std(yi)*std(zi)

skewyz=skew(yi)*skew(zi),kurtyz=kurt(yi)*kurt(zi)

其中,yi为按键的持续按住时间,zi为相邻按键的击键时间间隔,n为该组键盘消息中的按键的数量。

这里,对于每组键盘消息都使用上述公式来计算该组键盘消息的各种统计特征值,可以理解的是,不同组的键盘消息的n的值有可能不一样,并且,在一组键盘消息中,如果包含有n个字符,每个字符都对应有一个持续按住时间(数量为n),相邻的字符对应有一个击键时间间隔(数量为n-1)。

这里,对于yi,i=1,2,...,n而言,(1)mean(y)为值;(2)std(y)为总体标准偏差,能够表征yi与其均值的分散程度;(3)cv(y)为变异系数,其能够消除单位和/或均值不同对两个或多个yi变异程度比较的影响;(4)skew(y)为,是指非对称分布的偏斜状态,即指统计总体当中的变量值分别落在众数(m0)的左右两边,呈非对称性分布;(5)kurt(y)是峰度,用于描述总体中所有取值分布形态陡缓程度的统计量。

这里,对于zi,i=1,2,...,n-1而言,(1)mean(z)为值;(2)std(z)为总体标准偏差,能够表征yi与其均值的分散程度;(3)cv(z)为变异系数,其能够消除单位和/或平均数不同对两个或多个yi变异程度比较的影响;(4)skew(z)是指非对称分布的偏斜状态,即指统计总体当中的变量值分别落在众数(m0)的左右两边,呈非对称性分布;(5)kurt(z)是峰度,用于描述总体中所有取值分布形态陡缓程度的统计量。

优选的,所述依据所述若干组键盘消息的统计特征值生成用户身份验证模型,包括:

β=(xtx)-1xty,其中m为所述键盘消息的数量,qi为第i组键盘消息的统计特征矢量,i=1,2,...,m,qi=(mean(y),std(y),cv(y),skew(y),kurt(y),mean(z),std(z),cv(z),skew(z),kurt(z),cvyz,meanyz,stdyz,skewyz,kurtyz,cvkewkurtyz),y为m行。

本发明实施例提供了一种生成用户身份验证模型的装置,包括以下模块:

训练模块,用于在用户训练时,从键盘获得若干组键盘消息,每组键盘消息包括若干按键的持续按住时间、相邻按键的击键时间间隔;

处理模块,用于生成若干组键盘消息的统计特征值,并依据所述若干组键盘消息的统计特征值生成用户身份验证模型。

本发明实施例二提供了一种用户身份验证方法,如图2所示,包括以下步骤:

步骤201:在接收键盘所输入的用户名和密码时,获取若干按键的持续按住时间和相邻按键的击键时间间隔;可以理解的是,所述若干按键包括输入用户名和密码时,用户所按下的按键,也有可能包含有其他按键,例如,enter键,shift键等。

步骤202:依据所述若干按键的持续按住时间和相邻按键的击键时间间隔生成统计特征值;

步骤203:在确定所述统计特征值符合用户身份验证模型、且用户名和密码都正确时,通过验证。这里,所述身份验证模型与实施例一中的用户身份验证模型是相同的。

在本发明的用户身份认证方法中,在用户登录时,系统会获取若干按键的持续按住时间和相邻按键的击键时间间隔、并以此生成统计特征值,只有该统计特征值符合用户身份验证模型,用户才能成功登陆系统。

优选的,所述依据所述若干按键的持续按住时间和相邻按键的击键时间间隔生成统计特征值,包括:

cvyz=cv(yi)*cv(zi)

meanyz=mean(yi)*mean(zi),stdyz=std(yi)*std(zi)

skewyz=skew(yi)*skew(zi),kurtyz=kurt(yi)*kurt(zi)

其中,yi为按键的持续按住时间,zi为相邻按键的击键时间间隔,n为若干按键的数量。

优选的,所述确定所述统计特征值符合用户身份验证模型,包括:数值num=βqt大于等于预设值时,符合用户身份验证模型,其中,qi=(mean(y),std(y),cv(y),skew(y),kurt(y),mean(z),std(z),cv(z),skew(z),kurt(z),cvyz,meanyz,stdyz,skewyz,kurtyz,cvkewkurtyz)。

本发明实施例中的用户身份验证方法能够使用相关系数方法与分类算法在解决短密码击键序列中面临的过于松驰和过拟合问题,该方法具有较好的稳定性,充分考虑了击键的总时长、击键速度、偏度、峰度和变异程度等。这种基于统计学中“距函数”统计量的方法能够较好地把握短序列的总体变异情况,对这些统计量做组合之后,用户身份验证时,具有较好的稳定性和鲁棒性。并且该方法既能在合法用户多次重复击键行为有微小差异的情况下与其他非法用户区有较高的识别率,确保合法用户不至于被挡在门外,又能在合法用户单次击键序列的平稳性变化微小的情况下充分捕捉特征,进而有效地做特征相似度匹配计算,判别用户身份是否合法。

本发明实施例还提供了一种用户身份验证装置,包括以下模块:

输入模块,用于在接收键盘所输入的用户名和密码时,获取若干按键的持续按住时间和相邻按键的击键时间间隔,

统计特征值生成模块,用于依据所述若干按键的持续按住时间和相邻按键的击键时间间隔生成统计特征值;

验证模块,用于在确定所述统计特征值符合用户身份验证模型、且用户名和密码都正确时,通过验证。

优选的,所述统计特征值生成模块,还用于:

cvyz=cv(yi)*cv(zi)

meanyz=mean(yi)*mean(zi),stdyz=std(yi)*std(zi)

skewyz=skew(yi)*skew(zi),kurtyz=kurt(yi)*kurt(zi)

其中,yi为按键的持续按住时间,zi为相邻按键的击键时间间隔,n为若干按键的数量。

优选的,所述验证模块,还用于:

数值num=βqt大于等于预设值时,符合用户身份验证模型,其中,qi=(mean(y),std(y),cv(y),skew(y),kurt(y),mean(z),std(z),cv(z),skew(z),kurt(z),cvyz,meanyz,stdyz,skewyz,kurtyz,cvkewkurtyz)。

应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

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