CN101639876A - 一种身份认证方法 - Google Patents

一种身份认证方法 Download PDF

Info

Publication number
CN101639876A
CN101639876A CN200810041102A CN200810041102A CN101639876A CN 101639876 A CN101639876 A CN 101639876A CN 200810041102 A CN200810041102 A CN 200810041102A CN 200810041102 A CN200810041102 A CN 200810041102A CN 101639876 A CN101639876 A CN 101639876A
Authority
CN
China
Prior art keywords
user
keystroke
keyboard
key stroke
precision timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200810041102A
Other languages
English (en)
Inventor
戴海鹏
程远
贺超
陆悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN200810041102A priority Critical patent/CN101639876A/zh
Publication of CN101639876A publication Critical patent/CN101639876A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种用户身份认证方法,由键盘击键特征提取模块、击键间隔高精度计时模块和基于模糊c均值聚类的身份认证算法模块组成;由键盘击键特征提取模块提取用户击键特征,同时击键间隔高精度计时模块产生击键时间标签,然后进行模糊c均值聚类分析,并将聚类分析结果作为以后用户登录进行身份认证的依据。利用键盘钩子函数抓取按键消息,为避免高精度计时程序占用主进程时间,为其开辟一个新的进程。具有安全和隐蔽性,用户无从知道系统是否采用了这种技术,避免非法入侵者有针对性的破坏和伪造;认证成功率高;成本低,这种认证方法以键盘作为特征提取设备,只要在计算机系统内嵌入识别软件即可,成本低廉。

Description

