一种基于用户击键特征的身份识别方法

文档序号:7719720阅读:331来源:国知局
专利名称:一种基于用户击键特征的身份识别方法
技术领域
本发明属于计算机信息安全领域,提供一种基于用户击键特征的身份识别方法。
背景技术
在当前的身份识别技术领域,两类技术比较成熟 一是基于智能卡、USBKey或动态密码(OTP)的令牌技术, 一种是生物识别技术。
令牌技术是通过特定的软件或硬件与传统的用户名口令方式相结合,构成双因素身份识别系统,能提高身份识别的安全性,虽然发展到现在应用比较成熟,伹是存在着成本高,部署困难,用户不易使用等问题,在一些需要低成本,中等安全要求的应用领域,存在着推广的难度。
生物识别技术是通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段密切结合,利用人体固有的生理特性(如指纹、面像、虹膜等)和行为特征(如签名、声音、步态等)来进行个人身份的鉴定。生物识别技术都存在一些缺陷,容易受外部环境的影响发生改变而造成识别困难,或因技术的发展而产生伪造品。
发明 内 容
本发明目的在于提供一种基于用户击键特征的身份识别方法,旨在解决现有身份识别技术部署复杂、成本高、易用性差的问题,同时,本发明提高了系统安全性,实现了双因素强身份识别。
本发明提供的一种基于用户击键特征的身份识别方法,包括用户击键特征的采集流程及用户击键特征的识别流程,具体方法步骤如下
步骤一、采集用户击键特征信息并进行过滤处理;
所述的击键特征信息包括用户击键时在每个按键的停留时间、相邻按键的间隔时间、以及击键力度等信息;对击键特征信息进行过滤处理,过滤处理是指在i8042prt驱动和kbdclass驱动之间进行过滤;
步骤二、通过驱动安全防护技术跟踪步骤一的采集过程并安全处理采集的击键特征信息。对采集的击键特征信息的关键代码段加壳处理,防止动态和静态调试;使用自我检测机制,防止第三方程序改变程序的执行逻辑;
步骤三、对步骤一采集的击键特征信息通过SSL和身份相互认证技术安全传输;步骤四、对击键特征信息进行数据预处理;步骤五、采用支持向量机改良算法计算击键特征信息数据的样本均值,去除样本中的噪
声;并通过统计预处理后的样本均值作为新样本,计算输出身份识别数据; 步骤六、将上述得到的身份识别数据安全存储到身份识别数据库。 本发明的优点在于
(1) 基于用户击键特征的身份识别方法简单有效,易于与原有系统集成。
(2) 釆用了支持向量机改良算法,合法用户通过率和非法用户拒绝率很高,可以补充 和替代现有的其他身份识别技术,具有非常高的应用和推广价值。


