王振輝 王振鐸 支侃買
1(西安翻譯學院工程技術學院 陜西 西安 710105)2(西安思源學院電子信息工程學院 陜西 西安 710038)
?
基于鼠標和鍵盤行為特征組合的用戶身份認證
王振輝1王振鐸2支侃買1
1(西安翻譯學院工程技術學院陜西 西安 710105)2(西安思源學院電子信息工程學院陜西 西安 710038)
摘要為解決單一行為特征存在的不足和提高認證識別率,提出一種基于鼠標和鍵盤行為特征組合的雙指標用戶身份認證方法。首先分別提取鼠標和鍵盤兩種指標的行為特征,然后利用支持向量機進行模式識別,實現特征分析和驗證,以達到實時監測用戶身份、檢測非法用戶的目的。最后通過多個用戶采集鼠標和鍵盤行為數據進行身份識別與認證實驗。結果表明,相對于單一行為特征,該方法提高了用戶身份認證的識別率,降低了誤識率和拒識率,而且結果優于BP和SOM方法,充分展示了雙指標身份認證的高可靠性。
關鍵詞行為特征身份認證支持向量機擊鍵特征鼠標行為
0引言
生物認證是近年來流行的用戶身份鑒別技術,并且逐漸得到關注。從最初的指紋識別,到后來的聲音、手勢、掌紋、虹膜及人臉等的識別,這些生物認證在硬件安裝和使用上需要花費財力和培訓,很難進入一般的商業和個人用戶領域,不利于系統的實施和推廣。鍵盤和鼠標普及率高且不需要添加額外的設備,通過監聽用戶鍵盤擊鍵特征或鼠標行為特征,對用戶進行身份識別已成為生物認證領域的一個新的研究熱點[1]。
鍵盤擊鍵特征因其唯一性,且認證工作在后臺以軟件的方式實現,對用戶透明,具有隱蔽性,可以避免入侵者有針對性的破壞和偽造。所以,利用擊鍵特征進行身份認證的技術得到高度重視,國內外許多學者為此做了大量的研究工作,取得了不少成果[2-4]。文獻[5]使用統計學方法,將測試樣本和原型進行均值比較,這種方法需要大量訓練樣本。文獻[6]以PR-RP模型作為理論基礎,對特征模板進行實時更新,保證特征模板中數據為用戶的最新特征來達到認證的高識別率,但算法性能考慮不足。文獻[7]采用條件隨機場模型,取得了較好的準確率,但不同訓練算法在條件隨機場模型對識別性能上區別較大,訓練時間較長。隨著圖形界面的日益普及,國內外不少學者對鼠標的使用行為特征開始進行研究。已有的研究所采用的方法與鍵盤相同,主要有人工神經網絡、支持向量機、統計方法、時間序列法以及自適應共振理論等[8-14]。
上述這些研究都是僅以擊鍵或是只考慮鼠標的行為特征,鮮有文章綜合鼠標鍵盤兩者的行為進行身份認證。由于用戶的擊鍵特性和鼠標行為具有不穩定性, 現有的識別方法不能有效地處理用戶錯誤行為時所產生的異常特征值。所以, 單獨利用一種行為特性作為用戶身份認證還不成熟,有待于進一步完善。
為提高身份認證的安全性,提出一種基于鼠標鍵盤行為的身份認證系統。首先通過常用的輸入設備鼠標和鍵盤采集用戶訓練和認證的行為數據,然后用優化過的支持向量機SVM結合鼠標鍵盤雙指標對登錄業務系統的用戶進行身份認證。系統采用了靈活的結構布局,允許用戶在應用系統原有部件的基礎上進行二次開發,有很好的移植性。實驗證明本系統采用的雙指標復合認證有較高的準確率。
1鼠標鍵盤行為特征
鼠標鍵盤的行為特征是指用戶操作鼠標鍵盤的習慣。基于鼠標鍵盤行為的身份認證系統中有一個基本假設:對每個用戶而言,其鼠標鍵盤操作都存在與其他用戶顯著不同的模式。每個用戶由于個人原因可能造成在使用鼠標鍵盤時有不同的習慣,比如鼠標軌跡、鼠標滾輪操作速度、鼠標左右鍵的使用習慣、擊鍵時間間隔和擊鍵遲延時間。不同用戶的操作行為有較大的區別,例如不同用戶在移動鼠標時的力度以及準確定位的能力不同,或是在點擊鍵盤時一次按鍵到下次按鍵之間的時間習慣不同。
MIS業務系統的身份認證界面上的控件主要是文本框和按鈕。文本框一般用于錄入數據,用戶的行為可以是鼠標移動(獲得焦點、離開焦點)、擊鍵行為(錄入數據),而按鈕一般對應鼠標單擊行為。所以,可以使用鼠標和鍵盤雙特征值數據驗證用戶的合法性。
2優化的SVM算法
支持向量機SVM是建立在統計學習理論的結構風險最小化原則之上,其主要是針對兩類分類問題。支持向量機的基本思想可以概括為:首先通過定義適當的目標函數進行非線性變換,將輸入空間變換到一個高維空間,然后在這個新空間尋找支持向量,即離最優分類面最近,并且平行于最優分類面的超平面上的訓練樣本,構造最優分類面。
在基于鼠標鍵盤的行為特征的身份分類識別中,每個用戶訓練類的識別被視為一個獨立的兩類分類問題:訓練正例和訓練反例。訓練樣本數目有限,并且樣本分布不滿足正態分布,所以基于統計學、神經網絡等方法難以取得理想的效果,而SVM在解決小樣本學習及非線性極高危模式識別中表現出許多特有的優勢,它主要解決的是兩類問題。線性核具有分類速度快、推廣性有保證,用線性SVM在人臉性別識別時,在測試集上達到96%的識別正確率。因此,線性SVM是實際應用最多的,實用價值最大的。
先來看如下目標函數:
W×X+b=0
(1)
這條直線就是一個分類函數,它可以將兩類樣本完全分開。在確定的W值和b值下,只有唯一的X值可以滿足式(1),其他的X值代入后,要么大于零,要么小于零,這樣其他的X值便被分成了兩類,不可分的是滿足式(1)的X。
以上W值和X值是一維的情況,SVM在此基礎上給這參數賦予全新定義,將原先的W值和X值擴展到了多維,得到如下目標函數:
X=(x1,x2,x3,…,xn)n=1,2,3,…,n
(2)
Y=(y1,y2,y3,…,yn)n=1,2,3,…,n
(3)
A=(a1,a2,a3,…,an)n=1,2,3,…,n
(4)
(5)
(6)
式(6)中,C和E為實數,這里定義了兩個新值Y和A,同時也不難看出X和W都變成了多維,式(6)相當于原來的式(1),將不滿足式(6)的多維X分成兩類。式(5)中的yn就是第n個樣本的標簽,它等于1或者-1。以上式子中,多個拉格朗日乘子中,只有很少的一部分不等于0,也正是這部分樣本唯一確定了分類函數,這些需要的樣本點就是支持向量,對W起決定作用。
用戶定義一個n維的向量X,取值為用戶鼠標或鍵盤行為特征,如用戶=(左鍵單擊時間t1)。假設有兩個用戶:甲和乙,甲有三組鼠標鍵盤行為特征樣本X1、X2、X3,一組樣本就對應一個式(2),如X1=(x1,x2,x3),X2=(x1,x2,x3),X3=(x1,x2,x3)。應該注意不同樣本中xn值不一定相等,但都是同一類型的值(如:鼠標或鍵盤行為特征),而且括號中的數據個數必須相等。數據個數為自定義,比如增加一個鼠標左鍵雙擊數據記為x4,則X1=(x1,x2,x3,x4),X2=(x1,x2,x3,x4),X3=(x1,x2,x3,x4)。同理,乙有三組鼠標鍵盤行為特征樣本X4、X5、X6。甲、乙樣本數可以不等,但樣本中的鼠標或鍵盤行為特征必須一一對應,現在總樣本數為6。再來看式(3)、式(4),由于總樣本數為6,因此,式(3)、式(4)括號中的n為6,即由總樣本數確定;式(3)、式(4)括號中的值要與6個樣本一一對應,如X1對應Y中的y1,以及A中a1,其他樣本以此類推。現將以上對應關系整理如下:


對于Y中的值,做這樣的處理:對應甲的所有y都賦1,對應乙的為-1,反之也可,即y1=y2=y3=1,y4=y5=y6=-1或者y1=y2=y3=-1,y4=y5=y6=1。A中的值是在用戶訓練時程序對用戶各樣本組計算后自動產生的。本例以甲的y為1作為標準。
再看式(5),將以上整理的甲乙關系數據代入式(5)右邊,便可得出左邊的W值了。式(5)便是認證的式子,式(6)中W便是式(5)的W,b為用戶訓練時程序自動產生,C和E為本算法自定義值,X代表待認證用戶的一組新樣本。注意,這里的待認證用戶只能是決定W的兩個用戶,這是因為式(6)和式(1)一樣,解決的是兩類問題,如本例中W由甲乙的樣本而得來,則只能認證甲乙,之后數據都代入式(6),若大于式子左邊,認證即通過。
對所收集來的行為數據進行整理,并把它們轉化為符合算法要求的格式。由于SVM算法是解決兩類樣本的分類問題的,因而只用一條分類線就可以區分兩類樣本。對于多用戶的區分,采取這種方式進行判定當前用戶的身份,如對用戶1進行判定時,當前訓練過的用戶樣本有6個,那么用戶1的訓練樣本與其余5個用戶的訓練樣本分別進行分類線計算。然后用這5條分類線進行樣本判定,這里需要注意的是:訓練樣本必須保持奇數個。若當前用戶訓練量不足奇數個,系統會自動調用存根樣本去補足。若分類線判定時投給用戶1的票數超過一半(一條分類線相當于一次投票),那么就判定為用戶1。
算法的優化情況——再將式(2)-式(6)的參數值確定情況整理如表1所示。