一种身份认证方法
技术领域
本发明涉及一种计算机安全认证方法,尤其涉及一种用户身份认证方法。
背景技术
随着计算机应用的普及,为了保证计算机应用的安全性,用户身份认证得到起来越多的重视,通常的用户身份认证除了用于区别不同用户身份外,还包括通过用户身份认证防止特定的外部软件程序屏蔽用户操作,并替代用户进行网络操作,进而使用户信息安全受到威胁或使网络应用受到危害。
传统认证方法大致三种:
1、口令认证方法,这种方法是授权的客户都拥有一个区别于其他用户的标识符ID和只有用户自己知道的秘密口令。若用户想要登录系统,就须在请求节点键入自己的用户标示符和口令,系统将所术用户标示符和口令与预先保护的用户标示符和口令进行比对,如果匹配,则所术用户身份合格,允许其进入系统或提供服务,否则所述用用户身份非法,拒绝其进入系统或不提供服务。但是在实际运用中,口令在网上来回传输的机会越来越多,容易被观测和泄漏,口令在网上被黑客截取的事件也日益增多。
2、使用一些物理令牌如智能卡(IC)来代替简单口令,要求系统的每个登陆点配备特殊的硬件设备,这样不但使成本增加而且也存在物理令牌丢失、窃取、复制。
3、生物特征认证方法,这种方法是通过利用输入装置读取诸如指纹、手掌静脉图案、虹膜以及人脸的生物特征信息,创建通过提取该生物特征信息的特征而得到的生物特征数据,并且将其与登记的参照生物特征数据进行比较,来对用户进行认证,但是这种认证方法会导致不恰当的认证率而且需要成本较高的额外的生物特征提取设备,从而影响了普及性。
发明内容
本发明公开了一种利用高精度计时程序采样用户的击键特征信息,利用模糊c均值聚类方法对用户的击键特征信息进行识别,目的在于提供一种用户身份认证方法,以解决现在技术中口令、智能卡、个人的生物特征认证方法安全系数低、认证成功率低或成本高的技术问题。
本发明的发明目的是通过如下技术方案实现的:一种基用户身份认证方法,由键盘击键特征提取模块、击键间隔高精度计时模块和基于模糊C均值聚类的身份认证算法模块组成。
由键盘击键特征提取模块提取用户击键特征,同时击键间隔高精度计时模块产生击键时间标签,然后进行模糊c均值聚类分析,并将聚类分析结果作为以后用户登录进行身份认证的依据。
将用户的击键特征作为用户的一种鉴别手段。人们在按键的持续时间不同,以及连续两次击键的时间间隔不同,不同的人这种击键特征是不同的。击键特征产生差异的直接原因在于不同用户敲击键盘的手指力度和手指移动快慢不同,间接原因则跟用户的精神状态以及用户对输入的熟悉程度有关。
为了对键盘按键消息进行及时的处理,需要利用键盘钩子函数抓取按键消息,并且为了避免高精度计时程序占用主进程时间,需要为其开辟一个新的进程,并用信号量在主进程和高精度计时进程间实现同步。
采用如上所述的技术方案后,本发明具有如下优越性:
1、安全和具有隐蔽性。即用户无从知道系统是否采用了这种技术,避免非法入侵者有针对性的破坏和伪造。
2、认证成功率高。
3、成本低。这种认证方法以键盘作为特征提取设备,只要在计算机系统内嵌入识别软件即可,成本低廉。
附图说明
图1为本发明击键间隔计时流程图;
图2为本发明程序工作流程图;
具体实施方式
下面结合附图对本发明做详细描述。
击键间隔计时主进程及高精度计时进程流程图如图1所示。
击键特征主要体现在人们在按键的持续时间不同,以及连续两次击键的时间间隔不同,不同的人这种击键特征是不同的。击键特征产生差异的直接原因在于不同用户敲击键盘的手指力度和手指移动快慢不同,间接原因则跟用户的精神状态以及用户对输入的熟悉程度有关。模糊c均值聚类算法(FCM)把n个向量xi(i=1,2,…,n)分为c个模糊类,继而求每个类的聚类中心,使得非相似性指标的价值函数达到最小。用uij表示第j个样本属于第i个类的隶属度,uij满足条件[3]:
1)uij∈[0,1];
2) Σ i = 1 c u ij = 1 , ∀ j = 1 , . . . , n , 即每个样本对全部聚类中心隶属度之和为1;
FCM的价值函数(或目标函数)为:
J ( U , c 1 , . . . , c c ) = Σ i = 1 c J i = Σ i = 1 c Σ j n u ij m d ij 2 - - - ( 1 )
式中:ci——类i的聚类中心;
dij——个聚类中心与第j个数据点间的欧几里德距离,dij=‖ci-xj‖;
m——指数,m∈[1,∞)。
构造如下新的目标函数,可求得使(1)式达到最小值的必要条件:
J ‾ ( U , c 1 , . . . , c c , λ 1 , . . . , λ n )
= J ( U , c 1 , . . . , c c ) + Σ j = 1 n λ j ( Σ i = 1 c u ij - 1 ) - - - ( 2 )
= Σ i = 1 c Σ j n u ij m d ij 2 + Σ j = 1 n λ j ( Σ i = 1 c u ij - 1 )
这里λj(j=1,…,n)是(1)式的n个约束式的拉格朗日乘子。对所有输入参量求导,使式(1)达到最小的必要条件为:
c i = Σ j = 1 n u ij m x j Σ j = 1 n u ij m - - - ( 3 )
和:
u ij = ( 1 / d ij ) 2 / ( m - 1 ) Σ k = 1 c ( 1 / d kj ) 2 / ( m - 1 ) - - - ( 4 )
由上述两个必要条件可知,模糊c均值聚类算法是一个简单的迭代过程。在批处理方式运行时,FCM用下列步骤确定聚类中心ci和隶属矩阵U:
步骤1:初始化聚类中心ci,i=1,…,c。典型的做法是从所有数据点中任取c个点。
步骤2:用式(3)确定隶属矩阵U。
步骤3:根据式(1)计算价值函数。如果它小于某个确定的阀值,或它相对上次价值函数质的改变量小于某个阀值,则算法停止。
步骤4:根据式(4)修正聚类中心。返回步骤2。
当算法收敛时,就得到了各类的聚类中心和各个样本对于各类的隶属度值,从而完成了模糊聚类的划分。
对于一个长度为n的字符串,可以得到n个按键时间和n-1个间隔时间。对键入特性进行特征采样时,主要以上述两种键入时间为参考。
设某次按键持续时间为Press(i),相邻两次击键的时间间隔为Interval(i),那么所采集的特征向量为[Press(1),Interval(1),Press(2),Interval(2),……,Interval(n-1),Press(n)],维数为2n-1维,由于Press(i)和Interval(i)的相似性,采用PI(i)来统一标记它们。将采集的特征向量中PI(i)划分为慢速类C1,较慢速类C2,正常类C3,较快速类C4以及快速类C5等五个类,每一个类代表一个描述了用户击键特性准确程度的模糊范围,且都有自己的类中心mj(j=1,2,3,4,5)。训练时,若用户的密码长度为n,输入密码k次,那么可采集2n-1类PI(i)特征样本,每一类中都有k个数据。对于每一类数据,聚类数目为5,应用模糊c均值算法对该类数据进行聚类,得到各个类的实际类中心值mj。将每一类数据通过模糊c均值聚类算法得到的mj存储于用户的注册表中,用于在身份识别阶段与用户输入的击键特性进行匹配。
VC中的WM_TIMER消息映射能进行简单的时间控制,类似的还有sleep()函数实现延时,多媒体定时器函数实现定时功能,但它们的最小计时精度仅为30ms,并且定时器消息在多任务操作系统中的优先级很低,不能得到及时响应,往往不能满足实时控制环境下的应用。对于精确度要求更高的定时操作,应该利用QueryPerformanceFrequency()和QueryPerformanceCounter()函数。这两个函数是VC提供的仅供Windows 95及其后续版本使用的精确时间函数,并要求计算机从硬件上支持精确定时器。
为了对键盘按键消息进行及时的处理,需要利用键盘钩子函数抓取按键消息,并且为了避免高精度计时程序占用主进程时间,需要为其开辟一个新的进程,并用信号量在主进程和高精度计时进程间实现同步。
程序首先调用QueryPerformanceFrequency()函数获得机器内部计时器的时钟频率dfFreq。进入计时阶段后,在前一次击键操作(按下或释放按键)和本次击键操作分别调用QueryPerformanceCounter()函数获得机器内部计时器计数值QPart1和QPart2,利用公式dfTim=(QPart2-QPart1)/dfFreq可以计算出击键间隔的精确时间。
程序工作流程如图2所示。
系统被训练完后便会得到一个能代表用户击键特性的配置数据集,并依此对当前用户的击键特性进行识别,此数据集保存在注册表中。系统首先检查用户输入的口令是否正确,只有在口令正确的前提下,系统才会将当前采集到的用户击键特性与系统学习到的用户击键特性进行匹配,如果匹配成功,则认为当前用户为合法用户。
假设口令长度为n,那么采集的击键间隔为PI(1),PI(2),......,PI(2n-1)。设PI(i)到各簇中心mj的距离分别为:D(i,1),D(i,2),D(i,3),D(i,4),D(i,5)。如果PI(i)位于5个聚类中心的最左侧或最右侧,且训练期间得到的各簇标准差为σj(j=1,2,3,4,5),则若|D(i,j)|≤σj,(j=1或5),可判定PI(i)属于慢速类C1或快速类C5,否则PI(i)不属于任何一类;如果PI(i)位于某2个聚类中心之间,不妨设其位于Cj和Cj+1之间,取系数λj满足λjjj+1)=Cj+1-Cj,将σj与λj的乘积λjσj作为各类的可接受范围,因此若D(i,j)≤λjσj,则PI(i)属于第j类;反之若D(i,j)>λjσj,即有D(i,j+1)≤λjσj+1,则PI(i)属于第j+1类。
用正确匹配度α来描述检测得到的击键时间间隔与正常击键时间间隔的匹配程度,设PI(i)属于类C1、C2、C3、C4和C5时,其正确匹配度分别。
为0.25、0.5、1、0.5、0.25,并设PI(i)不属于其中任何一类时正确匹配度为0。这时可取总的正确匹配度为 q = ( Σ i = 1 2 n - 1 α i ) / ( 2 n - 1 ) , 同时设定某一阈值ξ,根据q≥ξ或q<ξ来判定当前用户为合法用户还是非法用户。
程序运行后,首先会读取注册表中的TrianFinishFlag标志量,若TrianFinishFlag不存在或为0,则说明是用户第一次运行,程序进入训练模块。用户在设置用户名和密码后,还需用户反复输入口令,由程序采集击键特征信息,然后利用模糊c聚类算法对特征信息进行分析计算,将得到的计算结果,包括用户击键特征信息和用户名、口令在内一起保存到注册表中作为用户的配置数据集。
若TrianFinishFlag=1,说明是用户登陆模式,程序将运行工作模块,要求用户输入用户名,口令,用户输入口令的过程中,程序也会自动监测和记录用户的击键特征信息,把结果与注册表保存的用户名、密码和各项击键特征进行比较,并通过判别算法得到用户是否合法的结论,若不合法,则退出程序。

