APP下载

基于鼠标和键盘行为特征组合的用户身份认证

2016-08-05王振辉王振铎支侃买

计算机应用与软件 2016年7期
关键词:鼠标键盘身份

王振辉 王振铎 支侃买

1(西安翻译学院工程技术学院 陕西 西安 710105)2(西安思源学院电子信息工程学院 陕西 西安 710038)



基于鼠标和键盘行为特征组合的用户身份认证

王振辉1王振铎2支侃买1

1(西安翻译学院工程技术学院陕西 西安 710105)2(西安思源学院电子信息工程学院陕西 西安 710038)

摘要为解决单一行为特征存在的不足和提高认证识别率,提出一种基于鼠标和键盘行为特征组合的双指标用户身份认证方法。首先分别提取鼠标和键盘两种指标的行为特征,然后利用支持向量机进行模式识别,实现特征分析和验证,以达到实时监测用户身份、检测非法用户的目的。最后通过多个用户采集鼠标和键盘行为数据进行身份识别与认证实验。结果表明,相对于单一行为特征,该方法提高了用户身份认证的识别率,降低了误识率和拒识率,而且结果优于BP和SOM方法,充分展示了双指标身份认证的高可靠性。

关键词行为特征身份认证支持向量机击键特征鼠标行为

0引言

生物认证是近年来流行的用户身份鉴别技术,并且逐渐得到关注。从最初的指纹识别,到后来的声音、手势、掌纹、虹膜及人脸等的识别,这些生物认证在硬件安装和使用上需要花费财力和培训,很难进入一般的商业和个人用户领域,不利于系统的实施和推广。键盘和鼠标普及率高且不需要添加额外的设备,通过监听用户键盘击键特征或鼠标行为特征,对用户进行身份识别已成为生物认证领域的一个新的研究热点[1]。

键盘击键特征因其唯一性,且认证工作在后台以软件的方式实现,对用户透明,具有隐蔽性,可以避免入侵者有针对性的破坏和伪造。所以,利用击键特征进行身份认证的技术得到高度重视,国内外许多学者为此做了大量的研究工作,取得了不少成果[2-4]。文献[5]使用统计学方法,将测试样本和原型进行均值比较,这种方法需要大量训练样本。文献[6]以PR-RP模型作为理论基础,对特征模板进行实时更新,保证特征模板中数据为用户的最新特征来达到认证的高识别率,但算法性能考虑不足。文献[7]采用条件随机场模型,取得了较好的准确率,但不同训练算法在条件随机场模型对识别性能上区别较大,训练时间较长。随着图形界面的日益普及,国内外不少学者对鼠标的使用行为特征开始进行研究。已有的研究所采用的方法与键盘相同,主要有人工神经网络、支持向量机、统计方法、时间序列法以及自适应共振理论等[8-14]。

上述这些研究都是仅以击键或是只考虑鼠标的行为特征,鲜有文章综合鼠标键盘两者的行为进行身份认证。由于用户的击键特性和鼠标行为具有不稳定性, 现有的识别方法不能有效地处理用户错误行为时所产生的异常特征值。所以, 单独利用一种行为特性作为用户身份认证还不成熟,有待于进一步完善。

为提高身份认证的安全性,提出一种基于鼠标键盘行为的身份认证系统。首先通过常用的输入设备鼠标和键盘采集用户训练和认证的行为数据,然后用优化过的支持向量机SVM结合鼠标键盘双指标对登录业务系统的用户进行身份认证。系统采用了灵活的结构布局,允许用户在应用系统原有部件的基础上进行二次开发,有很好的移植性。实验证明本系统采用的双指标复合认证有较高的准确率。

1鼠标键盘行为特征

鼠标键盘的行为特征是指用户操作鼠标键盘的习惯。基于鼠标键盘行为的身份认证系统中有一个基本假设:对每个用户而言,其鼠标键盘操作都存在与其他用户显著不同的模式。每个用户由于个人原因可能造成在使用鼠标键盘时有不同的习惯,比如鼠标轨迹、鼠标滚轮操作速度、鼠标左右键的使用习惯、击键时间间隔和击键迟延时间。不同用户的操作行为有较大的区别,例如不同用户在移动鼠标时的力度以及准确定位的能力不同,或是在点击键盘时一次按键到下次按键之间的时间习惯不同。