表1 各公式中參數值確定情況表
由表1可以看出,在這些參數中作改變的為X(上面已講過X可自定義,即鼠標指標數自定義且鼠標指標自定義)、C(程序自定義具體值),而剩下的參數要么固定,要么由其他參數算出。
3基于鼠標鍵盤行為的身份認證系統
3.1系統設計
該用戶身份認證系統基于網絡環境,分為客戶端和服務器端。圖1是用戶身份認證系統功能結構圖。客戶端用于監聽用戶鼠標鍵盤行為特征,收集賬號信息,為用戶特征行為建模,形成特征模板數據,上傳到服務器端,存入特征數據庫。服務器端接收客戶端上傳的特征信息和賬號信息,并進行服務器特征匹配實現身份認證工作。考慮到合法用戶隨時間等因素,其使用計算機熟練度變化可能造成特征數據超過設定的偏差,為保證訓練用戶主體的合法性,用戶必須重新申請訓練,以更新服務器端的用戶特征數據。

圖1 用戶身份認證系統功能結構圖
系統有兩個主要功能:注冊訓練和身份認證模塊。訓練和認證必須在設定的場景內進行,每一個場景都對應于一個特定的鼠標或鍵盤的行為指標,如:左鍵單擊、左鍵雙擊、右鍵單擊、滾輪移動等。系統共提供5個場景用于訓練和認證,用戶需根據當前場景給出的提示完成指定的操作。對于非指定操作、認證或訓練,系統將會自動屏蔽對應的行為數據,并且用戶無法完成當前認證或訓練。由于SVM算法的特性,系統可以根據用戶當前的訓練數據給出一個評估,即:根據當前訓練的數據在進行認證時通過的可能性進行估計。用戶可以根據此評估結果決定是否再次進行訓練。訓練狀態下,用戶除了完成全部場景的訓練任務,還需要賦予當前賬戶的權限和設置認證時所需的安全級別。認證狀態下,用戶需要提供自己賬戶的賬號和密碼并根據提示完成對應安全級別的認證場景過程。訓練產生數據的計算、認證數據的分類判斷,全部由優化過的SVM算法完成。訓練與認證流程如圖2所示。

