身份認證方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種身份認證方法及裝置,該身份認證方法包括:用戶登錄系統(tǒng)時,根據(jù)登錄信息檢測系統(tǒng)中是否存在該用戶的行為特征;如果不存在,提示用戶輸入數(shù)據(jù),記錄用戶擊鍵行為習慣,計算每次輸入數(shù)據(jù)的協(xié)方差矩陣,并將協(xié)方差矩陣及輸入的數(shù)據(jù)保存為該用戶的行為特征;如果存在,在用戶登錄系統(tǒng)直到用戶退出系統(tǒng)的過程中,記錄用戶擊鍵行為習慣,計算擊鍵行為習慣與系統(tǒng)中已存的用戶行為特征的距離;若該距離低于或等于預設閾值,確定為合法用戶,將記錄的擊鍵行為習慣輸入到預設模型中進行訓練;若該距離高于預設閾值,確定為異常用戶,輸出告警信息或阻斷用戶操作。從用戶登錄系統(tǒng)到退出系統(tǒng),全程進行身份認證,樣本量大,誤判率低。
【專利說明】
身份認證方法及裝置
技術領域
[0001] 本發(fā)明涉及身份認證技術領域,尤其涉及一種身份認證方法及裝置。
【背景技術】
[0002] 現(xiàn)有的身份認證,一般用于登錄時認證,惡意用戶通過種種攻擊手段得到正常用 戶的賬戶權限,可以偽裝正常用戶登入系統(tǒng)執(zhí)行非法操作,造成用戶損失。
[0003] 目前的基于擊鍵行為的身份認證方案,是一次性的行為,僅在登錄時認證。但是, 登錄時,用戶輸入的信息較少,輸入樣本少可能導致認證不準確。并且,系統(tǒng)中存在的擊鍵 行為不會更改,不能自主學習,而用戶的習慣在日常使用中慢慢變熟練,已經和原始的特征 庫產生了較大的區(qū)別,誤識率較高。
[0004] 針對上述問題,目前尚未提出有效的解決方案。
【發(fā)明內容】
[0005] 本發(fā)明提供了一種身份認證方法及裝置,以至少解決現(xiàn)有的身份認證僅在登錄時 認證,誤識率較高的問題。
[0006] 根據(jù)本發(fā)明的一個方面,提供了一種身份認證方法,包括:用戶登錄系統(tǒng)時,根據(jù) 所述用戶的登錄信息檢測系統(tǒng)中是否存在所述用戶的行為特征;如果不存在所述用戶的行 為特征,提示所述用戶輸入數(shù)據(jù),記錄所述用戶輸入所述數(shù)據(jù)時的擊鍵行為習慣,計算每次 輸入數(shù)據(jù)的協(xié)方差矩陣,并將所述協(xié)方差矩陣及輸入的數(shù)據(jù)保存為所述用戶的行為特征; 如果存在所述用戶的行為特征,在所述用戶登錄所述系統(tǒng)直到所述用戶退出所述系統(tǒng)的過 程中,記錄所述用戶的擊鍵行為習慣,并計算記錄的擊鍵行為習慣與系統(tǒng)中已存的所述用 戶的行為特征的距離;若計算得到的距離低于或等于預設閾值,則確定所述用戶為合法用 戶,并將記錄的擊鍵行為習慣輸入到所述預設模型中進行訓練,以調整所述用戶的行為特 征;若計算得到的距離高于所述預設閾值,則確定所述用戶為異常用戶,輸出告警信息或阻 斷用戶操作。
[0007] 在一個實施例中,所述擊鍵行為習慣包括:按鍵頻率、鍵與鍵之間的擊鍵間隔時 間、所按的每個鍵上的持續(xù)時間。
[0008] 在一個實施例中,計算記錄的擊鍵行為習慣與系統(tǒng)中已存的所述用戶的行為特征 的距離,包括:利用已存的所述用戶的行為特征中的協(xié)方差矩陣,計算所述用戶的行為特征 中每個特征向量與記錄的擊鍵行為習慣之間的馬哈拉諾比斯距離;輸出其中最小的馬哈拉 諾比斯距離。
[0009] 在一個實施例中,采用以下公式計算所述馬哈拉諾比斯距離:
其中,DM(x, μ, S)表示馬哈拉諾比斯距離,X表示記錄的 擊鍵行為習慣,μ表示系統(tǒng)中已存的所述用戶的行為特征中的特征向量,S表示系統(tǒng)中已 存的所述用戶的行為特征中的協(xié)方差矩陣。
[0010] 在一個實施例中,所述方法還包括:檢測系統(tǒng)中已存的行為特征的數(shù)據(jù)量是否超 過預設數(shù)據(jù)最大量;如果是,則按照存儲時間的先后順序和所述預設數(shù)據(jù)最大量,刪除存儲 時間在前的已存行為特征。
[0011] 根據(jù)本發(fā)明的另一個方面,提供了一種身份認證裝置,包括:第一檢測單元,用于 在用戶登錄系統(tǒng)時,根據(jù)所述用戶的登錄信息檢測系統(tǒng)中是否存在所述用戶的行為特征; 記錄及存儲單元,用于在不存在所述用戶的行為特征的情況下,提示所述用戶輸入數(shù)據(jù),記 錄所述用戶輸入所述數(shù)據(jù)時的擊鍵行為習慣,計算每次輸入數(shù)據(jù)的協(xié)方差矩陣,并將所述 協(xié)方差矩陣及輸入的數(shù)據(jù)保存為所述用戶的行為特征;記錄及計算單元,用于在存在所述 用戶的行為特征的情況下,在所述用戶登錄所述系統(tǒng)直到所述用戶退出所述系統(tǒng)的過程 中,記錄所述用戶的擊鍵行為習慣,并計算記錄的擊鍵行為習慣與系統(tǒng)中已存的所述用戶 的行為特征的距離;確定及訓練單元,用于在計算得到的距離低于或等于預設閾值的情況 下,確定所述用戶為合法用戶,并將記錄的擊鍵行為習慣輸入到所述預設模型中進行訓練, 以調整所述用戶的行為特征;確定及輸出單元,用于在計算得到的距離高于所述預設閾值 的情況下,確定所述用戶為異常用戶,輸出告警信息或阻斷用戶操作。
[0012] 在一個實施例中,所述擊鍵行為習慣包括:按鍵頻率、鍵與鍵之間的擊鍵間隔時 間、所按的每個鍵上的持續(xù)時間。
[0013] 在一個實施例中,所述記錄及計算單元包括:計算模塊,用于利用已存的所述用戶 的行為特征中的協(xié)方差矩陣,計算所述用戶的行為特征中每個特征向量與記錄的擊鍵行為 習慣之間的馬哈拉諾比斯距離;輸出模塊,用于輸出其中最小的馬哈拉諾比斯距離。
[0014] 在一個實施例中,所述計算模塊采用以下公式計算所述馬哈拉諾比斯距離:
其中,DM(x, μ,S)表示馬哈拉諾比斯距離,X表示記錄的 擊鍵行為習慣,μ表示系統(tǒng)中已存的所述用戶的行為特征中的特征向量,S表示系統(tǒng)中已 存的所述用戶的行為特征中的協(xié)方差矩陣。
[0015] 在一個實施例中,所述裝置還包括:第二檢測單元,用于檢測系統(tǒng)中已存的行為特 征的數(shù)據(jù)量是否超過預設數(shù)據(jù)最大量;刪除單元,用于在檢測結果為是的情況下,按照存儲 時間的先后順序和所述預設數(shù)據(jù)最大量,刪除存儲時間在前的已存行為特征。
[0016] 通過本發(fā)明的身份認證方法及裝置,從用戶登錄系統(tǒng)到用戶退出系統(tǒng)的過程中, 全程進行身份認證,用戶登錄成功后,仍然記錄其輸入特征,即使惡意用戶獲取登錄信息繞 過登錄層面的認證,也會在使用過程中因輸入習慣與原用戶不同而被識別出來,從而進行 告警或阻斷惡意用戶操作。同時,在用戶操作的整個過程中均記錄輸入特征,樣本量較大, 誤判率低。另外,將合法用戶的輸入特征納入訓練集進行訓練,在每次用戶操作的過程中 不斷自適應學習,優(yōu)化并完善特征庫,保證存儲的用戶行為特征是最近一段時間用戶的行 為習慣,即使用戶行為習慣由于日積月累發(fā)生明顯的改變,也可正常處理,不會導致認證失 敗,降低了誤判率。
【附圖說明】
[0017] 此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的限定。在附圖中:
[0018] 圖1是本發(fā)明實施例的身份認證方法的流程圖;
[0019] 圖2是本發(fā)明實施例的身份認證裝置的結構框圖;
[0020] 圖3是本發(fā)明實施例的用戶初次登錄系統(tǒng)的流程圖;
[0021] 圖4是本發(fā)明實施例的用戶非初次登錄系統(tǒng)的流程圖。
【具體實施方式】
[0022] 下面結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整 地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本 發(fā)明的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施 例,都屬于本發(fā)明的保護范圍。
[0023] 本發(fā)明實施例提供了一種身份認證方法,圖1是本發(fā)明實施例的身份認證方法的 流程圖。如圖1所示,該方法包括以下步驟:
[0024] 步驟S101,用戶登錄系統(tǒng)時,根據(jù)用戶的登錄信息檢測系統(tǒng)中是否存在該用戶的 行為特征。該檢測主要是為了判斷用戶是否為初次登錄該系統(tǒng),以進行對應的操作。
[0025] 步驟S102,如果不存在該用戶的行為特征(即用戶初次登錄該系統(tǒng)),提示用戶輸 入數(shù)據(jù),記錄用戶輸入數(shù)據(jù)時的擊鍵行為習慣,計算每次輸入數(shù)據(jù)的協(xié)方差矩陣,并將協(xié)方 差矩陣及輸入的數(shù)據(jù)保存為該用戶的行為特征。其中,提示用戶輸入的數(shù)據(jù)可以是:一段文 字、一些命令等。擊鍵行為習慣可以包括:按鍵頻率、鍵與鍵之間的擊鍵間隔時間、所按的每 個鍵上的持續(xù)時間。例如,可以建立對應于該用戶的行為特征庫,其中,存儲有輸入的數(shù)據(jù) 以及對應的協(xié)方差矩陣。計算協(xié)方差矩陣的方法屬于現(xiàn)有技術,此處不進行贅述。
[0026] 步驟S103,如果存在該用戶的行為特征(即用戶非初次登錄該系統(tǒng)),在用戶登錄 系統(tǒng)直到用戶退出系統(tǒng)的過程中,記錄用戶的擊鍵行為習慣,并計算記錄的擊鍵行為習慣 與系統(tǒng)中已存的該用戶的行為特征的距離。
[0027] 步驟S104,若計算得到的距離低于或等于預設閾值,則確定該用戶為合法用戶,并 將記錄的擊鍵行為習慣輸入到預設模型中進行訓練,以調整該用戶的行為特征。
[0028] 步驟S105,若計算得到的距離高于預設閾值,則確定該用戶為異常用戶,輸出告警 信息或阻斷用戶操作。例如,高安全性的系統(tǒng)可及時阻斷惡意用戶,安全性要求略寬松的可 采用告警的方式。
[0029] 通過上述身份認證方法,從用戶登錄系統(tǒng)到用戶退出系統(tǒng)的過程中,全程進行身 份認證,用戶登錄成功后,仍然記錄其輸入特征,即使惡意用戶獲取登錄信息繞過登錄層面 的認證,也會在使用過程中因輸入習慣與原用戶不同而被識別出來,從而進行告警或阻斷 惡意用戶操作。同時,在用戶操作的整個過程中均記錄輸入特征,樣本量較大,誤判率低。另 外,將合法用戶的輸入特征納入訓練集進行訓練,在每次用戶操作的過程中不斷自適應學 習,優(yōu)化并完善特征庫,保證存儲的用戶行為特征是最近一段時間用戶的行為習慣,即使用 戶行為習慣由于日積月累發(fā)生明顯的改變,也可正常處理,不會導致認證失敗,降低了誤判 率。
[0030] 正常用戶由于長時間操作某一系統(tǒng)后,用戶習慣會發(fā)生變化,例如,第一次使用某 系統(tǒng)與使用系統(tǒng)較長時間后的行為是不一樣的。本發(fā)明實施例通過偏差積累,自適應學習 的過程,將正常范圍內的偏差計入學習模型中并不斷調整,使得系統(tǒng)自動適應同一用戶習 慣的細微變化,防止用戶習慣變化導致認證不通過的問題。
[0031] 在一個實施例中,步驟S103中計算記錄的擊鍵行為習慣與系統(tǒng)中已存的用戶的 行為特征的距離,可以包括以下步驟:利用已存的用戶的行為特征中的協(xié)方差矩陣,計算用 戶的行為特征中每個特征向量與記錄的擊鍵行為習慣之間的馬哈拉諾比斯距離;輸出其中 最小的馬哈拉諾比斯距離。
[0032] 馬哈拉諾比斯距離(Mahalanobis Distance)是一種用來描述兩個數(shù)據(jù)點間距離 的統(tǒng)計量,馬哈拉諾比斯距離常用做度量已知樣本和未知樣本間相似性。
[0033] 通常,如果有一個隨機變量X服從(〇, 1)正態(tài)分布,那么任何服從正態(tài)分布的隨機 變量R都可以用X來定義,BP :
[0034]
⑴
[0035] 其中,S為協(xié)方差矩陣,μ為均值。
[0036] 如果要由一個服從正態(tài)分布的隨機變量來定義(0, 1)正態(tài)分布,解式(1)可得:
[0037]
.(:2.1
[0038] 對式(2)的兩邊取平方開根,可得兩個變量(X與R)之間的距離D :
[0039]
(3)
[0040] 類似的,對于多變量向量1=(11,12,13*",1^ 1'和一組均值為以,協(xié)方差矩陣為3 的數(shù)據(jù)集的馬哈拉諾比斯距離定義如下:
[0041 ]
(4)
[0042] 具體地,對于本實施例,可以采用以下公式計算馬哈拉諾比斯距離:
[0043]
[0044] 其中,DM(x,μ,S)表示馬哈拉諾比斯距離,X表示記錄的擊鍵行為習慣,μ表示系 統(tǒng)中已存的用戶的行為特征中的特征向量,S表示系統(tǒng)中已存的用戶的行為特征中的協(xié)方 差矩陣。
[0045] 本實施例中,利用馬哈拉諾比斯距離確定是否為合法用戶,方法簡單可靠。
[0046] 在一個實施例中,上述方法還可以包括以下步驟:檢測系統(tǒng)中已存的行為特征的 數(shù)據(jù)量是否超過預設數(shù)據(jù)最大量;如果是,則按照存儲時間的先后順序和預設數(shù)據(jù)最大量, 刪除存儲時間在前的已存行為特征。
[0047] 本實施例中,根據(jù)情況不斷淘汰舊的訓練數(shù)據(jù)(即用戶的行為特征),保證用戶行 為特征庫是最近一段時間用戶的行為習慣,這樣,用戶長時間積累的行為變化也不會導致 認證失敗。
[0048] 基于同一發(fā)明構思,本發(fā)明實施例中還提供了一種身份認證裝置,可以用于實現(xiàn) 上述實施例所描述的方法,如下面的實施例所述。由于身份認證裝置解決問題的原理與身 份認證方法相似,因此該裝置的實施可以參見身份認證方法的實施,重復之處不再贅述。以 下所使用的,術語"單元"或者"模塊"可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管 以下實施例所描述的系統(tǒng)較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn) 也是可能并被構想的。
[0049] 圖2是本發(fā)明實施例的身份認證裝置的結構框圖,如圖2所示,該身份認證裝置包 括:第一檢測單元21、記錄及存儲單元22、記錄及計算單元23、確定及訓練單元24和確定 及輸出單元25,下面對該結構進行具體說明。
[0050] 第一檢測單元21,用于在用戶登錄系統(tǒng)時,根據(jù)用戶的登錄信息檢測系統(tǒng)中是否 存在用戶的行為特征。
[0051] 記錄及存儲單元22,用于在不存在用戶的行為特征的情況下,提示用戶輸入數(shù)據(jù), 記錄用戶輸入數(shù)據(jù)時的擊鍵行為習慣,計算每次輸入數(shù)據(jù)的協(xié)方差矩陣,并將協(xié)方差矩陣 及輸入的數(shù)據(jù)保存為用戶的行為特征。其中,擊鍵行為習慣可以包括:按鍵頻率、鍵與鍵之 間的擊鍵間隔時間、所按的每個鍵上的持續(xù)時間。
[0052] 記錄及計算單元23,用于在存在用戶的行為特征的情況下,在用戶登錄系統(tǒng)直到 用戶退出系統(tǒng)的過程中,記錄用戶的擊鍵行為習慣,并計算記錄的擊鍵行為習慣與系統(tǒng)中 已存的用戶的行為特征的距離。
[0053] 確定及訓練單元24,用于在計算得到的距離低于或等于預設閾值的情況下,確定 用戶為合法用戶,并將記錄的擊鍵行為習慣輸入到預設模型中進行訓練,以調整用戶的行 為特征。
[0054] 確定及輸出單元25,用于在計算得到的距離高于預設閾值的情況下,確定用戶為 異常用戶,輸出告警信息或阻斷用戶操作。
[0055] 通過上述身份認證裝置,從用戶登錄系統(tǒng)到用戶退出系統(tǒng)的過程中,全程進行身 份認證,用戶登錄成功后,仍然記錄其輸入特征,即使惡意用戶獲取登錄信息繞過登錄層面 的認證,也會在使用過程中因輸入習慣與原用戶不同而被識別出來,從而進行告警或阻斷 惡意用戶操作。同時,在用戶操作的整個過程中均記錄輸入特征,樣本量較大,誤判率低。另 外,將合法用戶的輸入特征納入訓練集進行訓練,在每次用戶操作的過程中不斷自適應學 習,優(yōu)化并完善特征庫,保證存儲的用戶行為特征是最近一段時間用戶的行為習慣,即使用 戶行為習慣由于日積月累發(fā)生明顯的改變,也可正常處理,不會導致認證失敗,降低了誤判 率。
[0056] 記錄及計算單元23可以包括:計算模塊,用于利用已存的用戶的行為特征中的協(xié) 方差矩陣,計算用戶的行為特征中每個特征向量與記錄的擊鍵行為習慣之間的馬哈拉諾比 斯距離;輸出模塊,用于輸出其中最小的馬哈拉諾比斯距離。
[0057] 計算模塊采用以下公式計算馬哈拉諾比斯距離:
[0058]
[0059] 其中,DM(x,μ,S)表示馬哈拉諾比斯距離,X表示記錄的擊鍵行為習慣,μ表示系 統(tǒng)中已存的用戶的行為特征中的特征向量,S表示系統(tǒng)中已存的用戶的行為特征中的協(xié)方 差矩陣。
[0060] 在一個實施例中,上述裝置還可以包括:第二檢測單元,用于檢測系統(tǒng)中已存的行 為特征的數(shù)據(jù)量是否超過預設數(shù)據(jù)最大量;刪除單元,用于在檢測結果為是的情況下,按照 存儲時間的先后順序和預設數(shù)據(jù)最大量,刪除存儲時間在前的已存行為特征。
[0061 ] 上述身份認證裝置可以是單獨存在于計算機中,供多個系統(tǒng)共同使用,也可以是 分別集成在各個系統(tǒng)中。當然,上述單元或模塊劃分只是一種示意劃分,本發(fā)明并不局限于 此。該裝置還可以包括:檢測單元、記錄單元、存儲單元、計算單元、訓練單元和輸出單元,檢 測單元執(zhí)行與檢測相關的功能,記錄單元執(zhí)行與記錄相關的功能,存儲單元執(zhí)行與存儲相 關的功能,計算單元執(zhí)行與計算相關的功能,訓練單元執(zhí)行與訓練相關的功能,輸出單元執(zhí) 行與確定、輸出相關的功能。只要能實現(xiàn)本發(fā)明的目的的模塊劃分,均應屬于本發(fā)明的保護 范圍。
[0062] 為了對上述身份認證方法及裝置進行更為清楚的解釋,下面結合具體的實施例來 進行說明,然而值得注意的是該實施例僅是為了更好地說明本發(fā)明,并不構成對本發(fā)明不 當?shù)南薅ā?br>[0063] (1)用戶初次登錄系統(tǒng)(即數(shù)據(jù)初始訓練階段)
[0064] 如圖3所示,新用戶初次登錄系統(tǒng),檢測到系統(tǒng)中無此用戶的行為特征,屬于新用 戶,提示用戶手動輸入一段文字或一些命令。記錄用戶輸入時的擊鍵行為習慣(包括按鍵 頻率、鍵與鍵的擊鍵間隔時間、某個鍵上的持續(xù)時間等)。計算每次輸入數(shù)據(jù)的協(xié)方差矩陣, 并將協(xié)方差矩陣及輸入的數(shù)據(jù)保存為該用戶的行為特征。例如,可以建立對應于該用戶的 行為特征庫,其中,存儲有輸入的數(shù)據(jù)以及對應的協(xié)方差矩陣。
[0065] 例如,對于鍵值p的輸入,在初始輸入訓練階段,用戶的(按壓持續(xù)時間,按鍵頻 率,兩個相連P的間隔時間)分別為以下三組數(shù)據(jù):P(ml,m2,m3),Q(nl,n2,n3),R(ol,o2, 〇3)。記錄這三組數(shù)據(jù)(P,Q,R),并通過訓練后得到相應的協(xié)方差矩陣S,將記錄的數(shù)據(jù)和協(xié) 方差矩陣存儲為該用戶的行為特征庫。
[0066] (2)用戶非初次登錄系統(tǒng)(即識別與持續(xù)訓練階段)
[0067] 如圖4所示,在整個過程中,用戶登錄、命令操作或文本輸入時,系統(tǒng)都將自動記 錄其擊鍵行為習慣(包括按鍵頻率、擊鍵間隔、某個鍵上的持續(xù)時間等)。對于每個階段的 用戶輸入習慣,通過馬哈拉諾比斯距離模型計算輸入習慣與特征庫中數(shù)據(jù)的馬哈拉諾比斯 距離。若得出的距離低于或等于預設閾值,則為合法用戶,并繼續(xù)計算距離并與預設閾值進 行比較;若得出的距離高于預設閾值,則為異常用戶,根據(jù)系統(tǒng)配置,告警或阻斷用戶操作。
[0068] 基于馬哈拉諾比斯距離的近似識別模型在訓練階段計算訓練數(shù)據(jù)的協(xié)方差矩陣, 并將該協(xié)方差矩陣和所有訓練數(shù)據(jù)都保存起來。
[0069] 在識別階段,該近似識別模型使用訓練時保存的協(xié)方差矩陣計算訓練數(shù)據(jù)中每個 時間特征向量和測試向量(即用戶當前輸入的數(shù)據(jù))間的馬哈拉諾比斯距離,并返回其中 最小的馬哈拉諾比斯距離,根據(jù)預設的閾值α判斷測試向量是否和訓練數(shù)據(jù)來自同一用 戶。
[0070] 該近似識別模型可以用如下數(shù)學式表達:
[0071]
[0072] 其中,DM是根據(jù)協(xié)方差矩陣計算兩個向量間的馬哈拉諾比斯距離的函數(shù),t是用戶 當前輸入數(shù)據(jù)的特征向量,X是已保存的訓練數(shù)據(jù),C0V是訓練數(shù)據(jù)的協(xié)方差矩陣,α是預 設閾值,η表示已保存的訓練數(shù)據(jù)的個數(shù)。
[0073] 例如,在識別階段,用戶按壓鍵ρ的(按壓持續(xù)時間,按鍵頻率,兩個相連ρ的間隔 時間)為 y(yl,y2, y3),則使用(y,Ρ),(y,Q),(y,R)分別代入(DM(t, x[i], C0V))計算得 到三個馬哈拉諾比斯距離dl,d2, d3,比較確定其中的最小值d。
[0074] 其中,計算距離的公式為
式中,X為當前輸入 的數(shù)據(jù)y (yl,y2, y3),μ是已存數(shù)據(jù)(P,Q,R),S是初始的協(xié)方差矩陣。
[0075] 用戶使用完畢后,如無告警,正常退出系統(tǒng)。記錄用戶本次使用過程中的行為習 慣,并輸入到馬哈拉諾比斯距離模型中進行訓練,動態(tài)地學習與調整用戶行為特征。
[0076] 另外,可以設定樣本數(shù)據(jù)最大量(例如,最近100次使用記錄數(shù)據(jù)),將超期的記錄 數(shù)據(jù)(例如,1〇〇次之前的數(shù)據(jù))從訓練數(shù)據(jù)集中刪除。
[0077] 綜上所述,本發(fā)明提出一種基于用戶擊鍵輸入習慣的身份認證方法及裝置,識別 當前用戶輸入習慣與系統(tǒng)已存的該用戶的習慣是否匹配,并根據(jù)情況發(fā)出告警、阻斷用戶 操作等。本發(fā)明不僅在登錄時認證,在用戶正常使用過程,也將記錄鍵盤行為并匹配用戶習 慣,樣本量較大。在每次用戶操作的過程中不斷自我學習,優(yōu)化與完善特征庫,將合法的用 戶使用數(shù)據(jù)納入訓練集,并淘汰舊的訓練數(shù)據(jù),保證用戶特征庫是最近一段時間用戶的行 為習慣,即使用戶長時間積累的行為變化也不會導致認證失敗,降低了誤判率。
[0078] 流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括 一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順 序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應被本發(fā)明 的實施例所屬技術領域的技術人員所理解。
[0079] 應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述 實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件 或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下 列技術中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路 的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場 可編程門陣列(FPGA)等。
[0080] 本技術領域的普通技術人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步 驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介 質中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0081 ] 此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模 塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實現(xiàn)并作為獨立的產品銷售或使用時,也可以存儲在一個計算機 可讀取存儲介質中。
[0082] 上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0083] 在本說明書的描述中,參考術語"一個實施例"、"一些實施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特 點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不 一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何 的一個或多個實施例或示例中以合適的方式結合。
[0084] 以上所述的具體實施例,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳 細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保 護范圍,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本 發(fā)明的保護范圍之內。
【主權項】
1. 一種身份認證方法,其特征在于,包括: 用戶登錄系統(tǒng)時,根據(jù)所述用戶的登錄信息檢測系統(tǒng)中是否存在所述用戶的行為特 征; 如果不存在所述用戶的行為特征,提示所述用戶輸入數(shù)據(jù),記錄所述用戶輸入所述數(shù) 據(jù)時的擊鍵行為習慣,計算每次輸入數(shù)據(jù)的協(xié)方差矩陣,并將所述協(xié)方差矩陣及輸入的數(shù) 據(jù)保存為所述用戶的行為特征; 如果存在所述用戶的行為特征,在所述用戶登錄所述系統(tǒng)直到所述用戶退出所述系統(tǒng) 的過程中,記錄所述用戶的擊鍵行為習慣,并計算記錄的擊鍵行為習慣與系統(tǒng)中已存的所 述用戶的行為特征的距離; 若計算得到的距離低于或等于預設閾值,則確定所述用戶為合法用戶,并將記錄的擊 鍵行為習慣輸入到所述預設模型中進行訓練,以調整所述用戶的行為特征; 若計算得到的距離高于所述預設閾值,則確定所述用戶為異常用戶,輸出告警信息或 阻斷用戶操作。2. 根據(jù)權利要求1所述的方法,其特征在于,所述擊鍵行為習慣包括:按鍵頻率、鍵與 鍵之間的擊鍵間隔時間、所按的每個鍵上的持續(xù)時間。3. 根據(jù)權利要求1所述的方法,其特征在于,計算記錄的擊鍵行為習慣與系統(tǒng)中已存 的所述用戶的行為特征的距離,包括: 利用已存的所述用戶的行為特征中的協(xié)方差矩陣,計算所述用戶的行為特征中每個特 征向量與記錄的擊鍵行為習慣之間的馬哈拉諾比斯距離; 輸出其中最小的馬哈拉諾比斯距離。4. 根據(jù)權利要求3所述的方法,其特征在于,采用以下公式計算所述馬哈拉諾比斯距 離:其中,DM(x,μ,S)表示馬哈拉諾比斯距離,X表示記錄的擊鍵行為習慣,μ表示系統(tǒng)中 已存的所述用戶的行為特征中的特征向量,S表示系統(tǒng)中已存的所述用戶的行為特征中的 協(xié)方差矩陣。5. 根據(jù)權利要求1至4中任一項所述的方法,其特征在于,所述方法還包括: 檢測系統(tǒng)中已存的行為特征的數(shù)據(jù)量是否超過預設數(shù)據(jù)最大量; 如果是,則按照存儲時間的先后順序和所述預設數(shù)據(jù)最大量,刪除存儲時間在前的已 存行為特征。6. -種身份認證裝置,其特征在于,包括: 第一檢測單元,用于在用戶登錄系統(tǒng)時,根據(jù)所述用戶的登錄信息檢測系統(tǒng)中是否存 在所述用戶的行為特征; 記錄及存儲單元,用于在不存在所述用戶的行為特征的情況下,提示所述用戶輸入數(shù) 據(jù),記錄所述用戶輸入所述數(shù)據(jù)時的擊鍵行為習慣,計算每次輸入數(shù)據(jù)的協(xié)方差矩陣,并將 所述協(xié)方差矩陣及輸入的數(shù)據(jù)保存為所述用戶的行為特征; 記錄及計算單元,用于在存在所述用戶的行為特征的情況下,在所述用戶登錄所述系 統(tǒng)直到所述用戶退出所述系統(tǒng)的過程中,記錄所述用戶的擊鍵行為習慣,并計算記錄的擊 鍵行為習慣與系統(tǒng)中已存的所述用戶的行為特征的距離; 確定及訓練單元,用于在計算得到的距離低于或等于預設閾值的情況下,確定所述用 戶為合法用戶,并將記錄的擊鍵行為習慣輸入到所述預設模型中進行訓練,以調整所述用 戶的行為特征; 確定及輸出單元,用于在計算得到的距離高于所述預設閾值的情況下,確定所述用戶 為異常用戶,輸出告警信息或阻斷用戶操作。7. 根據(jù)權利要求6所述的裝置,其特征在于,所述擊鍵行為習慣包括:按鍵頻率、鍵與 鍵之間的擊鍵間隔時間、所按的每個鍵上的持續(xù)時間。8. 根據(jù)權利要求6所述的裝置,其特征在于,所述記錄及計算單元包括: 計算模塊,用于利用已存的所述用戶的行為特征中的協(xié)方差矩陣,計算所述用戶的行 為特征中每個特征向量與記錄的擊鍵行為習慣之間的馬哈拉諾比斯距離; 輸出模塊,用于輸出其中最小的馬哈拉諾比斯距離。9. 根據(jù)權利要求8所述的裝置,其特征在于,所述計算模塊采用以下公式計算所述馬 哈拉諾比斯距離:其中,DM(x,μ,S)表示馬哈拉諾比斯距離,X表示記錄的擊鍵行為習慣,μ表示系統(tǒng)中 已存的所述用戶的行為特征中的特征向量,S表示系統(tǒng)中已存的所述用戶的行為特征中的 協(xié)方差矩陣。10. 根據(jù)權利要求6至9中任一項所述的裝置,其特征在于,所述裝置還包括: 第二檢測單元,用于檢測系統(tǒng)中已存的行為特征的數(shù)據(jù)量是否超過預設數(shù)據(jù)最大量; 刪除單元,用于在檢測結果為是的情況下,按照存儲時間的先后順序和所述預設數(shù)據(jù) 最大量,刪除存儲時間在前的已存行為特征。
【文檔編號】H04L29/06GK105933267SQ201510519937
【公開日】2016年9月7日
【申請日】2015年8月21日
【發(fā)明人】劉發(fā)章, 華錦芝
【申請人】中國銀聯(lián)股份有限公司