MIS业务系统的身份认证界面上的控件主要是文本框和按钮。文本框一般用于录入数据,用户的行为可以是鼠标移动(获得焦点、离开焦点)、击键行为(录入数据),而按钮一般对应鼠标单击行为。所以,可以使用鼠标和键盘双特征值数据验证用户的合法性。

2优化的SVM算法

支持向量机SVM是建立在统计学习理论的结构风险最小化原则之上,其主要是针对两类分类问题。支持向量机的基本思想可以概括为:首先通过定义适当的目标函数进行非线性变换,将输入空间变换到一个高维空间,然后在这个新空间寻找支持向量,即离最优分类面最近,并且平行于最优分类面的超平面上的训练样本,构造最优分类面。

在基于鼠标键盘的行为特征的身份分类识别中,每个用户训练类的识别被视为一个独立的两类分类问题:训练正例和训练反例。训练样本数目有限,并且样本分布不满足正态分布,所以基于统计学、神经网络等方法难以取得理想的效果,而SVM在解决小样本学习及非线性极高危模式识别中表现出许多特有的优势,它主要解决的是两类问题。线性核具有分类速度快、推广性有保证,用线性SVM在人脸性别识别时,在测试集上达到96%的识别正确率。因此,线性SVM是实际应用最多的,实用价值最大的。

先来看如下目标函数:

W×X+b=0

(1)

这条直线就是一个分类函数,它可以将两类样本完全分开。在确定的W值和b值下,只有唯一的X值可以满足式(1),其他的X值代入后,要么大于零,要么小于零,这样其他的X值便被分成了两类,不可分的是满足式(1)的X。

以上W值和X值是一维的情况,SVM在此基础上给这参数赋予全新定义,将原先的W值和X值扩展到了多维,得到如下目标函数:

X=(x1,x2,x3,…,xn)n=1,2,3,…,n

(2)

Y=(y1,y2,y3,…,yn)n=1,2,3,…,n

(3)

A=(a1,a2,a3,…,an)n=1,2,3,…,n

(4)

(5)

+b=1-C·E

(6)

式(6)中,C和E为实数,这里定义了两个新值Y和A,同时也不难看出X和W都变成了多维,式(6)相当于原来的式(1),将不满足式(6)的多维X分成两类。式(5)中的yn就是第n个样本的标签,它等于1或者-1。以上式子中,多个拉格朗日乘子中,只有很少的一部分不等于0,也正是这部分样本唯一确定了分类函数,这些需要的样本点就是支持向量,对W起决定作用。

用户定义一个n维的向量X,取值为用户鼠标或键盘行为特征,如用户=(左键单击时间t1)。假设有两个用户:甲和乙,甲有三组鼠标键盘行为特征样本X1、X2、X3,一组样本就对应一个式(2),如X1=(x1,x2,x3),X2=(x1,x2,x3),X3=(x1,x2,x3)。应该注意不同样本中xn值不一定相等,但都是同一类型的值(如:鼠标或键盘行为特征),而且括号中的数据个数必须相等。数据个数为自定义,比如增加一个鼠标左键双击数据记为x4,则X1=(x1,x2,x3,x4),X2=(x1,x2,x3,x4),X3=(x1,x2,x3,x4)。同理,乙有三组鼠标键盘行为特征样本X4、X5、X6。甲、乙样本数可以不等,但样本中的鼠标或键盘行为特征必须一一对应,现在总样本数为6。再来看式(3)、式(4),由于总样本数为6,因此,式(3)、式(4)括号中的n为6,即由总样本数确定;式(3)、式(4)括号中的值要与6个样本一一对应,如X1对应Y中的y1,以及A中a1,其他样本以此类推。现将以上对应关系整理如下:

对于Y中的值,做这样的处理:对应甲的所有y都赋1,对应乙的为-1,反之也可,即y1=y2=y3=1,y4=y5=y6=-1或者y1=y2=y3=-1,y4=y5=y6=1。A中的值是在用户训练时程序对用户各样本组计算后自动产生的。本例以甲的y为1作为标准。