圖2 訓練與認證流程圖
3.2關鍵技術說明
用戶身份認證系統的關鍵是準確獲得用戶某一場景的行為數據。Windows操作系統中截獲用戶行為數據的方法有三種:消息鉤子、WM_INPUT消息處理和過濾驅動[15]。鑒于Windows操作系統提供的消息鉤子,數據采集準確率高,操作過程簡便,通用性好,故采用全局鍵盤鉤子和全局鼠標鉤子分別獲取鍵盤和鼠標行為數據,并封裝成dll文件,以保證系統復用性。
系統共提供了5個常用場景用于用戶的訓練和認證。每一個訓練場景我們都是建立在一定的應用背景之上的,同時設計了多媒體提示界面避免了用戶訓練過程中的枯燥。它們分別是:美食搶購(左鍵雙擊)、投票有獎(左鍵單擊)、精選菜單(右鍵單擊)、美圖瀏覽(鼠標滾輪操作)、打字訓練(擊鍵特征)。每一個場景都對應一個特定的行為指標,在場景過程中,用戶需按照場景給出的提示完成相應的操作。對于非指定操作,場景將給出操作失誤的提示,該操作所對應的行為數據也將被丟棄。場景指標都是經過測試后選出來的。用這些指標進行身份認證時,需要的樣本數據量小,自然數據收集時間也相應減少,這樣在訓練和認證的過程中就省了不少時間。所選出的這些指標,在進行身份判別測試中,它們的效果也是不一樣的,因此我們用安全級別對認證時這些指標的使用進行劃分歸類。對于效果比較好的指標,將歸入高的安全級別;對于效果一般的指標,將歸入一般或較低的安全級別。這樣用戶在進行認證時,只需通過預先設定好的安全級別所對應的場景,而不需要通過全部的場景,相比訓練時間又減少了不少。
通過使用特定的場景環境,再結合全局的鍵盤鉤子(WH_KEYBOARD_LL)和全局鼠標鉤子(WH_MOUSE_LL),可以精確地收集到我們想要的行為數據。在場景環境中,用戶需要根據場景所給出的提示完成一系列的操作,如:左鍵單擊、右鍵單擊、左鍵雙擊、滾輪移動、擊鍵時間測試等。在場景中,單場景中的每一步操作以及場景間的切換都具有可控性,所以可以很精確地定位用戶當前時間段所產生的行為數據是什么,進而可以對這些行為數據進行分類整理,并按計算分析模塊的數據格式要求進行初步的整理。
用戶行為數據的分析是整個系統的核心。采用第2節所描述的優化的SVM算法對收集到的用戶行為數據進行處理,然后對登錄業務系統的用戶進行身份認證。
3.3系統特點
本文討論的基于鼠標和鍵盤行為特征組合的用戶身份認證系統具有以下優點:
(1) 訓練時間縮短。
系統在收集用戶鼠標、鍵盤行為數據時根據特定場景引導用戶操作,同時使用優化SVM算法可以減少樣本數量,相應減少了訓練的時間。
(2) 精確性提高。
與單指標認證相比,本系統采用的是雙指標復合認證。通過綜合指標進行評價,認證的準確性有了較大的提高,系統誤識率和拒識率都有所降低。
(3) 適應性增強。
系統的各功能模塊封裝成動態鏈接庫文件DLL。在遵循一定的調用規則的前提下,可以在原有模塊的基礎上進行二次開發。
4系統實現與仿真
我們使用C#語言在Win 7操作系統下實現了這一系統。由于有關算法和原理均已給出,這里僅介紹數據采集。數據采集是通過相應的文本框和按鈕控件來考察鍵盤和鼠標特征數據。在鉤子過程中,用WH_GETMESSAGE類型的鉤子的MSG結構體數據中的Time成員,獲得按下和松開鍵盤或鼠標的時間來記錄操作時間間隔,統計鍵盤鼠標行為特征值。圖3是打字訓練場景的測試界面,用于測試用戶擊鍵特性。

圖3 擊鍵特性采集
由于測試工作中擊鍵和鼠標行為數據獲取工作枯燥,且受熟練度影響,實驗時邀請了軟件工程專業中計算機操作熟練度較好的20名同學對系統進行了測試。每人針對5個操作場景中的每個場景,分別進行10次測試,每個操作間隔10分鐘以上,測試在1天內完成。收集他們的行為數據。然后使用10個人的500次行為數據,進行規定次數的分指標認證,記錄相應的認證結果并對該結果做出分析。
以輸入文字“hello world”的實驗數據為例,一個學生的10 次實驗輸入的距離值依次為38.3、42.7、52.5、39.8、37.3、41.1、43.3、38.6、39.2、41.3,5 次的平均值為41.4;而另一學生10 次輸入中的最小距離值為59.8,有顯著的差距。同時,從實驗結果表明用戶行為數據不滿足正態分布,采用SVM方法是可行的。對于身份認證系統的精確度,可以通過確定合理的擊鍵距離的閾值大小來判定。閾值越小,非法用戶通過測試的可能性就越低,但合法用戶被拒絕通過測試的可能性也會相應有所增加。
由于C>32后分類效果不好,因此本系統只考慮C大于等于1且小于等于32的情況,現共定義5個指標:左鍵單擊時間、左鍵雙擊時間、右鍵單擊時間、滾輪移動速率、擊鍵時間。對于這些指標,我們知道其共有31種有效組合方式,下面給出部分組合的測試數據,如表2、表3所示。

