專利名稱:一種身份認(rèn)證方法
技術(shù)領(lǐng)域:
. 本發(fā)明涉及一種計(jì)算機(jī)安全認(rèn)證方法,尤其涉及一種用戶身份認(rèn)證方法。
背景技術(shù):
隨著計(jì)算機(jī)應(yīng)用的普及,為了保證計(jì)算機(jī)應(yīng)用的安全性,用戶身份認(rèn)證得到 起來越多的重視,通常的用戶身份認(rèn)證除了用于區(qū)別不同用戶身份外,還包括通 過用戶身份認(rèn)證防止特定的外部軟件程序屏蔽用戶操作,并替代用戶進(jìn)行網(wǎng)絡(luò)操 作,進(jìn)而使用戶信息安全受到威脅或使網(wǎng)絡(luò)應(yīng)用受到危害。
傳統(tǒng)認(rèn)證方法大致三種-
1、 口令認(rèn)證方法,這種方法是授權(quán)的客戶都擁有一個區(qū)別于其他用戶的標(biāo)識 符ID和只有用戶自己知道的秘密口令。若用戶想要登錄系統(tǒng),就須在請求節(jié)點(diǎn)鍵 入自己的用戶標(biāo)示符和口令,系統(tǒng)將所術(shù)用戶標(biāo)示符和口令與預(yù)先保護(hù)的用戶標(biāo) 示符和口令進(jìn)行比對,如果匹配,則所術(shù)用戶身份合格,允許其進(jìn)入系統(tǒng)或提供 服務(wù),否則所述用用戶身份非法,拒絕其進(jìn)入系統(tǒng)或不提供服務(wù)。但是在實(shí)際運(yùn) 用中,口令在網(wǎng)上來回傳輸?shù)臋C(jī)會越來越多,容易被觀測和泄漏,口令在網(wǎng)上被 黑客截取的事件也日益增多。
2、 使用一些物理令牌如智能卡(IC)來代替簡單口令,要求系統(tǒng)的每個登陸 點(diǎn)配備特殊的硬件設(shè)備,這樣不但使成本增加而且也存在物理令牌丟失、竊取、 復(fù)制。3、生物特征認(rèn)證方法,這種方法是通過利用輸入裝置讀取諸如指紋、手掌靜 脈圖案、虹膜以及人臉的生物特征信息,創(chuàng)建通過提取該生物特征信息的特征而 得到的生物特征數(shù)據(jù),并且將其與登記的參照生物特征數(shù)據(jù)進(jìn)行比較,來對用戶 進(jìn)行認(rèn)證,但是這種認(rèn)證方法會導(dǎo)致不恰當(dāng)?shù)恼J(rèn)證率而且需要成本較高的額外的 生物特征提取設(shè)備,從而影響了普及性。
發(fā)明內(nèi)容
本發(fā)明公開了一種利用高精度計(jì)時程序采樣用戶的擊鍵特征信息,利用模糊c 均值聚類方法對用戶的擊鍵特征信息進(jìn)行識別,目的在于提供一種用戶身份認(rèn)證 方法,以解決現(xiàn)在技術(shù)中口令、智能卡、個人的生物特征認(rèn)證方法安全系數(shù)低、 認(rèn)證成功率低或成本高的技術(shù)問題。
本發(fā)明的發(fā)明目的是通過如下技術(shù)方案實(shí)現(xiàn)的 一種基用戶身份認(rèn)證方法,
由鍵盤擊鍵特征提取模塊、擊鍵間隔高精度計(jì)時模塊和基于模糊e均值聚類的身 份認(rèn)證算法模塊組成。
由鍵盤擊鍵特征提取模塊提取用戶擊鍵特征,同時擊鍵間隔高精度計(jì)時模塊 產(chǎn)生擊鍵時間標(biāo)簽,然后進(jìn)行模糊c均值聚類分析,并將聚類分析結(jié)果作為以后用 戶登錄進(jìn)行身份認(rèn)證的依據(jù)。
將用戶的擊鍵特征作為用戶的一種鑒別手段。人們在按鍵的持續(xù)時間不同, 以及連續(xù)兩次擊鍵的時間間隔不同,不同的人這種擊鍵特征是不同的。擊鍵特征 產(chǎn)生差異的直接原因在于不同用戶敲擊鍵盤的手指力度和手指移動快慢不同,間說明書第3/8頁
接原因則跟用戶的精神狀態(tài)以及用戶對輸入的熟悉程度有關(guān)。
為了對鍵盤按鍵消息進(jìn)行及時的處理,需要利用鍵盤鉤子函數(shù)抓取按鍵消息, 并且為了避免高精度計(jì)時程序占用主進(jìn)程時間,需要為其開辟一個新的進(jìn)程,并 用信號量在主進(jìn)程和高精度計(jì)時進(jìn)程間實(shí)現(xiàn)同步。
采用如上所述的技術(shù)方案后,本發(fā)明具有如下優(yōu)越性
1、 安全和具有隱蔽性。即用戶無從知道系統(tǒng)是否采用了這種技術(shù),避免非法 入侵者有針對性的破壞和偽造。
2、 認(rèn)證成功率高。
3、 成本低。這種認(rèn)證方法以鍵盤作為特征提取設(shè)備,只要在計(jì)算機(jī)系統(tǒng)內(nèi)嵌 入識別軟件即可,成本低廉。
圖1為本發(fā)明擊鍵間隔計(jì)時流程圖; 圖2為本發(fā)明程序工作流程具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明做詳細(xì)描述。擊鍵間隔計(jì)時主進(jìn)程及高精度計(jì)時進(jìn)程流程圖如圖1所示。
擊鍵特征主要體現(xiàn)在人們在按鍵的持續(xù)時間不同,以及連續(xù)兩次擊鍵的時間 間隔不同,不同的人這種擊鍵特征是不同的。擊鍵特征產(chǎn)生差異的直接原因在于 不同用戶敲擊鍵盤的手指力度和手指移動快慢不同,間接原因則跟用戶的精神狀 態(tài)以及用戶對輸入的熟悉程度有關(guān)。模糊e均值聚類算法(fcm)把"個向量 —\(' = 1'2''''' )分為^ 個模糊類,繼而求每個類的聚類中心,使得非相似性指標(biāo)的價(jià)值
函數(shù)達(dá)到最小。用""表示第j個樣本屬于第'個類的隸屬度,""滿足條件[3]:
1) "々e
;
2) £" =i,y/ = i,..., ,即每個樣本對全部聚類中心隸屬度之和為1 ;
FCM的價(jià)值函數(shù)(或目標(biāo)函數(shù))為 ,,c,,…,c,)令,^IX《 (1)
式中c,——模糊類Z的聚類中心;
《——第/個聚類中心與第y個數(shù)據(jù)點(diǎn)間的歐幾里德距離,
m——加權(quán)指數(shù),we[l,oo)。 構(gòu)造如下新的目標(biāo)函數(shù),可求得使(l)式達(dá)到最小值的必要條件
<formula>formula see original document page 6</formula>
這里A,U-1,…,")是(1)式的"個約束式的拉格朗日乘子。對所有輸入?yún)⒘壳髮?dǎo), 使式(1)達(dá)到最小的必要條件為<formula>formula see original document page 7</formula>
由上述兩個必要條件可知,模糊c均值聚類算法是一個簡單的迭代過程。在 批處理方式運(yùn)行時,F(xiàn)CM用下列步驟確定聚類中心c,和隸屬矩陣"
歩驟1:初始化聚類中心c,,, = 1,. ,c 。典型的做法是從所有數(shù)據(jù)點(diǎn)中任取c個點(diǎn)。 歩驟2:用式(3)確定隸屬矩陣t/。
歩驟3:根據(jù)式(l)計(jì)算價(jià)值函數(shù)。如果它小于某個確定的閥值,或它相對上 次價(jià)值函數(shù)質(zhì)的改變量小于某個閥值,則算法停止。 歩驟4:根據(jù)式(4)修正聚類中心。返回歩驟2。
當(dāng)算法收斂時,就得到了各類的聚類中心和各個樣本對于各類的隸屬度值, 從而完成了模糊聚類的劃分。
對于一個長度為n的字符串,可以得到《個按鍵時間和"-l個間隔時間。對鍵 入特性進(jìn)行特征采樣時,主要以上述兩種鍵入時間為參考。
設(shè)某次按鍵持續(xù)時間為Press(i),相鄰兩次擊鍵的時間間隔為 Interval (i),那么所采集的特征向量為[Press (1) , Interval(l), Press(2),
Interva1(2), ...... , Interval (n-1) , Press (n)], 維數(shù)為2"-l維,由于Press (i)
和Interval (i)的相似性,采用PI (i)來統(tǒng)一標(biāo)記它們。將采集的特征向量中PI(i) 劃分為慢速類c,,較慢速類q,正常類c,,較快速類c,以及快速類c,等五個類, 每一個類代表一個描述了用戶擊鍵特性準(zhǔn)確程度的模糊范圍,且都有自己的類中
心m" = 1,2,3,4,5)。訓(xùn)練時,若用戶的密碼長度為",輸入密碼/t次,那么可采集2"一1
類PI(i)特征樣本,每一類中都有4個數(shù)據(jù)。對于每一類數(shù)據(jù),聚類數(shù)目為5 ,應(yīng)用模糊e均值算法對該類數(shù)據(jù)進(jìn)行聚類,得到各個類的實(shí)際類中心值M,。將每 一類數(shù)據(jù)通過模糊c均值聚類算法得到的W,存儲于用戶的注冊表中,用于在身份 識別階段與用戶輸入的擊鍵特性進(jìn)行匹配。
VC中的WM—TIMER消息映射能進(jìn)行簡單的時間控制,類似的還有sleep() 函數(shù)實(shí)現(xiàn)延時,多媒體定時器函數(shù)實(shí)現(xiàn)定時功能,但它們的最小計(jì)時精度僅為 30ms,并且定時器消息在多任務(wù)操作系統(tǒng)中的優(yōu)先級很低,不能得到及時響應(yīng), 往往不能滿足實(shí)時控制環(huán)境下的應(yīng)用。對于精確度要求更高的定時操作,應(yīng)該利 用QueryPerformanceFrequency()禾口 QueryPerformanceCounter()函數(shù)。這兩個函數(shù) 是VC提供的僅供Windows 95及其后續(xù)版本使用的精確時間函數(shù),并要求計(jì)算機(jī) 從硬件上支持精確定時器。
為了對鍵盤按鍵消息進(jìn)行及時的處理,需要利用鍵盤鉤子函數(shù)抓取按鍵消息, 并且為了避免高精度計(jì)時程序占用主進(jìn)程時間,需要為其開辟一個新的進(jìn)程,'并 用信號量在主進(jìn)程和高精度計(jì)時進(jìn)程間實(shí)現(xiàn)同歩。
程序首先調(diào)用QueryPerformanceFrequency()函數(shù)獲得機(jī)器內(nèi)部計(jì)時器的時鐘 頻率dffreq。進(jìn)入計(jì)時階段后,在前一次擊鍵操作(按下或釋放按鍵)和本次擊鍵操 作分別調(diào)用QueryPerformanceCounter()函數(shù)獲得機(jī)器內(nèi)部計(jì)時器計(jì)數(shù)值QPartl和 QPart2,利用公式dfTim=(QPart2-QPartl)/dffreq可以計(jì)算出擊鍵間隔的精確時間。
程序工作流程如圖2所示。
系統(tǒng)被訓(xùn)練完后便會得到一個能代表用戶擊鍵特性的配置數(shù)據(jù)集,棄依此對 當(dāng)前用戶的擊鍵特性進(jìn)行識別,此數(shù)據(jù)集保存在注冊表中。系統(tǒng)首先檢查用戶輸入的口令是否正確,只有在口令正確的前提下,系統(tǒng)才會將當(dāng)前采集到的用盧擊 鍵特性與系統(tǒng)學(xué)習(xí)到的用戶擊鍵特性進(jìn)行匹配,如果匹配成功,則認(rèn)為當(dāng)前用戶 為合法用戶。
假設(shè)口令長度為",那么采集的擊鍵間隔為PI(l), PI(2)......., Pl(2n-1)。設(shè)
PI(i)到各簇中心M'的距離分別為D(U), D(i,2), D(i,3), D(i,4), D(i,5)。如果 PI(i)位于5個聚類中心的最左側(cè)或最右側(cè),且訓(xùn)練期間得到的各簇標(biāo)準(zhǔn)差為 W = i,2,3,4'5),貝喏IDG,川",'(]=!或5),可判定p柳屬于慢速類G或快速類c,,否
則PI(i)不屬于任何一類;如果PI(i)位于某2個聚類中心之間,不妨設(shè)其位于。和
Q'之間,取系數(shù)2'滿足^,'+<7"')= —、將 與4的乘積^作為各類的可接受
范圍,因此若D(i'J)",',則PI(i)屬于第J類;反之若^,」)> V',艮p有D(i,J+l)", ,
則PI(i)屬于第7"類。
用正確匹配度《來描述檢測得到的擊鍵時間間隔與正常擊鍵時間間隔的匹配 程度,設(shè)PI(i)屬于類q、 q、 q、 G和G時,其正確匹配度分別。
為0.25、 0.5、 1、 0.5、 0.25,并設(shè)PI(i)不屬于其中任何一類時正確匹配度為0。
2,,-1
《=(歹",)/(2w —1)
這時可取總的正確匹配度為 臺 ,同時設(shè)定某一閾值"根據(jù)^《或g"
來判定當(dāng)前用戶為合法用戶還是非法用戶。
程序運(yùn)行后,首先會讀取注冊表中的TrianFinishFlag標(biāo)志量,若TrianFinishFlag
不存在或?yàn)?,則說明是用戶第一次運(yùn)行,程序進(jìn)入訓(xùn)練模塊。用戶在設(shè)置用戶 名和密碼后,還需用戶反復(fù)輸入口令,由程序采集擊鍵特征信息,然后利用模糊c 聚類算法對特征信息進(jìn)行分析計(jì)算,將得到的計(jì)算結(jié)果,包括用戶擊鍵特征信息和用戶名、口令在內(nèi)一起保存到注冊表中作為用戶的配置數(shù)據(jù)集。
若TrianFinishRag-l,說明是用戶登陸模式,程序?qū)⑦\(yùn)行工作模塊,耍求用戶輸入用戶 名,口令,用戶輸入口令的過程中,程序也會自動監(jiān)測和記錄用戶的擊鍵特征信息t把結(jié)果 與注冊表保存的用戶名、密碼和各項(xiàng)擊鍵特征進(jìn)行比較,并通過判別算法得到用戶是否合法 的結(jié)論,若不合法,則退出程序。
權(quán)利要求
1.一種用戶身份認(rèn)證方法,由鍵盤擊鍵特征提取模塊、擊鍵間隔高精度計(jì)時模塊和基于模糊c均值聚類的身份認(rèn)證算法模塊組成;其特征在于,由鍵盤擊鍵特征提取模塊提取用戶擊鍵特征,同時擊鍵間隔高精度計(jì)時模塊產(chǎn)生擊鍵時間標(biāo)簽,然后進(jìn)行模糊c均值聚類分析,并將聚類分析結(jié)果作為以后用戶登錄進(jìn)行身份認(rèn)證的依據(jù)。
2.根據(jù)權(quán)利要求l所述的一種用戶身份認(rèn)證方法,其特征在于,為了對鍵盤 按鍵消息進(jìn)行及時的處理,利用鍵盤鉤子函數(shù)抓取按鍵消息,并且為了避免高精 度計(jì)時程序占用主進(jìn)程時間,為其開辟一+新的進(jìn)程,并用信號量在主進(jìn)程和高 精度計(jì)時進(jìn)程間實(shí)現(xiàn)同歩。
全文摘要
本發(fā)明公開了一種用戶身份認(rèn)證方法,由鍵盤擊鍵特征提取模塊、擊鍵間隔高精度計(jì)時模塊和基于模糊c均值聚類的身份認(rèn)證算法模塊組成;由鍵盤擊鍵特征提取模塊提取用戶擊鍵特征,同時擊鍵間隔高精度計(jì)時模塊產(chǎn)生擊鍵時間標(biāo)簽,然后進(jìn)行模糊c均值聚類分析,并將聚類分析結(jié)果作為以后用戶登錄進(jìn)行身份認(rèn)證的依據(jù)。利用鍵盤鉤子函數(shù)抓取按鍵消息,為避免高精度計(jì)時程序占用主進(jìn)程時間,為其開辟一個新的進(jìn)程。具有安全和隱蔽性,用戶無從知道系統(tǒng)是否采用了這種技術(shù),避免非法入侵者有針對性的破壞和偽造;認(rèn)證成功率高;成本低,這種認(rèn)證方法以鍵盤作為特征提取設(shè)備,只要在計(jì)算機(jī)系統(tǒng)內(nèi)嵌入識別軟件即可,成本低廉。
文檔編號G06F21/00GK101639876SQ20081004110
公開日2010年2月3日 申請日期2008年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者戴海鵬, 遠(yuǎn) 程, 超 賀, 悅 陸 申請人:戴海鵬;程 遠(yuǎn)