再看式(5),将以上整理的甲乙关系数据代入式(5)右边,便可得出左边的W值了。式(5)便是认证的式子,式(6)中W便是式(5)的W,b为用户训练时程序自动产生,C和E为本算法自定义值,X代表待认证用户的一组新样本。注意,这里的待认证用户只能是决定W的两个用户,这是因为式(6)和式(1)一样,解决的是两类问题,如本例中W由甲乙的样本而得来,则只能认证甲乙,之后数据都代入式(6),若大于式子左边,认证即通过。

对所收集来的行为数据进行整理,并把它们转化为符合算法要求的格式。由于SVM算法是解决两类样本的分类问题的,因而只用一条分类线就可以区分两类样本。对于多用户的区分,采取这种方式进行判定当前用户的身份,如对用户1进行判定时,当前训练过的用户样本有6个,那么用户1的训练样本与其余5个用户的训练样本分别进行分类线计算。然后用这5条分类线进行样本判定,这里需要注意的是:训练样本必须保持奇数个。若当前用户训练量不足奇数个,系统会自动调用存根样本去补足。若分类线判定时投给用户1的票数超过一半(一条分类线相当于一次投票),那么就判定为用户1。

算法的优化情况——再将式(2)-式(6)的参数值确定情况整理如表1所示。

表1 各公式中参数值确定情况表

由表1可以看出,在这些参数中作改变的为X(上面已讲过X可自定义,即鼠标指标数自定义且鼠标指标自定义)、C(程序自定义具体值),而剩下的参数要么固定,要么由其他参数算出。

3基于鼠标键盘行为的身份认证系统

3.1系统设计

该用户身份认证系统基于网络环境,分为客户端和服务器端。图1是用户身份认证系统功能结构图。客户端用于监听用户鼠标键盘行为特征,收集账号信息,为用户特征行为建模,形成特征模板数据,上传到服务器端,存入特征数据库。服务器端接收客户端上传的特征信息和账号信息,并进行服务器特征匹配实现身份认证工作。考虑到合法用户随时间等因素,其使用计算机熟练度变化可能造成特征数据超过设定的偏差,为保证训练用户主体的合法性,用户必须重新申请训练,以更新服务器端的用户特征数据。

图1 用户身份认证系统功能结构图

系统有两个主要功能:注册训练和身份认证模块。训练和认证必须在设定的场景内进行,每一个场景都对应于一个特定的鼠标或键盘的行为指标,如:左键单击、左键双击、右键单击、滚轮移动等。系统共提供5个场景用于训练和认证,用户需根据当前场景给出的提示完成指定的操作。对于非指定操作、认证或训练,系统将会自动屏蔽对应的行为数据,并且用户无法完成当前认证或训练。由于SVM算法的特性,系统可以根据用户当前的训练数据给出一个评估,即:根据当前训练的数据在进行认证时通过的可能性进行估计。用户可以根据此评估结果决定是否再次进行训练。训练状态下,用户除了完成全部场景的训练任务,还需要赋予当前账户的权限和设置认证时所需的安全级别。认证状态下,用户需要提供自己账户的账号和密码并根据提示完成对应安全级别的认证场景过程。训练产生数据的计算、认证数据的分类判断,全部由优化过的SVM算法完成。训练与认证流程如图2所示。

图2 训练与认证流程图

3.2关键技术说明

用户身份认证系统的关键是准确获得用户某一场景的行为数据。Windows操作系统中截获用户行为数据的方法有三种:消息钩子、WM_INPUT消息处理和过滤驱动[15]。鉴于Windows操作系统提供的消息钩子,数据采集准确率高,操作过程简便,通用性好,故采用全局键盘钩子和全局鼠标钩子分别获取键盘和鼠标行为数据,并封装成dll文件,以保证系统复用性。