Claims (2)

1.一种用户身份认证方法,由键盘击键特征提取模块、击键间隔高精度计时模块和基于模糊c均值聚类的身份认证算法模块组成;其特征在于,由键盘击键特征提取模块提取用户击键特征,同时击键间隔高精度计时模块产生击键时间标签,然后进行模糊c均值聚类分析,并将聚类分析结果作为以后用户登录进行身份认证的依据。
2.根据权利要求1所述的一种用户身份认证方法,其特征在于,为了对键盘按键消息进行及时的处理,利用键盘钩子函数抓取按键消息,并且为了避免高精度计时程序占用主进程时间,为其开辟一个新的进程,并用信号量在主进程和高精度计时进程间实现同步。
CN200810041102A 2008-07-29 2008-07-29 一种身份认证方法 Pending CN101639876A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810041102A CN101639876A (zh) 2008-07-29 2008-07-29 一种身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810041102A CN101639876A (zh) 2008-07-29 2008-07-29 一种身份认证方法

Publications (1)

Publication Number Publication Date
CN101639876A true CN101639876A (zh) 2010-02-03

Family

ID=41614855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810041102A Pending CN101639876A (zh) 2008-07-29 2008-07-29 一种身份认证方法

Country Status (1)

Country Link
CN (1) CN101639876A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102918A (zh) * 2014-07-07 2014-10-15 北京印刷学院 一种基于模糊神经网络的脉象信号分类方法和装置
CN107395562A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种基于聚类算法的金融终端安全保护方法及系统
CN108304703A (zh) * 2018-01-31 2018-07-20 苏州锦佰安信息技术有限公司 一种用于Windows的验证用户身份的方法和装置
CN110570199A (zh) * 2019-07-24 2019-12-13 中国科学院信息工程研究所 一种基于用户输入行为的用户身份检测方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102918A (zh) * 2014-07-07 2014-10-15 北京印刷学院 一种基于模糊神经网络的脉象信号分类方法和装置
CN104102918B (zh) * 2014-07-07 2017-10-31 北京印刷学院 一种基于模糊神经网络的脉象信号分类方法和装置
CN107395562A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种基于聚类算法的金融终端安全保护方法及系统
CN108304703A (zh) * 2018-01-31 2018-07-20 苏州锦佰安信息技术有限公司 一种用于Windows的验证用户身份的方法和装置
CN110570199A (zh) * 2019-07-24 2019-12-13 中国科学院信息工程研究所 一种基于用户输入行为的用户身份检测方法及系统
CN110570199B (zh) * 2019-07-24 2022-10-11 中国科学院信息工程研究所 一种基于用户输入行为的用户身份检测方法及系统

