




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第l 页 摘要 为了维护计算机系统的安全,一般通过设置用户口令以便进行身份鉴 别,防止他人冒名顶替。口令鉴别的主要弱点在于,一旦被窃,冒名顶替者 就可以轻而易举地进入用户的私人账户进行非法活动。击键动力学的研究初 衷正是要给口令加上一个简便而有效的保护措施。击键动力学方法通过获耿 并分析用户敲击键盘的特征数据,自动地识别出用户的真实身份。这一辅助 身份鉴别的关键问题主要是寻找准确率高、执行速度快的识别算法。国内外 现有相关算法研究热点主要集中在统计学、神经网络、模糊数学等领域,但 通常存在准确率与执行速度不能兼顾、新模仿者无法检测等问题。本论文针 对这些问题进行了深入研究,并完成了一个计算机击键动力学身份鉴别系 统。 本文首先介绍了基于击键特征的身份鉴别系统的设计,该系统包括数据 采集、数据预处理与分析、用户管理等多个层次。在总体设计基础上,作者 首先开展了数据采集研究与实验,然后采用l e v e n b e r g m a r q u a r d t ( l m ) 算 法进行身份鉴别研究。论文通过m a t l a b 仿真实现了整个算法鉴别过程, 并将鉴别结果及执行速度分别与前人所用算法进行了比较。为了能够有效地 解决新模仿者检测的问题,本文又提出在训练数据集中加入等差均值序列噪 声的思路,采用具有较强推广能力的支持向量机进行识别,并将识别结果与 l m 算法进行了对比。最后,论文对基于鼠标轨迹的身份鉴别方法进行了初 步探讨,在建立动态模型、系统设计、数据采集与分析等方面傲了一些初步 工作。 关键词:生物测定学:击键动力学;模式识别;l m 算法;神经网络:新模 仿者检测:支持向量机:鼠标轨迹 西南交通大学硕士研究生学位论文第| | 页 a b s t r a c t i no r d e rt o p r o t e c tc o m p u t e rs y s t e m ,p a s s w o r di s t h em o s tw i d e l yu s e d m e t h o dt oc o n t r o lt h ea c c e s so fc o m p u t e rs y s t e mb ya u t h e n t i c a t i n gt h eu s e r s i d e n t i t y h o w e v e r , t h ep o l i c yo fp a s s w o r di sv u l n e r a b l et oi m p o s t o ra t t a c k sd u e t oi t ss i m p l i c i t y t h e r e f o r e ,t h eo r i g i n a li m e n t i o no fk e y s t r o k ed y n a m i c si st o p r o v i d ea c o n v e n i e n ta n de f f e c t i v e p r o t e c t i o n o np a s s w o r dv e r i f i c a t i o n i n k e y s t r o k ed y n a m i c s t h ec h a r a c t e r i s t i c so f au s e r k e y s t r o k e si sc a p t u r e dw h e n p a s s w o r d i s b e i n gt y p e d a n d i s a n a l y z e db ya l g o r i t h m s t o a u t o m a t i c a l l y r e c o g n i z et h ea u t h e n t i ci d e n t i t y w h a ti sc r i t i c a l f o rs u c ha na u x i l i a r yi d e n t i t y a u t h e n t i c a t i o ni st of i n dar e c o g n i t i o na l g o r i t h mw i t hh i g ha c c u r a c ya n dh i g h s p e e d u pt on o w t h ek n o w n r e c o g n i t i o na l g o r i t h m sm a i n l yc o m ef r o mt h e 丘e l d s o fs t a t i s t i c s ,n e u r a ln e t w o r k s ,f u z z yl o g i c ,e t c ,b u ti m p r o v e m e n t sa r er e q u i r e d b e c a u s es a t i s f a c t o r ya c c u r a c ya n ds p e e dc a n n o tb ea c h i e v e ds i m u l t a n e o u s l y , a n d m o s to ft h e ma r en o ts u i t a b l ei nd e t e c t i n gn o v e li m p o s t o r s i nt h i st h e s i s t h e s e p r o b l e m sa r ee x p l o r e di nd e p t h 。a n da ni d e n t i t ya u t h e n t i c a t i o ns 3 s t e mb a s e do n c o m p u t e rk e y s t r o k ed y n a m i c s i sd e s i g n e da n di m p l e m e n t e d t h et h e s i sf i r s t l yp r e s e n t st h eo v e r a l li d e n t i t ya u t h e n t i c a t i o ns y s t e md e s i g n i n c l u d i n gt h el e v e l so f d a t aa c q u i s i t i o n ,d a t ap r e p r o c c s s i n g ,d a t aa n a l y s i s ,a n d u s e r m a n a g e m e n t b a s e d o nt h eo v e r a l i s y s t e md e s i g n t h e r e s e a r c ha n d e x p e r i m e n to fd a t aa c q u i s i t i o n a r e c o n d u c t e d t h e n ,l e v e n b e r g - m a r q u a r d t a l g o r i t h mi sa d o p t e df o rd a t aa n a l y s i s t h ee n t i r ep r o c e d u r e so fa u t h e n t i c a t i o n a r es i m u l a t e di nm a t l a ba n dt h er e s u l t sa r ec o m p a r e dw i t ht l a o s eo fp r e v i o u s r e s e a r c hb o t hi na c c u r a c ya n ds p e e d a sf o rt h ep r o b l e mo fn o v e li m p o s t o r d e t e c t i o n ,t h ei d e ao fa d d i n ge q u i d i s t a n tm e a nn o i s es e q u e n c e si n t ot r a i n i n gs e t i s p r e s e n t e d b a s e d o n s u p p o r tv e c t o r m a c h i n e 。ag e n e r a l i z e da l g o r i t h mi s a d o p t e df o rp a s s w o r dv e r i f i c a t i o n ,t o g e t h e rw i t hac o m p a r i s o nb e t w e e ns v m a n dl m f i n a l l y , s o m ei n i t i a lw o r k so f i d e n t i t ya u t h e n t i c a t i o nb a s e do nm o u s e t r a j e c t o r i e s a r ee x p l o r e d ,i n c l u d i n gt h ec o n s t r u c t i o no f d y n a m i cm o d e l ,s y s t e m a r c h i t e c t u r e ,d a t aa c q u i s i t i o na n da n a l y s i s ,e t c k e yw o r d s :b i o m e t r i c s ;k e y s t r o k e d y n a m i c s ; a l g o r i t h m ;n e u r a ln e t w o r k s ;n o v e l t y m a c h i n e ;m o u s ct r a c k s p a t t e r n r e c o g n i t i o n ;l m d e t e c t i o n ;s u p p o r t v e c t o r 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 计算机用户身份鉴别概述 计算机系统和网络技术的飞速发展,为人类进行信息处理和信息传播带 来了极大的便利,同时也使人类不得不面临很多信息安全方面的挑战,如网 络可能被非法入侵,系统可能受到恶意攻击,私人信息可能被窃取等。针对 不同的攻击威胁,人们采取了多种安全机制,如加密、审计、完整性保护、 存取控制、冗余和备份等。 存取控制是计算机系统必备的安全手段之一,它首先要完成用户的身份 鉴别,然后根据不同的用户身份,赋予适当的存取系统对象的权力。用户的 身份鉴别是对用户的身份进行验证,回答确是此人还是他人冒名顶替的问 题;存取权力包括对系统对象的读、写、删除、新建等,它们酶分配与维护 一般由操作系统来完成。用户在选择身份鉴别的解决方案时相对灵活些,因 此目前提出的方案也多种多样,大致分为以下几种: ( 1 ) 根据用户所知或所记来鉴别,如口令: ( 2 ) 根据用户随身所携来鉴别,如智能卡; ( 3 ) 根据用户天生所有来鉴别,如指纹、手相、面部、虹膜、声音、 步态、击键韵律等。 口令鉴别虽然简便,但也隐藏着严重的安全隐患。比如人们经常使用容 易被他人猜测出来的口令如生日、电话号码等。而且现在也有多种口令破解 工具如密码字典,利用这些工具很可能在短时间内迅速破解口令。智能卡的 使用虽然已经十分普遍,如i c 电话卡、手机s i m 卡、银行a t m 卡等,但太 多的卡在携带时容易丢失或被盗取。因此,以指纹、手相等人所固有的生物 特征为鉴别依据的方法为解决这些安全隐患提供了契机。 1 2 生物测定学和击键动力学 生物测定学( b i o m e t r i c s ) 主要是研究人的生物特征识别技术,它通过 西南交通大学硕士研究生学位论文第2 页 研究人所特有的生理特征或行为特征来鉴定或识别人的身份。人体本身所固 有的生理特征包括面部特征、指纹、手相、基因、体热辐射与身体气味、眼 部特征( 视网膜、虹膜) 、以及腕部、手部和面部静脉血管模式等。可用于 识别的个人行为特征包括声音、字迹、步态以及击键特征等。 生物特征识别技术因其高度的可靠性和有效性,越来越受到人们的重 视。如指纹识别被用于指纹考勤、罪犯鉴定等:声音识别被用于声音控制以 及军事侦察等:字迹识别被用于电脑的手写输入:为了提高安检效率,很多 机场也采用了面部和虹膜识别技术。 指纹、虹膜、声音等识别技术具有很高的准确率速度也很快;但需要 额外的硬件设备,这些设备价格一般都很昂贵,因此影响了它们在普通用户 中的推广。相比之下,利用击键特征进行识别不需要任何附加设备,并且也 达到了较高的准确率。因此极易普及。下表列出并比较了常用的几种生物识 别技术的有效性和可接受程度5 : 表卜1 常见生物识别技术有效性希l 可接受程度比较 有效陛( 由上至下,依次降低)可接受程度( 由上至下依次降低) 视网膜识别 指纹识别 掌纹识别 声音识别 击键特征识别 字迹识别 击键特征识别 字迹识别 声音识别 掌纹识别 指纹识别 视网膜识别 击键动力学( k e y s t r o k ed y n a m i c s ) 主要研究击键特征识别技术,它监 测用户的键盘输入,获取用户敲击键盘的特征数据,分析用户的击键模式, 并以此为依据来鉴别用户的真实身份。 每个人在使用键盘录入时因为习惯不同,其击键特点也互不相同。这些 差异主要表现在: ( 1 ) 按下一个键与释放该键之闻的单键持续时间( h o l dt i m e ) 不同; ( 2 ) 释放一个键与按下另一个键之间的两键间隔时间( i n t e r k e y t i m e ) 不同: 击键特征产生差异的直接原因在于不同用户敲击键盘的手指力度和手 指移动快慢不同,间接原因则跟用户的精神状态以及用户对输入的熟悉程度 等有关。美国n s f ( n a t i o n a ls c i e n c ef o u n d a t i o n ) 和n i s t ( n a t i o n a l 西南交通大学硕士研究生学位论文第3 页 i n s t i t u t eo fs c i e n c ea n dt e c h n o l o g y ) 的研究都表明。1 1 ,用户击键信息 中隐含了可以区别用户的独特属性,完全可以将用户的击键特征作为用户的 一种鉴别手段。 任何一种鉴别方法的有效性都可以从其正确鉴别率或错误鉴别率来评 价。正确的鉴别包括对合法用户的接受和对模仿者的拒绝,错误的鉴别包括 对合法用户的拒绝和对模仿者的接受。本文主要采用错误鉴别率来评价鉴别 结果。其中,对合法用户的拒绝率称为f r r ( f a l s er e j e c t i o nr a t e ) ,有 时电称为第一类错误( t y p eie r r o r ) :对模仿者的接受率称为f a r ( f a l s e a c c e p t a n c er a t e ) ,有时也称为第二类错误( t y p e i ie r r o r ) 。f r r 和f a r 分别可以采用下面两式计算: 被判为模仿者的合法者样本数 一 合法者样本总数 被判为合法者的模仿者样本数 一 模仿者样本总数 在理想状况下,f r r 和f a r 这两个错误率越低越好,但实际上,一味降 低f r r 必然会让模仿者有机可乘,从而使f a r 升高;而一味降低f a r ,严格 的鉴别标准也同时会将合法用户拒之门外,使f r r 上升。所以应根据实际要 求同时调整f r r 和f a r ,使两者达到平衡。在一般的鉴别应用中,人们对模 仿者的接受率即f a r 的关注程度要高于f r r ,所以f a r 不能过高。 1 3 击键动力学的研究现状 对击键动力学的研究最早是由r g a i n e s 在1 9 8 0 年开始的“3 ,他采用了 假设检验的方法,但因采集样本过少,所以结果并不令人满意。目前所用鉴 别算法主要集中在统计、模糊数学和神经网络上。s b 1 e h a 以均值为鉴别特 征。“,识别准确率只有0 5 。c s z h a n g 尝试了自回归模型,但识别准确 率最高只达到了o 6 左右。朱明等通过计算并比较样本间的欧式距离“,识 别准确率在0 7 9 0 8 5 之间。f m o n r o s e 使用了基于加权概率的最近邻居 算法。o ”,将识别准确率提高到了0 8 7 2 。s h a i d e r 使用了模糊逻辑的方法 “,达到了可比于前述统计方法的结果,f r r 和f a r 分别为0 1 l 和0 1 9 。 m s ,o h a i d a t 则使用各种神经网络算法做了很多有价值的工作。他先后尝试 了欧式距离、b a y e s 决策规则等统计方法以及前馈( b p ) 、 西南交通大学硕士研究生学位论文第4 页 c o u n t e r p r o p a g a t i o n ( c p ) 、径向基函数( r b f n ) 、学习矢量量化( l v q ) 、自 适应共振理论( a r t 一2 ) 等神经网络算法:! “,通过比较指出神经网络算法的 识别性能优于传统的统计类识别算法。他的研究结果也表明“。“。5 1 ”1 前 馈神经网络( b p n n ) 相对于自适应共振理论( a r t 一2 ) 、c p 等其他神经网络 算法识别准确率最高( 可达0 9 7 5 ) 。但同时b p n n 也存在缺陷,即对于不同 的用户都要慎重地调整学习率和动量因子。d t l i n 也使用了b p n n ”1 ,通 过调整隐含层节点数获得了不同的收敛速度,均方误差为0 0 5 时最少迭代 次数约为4 0 0 次,f r r 和f a r 分别达到了0 0 2 2 和0 0 6 6 。但对于用户数很 多且实时性要求较高的应用如a t m 中,这样的迭代次数还是不能令人满意 的。l k m a i s u r i a 采用了基于h e b b i a n 学习规则的神经网络”“,由于采集 的样本代表性不足,导致不同用户的识别结果相差较大,平均f r r 和f a r 只为0 1 5 和0 3 。 使用b p 神经网络还有一个缺陷就是在模仿者数目不确定时,不能很好 地解决颓模仿者检测的问题。为了解决这个问题,e y u 分别采用了自联想 多层感知机( a a m l p ) 和支持向量机( s v m ) “”,研究结果表明s v m 的识别性 能与a a m l p 相当,但s v m 算法执行速度远低于a a m l p 。该研究使用的训练集 中不含有模仿者的数据,只是合法者样本的精选子集,但在选择子集时采用 的门限只凭主观来确定,容易产生误差。刘学军等在训练集中加入了自定义 噪声,也使用支持向量机来鉴别“”。其噪声是将合法样本的每个分量扩大或 缩小若干倍得来的,这种方法构造的噪声对模仿者的代表性不足。另外其研 究结果只基于5 个用户的采集样本,识别结果的代表性也较差。 通过比较酊人的工作,本文将其中不足之处总结如下: ( 1 )b p 神经网络虽然识别率高,但算法运行速度慢,参数调整也 过于频繁: ( 2 ) b p 神经网络不能很好地解决新模仿者检测的问题; 。 ( 3 )检测新模仿者时构造的训练噪声代表性不足: ( 4 )研究者中做算法分析与研究的多,开发实际系统的则很少。 到目前为止,有关击键识别的成熟产品还不多见。比较有代表性的是美 国n e tn a n n y 软件公司于2 0 0 1 年发布的b i o p a s s w o r d _ 1 。该系统使用了 s t a n f o r dr e s e a r c hi n s t i t u t e 的专利技术,为w i n d o w sn t 和w i n d o w s2 0 0 0 操作系统增加了一个保护层,专用于用户登录时鉴别用户的身份。 西南交通大学硕士研究生学位论文第5 页 1 4 论文的主要研究思路与内容安排 通过比较和总结莳人的工作,本文认为击键识别技术的关键问题在于识 别算法的准确性和效率。一个准确识别率高、执行速度又快的算法才能在实 际场合发挥作用。有鉴于此,本文采用了前人未曾尝试过的 l m ( l e v e n b e r m a r q u a r d t ) 算法,并通过仿真分析,证实了该算法能够同时达 到准确率与速度的高要求。本文第三章中详细讨论了利用嘣算法的识别过 程和结果。 对新模仿者的检测也是本文的重点之一。本文在对叫算法的使用过程 中发现,它与b p 等神经网络算法一样存在推广能力较差的缺陷。如果测试 集的模式在训练集中已经包含,山算法可以既快又准的识别出来;如果测 试集中出现了训练集中没有包含的新模式,l m 算法的识别率就会下降。而 在实际场合中,往往需要识别一个真用户和无数个假用户,而假用户的特征 模式在训练过程中是不可能全部包含的。所以本文提出了一种构造训练集的 方法,即训练集由真用户数据和对模仿者具有一定代表性的等差均值噪声数 据组成,并利用支持向量机算法来进行分析和鉴别,仿真识别的结果与l m 算法相比提高很多。本文第四章讨论了训练集的构造方法及使用支持向量机 的识别过程。 本文还独立开发了基于支持向量机的击键识别系统,第二章中详细描述 了该系统的总体设计与各模块功能。最后本文也首次探讨了根据鼠标轨迹来 鉴别用户的技术,在第五章中给出了一些初步的相关工作。 西南交通大学硕士研究生学位论文第6 页 第2 章身份鉴别系统设计与特征数据采集 2 1 系统功麓与结构设计 本文所开发的身份鉴别系统名为“k e y s t r o k ea u t h e n t i c a t i o ns y s t e m f o rw i n d o w s2 0 0 0p r o f e s s i o n a l ”,主要运行于w i n d o w s2 0 0 0 操作系统上。 系统分为管理版和实施版,两个版本相辅相成,共同实现根据击键特征的用 户身份鉴别,为w i n d o w s2 0 0 0 操作系统提供安全保障。 管理版能够与w i n d o w s2 0 0 0 操作系统共享用户管理,对于身份为 a d m i n l s t r a t o r 的用户提供新用户添加、更改自身口令、数据采集以及数据 分析功能;对于身份为u s e r s 的用户,除了不能添加新用户外,其他功能都 与a d m i n i s t r a t o r 身份的用户相同。管理版的数据分析生成用户模型,供实 施版使用。 实施版内嵌于w i n d o w s2 0 0 0 的登录界面,在用户登录时完成数据采集、 数据分析、鉴别判定等功能,可在w i n d o w s2 0 0 0 初启、锁定、注销、屏保 四个状态下鉴别用户的身份。实施版数据分析所需用户模型来源于管理版。 两个版本的功能流程图如下页图2 - l 所示: 系统使用v i s u a lc + + 6 0 编程实现。系统的两个版本在结构上都采用了 分层设计的思想,从下到上依次为数据采集层、数据预处理层、数据分析层、 用户界面层,如图2 - 2 所示。分层设计的主要目的是为了便于版本间共享功 能模块及数据结构。 匣 匣 圈 囤 圈2 - 2 身份验证系统结构殴计图 西南交通大学硕士研究生学位论文第7 页 ;j 溉 宝_ ) 萋凝 固目圉 阜一 田 i 一广 图2 - 1 身份鉴别系统功能流程图 西南交通大学硕士研究生学位论文第8 页 2 2 击键特征数据的采集 管理版对每个字符串进行1 0 次数据采集,采集的数据为训练而用;实 施版只采集一次,采集的数据是为测试而用。两者的数据采集方法相同,都 编写了一个动态链接库,并在其中安装自定义的键盘钩子函数。 动态链接库的主要分为四部分: ( 1 ) 自定义的键盘钩子函数; 在w i n d o w s 系统中,消息传递到其他应用程序之前都要先经过钩子,如 果钩子上安装有钩子函数,这些函数就会被触发执行,对消息进行相关处理。 利用此原理,可编写自己的键盘钩子函数并安装到键盘钩子上,截获处理键 盘消息。 本文中键盘钩子函数的主要任务是获取单键持续时间和两键间隔时间。 利用高精度计数器可将时间精确到微妙级。首先调用 q u e r y p e r f o r m a n c e f r e q u e n c y ( ) 函数获得计数器的频率f 。在每次按键消 息( w 虬k e y d o w n ) 和释键消息( m k e y u p ) 触发键盘钩子函数时,调用 q u e r y p e r f o r m a n c e c o u n t e r ( ) 函数获得计数器的当前计数值,如n l 和n 2 。 则单键持续时间t = ( n 2 一n 1 ) f 。以同样的方法可以汁算两键间隔时间。 ( 2 ) 安装键盘钩子函数的输出函数: 在该输出函数中调用a p i 函数s e t w i n d o w s h o o k e x ,就可以安装自定义 的键盘钩子函数。此外,该输出函数中还需进行全局变量初始化、文件创建 等工作。 ( 3 ) 将键盘输入信息存入文件的输出函数; 每个字符的相关信息都存储在结构体类型k e y i n f o 的变量中,结构体 k e y i n f o 声明如下: s t r u c tk e y i n f 0 c h a rc h a r a c t e r ;字符值 l o n gd u r a t i o n ;两键间隔时间 l o n g l a t e n c y ;单键持续时间 ; 当用户输完整个字符串后,再将存储每个字符信息的结构体数组一并存 入文件。之所以采用结构体数组为存储单位,而不用单个结构体,是因为用 西南交通大掌硕士研究生学位论文第9 页 户在输入过程中可能输错某个字符,如果逐个将结构体存入文件,也会将这 些输错的信息存入,而这些信息随机性很强,在识别过程中不利于判断分析。 因此本文采用了简化的处理办法,就是要求用户将字符串一次性正确输入。 一旦输错,即删除所有字符,重新开始从第一个字符输入,直至每个字 守都 输入无误,再一并存入文件。 ( 4 ) 卸载键盘钩子函数的接口函数: 程序结束时要卸载键盘钩子函数,否则钩子函数会继续驻留在系统中并 记录发送给其他应用程序的键懿消息,给系统带来安全隐患。卸载对采用 a p i 函数u n h o o k w i n d o w s h o o k e x 。 2 3 击键特征数据的预处理 数据采集完成后要先经过数据预处理,再进行数据分析。 管理版中数据预处理的主要目的是获得每个单键输入时间和两键间隔 时间的均值,根据这些均值为每个时间值没定一个误差范围。 实施版数据预处理的主要目的是检查采集到的每个时间值是否在误差 范围内,只有在误差范围内的时间向量才能进行数据分析并鉴定,否则就直 接判为假用户。 2 4 击键特征数据的分析 管理版与实施版的数据分析算法采用了支持向量机( s u p p o r tv e c t o r a c h i n e ) 。关于支持向量机的原理将在第四章中论述。算法源程序在 l i b s v m 2 5 的基础上修改而来“0 3 “。 管理版中数据分析过程如下: ( 1 ) 调用s v m i n i t p a r a m 0 函数对算法所需参数进行初始化: ( 2 ) 调用r e a d p r o b l e m 0 从数据文件中读取出每次字符串输入对应 的向量,该向量的属性值由串中每个字符的单键持续时间和两键 间隔时间组成。如果字符串长度为n ,向量的维数就是2 * n - l 。其 中去掉了第一个字符的两键间隔时间因为它是该字符与上一次 输入结束时的回车键之间的间隔时间,而这个值对于只有一次输 入的实施版来说是毫无意义的,故管理版也不需分析它。 西南交通大学硕士研究生学位论文第1 0 页 r e a d p r o b l e m 函数主要任务是给以下的结构体变量p r o b 赋值: s t r u c ts v m p r o b l e m i n tl :字符串的输入次数 d o u b l e + y :期望输出 s t r u c ts v m n o d e 料x :用于训练的向量集合; ) p r o b : 其中结构体s v m n o d e 定义如下: s t r u c ts v m n o d e i n ti n d e x :属性索引 d o u b l ev a l u e :属性值 : ( 3 ) 调用s v m _ t r a i n ( ) 函数训练向量集合,训练结果记入模型中: ( 4 ) 调用s v m s a v e _ m o d e l ( ) 函数将模型存入模型文件中。 实施版的数据分析过程如下: ( 1 ) 调用s v m _ l o a d m o d e l ( ) 函数从模型文件中读取模型; ( 2 ) 调用r e a d l i n e ( ) 函数从数据文件中读出需测试的向量,该文 件中只有一个向量: ( 3 ) 调用s v m _ p r e d i c t ( ) 函数,根据模型来求得向量的实际输出: ( 4 ) 根据实际输出进行身份鉴定:如果实际输出等于+ l ,则鉴定为真 用户;如果实际输出为一l ,则鉴定为假用户。 2 5 用户界面设计 管理版启动后的初始界面如图2 3 所示,登录后根据不同用户身份提供 不同的功能界面。a d m i n i s t r a t o r 身份的用户界面如图2 - 4 所示,u s e r s 身 份的用户界面如图2 5 所示。前者比后者多了新用户添加的功能。 在这两个界面中选择练习功能( 由“e x e r c i s e ”按钮提供) 后,出现采 集用户口令输入的界面,如图2 - 6 所示。 西南交通大学硕士研究生学位论文第11 页 幽2 - 3 管理版初始界面 图2 - 4a d m n i s t r a t o r 的界面 圈2 - 5u s e r s 的界面 西南交通大学硕士研究生学位论文第12 页 图2 - 6 数据采集界面 实施版的界面是以w i n d o w s2 0 0 0 的登录界面为基础修改而来的,如图 2 7 所示。 图2 7 实施版用户界面图 w i n d o w s2 0 0 0 的与用户交互的登录过程由w i n l o g o n e x e 来监控的, w i n l o g o n 又通过加载动态链接库g i n a ( g r a p h i ci d e n t i f i c a t i o na n d a u t h e n t i c a t i o n ) 来完成各项安全策略及用户识别与鉴定。本文就是通过修 改g i n a ,在其中加载数据采集层和数据分析层来完成击键特征鉴别的。 2 6 数据采集实验 尽管身份鉴别系统的数据分析算法最终采用了支持向量机,本文还尝试 了多种算法,如l e v e n b e r g m a r q u a r d t 算法、前馈神经网络算法等,并从中 得出了一些有益的结论。这些算法将在第三章中详细讨论。 西南交通大学硕士研究生学位论文第1 3 页 在采用算法进行分析莳,本文开展了为期两周的数据采集实验。数据采 集工具即为身份鉴别系统的数据采集层,实验参加人数为l o 人。实验中每 个用户都需要输入两类样本: ( 1 )合法样本:每个用户输自己口令时被采集到的样本。每个用 户都设定了两个自己的口令。其中一个字符不限;另一个为 数字串且输入该数字串时必须使用位于键盘右端的小键盘。 通常用户使用小键盘时手指移动及手指更替较少,因此使用 数字串的目的就是为了探讨小键盘输入的可鉴别性。 ( 2 ) 模仿样本:每个用户同时还要做其他用户的模仿者,输其他 用户口令时被采集到的样本作为模仿样本。每个合法用户有 两个模仿者。 实验结束时每个用户都得到了自己的合法样本和他人模仿自己的样本, 合法样本数为1 5 0 个,模仿样本数为3 0 0 个。 2 7 本牵小缩 本章主要讨论了基于击键特征的用户身份鉴别系统的设计与功能,分析 了各层的设计原理及功能流程。最后描述了数据采集实验的开展过程。 西南交通大学硕士研究生学位论文第1 4 页 第3 章基于l e v e n b e r g m a r q u a r d t 算法的用户鉴 3 1 l m 算法概述 别 从已知模式的特征数据中找出特征与模式间的映射关系,根据此映射关 系对未知模式的特征数据进行模式判断,这个过程称为模式识别。模式识别 中,寻找特征与模式间映射关系的过程为训练过程,训练所用的特征数据称 为训练集:对未知模式的特征数据进行模式判断的过程称为测试过程,测试 所用的特征数据称为测试集。 神经网络是模式识别常用算法之一。它把模式识别看作一个无条件最优 化问题,即寻找合适的权值向量,使得输出误差函数达到最小值。 第一章已经谈到,前馈神经网络( b p n n ) 在解决击键特征识别问题时收 敛速度慢,需要根据不同用户调整参数。基于这些缺陷,本文采用了基于 l e v e n b e r g m a r q u a r d t ( 简称l m ) 算法的神经网络。它结合了神经网络、高 斯一牛顿法与梯度下降法的优点。b p n n 只依赖于梯度下降法,线性的收敛导 致速度较慢。而圳算法在靠近某个极小点时平方收敛,具有高斯一牛顿法的 局部快速收敛特性;同时远离解时则进行修正,沿误差曲面进行搜索,继承 了梯度下降法的全局搜索特性。另外,使用l m 算法不需要过多地根据用户 调整参数。 3 2l m 算法的原理 神经网络的主要目标就是通过输入输出样本对 ( x “,d “) ,( x 。,d “1 ) ,( x “”,d f n ) 来调节连接网络的权值向量w ,从而使 误差函数e( w ) 达到最小值。其中每个输入样本向量 x = x ( 1 ) ,x ( 2 ) ,x ( m ) ) ,m 为输入层节点数:每个期望输出向量 d = d ( 1 ) ,d ( 2 ) ,d ( n ) ,n 为输出层节点数。设输出层实际输出向量 西南交通大学硕士研究生学位论文第15 页 y = y ( 1 ) ,y ( 2 ) ,y ( n ) ,误差函数可以表示为: ( w ) 2 寺p ! ( 驴寺( d ( f ) 一y ( f ) ) 3 ( 3 - 1 ) 佃i- i = 1 使用梯度下降法调整权值时,权值沿误差函数曲面的负梯度下降。调整 规则为: w = 一n 可( w )( 3 - 2 ) 其中ve ( w ) = 尝,尝,善生 ,因为权值调整是分层进行的, o l t t io w 2洲“ 所以这里w ,w := “,w 。只代表当前层与下一层间的所有连接权值,而不是网 络中全部权值。n 为常数,称为学习率。 算法是牛顿法的修正。与梯度下降法不同,牛顿法是通过最小二乘 法求解( w ) 的二阶泰勒公式极值得到的“: w = 一 v2 ( w ) rv ( w )( 3 - 3 ) 其中v ! ( w ) 为s ( w ) 的h e s s i a n 矩阵。尽管牛顿法具有收敛迅速 的优点,但由于每次迭代计算中不能保证h e s s i a n 矩阵v ! e ( _ l | | f ) 都可逆 所以需要对v2 ( w ) 进行近似计算。 可以证明: 甲( w ) = ,( n ) e ( n ) v 2 ( w ) :j 7 ( n ) j ( n ) + s ( n ) 其中j ( n ) 为e ( n ) 的j a c o b i a n 矩阵,s ( n ) 为误差矩阵, j ( n ) = 抛( 1 ) o m p , a p ( 2 ) o w o e ( n ) o w & ( 1 ) c w , 3 e ( 2 ) 0 w ( n ) 1 9 w 、 o e ( 1 ) o w m 曲( 2 ) 洲m 良( h ) d w 。 ( 3 - 4 ) ( 3 - 5 ) ( 3 - 6 ) s ( n ) 2 8 ( f ) v ! p ( f ) ,v :e ( i ) 为e ( i ) 的h e s s i a n 矩阵。在靠近极值点时 i = i s ( n ) m o ,所以牛顿法可以修正为高斯一牛顿法: w = 一 j ( n ) j ( n ) 。j ( n ) e ( n )( 3 - 7 ) l m 算法将高斯一牛顿法又经过改进权值调整方式如下: w = 一 j 7 ( n ) j ( n ) + p i 一。j ( n ) e ( n ) 、 ( 3 - 8 ) 西南交通大学硕士研究生学位论文第16 页 其中,u 为正的常数,i 为单位矩阵。当p 足够大时可以保证 j7 ( n ) j ( r 1 ) +ui 总是正定的,从而保证其可逆。算法的每次迭代都对u 进行自适应 调整。当接近一个解时,“逐渐减小,权值调整类似于商斯一牛顿法,利用 类似于二阶导数的信息,可以快速收敛到这个解;当远离解时,u 逐渐增大, 权值调整又类似于梯度下降法可以进行全局搜索。所以l m 算法同时具备 了牛顿法和梯度法的优点,但计算j ( r 1 ) 要占用较多的内存。 l m 算法的步骤总结如下: ( l )初始化各训练参数,包括p 。u 。、u 。、u 误差目标 。、最小梯度g 以及网络的权值向量w “”。令k = o ,u = p 。 根据输入向量x “和期望输出向量d 4 ,使用式( 3 - 1 ) 计算 e “( n ) 和“( w ) 。 如果e “( w ) e 。则达到期望目标,停止:否则进入( 4 ) 。 用式( 3 - 6 ) 计算j “( n ) 。 用式( 3 - 8 ) 计算w “。 计算新权值向量w “) = w “+ w “,再根据x “1 和d ( k 使用式 ( 3 - 1 ) 计算出“( w ) 和v “( 1 】r ) 。 如果e “( w ) e “( w ) ,则进入( 8 ) ,否则进入( 9 ) ; 如果v “”( w ) 岛。则达到了一个局部极小| 直,停止; 否则,保留w “”,令k = k + l ,u = u u 。,转向( 2 ) ,开始下 一个输入输出向量对的训练。 ( 9 ) 如果审e “( w ) g 。,则达到了一个局部极小值,停止: 否则,不保留w “,令u = uu 。如果u “。,则停止; 否则转向( j ) ,继续调整权值。 3 3 基于l m 算法的仿真鉴别程序 使用l m 算法的整个鉴别过程在l a t l a b 6 5 中进行。在m a t l a b 6 5 中编 写的仿真程序大致流程如下: ( 1 )组建一个用户的训练集和测试集,即从采集到的1 5 0 个合法 样本中取出1 0 0 个,3 0 0 个模仿样本中取出2 0 0 个共同组成 训练集:剩下的5 0 个合法样本组成合法测试集,1 0 0 个模仿 样本组成模仿测试集: ) 2 3 4 5 6 7 8;( 西南交通大学硕士研究生学位论文第17 页 ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ( 7 ) 初始化叫神经网络算法的参数,如“。“。、u 。,p 。、 e g 。以及网络的权值向量旷等: 将测试集中的输入输出样本对依次放入网络中训练,按照上 节中算法步骤调整权值向量w ,直至达到期望误差目标: 将合法测试集的样本放入训练好的网络中,比较实际输出与 期望输出,记录下两者不符的样本数,计算f r r ( f a i s e r e j e c t i o nr a t e ) : 将模仿测试集的样本放入训练好的网络中,比较实际输出与 期望输出,记录下两者不符的样本数,计算f a r ( f a l s e a c c e p t a n c er a t e ) : 返回( 1 ) 开始下一个用户的训练和测试,直至1 0 个用户全 部完成。 将1 0 个用户的f r r 和f a r 用柱图表示出来。 3 4 基于l m 算法的仿真鉴别实验 根据采集样本的内容和特征,可以分多次进行训练和测试。由样本内容 可分为字符串、纯数字串的训练测试;由特征不同可分为单键持续时间、两 键间隔时间以及两时间结合等三种训练测试。因此本文总共进行了六种训练 测试。 神经网络的学习过程可分为批量学习和增量学习两种。批量学习时,训 练集中所有样本都输入神经网络后才进行一次权值调整,这称为一次迭代。 在下一次迭代中,训练集中所有样本被重新全部输入。达到误差目标所需的 迭代次数反映了网络收敛的快慢。增量学习时,训练集中每一个样本输入网 络后都进行一次权值调整如果所有样本都输入完后还没有达到误差目标, 就重新从第个样本开始输入。本文采取了批量学习的方式。 仿真鉴别实验的有关参数设置为:u ;产o 0 0 l 、u 。= 1 0 、p 。= t o 、l l 。; = i 0 e - - - - 0 0 0 1 ,g = 1 0 一a 仿真鉴别实验的结果以及与梯度下降法的比较在以下两节中分别讨论。 西南交通大学硕士研究生学位论文第18 页 3 4 1 l m 算法与梯度下降法的收敛速度比较 图3 一1 分别示出了使用l m 和梯度下降法训练时的误差随迭代次数的变 化。虚线是l m 算法对某个用户训练样本进行迭代时误差的变化,实线是根 据文献 8 画出的使用梯度下降法训练时误差的变化。 图3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论