系统共提供了5个常用场景用于用户的训练和认证。每一个训练场景我们都是建立在一定的应用背景之上的,同时设计了多媒体提示界面避免了用户训练过程中的枯燥。它们分别是:美食抢购(左键双击)、投票有奖(左键单击)、精选菜单(右键单击)、美图浏览(鼠标滚轮操作)、打字训练(击键特征)。每一个场景都对应一个特定的行为指标,在场景过程中,用户需按照场景给出的提示完成相应的操作。对于非指定操作,场景将给出操作失误的提示,该操作所对应的行为数据也将被丢弃。场景指标都是经过测试后选出来的。用这些指标进行身份认证时,需要的样本数据量小,自然数据收集时间也相应减少,这样在训练和认证的过程中就省了不少时间。所选出的这些指标,在进行身份判别测试中,它们的效果也是不一样的,因此我们用安全级别对认证时这些指标的使用进行划分归类。对于效果比较好的指标,将归入高的安全级别;对于效果一般的指标,将归入一般或较低的安全级别。这样用户在进行认证时,只需通过预先设定好的安全级别所对应的场景,而不需要通过全部的场景,相比训练时间又减少了不少。

通过使用特定的场景环境,再结合全局的键盘钩子(WH_KEYBOARD_LL)和全局鼠标钩子(WH_MOUSE_LL),可以精确地收集到我们想要的行为数据。在场景环境中,用户需要根据场景所给出的提示完成一系列的操作,如:左键单击、右键单击、左键双击、滚轮移动、击键时间测试等。在场景中,单场景中的每一步操作以及场景间的切换都具有可控性,所以可以很精确地定位用户当前时间段所产生的行为数据是什么,进而可以对这些行为数据进行分类整理,并按计算分析模块的数据格式要求进行初步的整理。

用户行为数据的分析是整个系统的核心。采用第2节所描述的优化的SVM算法对收集到的用户行为数据进行处理,然后对登录业务系统的用户进行身份认证。

3.3系统特点

本文讨论的基于鼠标和键盘行为特征组合的用户身份认证系统具有以下优点:

(1) 训练时间缩短。

系统在收集用户鼠标、键盘行为数据时根据特定场景引导用户操作,同时使用优化SVM算法可以减少样本数量,相应减少了训练的时间。

(2) 精确性提高。

与单指标认证相比,本系统采用的是双指标复合认证。通过综合指标进行评价,认证的准确性有了较大的提高,系统误识率和拒识率都有所降低。

(3) 适应性增强。

系统的各功能模块封装成动态链接库文件DLL。在遵循一定的调用规则的前提下,可以在原有模块的基础上进行二次开发。

4系统实现与仿真

我们使用C#语言在Win 7操作系统下实现了这一系统。由于有关算法和原理均已给出,这里仅介绍数据采集。数据采集是通过相应的文本框和按钮控件来考察键盘和鼠标特征数据。在钩子过程中,用WH_GETMESSAGE类型的钩子的MSG结构体数据中的Time成员,获得按下和松开键盘或鼠标的时间来记录操作时间间隔,统计键盘鼠标行为特征值。图3是打字训练场景的测试界面,用于测试用户击键特性。

图3 击键特性采集

由于测试工作中击键和鼠标行为数据获取工作枯燥,且受熟练度影响,实验时邀请了软件工程专业中计算机操作熟练度较好的20名同学对系统进行了测试。每人针对5个操作场景中的每个场景,分别进行10次测试,每个操作间隔10分钟以上,测试在1天内完成。收集他们的行为数据。然后使用10个人的500次行为数据,进行规定次数的分指标认证,记录相应的认证结果并对该结果做出分析。

以输入文字“hello world”的实验数据为例,一个学生的10 次实验输入的距离值依次为38.3、42.7、52.5、39.8、37.3、41.1、43.3、38.6、39.2、41.3,5 次的平均值为41.4;而另一学生10 次输入中的最小距离值为59.8,有显著的差距。同时,从实验结果表明用户行为数据不满足正态分布,采用SVM方法是可行的。对于身份认证系统的精确度,可以通过确定合理的击键距离的阈值大小来判定。阈值越小,非法用户通过测试的可能性就越低,但合法用户被拒绝通过测试的可能性也会相应有所增加。