表2 單指標測試數據分析 (X指標數=1,C=1)

表3 單指標測試數據分析(X指標數=1,C=32)
通過表2和表3結果的比較,不難看出本用戶正確識別率和其他用戶正確攔截率在C值變化下呈此消彼長的關系。經過C值變化結果的分析,C值設為1為最優。
X維數和指標對實驗結果的影響,比較復雜,有太多可能性。結合MIS系統鼠標單擊和鍵盤輸入情況最多,從31種組合的測試結果中選擇合理的最優組合。最后選擇的最優組合是:X指標數=2,指標是左鍵單擊時間和擊鍵時間,C值為1,測試結果如表4所示。

表4 雙指標測試數據分析(X指標數=2,C=1)
從表2—表4中可以看出在雙指標時系統對用戶身份認證有較好的效果。實驗證明,與單指標認證相比,系統采用的雙指標復合認證,準確性有了較大的提高,系統誤識率和拒識率都有所降低。
為了驗證本文設計的系統采用優化的SVM算法性能更好,分別采用SVM算法與傳統算法進行身份認證的比較。對每種算法的單指標(右鍵單擊時間)以及雙指標(右鍵單擊和擊鍵時間)進行驗證分析。同樣從之前收集到的20名用戶的樣本信息,計算誤識率和拒識率,對每個用戶的誤識率和拒識率計算平均得到綜合身份認證實驗結果如表5所示。