Similar Documents

Publication Publication Date Title
Yang et al. BehaveSense: Continuous authentication for security-sensitive mobile apps using behavioral biometrics
Lu et al. Continuous authentication by free-text keystroke based on CNN and RNN
Maltoni et al. Handbook of fingerprint recognition
Li et al. Unobservable re-authentication for smartphones.
CN107437074B (zh) 一种身份认证方法和装置
CN102890776B (zh) 通过面部表情调取表情图释的方法
CN100458829C (zh) 一种指纹识别无线射频卡的身份认证系统及方法
CN106469181B (zh) 一种用户行为模式分析方法及装置
CN103886283A (zh) 用于移动用户的多生物特征图像信息融合方法及其应用
CN106709417A (zh) 一种多模态生物识别系统及其使用方法
CN110059552A (zh) 一种区块链与生物特征结合的身份认证方法
Rahman et al. Automated student attendance system using fingerprint recognition
CN102890777A (zh) 可识别面部表情的电脑系统
Jain Biometric recognition: overview and recent advances
CN103246880A (zh) 基于多阶局部显著模式特征统计的人脸识别方法
CN101639876A (zh) 一种身份认证方法
CN112417986B (zh) 一种基于深度神经网络模型的半监督在线人脸识别方法及系统
Navaz et al. Signature Authentication Using Biometric Methods
CN111371951B (zh) 基于肌电信号和孪生神经网络的智能手机用户认证方法和系统
CN102368291A (zh) 基于指纹图像隐形意识的个人身份验证系统
Choudhary et al. Implementation of integrated security system by using biometric function in atm machine
CN104050403B (zh) 基于矩阵和相对时间的移动终端用户身份认证系统及方法
Kubanek et al. Intelligent Identity Authentication, Using Face and Behavior Analysis
Ikani et al. FINGERPRINTBASED ATTENDANCE MANAGEMENT SYSTEM.
Dafer et al. Evaluation of keystroke dynamics authentication systems: Analysis of physical and touch screen keyboards

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100203