由于C>32后分类效果不好,因此本系统只考虑C大于等于1且小于等于32的情况,现共定义5个指标:左键单击时间、左键双击时间、右键单击时间、滚轮移动速率、击键时间。对于这些指标,我们知道其共有31种有效组合方式,下面给出部分组合的测试数据,如表2、表3所示。

表2 单指标测试数据分析 (X指标数=1,C=1)

表3 单指标测试数据分析(X指标数=1,C=32)

通过表2和表3结果的比较,不难看出本用户正确识别率和其他用户正确拦截率在C值变化下呈此消彼长的关系。经过C值变化结果的分析,C值设为1为最优。

X维数和指标对实验结果的影响,比较复杂,有太多可能性。结合MIS系统鼠标单击和键盘输入情况最多,从31种组合的测试结果中选择合理的最优组合。最后选择的最优组合是:X指标数=2,指标是左键单击时间和击键时间,C值为1,测试结果如表4所示。

表4 双指标测试数据分析(X指标数=2,C=1)

从表2—表4中可以看出在双指标时系统对用户身份认证有较好的效果。实验证明,与单指标认证相比,系统采用的双指标复合认证,准确性有了较大的提高,系统误识率和拒识率都有所降低。

为了验证本文设计的系统采用优化的SVM算法性能更好,分别采用SVM算法与传统算法进行身份认证的比较。对每种算法的单指标(右键单击时间)以及双指标(右键单击和击键时间)进行验证分析。同样从之前收集到的20名用户的样本信息,计算误识率和拒识率,对每个用户的误识率和拒识率计算平均得到综合身份认证实验结果如表5所示。

表5 不同算法认证实验结果

在采用单指标时,采用优化的SVM算法得到的误识率和拒识率分别为18.4%和27.7%,明显优于传统算法BP和SOM。这主要由于传统算法在解决高位空间中自由分布的问题时,其性能在理论上不能保证,而优化的SVM算法能够合理地将身份认证问题转化为寻优问题。同时从表5中可以看出在采用双指标时,每个算法的性能都有明显的提高,误识率和拒识率分别从最高的26.3%和30.5%降低到6.9%和9.4%,这说明采用双指标认证方式比单独某个指标有明显的优越性。

5结语

本文提出并实现了一种基于鼠标键盘行为的身份认证系统。通过实验证实结合鼠标键盘两种指标的行为特征进行身份认证效果更好。系统通过特定场景缩短用户训练时间并采用优化的SVM算法实现用户认证分析。实验结果可以看出,该方法在小样本数据下仍可实现较好的分类能力,训练简单,训练阶段和识别阶段的开销都很小且具有很高的识别率,取得了较满意的认证效果。同时,可以将击键特征及鼠标行为分析整合到现有的密码认证系统中,进一步提高了系统的安全性。

下一步的工作将继续放在提高认证的准确度方面,对鼠标键盘的行为数据进行深入分析和测试,对分类器进行进一步特殊处理,消除入侵者与合法者不平衡输入的影响和野值数据对SVM分类性能的影响。

今后针对鼠标键盘行为等认知指纹技术的可能研究方向有2个:(1)进行动态身份认证,即当用户进入系统后,通过用户后续的键盘鼠标特征数据检测和认证,进一步提高计算机系统的安全性。(2)有效地排除心理、情绪、身体状况、操作熟练度变化等因素对击键和鼠标行为的改变及应对。由于行为生物识别用户认证研究不需要密码更符合人类的天性,也让人类容易犯错的大脑得以逃脱密码的桎梏,该项技术必将有更为广阔的应用前景。

参考文献

[1] 王德松.基于生物特征信息隐藏与身份认证及其应用研究[D].电子科技大学,2012.

[2] BHATTS,SANTHANAM T.Keystroke dynamics for biometric authentication:a survey[C] //Proc of International Conference on Pattern Recognition, Informatics and Medical Engineering,IEEE Press,2013:17-23.

[3] 郭磊,胡晓勤,江天宇,等.基于击键特征识别的网络诈骗嫌疑人追踪系统[J].信息网络安全,2013(12):62-66.

