本發(fā)明涉及一種手勢密碼認證方法,特別是涉及一種基于姿勢變化的手勢行為認證模式的構建方法及系統(tǒng)。
背景技術:
隨著智能手機的普及,各式各樣的移動應用大量出現(xiàn),極大的方便和豐富了人們的日常生活。越來越多的人習慣于使用智能手機聊天、拍照、購物、娛樂等。手機不僅存儲了用戶的聯(lián)系人、短信、照片和各類應用的賬號信息,更可能存儲了用戶的銀行賬號信息。一旦手機丟失或者感染了惡意病毒,用戶在手機上的隱私信息易被竊取,給用戶造成損失。保護移動設備的信息安全已越來越引起人們的關注。目前常用的移動端認證方法主要有數(shù)字密碼、手勢密碼、指紋、人臉、虹膜等。然而,數(shù)字密碼和手勢密碼易被惡意軟件竊取,且由于設置復雜的密碼使用不便,很多用戶設置的密碼相對簡單,易被破解。而指紋、虹膜認證需要額外的硬件支持,人臉認證則對前置攝像頭要求相對較高,一些中低端和較早生產(chǎn)的機型無法使用。隨著智能手機的普及,各式各樣的移動應用大量出現(xiàn),極大的方便和豐富了人們的日常生活。越來越多的人習慣于使用智能手機聊天、拍照、購物、娛樂等。手機不僅存儲了用戶的聯(lián)系人、短信、照片和各類應用的賬號信息,更可能存儲了用戶的銀行賬號信息。一旦手機丟失或者感染了惡意病毒,用戶在手機上的隱私信息易被竊取,給用戶造成損失。保護移動設備的信息安全已越來越引起人們的關注。目前常用的移動端認證方法主要有數(shù)字密碼、手勢密碼、指紋、人臉、虹膜等。然而,數(shù)字密碼和手勢密碼易被惡意軟件竊取,且由于設置復雜的密碼使用不便,很多用戶設置的密碼相對簡單,易被破解。而指紋、虹膜認證需要額外的硬件支持,人臉認證則對前置攝像頭要求相對較高,一些中低端和較早生產(chǎn)的機型無法使用。本專利旨在為傳統(tǒng)的手勢密碼添加行為認證。用戶輸入手勢密碼時的手勢行為(手指與觸摸屏的交互行為)和姿勢行為(用戶所處的姿勢)與用戶的行為習慣密切相關,難以被模仿、盜用。通過由手機的觸摸屏采集到的手勢行為數(shù)據(jù)和方向、加速度傳感器采集到的姿勢行為數(shù)據(jù),為用戶輸入手勢密碼時的手勢和姿勢行為建立行為認證模型,可用于提升手勢密碼認證的安全性。
綜上,本傳統(tǒng)技術利用手機觸摸屏和手機方向、加速度傳感器收集用戶手勢行為和姿勢行為的數(shù)據(jù),在用戶輸入手勢密碼時,除驗證該手勢密碼與預設的手勢密碼相同外,無法使用其他識別及行為模型對用戶的合法性進行進一步認證?,F(xiàn)有技術存在認證模式單一、安全性較低的技術問題。
技術實現(xiàn)要素:
鑒于以上現(xiàn)有技術的缺點,本發(fā)明的目的在于提供一種基于姿勢變化的手勢行為認證模式的構建方法及系統(tǒng),用于解決現(xiàn)有技術的認證模式單一、安全性較低的技術問題。為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種基于競爭的無線網(wǎng)絡介質(zhì)訪問控制層接入方法及系統(tǒng),包括:S1、從移動終端接收通過其觸摸屏采集的手勢行為數(shù)據(jù)、以及通過移動終端的動作傳感器收集的姿勢行為數(shù)據(jù);S2、根據(jù)手勢行為數(shù)據(jù)計算手勢特征,并根據(jù)姿勢行為數(shù)據(jù)計算姿勢特征;S3、對姿勢特征進行聚類,以得到每個姿勢特征的預測姿勢標簽;S4、通過預測姿勢標簽將各姿勢特征劃分為K組,每組對應一個姿勢;S5、根據(jù)手勢行為數(shù)據(jù)對每個姿勢類別分別訓練一個手勢認證子模型,供驗證處于一姿勢下的用戶手勢行為是否合法。
于本發(fā)明的一實施方式中,S1、從移動終端接收通過其觸摸屏采集的手勢行為數(shù)據(jù)、以及通過移動終端的動作傳感器收集的姿勢行為數(shù)據(jù),包括:若用戶使用手勢密碼登錄,則利用手機觸摸屏采集手指位置信息、壓力、接觸面積和時間戳;S12、利用手機的方向傳感器來采集手機屏幕方向信息;用手機加速度傳感器來采集手機加速度信息,作為用戶的姿勢行為數(shù)據(jù)。
于本發(fā)明的一實施方式中,S2、根據(jù)手勢行為數(shù)據(jù)計算手勢特征,并根據(jù)姿勢行為數(shù)據(jù)計算姿勢特征,包括:S21、根據(jù)預設邏輯從姿勢行為數(shù)據(jù)中提取姿勢特征信息和手勢特征信息;S22、對每個特征都進行特征變換,即對于每個特征x,均使用公式:
(x_i-x_min)/(x_max-x_min),
進行處理,其中x_i為當前特征,x_min為最小特征,x_max為最大特征;S23、根據(jù)預設邏輯對姿勢行為特征信息和手勢特征信息進行降維處理,處理得出特征向量;S24、根據(jù)預設向量邏輯將姿勢特征信息處理為姿勢特征分向量,將手勢特征分向量處理為手勢特征分向量;S25、計算手勢特征分向量和姿勢特征分向量,得出特征向量,形成特征向量集,每個特征向量對應一次手勢密碼輸入。
于本發(fā)明的一實施方式中,S3、對姿勢特征進行聚類,以得到每個姿勢特征的預測姿勢標簽,包括:S31、根據(jù)特征信息,使用輪廓系數(shù)確定簇的個數(shù)K。簇與姿勢類別一一對應;S32、根據(jù)預設邏輯計算得到簇的簇中心;S33、根據(jù)用戶所有特征向量到其所屬的簇中心的距離,按照公式:
計算閾值threshold,其中為距離的平均值,var為距離的方差,a∈[1,5],b∈[1,10],a,b∈N*;S34、根據(jù)Kmeans方法,使用閾值threshold確定特征向量的所在的簇。
于本發(fā)明的一實施方式中,S4、通過預測姿勢標簽將各姿勢特征劃分為K組,每組對應一個姿勢,包括:S41、經(jīng)過姿勢聚類得到每個特征向量的預測姿勢標簽,根據(jù)預測姿勢標簽可以將特征向量分為K個姿勢標簽組;S42、對每個姿勢標簽組對應的姿勢訓練得到一個手勢認證子模型,手勢認證子模型適于判定處于該姿勢下的用戶的手勢行為是否合法。
于本發(fā)明的一實施方式中,S5、根據(jù)手勢行為數(shù)據(jù)對每個姿勢類別分別訓練一個手勢認證子模型,供驗證處于一姿勢下的用戶手勢行為是否合法,包括:S51、若有客戶輸入的手勢密碼與預設的手勢密碼相同,則使用采集到的行為數(shù)據(jù)計算出姿勢特征和手勢特征,計算姿勢特征到K個簇中心的距離,取其中的最小值;S52、根據(jù)閾值threshold和最小值判斷用戶輸入的手勢密碼與預設的手勢密碼是否相同;S53、若最小值大于threshold,則認為當前用戶的姿勢不屬于合法用戶的姿勢,判定該用戶非法;S54、若最小值小于或等于threshold,則該最小值對應的姿勢為當前用戶的姿勢,判定該用戶合法;S55、取出該姿勢所下的手勢判定模型判斷用戶的手勢特征是否匹配;S56、若是,則判定為合法用戶;S57、若否,則判定為非法用戶。
于本發(fā)明的一實施方式中,一種基于基于姿勢變化的手勢行為認證模式的構建裝置,用于為傳統(tǒng)技術中的手勢密碼添加行為認證,包括:數(shù)據(jù)收集模塊、特征提取模塊、姿勢聚類模塊、手勢認證子模型訓練模塊和密碼輸入認證模塊;數(shù)據(jù)收集模塊,用于利用手機觸屏和傳感器收集手勢行為信息,數(shù)據(jù)收集模塊由手機中安裝的各類傳感器組成;特征提取模塊,用于根據(jù)預設邏輯處理手勢行為信息,提取出特征信息,所述特征信息有不同的傳感器分類別獲得;姿勢聚類模塊,用于根據(jù)預設聚類邏輯聚類出姿勢類別,姿勢類別與不同用戶姿勢一一對應;手勢認證子模型訓練模塊,用于根據(jù)預設訓練邏輯訓練出手勢認證子模型,手勢認證子模型與姿勢標簽組一一對應;密碼輸入認證模塊,用于在用戶輸入密碼時,則根據(jù)預設邏輯提取用戶的手勢特征,根據(jù)預設比較邏輯對比手勢特征與手勢認證子模型,得出行為認證結果。
于本發(fā)明的一實施方式中,數(shù)據(jù)收集模塊,包括:觸控收集模塊、方向收集模塊和加速度收集模塊;觸控收集模塊,用于在用戶使用手勢密碼登錄時,則利用手機觸摸屏采集手指位置信息、壓力、接觸面積和時間戳,在用戶使用手勢密碼登錄時,利用手機觸摸屏采集手指位置的X、Y坐標、壓力、接觸面積和時間戳,作為用戶的手勢行為數(shù)據(jù);方向收集模塊,用于利用手機的方向傳感器來采集手機屏幕方向信息,利用手機的方向傳感器來采集手機屏幕方向的X、Y、Z坐標,;加速度收集模塊,用于使用手機加速度傳感器來采集手機加速度信息,以及用手機加速度傳感器來采集手機加速度的X、Y、Z坐標,作為用戶的姿勢行為數(shù)據(jù)。
于本發(fā)明的一實施方式中,特征信息提取模塊,包括:特征提取模塊、特征變換模塊、降維處理模塊、分向量計算模塊和向量集模塊;特征提取模塊,用于根據(jù)預設邏輯從姿勢行為數(shù)據(jù)中提取姿勢特征信息和手勢特征信息;特征變換模塊,S、對每個特征都進行特征變換,即對于每個特征x,均使用公式:
(x_i-x_min)/(x_max-x_min),
進行處理,其中x_i為當前特征,x_min為最小特征,x_max為最大特征;降維處理模塊,用于根據(jù)預設邏輯對姿勢行為特征信息和手勢特征信息進行降維處理,處理得出特征向量;分向量計算模塊,S、根據(jù)預設向量邏輯將姿勢特征信息處理為姿勢特征分向量,將手勢特征分向量處理為手勢特征分向量;向量集模塊,計算手勢特征分向量和姿勢特征分向量,得出特征向量,形成特征向量集,每個特征向量對應一次手勢密碼輸入。
于本發(fā)明的一實施方式中,姿勢聚類模塊,包括:簇個數(shù)確定模塊、簇中心計算模塊、閾值計算模塊、特征向量聚類模塊;簇個數(shù)確定模塊,用于根據(jù)特征信息,使用輪廓系數(shù)確定簇的個數(shù)K。簇與姿勢類別一一對應;簇中心計算模塊,用于根據(jù)預設邏輯計算得到簇的簇中心;閾值計算模塊,用于根據(jù)用戶所有特征向量到其所屬的簇中心的距離,按照公式:
計算閾值threshold,其中為距離的平均值,var為距離的方差,a∈[,],b∈[,0],a,b∈N*;特征向量聚類模塊,用于根據(jù)Kmeans方法,使用閾值threshold確定特征向量的所在的簇。
于本發(fā)明的一實施方式中,手勢認證子模型訓練模塊,包括:標簽模塊和模型訓練模塊;標簽模塊,用于通過姿勢聚類得到每個特征向量的預測姿勢標簽,根據(jù)預測姿勢標簽可以將特征向量分為K個姿勢標簽組;模型訓練模塊,用于對每個姿勢標簽組對應的姿勢訓練得到一個手勢認證子模型,手勢認證子模型適于判定處于該姿勢下的用戶的手勢行為是否合法。
于本發(fā)明的一實施方式中,密碼輸入認證模塊,包括:最小值計算模塊、姿勢合法性判斷模塊、非法姿勢判定模塊、合法姿勢判定模塊、手勢合法判斷模塊、合法手勢判定模塊、非法手勢判定模塊;最小值計算模塊,用于在輸入的手勢密碼與預設的手勢密碼相同時,使用采集到的行為數(shù)據(jù)計算出姿勢特征和手勢特征,計算姿勢特征到K個簇中心的距離,取其中的最小值;姿勢合法性判斷模塊,用于根據(jù)閾值threshold和最小值判斷用戶輸入的手勢密碼與預設的手勢密碼是否相同;非法姿勢判定模塊,用于在最小值大于threshold時,認為當前用戶的姿勢不屬于合法用戶的姿勢,判定該用戶非法;合法姿勢判定模塊,用于在最小值小于或等于threshold時,該最小值對應的姿勢為當前用戶的姿勢,判定該用戶合法;手勢合法判斷模塊,用于取出該姿勢所對應的手勢判定模型判斷用戶的手勢特征是否匹配;合法手勢判定模塊,用于在用戶的手勢特征與手勢判定模型匹配時,判定所屬用戶為合法用戶;非法手勢判定模塊,用于在用戶的手勢特征與手勢判定模型不匹配時,判定所屬用戶為非法用戶。
如上所述,本發(fā)明提供的一種基于姿勢變化的手勢行為認證模式的構建方法及系統(tǒng),具有以下有益效果:
本發(fā)明旨在為傳統(tǒng)的手勢密碼添加行為認證。給出了一個姿勢聚類算法。使用由手機方向、加速度傳感器采集到用戶姿勢數(shù)據(jù)利用K-means算法和輪廓系數(shù)聚類出用戶的姿勢,并提出一種判定某姿勢是否屬于該用戶的方法;為用戶的每一個姿勢分別訓練一個手勢認證子模型;給出了一個行為認證方法。該方法首先判定用戶姿勢是否合法,若合法則確定屬于用戶的某一種姿勢,并利用該姿勢下的手勢認證子模型判定用戶手勢是否合法。用戶輸入手勢密碼時的手勢行為(手指與觸摸屏的交互行為)和姿勢行為(用戶所處的姿勢)與用戶的行為習慣密切相關,難以被模仿、盜用。通過由手機的觸摸屏采集到的手勢行為數(shù)據(jù)和方向、加速度傳感器采集到的姿勢行為數(shù)據(jù),為用戶輸入手勢密碼時的手勢和姿勢行為建立行為認證模型,可用于提升手勢密碼認證的安全性。在用戶使用手勢密碼登錄時,除驗證用戶輸入的手勢密碼與預設的手勢密碼是否相同外,可使用構建的行為認證模型對用戶的手勢和姿勢行為進行認證,只有手勢密碼和行為認證模型均認證通過時才可正常登錄。此方法不需要特殊硬件支持,只是對原有手勢密碼認證的改進,通過添加用戶行為認證來提高安全性,無需用戶進行額外學習和操作。提高了系統(tǒng)性能,解決了現(xiàn)有傳統(tǒng)的手勢密碼安全性低,需要額外硬件支持的技術問題。
附圖說明
圖1顯示本發(fā)明的一種基于競爭的無線網(wǎng)絡介質(zhì)訪問控制層接入方法步驟示意圖。
圖2顯示為本發(fā)明的向量信息處理步驟示意圖。
圖3顯示為本發(fā)明的姿勢聚類步驟示意圖。
圖4顯示為本發(fā)明的手勢認證子模型訓練步驟示意圖。
圖5顯示為本發(fā)明的認證方法步驟示意圖。
圖6顯示為本發(fā)明的一種基于姿勢變化的手勢行為認證模式的構建裝置模塊示意圖。
圖7顯示為本發(fā)明的數(shù)據(jù)收集模塊示意圖。
圖8顯示為本發(fā)明的特征信息提取模塊示意圖。
圖9顯示為本發(fā)明的姿勢聚類模塊示意圖。
圖10顯示為本發(fā)明的手勢認證子模型訓練模塊示意圖
圖11顯示為本發(fā)明的密碼輸入認證模塊示意圖
元件標號說明
1 一種基于姿勢變化的手勢行為認證模式的構建裝置
11 數(shù)據(jù)收集模塊
12 特征信息提取模塊
13 姿勢聚類模塊
14 手勢認證子模型訓練模塊
15 密碼輸入認證模塊
111 觸控收集模塊
112 方向收集模塊
113 加速度收集模塊
121 特征信息提取模塊
122 特征變換模塊
123 降維處理模塊
124 分向量計算模塊
125 向量集模塊
131 簇個數(shù)確定模塊
132 簇中心計算模塊
133 閾值計算模塊
134 特征向量聚類模塊
141 標簽模塊
142 模型訓練模塊
151 最小值計算模塊
152 姿勢合法性判斷模塊
153 非法姿勢判定模塊
154 合法姿勢判定模塊
155 手勢合法判斷模塊
156 合法手勢判定模塊
157 非法手勢判定模塊
步驟標號說明
圖1 S1~S5
圖2 S21~S25
圖3 S31~S34
圖4 S41~S42
圖5 S51~S57
具體實施方式
以下由特定的具體實施例說明本發(fā)明的實施方式,熟悉此技術的人士可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點及功效。
請參閱圖1至圖11,須知,本說明書所附圖式所繪示的結構,均僅用以配合說明書所揭示的內(nèi)容,以供熟悉此技術的人士了解與閱讀,并非用以限定本發(fā)明可實施的限定條件,故不具技術上的實質(zhì)意義,任何結構的修飾、比例關系的改變或大小的調(diào)整,在不影響本發(fā)明所能產(chǎn)生的功效及所能達成的目的下,均應仍落在本發(fā)明所揭示的技術內(nèi)容所能涵蓋的范圍內(nèi)。同時,本說明書中所引用的如”上”、”下”、”左”、”右”、”中間”及”一”等的用語,亦僅為便于敘述的明了,而非用以限定本發(fā)明可實施的范圍,其相對關系的改變或調(diào)整,在無實質(zhì)變更技術內(nèi)容下,當亦視為本發(fā)明可實施的范疇。
請參閱圖1,顯示本發(fā)明的一種基于競爭的無線網(wǎng)絡介質(zhì)訪問控制層接入方法步驟示意圖,如圖1所示,基于競爭的無線網(wǎng)絡介質(zhì)訪問控制層接入方法包括:S1、從移動終端接收通過其觸摸屏采集的手勢行為數(shù)據(jù)、以及通過移動終端的動作傳感器收集的姿勢行為數(shù)據(jù),智能手機內(nèi)部安裝有如加速度傳感器,方向傳感器和壓力傳感器,本發(fā)明通過這些傳感器手機安全驗證已經(jīng)模型建立所需原始數(shù)據(jù);S2、根據(jù)手勢行為數(shù)據(jù)計算手勢特征,并根據(jù)姿勢行為數(shù)據(jù)計算姿勢特征,本方法將獲取的方向向量信息分為手勢行為數(shù)據(jù)和姿勢行為信息,生成兩個分向量;S3、對姿勢特征進行聚類,以得到每個姿勢特征的預測姿勢標簽;S4、通過預測姿勢標簽將各姿勢特征劃分為K組,每組對應一個姿勢,該模型首先使用K-means算法聚類出用戶的姿勢;S5、根據(jù)手勢行為數(shù)據(jù)對每個姿勢類別分別訓練一個手勢認證子模型,供驗證處于一姿勢下的用戶手勢行為是否合法,確定一個閾值用于判定某個姿勢是否屬于該用戶,最后對用戶的每個姿勢分別使用one-class SVM算法構建手勢認證子模型。利用手機觸摸屏和手機方向、加速度傳感器收集用戶手勢行為和姿勢行為的數(shù)據(jù),使用這些行為數(shù)據(jù)構建行為認證模型。在用戶輸入手勢密碼時,除驗證該手勢密碼與預設的手勢密碼相同外,可使用上述行為模型對用戶的合法性進行進一步認證。為此給出的技術方案為:在用戶使用手勢密碼進行登錄時,首先判定輸入的手勢密碼是否與預設的手勢密碼相同:若不同,則判定為非法用戶;若相同,則利用采集到的用戶行為數(shù)據(jù)生成特征向量,然后根據(jù)姿勢特征分向量判斷出當前用戶的姿勢是否屬于合法用戶:若不屬于,則判定為非法用戶;若屬于,則判定當前姿勢屬于合法用戶的某種姿勢,之后使用該姿勢下的手勢認證子模型來判定用戶手勢行為的合法性,得到最終的判定結果。
從移動終端接收通過其觸摸屏采集的手勢行為數(shù)據(jù)、以及通過移動終端的動作傳感器收集的姿勢行為數(shù)據(jù),包括:若用戶使用手勢密碼登錄,則利用手機觸摸屏采集手指位置信息、壓力、接觸面積和時間戳;利用手機的方向傳感器來采集手機屏幕方向信息;用手機加速度傳感器來采集手機加速度信息,作為用戶的姿勢行為數(shù)據(jù)。在用戶使用手勢密碼登錄時,利用手機觸摸屏采集手指位置的X、Y坐標、壓力、接觸面積和時間戳,作為用戶的手勢行為數(shù)據(jù)。同時,利用手機的方向傳感器來采集手機屏幕方向的X、Y、Z坐標,以及用手機加速度傳感器來采集手機加速度的X、Y、Z坐標,作為用戶的姿勢行為數(shù)據(jù)。
請參閱圖2,顯示為本發(fā)明的向量信息處理步驟示意圖,如圖2所示,S2、根據(jù)手勢行為數(shù)據(jù)計算手勢特征,并根據(jù)姿勢行為數(shù)據(jù)計算姿勢特征,包括:S21、根據(jù)預設邏輯從姿勢行為數(shù)據(jù)中提取姿勢特征信息和手勢特征信息;S22、對每個特征都進行特征變換,即對于每個特征x,均使用公式:
(x_i-x_min)/(x_max-x_min),
進行處理,其中x_i為當前特征,x_min為最小特征,x_max為最大特征,其中姿勢特征包括手機屏幕方向的X、Y坐標的平均值、方差、極差;手機在X、Y、Z方向上的加速度的平均值、方差、極差;手機屏幕方向的X、Y坐標組成的時間序列與其對應參考時間序列間的距離,手勢特征包括:壓力、接觸面積的平均值、方差、最大值、最小值;手勢的總持續(xù)時間;相鄰時間戳間平均速度的平均值、方差、最大值、最小值;起始位置、中間位置、終止位置處的手指X、Y坐標、壓力、接觸面積;壓力、接觸面積取最大、最小值的時刻在總時間中的位置;手指X、Y坐標、壓力、接觸面積組成的時間序列與其對應參考時間序列間的距離;手指相鄰時間戳間的平均速度組成的時間序列與其對應參考時間序列間的距離;由于不同的特征對應的取值范圍不相同,可能對后續(xù)的算法產(chǎn)生干擾,我們對每個特征都進行特征變換,即對于每個特征x,均使用公式(xi-xmin)/(xmax-xmin)進行處理,使得所有特征均處于[0,1];S23、根據(jù)預設邏輯對姿勢行為特征信息和手勢特征信息進行降維處理,處理得出特征向量,為了減少數(shù)據(jù)中冗余信息對算法的干擾,以及加快模型的訓練速度,我們采用主成分分析算法(PCA)對特征向量進行處理,以降低特征向量的維度。因需區(qū)分手勢特征和姿勢特征,故應分別對姿勢特征組成的特征向量和手勢特征組成的特征向量進行降維處理;S24、根據(jù)預設向量邏輯將姿勢特征信息處理為姿勢特征分向量,將手勢特征分向量處理為手勢特征分向量,經(jīng)過對特征的計算和處理,將特征向量的集合記為n為特征向量的個數(shù)。其中每個特征向量對應于一次手勢密碼的輸入操作,其由姿勢特征分向量和手勢特征分向量組成,即S25、計算手勢特征分向量和姿勢特征分向量,得出特征向量,形成特征向量集,每個特征向量對應一次手勢密碼輸入。
請參閱圖3,顯示為本發(fā)明的姿勢聚類步驟示意圖,如圖3所示,包括:S31、根據(jù)特征信息,使用輪廓系數(shù)確定簇的個數(shù)K。簇與姿勢類別一一對應,由于用戶姿勢的個數(shù)是不可知的,因此我們使用輪廓系數(shù)(Silhouette Coefficient)來確定簇的個數(shù)K值(即用戶姿勢的個數(shù))將K值從2增加到6,對于每個K值分別進行聚類并計算輪廓系數(shù),取使輪廓系數(shù)最大的K值為最終K值;S32、根據(jù)預設邏輯計算得到簇的簇中心,用K-means算法聚類可計算出每個特征向量所屬的簇,同時得到K個簇中心。這K個簇分別對應用戶的K個姿勢。特征向量與哪個簇中心的歐幾里得距離最小,則該特征向量就屬于這個個簇;S33、根據(jù)用戶所有特征向量到其所屬的簇中心的距離,按照公式:
計算閾值threshold,其中勾距離的平均值,var為距離的方差,a∈[1,5],b∈[1,10],a,b∈N*;S34、根據(jù)Kmeans方法,使用閾值threshold確定特征向量的所在的簇,為了判定某一特征向量是否屬于該用戶,我們計算出一個閾值,記為threshold。該閾值反應屬于該用戶的特征向量到其所屬簇中心距離的最大值,當某一特征向量到各個簇中心的距離的最小值仍大于該threshold時,我們認為該特征向量不屬于該用戶。threshold的計算方法如下:分別計算該用戶所有特征向量到其所屬的簇中心的距離,并計算這些距離的平均值和方差var,為確定a與b,我們令a從1增加到5,b從1增加到10,實驗發(fā)現(xiàn)當a=3,b=7時效果最好。
請參閱圖4,顯示為本發(fā)明的手勢認證子模型訓練步驟示意圖,如圖4所示,S4、通過預測姿勢標簽將各姿勢特征劃分為K組,每組對應一個姿勢,包括:S41、經(jīng)過姿勢聚類得到每個特征向量的預測姿勢標簽,根據(jù)預測姿勢標簽可以將特征向量分為K個姿勢標簽組,即劃分為K個姿勢;S42、對每個姿勢標簽組對應的姿勢訓練得到一個手勢認證子模型,手勢認證子模型適于判定處于該姿勢下的用戶的手勢行為是否合法,訓練手勢認證子模型時使用特征向量中的手勢特征分向量由于用戶的手機上只有本用戶的行為信息,或者只有少量的非法用戶的行為信息,且用戶設置的手勢密碼多種多樣,即使在服務器端也不能保證可以找到設置了同樣手勢密碼的用戶的行為信息。因此,在絕大多數(shù)情況下,我們無法獲得訓練該用戶手勢認證子模型的負樣本。因此,我們使用one-class SVM算法來訓練手勢認證子模型。
請參閱圖5,顯示為本發(fā)明的認證方法步驟示意圖,如圖5所示,S5、根據(jù)手勢行為數(shù)據(jù)對每個姿勢類別分別訓練一個手勢認證子模型,供驗證處于一姿勢下的用戶手勢行為是否合法,包括:S51、在用戶輸入手勢密碼時,采集用戶手勢行為數(shù)據(jù)和姿勢行為數(shù)據(jù),首先驗證用戶輸入的手勢密碼是否與預設的手勢密碼是否相同,若有客戶輸入的手勢密碼與預設的手勢密碼相同,則使用采集到的行為數(shù)據(jù)計算出姿勢特征和手勢特征,計算姿勢特征到K個簇中心的距離,取其中的最小值;S52、根據(jù)閾值threshold和最小值判斷用戶輸入的手勢密碼與預設的手勢密碼是否相同;S53、若最小值大于threshold,則認為當前用戶的姿勢不屬于合法用戶的姿勢,判定該用戶非法;S54、若最小值小于或等于threshold,則該最小值對應的姿勢為當前用戶的姿勢,判定該用戶合法;S55、取出該姿勢所下的手勢判定模型判斷用戶的手勢特征是否匹配;S56、若是,則判定為合法用戶;S57、若否,則判定為非法用戶。計算姿勢特征到K個簇中心的距離,取其中的最小值。若該值大于threshold,則認為當前用戶的姿勢不屬于合法用戶的姿勢,判定該用戶非法。若小于或等于threshold,則該最小值對應的姿勢為當前用戶的姿勢。取出該姿勢所對應的手勢判定模型對用戶的手勢特征進行判定,從而得到最終的判定結果。
請參閱圖6,顯示為本發(fā)明的一種基于姿勢變化的手勢行為認證模式的構建裝置模塊示意圖,如圖6所示,一種基于姿勢變化的手勢行為認證模式的構建裝置1,用于為傳統(tǒng)技術中的手勢密碼添加行為認證,包括:數(shù)據(jù)收集模塊11、特征提取模塊12、姿勢聚類模塊13、手勢認證子模型訓練模塊14和密碼輸入認證模塊15;數(shù)據(jù)收集模塊11,用于利用手機觸屏和傳感器收集手勢行為信息,從移動終端接收通過其觸摸屏采集的手勢行為數(shù)據(jù)、以及通過移動終端的動作傳感器收集的姿勢行為數(shù)據(jù),智能手機內(nèi)部安裝有如加速度傳感器,方向傳感器和壓力傳感器,本發(fā)明通過這些傳感器手機安全驗證已經(jīng)模型建立所需原始數(shù)據(jù);特征提取模塊12,用于根據(jù)預設邏輯處理手勢行為信息,提取出特征信息,根據(jù)手勢行為數(shù)據(jù)計算手勢特征,并根據(jù)姿勢行為數(shù)據(jù)計算姿勢特征,本方法將獲取的方向向量信息分為手勢行為數(shù)據(jù)和姿勢行為信息,生成兩個分向量;姿勢聚類模塊13,用于對姿勢特征進行聚類,以得到每個姿勢特征的預測姿勢標簽;手勢認證子模型訓練模塊14,用于通過預測姿勢標簽將各姿勢特征劃分為K組,每組對應一個姿勢,該模型首先使用K-means算法聚類出用戶的姿勢;密碼輸入認證模塊15,用于在用戶輸入密碼時,則根據(jù)預設邏輯提取用戶的手勢特征,根據(jù)預設比較邏輯對比手勢特征與手勢認證子模型,得出行為認證結果,根據(jù)手勢行為數(shù)據(jù)對每個姿勢類別分別訓練一個手勢認證子模型,供驗證處于一姿勢下的用戶手勢行為是否合法,確定一個閾值用于判定某個姿勢是否屬于該用戶,最后對用戶的每個姿勢分別使用one-class SVM算法構建手勢認證子模型。利用手機觸摸屏和手機方向、加速度傳感器收集用戶手勢行為和姿勢行為的數(shù)據(jù),使用這些行為數(shù)據(jù)構建行為認證模型。在用戶輸入手勢密碼時,除驗證該手勢密碼與預設的手勢密碼相同外,可使用上述行為模型對用戶的合法性進行進一步認證。為此給出的技術方案為:在用戶使用手勢密碼進行登錄時,首先判定輸入的手勢密碼是否與預設的手勢密碼相同:若不同,則判定為非法用戶;若相同,則利用采集到的用戶行為數(shù)據(jù)生成特征向量,然后根據(jù)姿勢特征分向量判斷出當前用戶的姿勢是否屬于合法用戶:若不屬于,則判定為非法用戶;若屬于,則判定當前姿勢屬于合法用戶的某種姿勢,之后使用該姿勢下的手勢認證子模型來判定用戶手勢行為的合法性,得到最終的判定結果。
請參閱圖7,顯示為本發(fā)明的數(shù)據(jù)收集模塊示意圖,如圖7所示,數(shù)據(jù)收集模塊11包括:觸控收集模塊111、方向收集模塊112和加速度收集模塊113;觸控收集模塊111,用于若用戶使用手勢密碼登錄,則利用手機觸摸屏采集手指位置信息、壓力、接觸面積和時間戳;方向收集模塊112,用于利用手機的方向傳感器來采集手機屏幕方向信息,利用手機的方向傳感器來采集手機屏幕方向信息;用手機加速度傳感器來采集手機加速度信息,作為用戶的姿勢行為數(shù)據(jù)。在用戶使用手勢密碼登錄時,利用手機觸摸屏采集手指位置的X、Y坐標、壓力、接觸面積和時間戳,作為用戶的手勢行為數(shù)據(jù);加速度收集模塊113,用于使用手機加速度傳感器來采集手機加速度信息,作為用戶的姿勢行為數(shù)據(jù)。
請參閱圖8,顯示為本發(fā)明的特征信息提取模塊示意圖,如圖8所示,特征信息提取模塊12包括:特征提取模塊121、特征變換模塊122、降維處理模塊123、分向量計算模塊124和向量集模塊125;特征提取模塊121,用于根據(jù)預設邏輯從姿勢行為數(shù)據(jù)中提取姿勢特征信息和手勢特征信息;特征變換模塊122,用于對每個特征都進行特征變換,即對于每個特征x,均使用公式:
(x_i-x_min)/(x_max-x_min),
進行處理,其中x_i為當前特征,x_min為最小特征,x_max為最大特征,其中姿勢特征包括手機屏幕方向的X、Y坐標的平均值、方差、極差;手機在X、Y、Z方向上的加速度的平均值、方差、極差;手機屏幕方向的X、Y坐標組成的時間序列與其對應參考時間序列間的距離,手勢特征包括:壓力、接觸面積的平均值、方差、最大值、最小值;手勢的總持續(xù)時間;相鄰時間戳間平均速度的平均值、方差、最大值、最小值;起始位置、中間位置、終止位置處的手指X、Y坐標、壓力、接觸面積;壓力、接觸面積取最大、最小值的時刻在總時間中的位置;手指X、Y坐標、壓力、接觸面積組成的時間序列與其對應參考時間序列間的距離;手指相鄰時間戳間的平均速度組成的時間序列與其對應參考時間序列間的距離;由于不同的特征對應的取值范圍不相同,可能對后續(xù)的算法產(chǎn)生干擾,我們對每個特征都進行特征變換,即對于每個特征x,均使用公式(xi-xmin)/(xmax-xmin)進行處理,使得所有特征均處于[0,1];降維處理模塊123,用于根據(jù)預設邏輯對姿勢行為特征信息和手勢特征信息進行降維處理,處理得出特征向量,為了減少數(shù)據(jù)中冗余信息對算法的干擾,以及加快模型的訓練速度,我們采用主成分分析算法(PCA)對特征向量進行處理,以降低特征向量的維度。因需區(qū)分手勢特征和姿勢特征,故應分別對姿勢特征組成的特征向量和手勢特征組成的特征向量進行降維處理;分向量計算模塊124,用于根據(jù)預設向量邏輯將姿勢特征信息處理為姿勢特征分向量,將手勢特征分向量處理為手勢特征分向量,經(jīng)過對特征的計算和處理,將特征向量的集合記為n為特征向量的個數(shù)。其中每個特征向量對應于一次手勢密碼的輸入操作,其由姿勢特征分向量陽手勢特征分向量組成,即向量集模塊125用于計算手勢特征分向量和姿勢特征分向量,得出特征向量,形成特征向量集,每個特征向量對應一次手勢密碼輸入。
請參閱圖9,顯示為本發(fā)明的姿勢聚類模塊示意圖,如圖9所示,姿勢聚類模塊13包括:簇個數(shù)確定模塊131、簇中心計算模塊132、閾值計算模塊133、特征向量聚類模塊134;簇個數(shù)確定模塊131,用于根據(jù)特征信息,使用輪廓系數(shù)確定簇的個數(shù)K。簇與姿勢類別一一對應,由于用戶姿勢的個數(shù)是不可知的,因此我們使用輪廓系數(shù)(Silhouette Coefficient)來確定簇的個數(shù)K值(即用戶姿勢的個數(shù))將K值從2增加到6,對于每個K值分別進行聚類并計算輪廓系數(shù),取使輪廓系數(shù)最大的K值為最終K值;簇中心計算模塊132,根據(jù)預設邏輯計算得到簇的簇中心,用K-means算法聚類可計算出每個特征向量所屬的簇,同時得到K個簇中心。這K個簇分別對應用戶的K個姿勢。特征向量與哪個簇中心的歐幾里得距離最小,則該特征向量就屬于這個個簇;閾值計算模塊133,用于根據(jù)用戶所有特征向量到其所屬的簇中心的距離,按照公式:
計算閾值threshold,其中為距離的平均值,var為距離的方差,a∈[1,5],b∈[1,10],a,b∈N*;特征向量聚類模塊134,用于根據(jù)Kmeans方法,使用閾值threshold確定特征向量的所在的簇,為了判定某一特征向量是否屬于該用戶,我們計算出一個閾值,記為threshold。該閾值反應屬于該用戶的特征向量到其所屬簇中心距離的最大值,當某一特征向量到各個簇中心的距離的最小值仍大于該threshold時,我們認為該特征向量不屬于該用戶。threshold的計算方法如下:分別計算該用戶所有特征向量到其所屬的簇中心的距離,并計算這些距離的平均值和方差var,為確定a與b,我們令a從1增加到5,b從1增加到10,實驗發(fā)現(xiàn)當a=3,b=7時效果最好。
請參閱圖10,顯示為本發(fā)明的手勢認證子模型訓練模塊示意圖,如圖10所示,手勢認證子模型訓練模塊14包括:標簽模塊141和模型訓練模塊142;標簽模塊141,用于經(jīng)過姿勢聚類得到每個特征向量的預測姿勢標簽,根據(jù)預測姿勢標簽可以將特征向量分為K個姿勢標簽組,即劃分為K個姿勢;模型訓練模塊142,用于對每個姿勢標簽組對應的姿勢訓練得到一個手勢認證子模型,手勢認證子模型適于判定處于該姿勢下的用戶的手勢行為是否合法,訓練手勢認證子模型時使用特征向量中的手勢特征分向量由于用戶的手機上只有本用戶的行為信息,或者只有少量的非法用戶的行為信息,且用戶設置的手勢密碼多種多樣,即使在服務器端也不能保證可以找到設置了同樣手勢密碼的用戶的行為信息。因此,在絕大多數(shù)情況下,我們無法獲得訓練該用戶手勢認證子模型的負樣本。因此,我們使用one-class SVM算法來訓練手勢認證子模型。
請參閱圖11,顯示為本發(fā)明的密碼輸入認證模塊示意圖,如圖11所示,手勢認證子模型訓練模塊15包括:最小值計算模塊151、姿勢合法性判斷模塊152、非法姿勢判定模塊153、合法姿勢判定模塊154、手勢合法判斷模塊155、合法手勢判定模塊156、非法手勢判定模塊157;最小值計算模塊151,用于在用戶輸入手勢密碼時,采集用戶手勢行為數(shù)據(jù)和姿勢行為數(shù)據(jù),首先驗證用戶輸入的手勢密碼是否與預設的手勢密碼是否相同,若有客戶輸入的手勢密碼與預設的手勢密碼相同,則使用采集到的行為數(shù)據(jù)計算出姿勢特征和手勢特征,計算姿勢特征到K個簇中心的距離,取其中的最小值;姿勢合法性判斷模塊152,用于根據(jù)閾值threshold和最小值判斷用戶輸入的手勢密碼與預設的手勢密碼是否相同;非法姿勢判定模塊153,用于在最小值大于threshold時,則認為當前用戶的姿勢不屬于合法用戶的姿勢,判定該用戶非法;合法姿勢判定模塊154,用于在最小值小于或等于threshold時,則該最小值對應的姿勢為當前用戶的姿勢,判定該用戶合法;手勢合法判斷模塊155,用于取出該姿勢所下的手勢判定模型判斷用戶的手勢特征是否匹配;合法手勢判定模塊156,用于在用戶的手勢特征與手勢判定模型匹配時,判定所屬用戶為合法用戶;非法手勢判定模塊157,用于在用戶的手勢特征與手勢判定模型不匹配時,判定為非法用戶,取出該姿勢所對應的手勢判定模型對用戶的手勢特征進行判定,從而得到最終的判定結果。
綜上所述,本發(fā)明利用手機觸摸屏和手機方向、加速度傳感器收集用戶手勢行為和姿勢行為的數(shù)據(jù),使用這些行為數(shù)據(jù)構建行為認證模型。該模型首先使用K-means算法聚類出用戶的姿勢,同時確定一個閾值用于判定某個姿勢是否屬于該用戶,最后對用戶的每個姿勢分別使用one-class SVM算法構建手勢認證子模型。在用戶輸入手勢密碼時,除驗證該手勢密碼與預設的手勢密碼相同外,可使用上述行為模型對用戶的合法性進行進一步認證。為此給出的技術方案為:在用戶使用手勢密碼進行登錄時,首先判定輸入的手勢密碼是否與預設的手勢密碼相同:若不同,則判定為非法用戶;若相同,則利用采集到的用戶行為數(shù)據(jù)生成特征向量,然后根據(jù)姿勢特征分向量判斷出當前用戶的姿勢是否屬于合法用戶:若不屬于,則判定為非法用戶;若屬于,則判定當前姿勢屬于合法用戶的某種姿勢,之后使用該姿勢下的手勢認證子模型來判定用戶手勢行為的合法性,得到最終的判定結果,具有很高的商業(yè)價值和實用性。