图l是本发明基于用户击键特征的身份识别方法流程图2是本发明实现采集用户击键特征的原理图3是本发明基于用户击键特征的身份识别系统结构示意图4是本发明实施例中采集用户击键特征进行用户注册的流程图5是本发明实施例中基于用户击键特征进行身份识别的登录方法流程图。
具体实施例方式
下面结合附图和实施例对本发明进行详细说明。
本发明提供一种基于用户击键特征的身份识别方法,方法流程如图l所示,所述的方法通 过如下步骤具体实现
步骤一、釆集用户击键特征信息并进行过滤处理。
所述的击键特征包括用户击键时在每个按键的停留时间和相邻按键的间隔时间,还包括 击键力度。用户击键的事件是直接由底层输入设备键盘输入到整个基于用户击键特征的身份 识别系统,键盘可以是台式机键盘、笔记本键盘、ATM机键盘及手机键盘等。
2^^针对键盘的每一个击键事件,设置两个m^点,分别对应按键按下时刻7^"
和按键抬起时刻;,当用户击键时,采集用户击键按下和抬起两时刻的时间差,即每个键 上的停留时间7;:
记录并保存停留时间 ]。
当用户敲击多个按键时,采集每个按键的按下和抬起时刻的时间值,然后可以根据这些 时间值计算用户击键按下和抬起事件之间的间隔时间差,得出用户击键时在每个键上的停留
时间7;,以及在两个相邻键之间的跨键时间,即相邻按键的间隔时间r「7^-:r",例如 当敲击连续的按键"HELLO"时,会依次采集到时间序列7^2,7;,7;……。对于击键力度的釆 集只需要在键盘上安装一个力度传感器进行力度检测和釆集即可。
对上述采集到的击键特征信息进行过滤处理,所述的过滤处理可以在i8042prt驱动和kbdclass驱动的连接处做过滤,也可以在i8042prt驱动前或kbdclass驱动后做过滤。过滤之
后得到的击键特征信息更加的有效和合理。
步骤二、通过驱动安全防护技术跟踪步骤一的采集过程并安全处理采集的击键特征信息。 所述的驱动安全防护技术是指对击键特征信息的关键代码段加壳处理,防止动态和静态
调试;使用自我检测机制,防止第三方程序改变程序的执行逻辑。
步骤三、对步骤一采集的击键特征信息通过SSL和身份相互认证技术安全传输; 具体传输过程为采集用户击键特征信息,并将釆集到的数据进行分块存储,然后通过
随机因子确定的顺序存放。
所述的随机因子由服务器端发送给客户端,客户端一次一密加密数据上传服务器。所述
的服务器端与客户端进行数据传输过程中釆用身份相互认证技术安全传输确保数据传输安全。
所述的加密是指采用伪装技术、干扰技术和时间因子技术等保证安全控件和击键特征信 息的数据安全。
步骤四、对击键特征信息进行数据预处理。
由键盘敲击产生的键盘事件被捕获以后,将键盘事件在时间轴上的刻度数记为r,由于
一次用户输入有n个键盘事件产生,如输入n次用户名和密码,所以得到了n个值序列7;, 再通过公式f"—1计算生成有n-l个值的新序列,作为支持向量机的n-l维向量的坐标;
对击键特征信息数据进行聚类处理,将用户每次输入的击键特征信息数据进行分类,一 般建议用户输入3 8次用户名或者密码,每次输入的击键特征信息作为一类,用户击键特征 信息有很大的相似性的类划分为同一类,而用户击键特征信息有很大的相异性的类单独划分
为不同的类;
对聚类处理后的数据进行学习和筛选,选择相似性较大的一类用户击键特征信息作为数 据样本,其它类抛弃。
步骤五、采用支持向量机改良箅法计算击键特征信息数据的样本均值,去除样本中的噪
声;并将样本均值作为新样本,计算输出身份识别数据。
步骤六、将上述得到的身份识别数据安全存储到身份识别数据库。 存储的方式包括分段存储和加密存储。
用户每次输入的击键特征信息都与身份识别数据库中的身份识别数据进行对比,如果新 输入的击键特征信息与身份识别数据库中的身份识别数据相似度很大,或者说符合系统的相 似度要求,则验证通过,否则得出身份识别错误信息,提示重新输入或者退出。所述的相似 度是根据系统的精度要求或者用户的要求进行设计的,相似度越大,识别的准确度越大,但
6是对用户的习惯击键的动作要求越高。
本发明还提供一种用于实现上述的基于用户击键特征的身份识别方法的身份识别系统, 如图3所示,所述的身份识别系统主要包括过滤层驱动模块201、驱动安全防护模块202、数据
安全传输模块203、安全控件模块301、身份识别代理模块401、身份识别模块402和身份识别 数据库模块403,其中过滤层驱动模块201采集用户击键信息,用户击键信息包括停留时间、 相邻按键的间隔时间和击键力度大小因素;驱动安全防护模块202用以保证过滤层驱动模块 201的工作稳定性、硬件兼容性、系统兼容性及自身安全性,同时保证用户击键特征信息采集 的安全性、可靠性与可用性;数据安全传输模块203用以保证用户击键特征信息由过滤层驱动 模块201到安全控件模块301的传输安全性;安全控件;漠块301用以保护安全控件程序自身的安 全并将过滤层驱动模块201采集的用户击键特征信息安全传输到身份识别代理模块401;身份 识别代理模块401负责收集和预处理用户击键特征信息,并将预处理的用户击键特征信息安全 传输给身份识别模块402;身份识别模块402负责用支持向量机改良算法等处理用户的击键特 征信息,得到用户的身份识别数据,并最后将身份识别数据存储在身份识别数据库模块403 中。键盘l是底层输入设备,用户击键的事件是直接由键盘l输入到整个基于用户击键特征的 身份识别系统,键盘l可以是台式机键盘、笔记本键盘、ATM机键盘及手机键盘等。
针对键盘l的击键时间,设置两个釆集点,分别对应按键按下时刻7^,"和按键抬起时刻 ;,当用户击键时,按键按下和抬起的事件会触发过滤层驱动禾莫块201采集用户击键按下和
抬起两时刻的时间差y;^7;p-7;。^,记录并保存。
当用户敲击多个按键时,过滤层驱动模块201会釆集到每个按键的按下和抬起时刻的时间
值,然后可以根据这些时间值计算用户击键按下和抬起事件之间的间隔时间差,得出用户击
键时在每个键上的停留时间 ;,以及在两个相邻键之间的跨键时间72=7^ -7^ ,所以当敲 ^MMI^M"HELLO"B^会采集到7;,7^7^7;……J(tl图2所示。
过滤层驱动模块201选择在i8042prt驱动和kbdclass驱动的连接处做过滤,过滤的目的 是为了使击键特征信息更加合理和有效,满足用户需要。合理有效的过滤,可以实现过滤层 驱动模块201对不同键盘的兼容,本发明提供的过滤层驱动模块201可以兼容PS2键盘与USB 键盘的击键输入。同时,过滤层驱动模块201兼容Windows 2000/XP/2003/Vista/7等操作系 统,区分对待操作系统在同步控制和10处理的差别来解决同步控制和IO处理的差异性。
所述的驱动安全防护纟莫块202用以保证过滤层驱动模块201的工作稳定性、硬件兼容性、 系统兼容性及自身安全性,同时保证用户击键特征信息采集的安全性、可靠性与可用性,并 通过以下方法实现
(1) 对击键特征信息中的关键代码段加壳处理,防止动态和静态调试;
(2) 使用自我检测机制,防止第三方程序改变程序的执行逻辑;
7(3)采用防止动态调试技术。
所述的数据安全传输模块203釆用釆用SSL安全通道对击键特征信息进行安全传输;数 据安全传输模块203和安全控件模块301通信前进行相互身份认证。
所述的安全控件纟莫块301完成与数据安全传输纟莫块203之间的相互身份认证之后,将击键 特征信息提交给身份识别代理模块401。具体提交过程为安全控件模块301采集用户击键特
征信息;将采集数据分块存储,分块存储数据通过随机因子确定的顺序存放;并使用对称加
密算法对数据进行加密,最后通过随机因子确定的顺序提交给身份识别代理模块401。对称加 密算法是指通过伪装技术和干扰技术获取的数据使用了AES对称加密。
所述的身份识别代理模块401通过JAVA、 C、 C++、 C#、 .NET、 PHP、 ASP、 PERL、 CGI、 PYTHON等程序构造身份识别模块402调用程序,用以实现将安全控件模块301获得的加密 数据递交给身份识别模块402,并根据需要对数据进行必要的预处理。所述的具体为
由键盘敲击产生的键盘事件被捕获以后,将键盘事件在时间轴上的刻度数记为r,由于
一次密码输入有n个键盘事件产生,所以得到了n个值序列7;,再通过公式^^=计算生
成有n-l个值的新序列,作为支持向量机的n-l维向量的坐标;
对击键特征信息数据进行聚类处理,将用户击键特征信息数据进行分类,同一类的用户 击键特征信息有很大的相似性,而不同类间的用户击键特征信息有很大的相异性。;
对聚类处理后的数据进行学习和筛选,选择相似性较大的一类用户击键特征信息作为数 据样本,其它类抛弃。
所述的身份识别模块402采用支持向量机改良算法计算击键特征信息数据的样本均值, 去除样本中的噪声;通过统计预处理后的样本均值作为新样本,计算输出身份识别数据;
所述的身份识别数据库纟莫块401用于存储经过身份识别模块402处理的用户身份识别数据,
存储方式包括分段存储和加密存储。
实施例 1
应用本发明提供的一种基于用户击键特征的身份识别方法,在进行用户注册时,其具体 识别方法流程如图4所示,步骤如下
步骤一、用户首先输入一个符合规则的用户名;然后用户根据系统要求会多次输入密码 口令,例如输入3到8次密码口令;
步骤二、采集用户击键特征信息。
对于用户输入用户名和密码口令时的击键事件,采集用户在每个按键上的停留时间7;和 相邻按键的间隔时间5,以及击键力度,击键特征信息符合系统要求,系统就按一定的数据 格式采集该用户的击键特征;所述的系统要求是指用户在输入指令的过程中,应该按照一般的正常习惯进行输入,每个按键上采集的停留时间s、相邻按键的间隔时间7;以及击键力度 相差一个很小的阈值,否则就认为是不正常的习惯,提示用户重新f俞入用户名和密码口令, 身份识别的精确度越高,对用户的习惯性的要求越高。
步骤三、对釆集用户击键特征信息进行过滤处理,得到更为有效和一致的击键特征信息, 并对数据进行安全传输和预处理。
步骤四、计算预处理后击键特征数据的样本均值,并用样本均值作为新样本,计算输出
身份识别数据。
步骤五、系统将身份识别数据存储到服务器内的身份识别数据库模块。 步骤六、返回消息给用户,提示完成注册。
实施例 2
应用本发明提供的基于用户击键特征的身份识别方法,进行用户登录识别的流程图如图5 所示,具体步骤为
步骤一、用户访问系统,进行用户登录; 步骤二、系统要求用户输入注册的用户名; 步骤三、用户输入注册时使用的密码;
步骤四、系统先验证用户的密码是否正确,如果密码错误,则返回步骤三重新输入密码; 如果密码正确,则系统继续验证用户的击键特征是否正确。
步骤五、系统在用户输入用户名和密码的同时采集用户的击键特征信息,并将该击键特 征信息与服务器中的身份识别数据库模块中存储的身份识别数据进行匹配。
如果其击键特征信息与该用户在注册时的击键特征匹配正确,则完成击键特征的验证; 如不正确,则识别失败,返回重新输入用户名和密码,直到击键特征信息匹配正确;
步骤六、返回给用户密码和击键特征正确的信息,识别成功,用户完成登录。
权利要求
1、一种基于用户击键特征的身份识别方法,其特征在于所述的方法包括如下步骤步骤一、采集用户击键特征信息并进行过滤处理;所述的击键特征信息包括用户击键时在每个按键的停留时间、相邻按键的间隔时间;步骤二、通过驱动安全防护技术跟踪步骤一的采集过程并安全处理采集的击键特征信息,对关键代码段加壳处理,防止动态和静态调试;使用自我检测机制,防止第三方程序改变程序的执行逻辑;步骤三、将通过步骤一采集的击键特征信息通过SSL和身份互认证技术安全传输;步骤四、击键特征信息进行数据预处理;步骤五、计算击键特征信息数据的样本均值,去除样本中的噪声;并通过统计预处理后的样本均值作为新样本,计算输出身份识别数据;步骤六、将上述得到的身份识别数据安全存储到身份识别数据库。
2、 根据权利要求l所述的一种基于用户击键特征的身份识别方法,其特征在于步骤一中键盘信息采集方法具体为针对键盘的每一个击键事件,设置两个釆集点,分别对应按键按下和按键抬起,当用户敲击按键时,采集用户敲击键盘按下和抬起事件的时间;计算用户敲击键盘按下时刻7^ 和抬起时刻7^之间的间隔时间7; =r p -7;。
,得出用户敲击键盘时在每个键上的停留时间7;,以及在两个相邻键之间的跨键时间7^, r2 其中71^为相邻下一按键的按下时刻;当用户敲击多个按键时,依次采集到的数据信息为;r2,r3,r4……。
3、 根据权利要求1所述的一种基于用户击键特征的身份识别方法,其特征在于步骤一中所述的过滤在i8042prt驱动和kbdclass驱动的连接处做过滤,实现过滤层驱动。
4、 根据权利要求l所述的一种基于用户击键特征的身份识别方法,其特征在于步骤二所述的驱动安全防护技术是指对击键特征信息的关键代码段加壳处理,防止动态和静态调试;使用自我检测机制,防止第三方程序改变程序的执行逻辑。
5、 根据权利要求1所述的一种基于用户击键特征的身份识别方法,其特征在于步骤三中所述的安全传输是指釆集用户击键特征信息,并将釆集到的数据进行分块存储,然后通过随机因子确定的顺序存放。
6、 根据权利要求1所述的一种基于用户击键特征的身份识别方法,其特征在于步骤四中所述的数据预处理过程为由键盘敲击产生的键盘事件被捕获以后,将键盘事件在时间轴上的刻度数记为r,由于一次用户输入有n个键盘事件产生,所以得到了n个值序列7;,再通过公式^^计算生成有n-l个值的新序列,作为支持向量机的n-l维向量的坐标;然后对击键特征信息数据进行聚类处理,将用户击键特征信息数据进行分类,同一类的用户击键特征信息有很大的相似性,而不同类间的用户击键特征信息有很大的相异性;对聚类处理后的数据进行学习和筛选,选择相似性较大的一类用户击键特征信息作为数据样本,其它类抛弃。
7、 根据权利要求1所述的一种基于用户击键特征的身份识别方法,其特征在于步骤六中的存储方式包括分段存储和加密存储。
8、 一种应用权利要求1所述的基于用户击键特征的身份识别方法的用户注册方法,其特征在于步骤一、用户首先输入一个符合规则的用户名;然后用户根据系统要求输入密码口令;步骤二、采集用户击键特征信息;步骤三、对采集用户击键特征信息进行过滤处理,得到更为有效和一致的击键特征信息,并对数据进行安全传输和预处理;步骤四、计算预处理后击键特征数据的样本均值,并用样本均值作为新样本,计算输出身份识别数据;步骤五、系统将身份识别数据存储到服务器内的身份识别数据库t莫块;步骤六、返回消息给用户,提示完成注册。
9、 一种应用权利要求l所述的基于用户击键特征的身份识别方法的用户登录身份识别方法,其特征在于步骤一、用户访问系统,进行用户登录;步骤二、系统要求用户输入注册的用户名;步骤三、用户输入注册时使用的密码;步骤四、系统先验证用户的密码是否正确,如果密码错误,则返回步骤三重新输入密码;如果密码正确,则系统继续验证用户的击键特征是否正确;步骤五、系统在用户输入用户名和密码的同时采集用户的击键特征信息,并将该击键特征信息与服务器中的身份识别数据库模块中存储的身份识别数据进行匹配;如果其击键特征信息与该用户在注册时的击键特征匹配正确,则完成击键特征的验证;如不正确,则识别失败,返回重新输入用户名和密码,直到击键特征信息匹配正确;步骤六、返回给用户密码和击键特征正确的信息,识别成功,用户完成登录。
全文摘要
本发明公开了一种基于用户击键特征的身份识别方法,包括采集用户击键特征信息并进行过滤处理;通过驱动安全防护技术跟踪步骤一的采集过程并安全处理采集的击键特征信息;对步骤一采集的击键特征信息通过SSL和身份相互认证技术安全传输;击键特征信息进行数据预处理;采用支持向量机改良算法计算击键特征信息数据的样本均值,去除样本中的噪声;并通过统计预处理后的样本均值作为新样本,计算输出身份识别数据;将上述得到的身份识别数据安全存储到身份识别数据库。本发明的身份识别方法简单有效,易于与原有系统集成,合法用户通过率和非法用户拒绝率很高,可以补充和替代现有的其他身份识别技术,具有非常高的应用和推广价值。
文档编号H04L9/32GK101674184SQ20091023605
公开日2010年3月17日 申请日期2009年10月19日 优先权日2009年10月19日
发明者侯俊伟, 傅念东, 石继东, 建 赵 申请人:北京微通新成网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1