[4] 张世雷.基于击键特征的身份识别研究[D].哈尔滨工业大学,2011.

[5] 郭晓静.基于统计学的击键序列身份认证算法研究与改进[D].北京邮电大学,2013.

[6] 张治元,田国忠.基于击键韵律的身份认证模型设计与实现[J].计算机应用,2009,29(10):2799-2801.

[7] 李晨,张功萱,岳宝玲,等.一种基于条件随机场的击键特征身份鉴别方法[J].计算机研究,2014,31(7):2112-2115.

[8] 王森,蔡忠闽,沈超,等.行为截获技术对鼠标动力学身份认证的影响[J].微电子学与计算机,2013,30(4):15-21.

[9] 沈超,蔡忠闽,管晓宏,等.基于鼠标行为特征的用户身份认证与监控[J].通信学报,2010,31(7):68-75.

[10] Jorgensen Z, Yu T.On mouse dynamics as a behavioral biometric for authentication [C]//Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security.ACM, 2011:476-482.

[11] Shen C, Cai Z, Guan X, et al.A hypo-optimum feature selection strategy for mouse dynamics in continuous identity authentication and monitoring[C]//Information Theory and Information Security (ICITIS), 2010 IEEE International Conference on.IEEE, 2010:349-353.

[12] Lin C C, Chang C C, Liang D.A New Non-intrusive Authentication Approach for Data Protection Based on Mouse Dynamics[C]//Biometrics and Security Technologies (ISBAST), 2012 International Symposium on.IEEE, 2012:9-14.

[13] Tsai C J, Chang T Y, Yang Y J, et al.An approach for user authentication on non-keyboard devices using mouse click characteristics and statistical-based classification [J].International Journal of Innovative Computing, Information and Control, 2012, 8(11):7875-7886.

[14] Huang M C, Xu W, Liu J J, et al.Inconspicuous personal computer protection with touch-mouse[M]//Human Aspects of Information Security, Privacy, and Trust.Springer Berlin Heidelberg, 2013:29-38.

[15] 王森,蔡忠闽, 沈超,等.行为截获技术对鼠标动力学身份认证的影响[J].微电子学与计算机,2013,30(4):14-21.

收稿日期:2015-02-08。陕西省教育厅科研计划项目(12JK1055)。王振辉,高工,主研领域:信息安全,数据库技术。王振铎,高工。支侃买,副教授。

中图分类号TP311.13

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.07.069

USER IDENTITY AUTHENTICATION BASED ON MOUSE AND KEYBOARD BEHAVIOURAL BIOMETRICS COMBINATION

Wang Zhenhui1Wang Zhenduo2Zhi Kanmai1

1(SchoolofTechnologyandEngineering,Xi’anFanyiUniversity,Xi’an710105,Shaanxi,China)2(SchoolofElectronicandInformationEngineering,Xi’anSiyuanUniversity,Xi’an710038,Shaanxi,China)

AbstractIn order to solve the drawback of single behavioural biometrics and to improve the recognition rate of authentication, we put forward a dual-indicator user identity authentication method which is based on the combination of mouse and keyboard behavioural biometrics.First, we extract the behavioural biometrics of two indicators of mouse and keyboard separately, and then use SVM for pattern recognition so as to implement biometrics analysis and verification in order to achieve the goal of timely monitoring users’ identities and detecting illegitimate users.Finally, we collect through a group of users the mouse and keyboard behavioural data to carry out the experiment of identity recognition and authentication.Result indicates that compared with single behavioural biometrics, this method increases the recognition rate of user identity authentication and decreases the false accept rate and false reject rate.Besides, the result is better than the BP and SOM methods, which fully shows the high reliability of dual-indicator identity authentication.

KeywordsBehavioural biometrics Identity authenticationSVMKeystroke featuresMouse actions

猜你喜欢

鼠标键盘身份
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
Progress in Neural NLP: Modeling, Learning, and Reasoning
Cлово месяца
ikbc R300机械键盘
跟踪导练(三)(5)
身份案(下)
他们的另一个身份,你知道吗
放松一下 隐瞒身份
45岁的鼠标