王小冬 陳孔艷
摘要:傳統(tǒng)的windows登錄方式是口令認(rèn)證,口令易泄露將帶來安全隱患,而采用人的生物特征結(jié)合傳統(tǒng)認(rèn)證方式可增強(qiáng)系統(tǒng)的安全性。該文利用對(duì)用戶擊鍵的特征采用單類分類器進(jìn)行識(shí)別,大大提高windows口令認(rèn)證的可靠性。
關(guān)鍵詞:支持向量機(jī);Gina; Windows登錄
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)10-0088-02
對(duì)于windows操作系統(tǒng), 傳統(tǒng)的登錄認(rèn)證方式是用戶名-口令單向鑒別模型, 但該模型存在諸如口令易被竊取和猜測(cè)等弊端 , 所以并不適合單獨(dú)在一些對(duì)安全等級(jí)需求較高的場(chǎng)所中使用。智能卡、指紋認(rèn)證登錄能有效的提高安全性,但需要額外的硬件。擊鍵特征是人們?cè)阪I盤輸入時(shí)擊鍵的節(jié)奏,具有唯一性,因而也被列入生物特征認(rèn)證技術(shù)范疇,擊鍵特征的提取只要普通的鍵盤,因此不需要額外的硬件設(shè)備,將口令和擊鍵特征結(jié)合起來作為windows登錄認(rèn)證方式,具有實(shí)現(xiàn)簡(jiǎn)便、安全性高的優(yōu)點(diǎn)。
1 單類分類器
單類問題是相對(duì)多類問題而言的。分類時(shí)只需判別是某個(gè)模式屬于或者不屬于單個(gè)類別。這個(gè)特殊的類別通常稱為目標(biāo)類(或正常類),而不屬于這個(gè)類別的統(tǒng)稱為非目標(biāo)類(或異常類)。單類分類器在訓(xùn)練階段只能用正常類樣本進(jìn)行學(xué)習(xí)。缺失異常類樣本的原因有:異常情況很少發(fā)生或代價(jià)太高;異常樣本種類繁多而無法窮舉[1]。
2 分類器的設(shè)計(jì)
2.1 擊鍵特征提取
某個(gè)鍵按下到抬起所持續(xù)時(shí)間稱為該鍵擊鍵時(shí)間,擊鍵間隔指前后兩個(gè)鍵按下的時(shí)間間隔,如圖 1。若[t(i)down]表示第[i]個(gè)鍵的按下時(shí)刻,[t(i)up]留表示第[i]個(gè)鍵抬起的時(shí)刻,則[Ti=t(i)up-t(i)down]表示第[i]個(gè)鍵的擊鍵時(shí)間,則[Li,i+1=t(i+1)down-t(i)up]表示第[i]個(gè)鍵和第[i+1]個(gè)鍵的間隔時(shí)間。若用戶的口令由[n]個(gè)字符組成,用向量為
[(T1,L1,2,T2,L2,3,T1,…Ln,n-1,Tn)]表示用戶擊鍵的特征[2,3]。。
圖1 擊鍵特征
2.2 基于歐式測(cè)度的單類分類器
設(shè)擊鍵特征向量
[X=(x1,x2,…xn)],[F(X)=sig(αD-X-X2)],若如果[F(X)]=1表示擊鍵特征匹配,可以登錄;若[F(X)]=0則表示擊鍵特征不匹配,無法登陸。則[X]的二范數(shù)表示為
其中[X]為擊鍵特征,[X]為訓(xùn)練后的擊鍵特征均值,[D]為訓(xùn)練后的擊鍵特征方差,[α]為需要訓(xùn)練的系數(shù),[X2=XXT],[sig(x)=1x≥00x<0]。
2.3 分類器的在線學(xué)習(xí)
1)均值在線學(xué)習(xí)
因[xn-1=1n-1i=1n-1xi]
所以[xn=1ni=1nxi][=1n(i=1n-1xi+xn)][=1n[(n-1)xn-1+xn]]
登陸成功,其中更新均值的公式如下([N]取5):
[Xnew=N-1NXold+1NXnow]
其中[Xnew]表示更新后的均值向量,[Xold]表示更新前的均值向量,[Xnow]表示當(dāng)前登錄的擊鍵特征向量。
2)方差在線學(xué)習(xí)
因[Dn-1=1n-2i=1n-1(xi-xn-1)2]
故[Dn=1n-1i=1n(xi-xn)2]
[=1n-1i=1n-1(xi-xn-1-xn-xn-1n)2+1n-1(xn-xn-1-xn-xn-1n)2]
[=1n-1i=1n-1[(xi-xn-1)2+(xn-xn-1n)2-2(x1-xn-1)(xn-xn-1n)]]
[+1n-1[(xn-x)2((xn-xn-1)n)2-2(xn-xn-1)((xn-xn-1)n)]]
[=1n-1i=1n-1(xi-xn-1)2+(xn-xn-1n)2+(n-1)(xn-xn-1n)2]
[=1n-1i=1n-1(xi-xn-1)2+(xn-xn-1)2n]
如果連續(xù)5次登錄成功,則更新方差;否則,不更新。其中方差的更新采用公式([N]取5)如下:
[Dnew=N-1NDold+1NXnew-Xold2]
其中[Dnew]表示更新后的方差,[Dold]表示更新前的方差。
3 Windows登錄原理
3.1 GINA簡(jiǎn)介
windows 用戶登錄是由Winlogon、GINA和Network providers組成的交互式認(rèn)證模塊實(shí)現(xiàn),其中GINA是Winlogon的一個(gè)動(dòng)態(tài)鏈接庫(kù)文件,Microsoft提供了的默認(rèn)的文件名為msgina.dll。通過定制GINA可以實(shí)現(xiàn)特定的登錄功能, 本文中GINA文件為mygina.dll,并將該文件放到系統(tǒng)windows下的system32目錄下。修改注冊(cè)表:\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon的GinaDLL的鍵值改為mygina.dll。
3.2 自定義GINA的函數(shù)實(shí)現(xiàn)
開發(fā)特制的GINA,就要實(shí)現(xiàn)與winlogon.exe交互的18個(gè)標(biāo)準(zhǔn)函數(shù)接口[4,5]。,這18個(gè)函數(shù)大部分都是通過調(diào)用系統(tǒng)自帶的函數(shù)來實(shí)現(xiàn),主要實(shí)現(xiàn)WlxLoggedOutSAS,WlxLoggedOnSAS和WlxWkstaLockedSAS這三個(gè)函數(shù)。其中,WlxLoggedOnSAS實(shí)現(xiàn)用戶登錄,如計(jì)算機(jī)啟動(dòng)后的首次登錄、注銷或切換用戶后的登錄。WlxLoggedOnSAS是用戶登錄后發(fā)生SAS(Secure Attention Sequence)事件后實(shí)現(xiàn)相應(yīng)的處理。WlxWkstaLockedSAS主要是實(shí)現(xiàn)鎖定計(jì)算機(jī)。
4 系統(tǒng)登錄界面與結(jié)論
安裝本文的GINA后,登錄系統(tǒng)就出現(xiàn)圖2登錄界面:
本文在利用擊鍵時(shí)的生物特征,提出基于密碼和擊鍵特征的雙Windows登錄機(jī)制,克服了Windows開機(jī)登錄因密碼泄露所帶來的安全問題,在方便、廉價(jià)的前提下有效的提高系統(tǒng)登錄的安全性,在實(shí)際應(yīng)用中取得了良好的效果。
參考文獻(xiàn):
[1] 趙加敏,馮愛民. 最大化約束密度單類分類器[J]. 計(jì)算機(jī)科學(xué),2014(2).
[2] 許哲,郭海鋒. 基于模糊c均值聚類的計(jì)算機(jī)鍵盤用戶身份認(rèn)證[J]. 延邊大學(xué)學(xué)報(bào),2005,31(2).
[3] 劉學(xué)軍,陳松燦.基于支持向量機(jī)的計(jì)算機(jī)鍵盤用戶身份驗(yàn)真[J]. 計(jì)算機(jī)研究與發(fā)展,2002,39(9).
[4] 蔡準(zhǔn),李大興.通過GINA實(shí)現(xiàn)使用Smart Key登錄Windows[J]. 計(jì)算機(jī)應(yīng)用,2002(12).
[5] 范開濤, 周楓.基于 GINA的機(jī)房管理系統(tǒng)的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2008(5).