表5 不同算法認證實驗結果
在采用單指標時,采用優化的SVM算法得到的誤識率和拒識率分別為18.4%和27.7%,明顯優于傳統算法BP和SOM。這主要由于傳統算法在解決高位空間中自由分布的問題時,其性能在理論上不能保證,而優化的SVM算法能夠合理地將身份認證問題轉化為尋優問題。同時從表5中可以看出在采用雙指標時,每個算法的性能都有明顯的提高,誤識率和拒識率分別從最高的26.3%和30.5%降低到6.9%和9.4%,這說明采用雙指標認證方式比單獨某個指標有明顯的優越性。
5結語
本文提出并實現了一種基于鼠標鍵盤行為的身份認證系統。通過實驗證實結合鼠標鍵盤兩種指標的行為特征進行身份認證效果更好。系統通過特定場景縮短用戶訓練時間并采用優化的SVM算法實現用戶認證分析。實驗結果可以看出,該方法在小樣本數據下仍可實現較好的分類能力,訓練簡單,訓練階段和識別階段的開銷都很小且具有很高的識別率,取得了較滿意的認證效果。同時,可以將擊鍵特征及鼠標行為分析整合到現有的密碼認證系統中,進一步提高了系統的安全性。
下一步的工作將繼續放在提高認證的準確度方面,對鼠標鍵盤的行為數據進行深入分析和測試,對分類器進行進一步特殊處理,消除入侵者與合法者不平衡輸入的影響和野值數據對SVM分類性能的影響。
今后針對鼠標鍵盤行為等認知指紋技術的可能研究方向有2個:(1)進行動態身份認證,即當用戶進入系統后,通過用戶后續的鍵盤鼠標特征數據檢測和認證,進一步提高計算機系統的安全性。(2)有效地排除心理、情緒、身體狀況、操作熟練度變化等因素對擊鍵和鼠標行為的改變及應對。由于行為生物識別用戶認證研究不需要密碼更符合人類的天性,也讓人類容易犯錯的大腦得以逃脫密碼的桎梏,該項技術必將有更為廣闊的應用前景。
參考文獻
[1] 王德松.基于生物特征信息隱藏與身份認證及其應用研究[D].電子科技大學,2012.
[2] BHATTS,SANTHANAM T.Keystroke dynamics for biometric authentication:a survey[C] //Proc of International Conference on Pattern Recognition, Informatics and Medical Engineering,IEEE Press,2013:17-23.
[3] 郭磊,胡曉勤,江天宇,等.基于擊鍵特征識別的網絡詐騙嫌疑人追蹤系統[J].信息網絡安全,2013(12):62-66.
[4] 張世雷.基于擊鍵特征的身份識別研究[D].哈爾濱工業大學,2011.
[5] 郭曉靜.基于統計學的擊鍵序列身份認證算法研究與改進[D].北京郵電大學,2013.
[6] 張治元,田國忠.基于擊鍵韻律的身份認證模型設計與實現[J].計算機應用,2009,29(10):2799-2801.
[7] 李晨,張功萱,岳寶玲,等.一種基于條件隨機場的擊鍵特征身份鑒別方法[J].計算機研究,2014,31(7):2112-2115.
[8] 王森,蔡忠閩,沈超,等.行為截獲技術對鼠標動力學身份認證的影響[J].微電子學與計算機,2013,30(4):15-21.
[9] 沈超,蔡忠閩,管曉宏,等.基于鼠標行為特征的用戶身份認證與監控[J].通信學報,2010,31(7):68-75.
[10] Jorgensen Z, Yu T.On mouse dynamics as a behavioral biometric for authentication [C]//Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security.ACM, 2011:476-482.
[11] Shen C, Cai Z, Guan X, et al.A hypo-optimum feature selection strategy for mouse dynamics in continuous identity authentication and monitoring[C]//Information Theory and Information Security (ICITIS), 2010 IEEE International Conference on.IEEE, 2010:349-353.
[12] Lin C C, Chang C C, Liang D.A New Non-intrusive Authentication Approach for Data Protection Based on Mouse Dynamics[C]//Biometrics and Security Technologies (ISBAST), 2012 International Symposium on.IEEE, 2012:9-14.
[13] Tsai C J, Chang T Y, Yang Y J, et al.An approach for user authentication on non-keyboard devices using mouse click characteristics and statistical-based classification [J].International Journal of Innovative Computing, Information and Control, 2012, 8(11):7875-7886.
[14] Huang M C, Xu W, Liu J J, et al.Inconspicuous personal computer protection with touch-mouse[M]//Human Aspects of Information Security, Privacy, and Trust.Springer Berlin Heidelberg, 2013:29-38.
[15] 王森,蔡忠閩, 沈超,等.行為截獲技術對鼠標動力學身份認證的影響[J].微電子學與計算機,2013,30(4):14-21.
收稿日期:2015-02-08。陜西省教育廳科研計劃項目(12JK1055)。王振輝,高工,主研領域:信息安全,數據庫技術。王振鐸,高工。支侃買,副教授。
中圖分類號TP311.13
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.07.069
USER IDENTITY AUTHENTICATION BASED ON MOUSE AND KEYBOARD BEHAVIOURAL BIOMETRICS COMBINATION
Wang Zhenhui1Wang Zhenduo2Zhi Kanmai1
1(SchoolofTechnologyandEngineering,Xi’anFanyiUniversity,Xi’an710105,Shaanxi,China)2(SchoolofElectronicandInformationEngineering,Xi’anSiyuanUniversity,Xi’an710038,Shaanxi,China)
AbstractIn order to solve the drawback of single behavioural biometrics and to improve the recognition rate of authentication, we put forward a dual-indicator user identity authentication method which is based on the combination of mouse and keyboard behavioural biometrics.First, we extract the behavioural biometrics of two indicators of mouse and keyboard separately, and then use SVM for pattern recognition so as to implement biometrics analysis and verification in order to achieve the goal of timely monitoring users’ identities and detecting illegitimate users.Finally, we collect through a group of users the mouse and keyboard behavioural data to carry out the experiment of identity recognition and authentication.Result indicates that compared with single behavioural biometrics, this method increases the recognition rate of user identity authentication and decreases the false accept rate and false reject rate.Besides, the result is better than the BP and SOM methods, which fully shows the high reliability of dual-indicator identity authentication.
KeywordsBehavioural biometrics Identity authenticationSVMKeystroke featuresMouse actions