張彭明,張曉梅,胡建鵬
(上海工程技術大學電子電氣工程學院,上海 201620)
隱式認證是基于行為特征的新興認證方式,其通過智能手機傳感器采集用戶操作設備的行為信息,提取相關行為特征作為隱式密碼,并利用分類算法識別用戶身份。隱式認證能持續監測行為信息,在整個交互期間實時認證用戶身份,保障系統安全性,且認證過程都在后臺進行,用戶不必再記憶和頻繁輸入密碼,提升了設備交互體驗。
基于行為的隱式認證大多通過增加更多的特征種類、訓練復雜性模型來提高認證準確性。研究表明,多種行為特征融合可提高認證準確率。將觸摸、點擊等行為相結合[1-3],分析用戶點擊位置、速度、軌跡長度等行為信息[4],從多個維度描述用戶行為特征,結合較復雜的分類算法[5],在手機上獲得較高的認證準確率。另一部分研究結合了加速度、陀螺儀等傳感器捕捉用戶在運動狀態的行為信息[6-7]。這些認證方式在一定程度上提高了系統安全性,但加入過多的特征往往會導致模型變得復雜,且訓練困難,從而產生過擬合,在某些用戶上反而降低了準確性。有些行為特征采集不便,無法滿足認證條件[8]。此外某些特征需要配備專有穿戴設備(智能手表、手環等)才能完成認證[9-11],不僅使系統認證機制變得繁瑣,同時也增加了額外的成本。過多的特征也會導致行為分析變得困難,模型訓練時間過長,運算量大,在計算力與能耗有限的手機等移動設備中難以普及。
針對以上認證機制存在的問題,本文將易采集的劃屏行為特征、訓練分類模型作為前級認證,根據前級歷史認證結果的均值動態設定信任值,并將分類概率與信任值比對作為后級認證,最終判斷是否為真實用戶。通過滑動窗口機制記錄模型前級認證結果,將歷史認證概率取均值后動態更新信任值,用于后續認證。
行為特征具有不易被模仿的特點,近年來基于行為特征的隱式認證發展迅速。根據采集的行為特征不同,現有相關工作整理為基于擊鍵行為、基于步態行為、基于觸屏行為。
基于不同的人具有各自獨特的輸入方式,擊鍵認證在輸入過程中分析擊鍵特性(如擊鍵時延、擊鍵力度,擊鍵持續時間、擊鍵位置等)進行身份識別。早期,智能手機大多是物理鍵盤。當時研究的持續認證方式以擊鍵特征為主,不需要額外昂貴的硬件設備,具有成本低、靈活性高特點。擊鍵認證又分為固定文本和自由文本研究。LEE 等[12]研究學習用戶按鍵動態特征,提出參數化模型方法,模型可以為每個用戶選擇最具區別的功能。其錯誤拒絕率為11%。ALSULTAN 等[13]基于自由文本擊鍵動力學,通過結合決策級和特征級融合方案,融合決策層用于多數表決法的相融輸出,其錯誤接受率為0,錯誤拒絕率為0。LU 等[14]提出將用戶的擊鍵數據劃分為定長擊鍵序列,并根據擊鍵的時間特征將擊鍵序列轉換為擊鍵向量序列。采用遞歸神經網絡和卷積神經網絡相結合的模型,訓練學習單個擊鍵向量特征。其實驗結果的等錯誤率(Equal Error Rate,EER)為4%~10%。HO 等[15]提出一類樸素貝葉斯算法,根據預處理階段的時長對擊鍵特征屬性排序,改進分類有效性。但擊鍵行為在大多數移動設備上逐漸減少,不具有很好的普適性[16],因此基于該行為特征的隱式認證并不適用于目前流行的智能手機等移動設備。
YANG 等[17]利用手機內置加速度傳感器監測用戶步態特征變化,實現了對用戶身份的認證,但僅限于平坦路面情況。TRIVINO 等[18]分析了整個步態周期內加速度變化,使用模糊有限狀態機(Fuzzy Finite State Machine,FFSM)來模擬信號進化感知,其中每種狀態都使用關于人類步態生理階段的知識來建立,并描述了信號在其演化過程中經歷狀態的規則,模型EER 為3%。因此步態識別更隱秘且數據獲取方便,但步態識別也存在一定的缺陷,例如服飾、行走的路面、視角、鞋帽、背包等攜帶物都會影響其步態,進而影響其準確率,最終導致無法通過認證。步態行為應用受限于特定環境,在行走情況下才能認證,不是用戶與設備交互的日常行為。
觸屏行為是手機等智能移動設備的主要交互行為,且觸屏特征不需要額外設備,易于采集分析,數據獲取實時性較高,更適用于持續隱式認證。用戶劃屏軌跡、速度或點擊位置的差異,對屏幕產生的壓力不同,行為特征區分性明顯。觸屏又分為滑動觸屏和點擊觸屏。BO 等[19]建立基于觸摸識別的行為特征,不但融合了加速度傳感器與陀螺儀信息,還結合具體APP 使用行為,分析用戶在不同APP下的使用行為變化。FRANK 等[20]基于上下、左右滾動操作提取了30 個觸摸特征,旨在測試這種行為模式如何隨著時間推移表現出一致性。隨著使用時間延長,EER 在不斷上升,認證性能逐步下降,說明該特征不適用于長期身份認證。GONG 等[21]基于行為觸摸模式的穩定性和靈敏度屬性基礎出發,把觸摸行為當作是一些隨機“秘密”的函數,由用戶潛意識形成的函數特征,以此來抵抗隱私安全攻擊。基于以上特征的EER 為18%。WANG 等[22]融合點擊和滑動操作提取了多個特征點,首次在跨設備認證中做了嘗試。在單設備上特征AUC 為0.9,F1 分數為0.94。在跨設備上AUC 為0.81,F1分數為0.905,在跨設備上首次實現了較高的認證結果。YANG 等[23]融合觸摸生物識別技術,通過單分類支持向量機(Support Vector Machines,SVM)算法訓練所有者模型,并使用模型計算每種類型的準確率。模型平均準確率達到了95.85%,也取得了較好的認證效果。依據歐洲訪問控制系統標準(EN-50133-1)的要求[24],基于觸屏行為的用戶認證仍需要進一步研究以提高系統的準確性。本文提出一種基于動態信任值的分級隱式認證機制,通過觸屏行為特征得到的認證概率均值對認證結果進行動態調整,從而提高了認證準確率。
隱式認證架構如圖1 所示。

圖1 隱式認證架構Fig.1 Architecture of implicit authentication
在該認證方案中,先通過智能手機設備傳感器獲取行為數據,并對數據做預處理,提取細化行為特征信息;然后傳入分類器中訓練模型,在交叉驗證評估后得到認證模型;并與動態信任值做二級認證,輸出真實或假冒用戶。在前級認證時輸出認證概率,并通過滑動窗口機制計算窗口內概率均值,更新當前信任值。
首先通過手機內置傳感器獲取原始劃屏數據,包含時間戳、觸摸類型坐標、x坐標、y坐標、手指壓力、x方向、y方向移動速率信息。原始數據格式為:

用戶劃屏行為對比如圖2 所示。從圖2 可以看到,同一用戶的劃屏坐標集中在相同范圍,軌跡線非常相似。橫向對比分析,3 個用戶劃屏軌跡的起始x、y坐標不同,劃屏長度不同。用戶1 和用戶3 軌跡的彎曲程度均不同。用戶2 的x、y坐標與其他用戶差異更大,表明坐標位置區分度較高。分析表明手指劃屏時壓力隨著軌跡在不斷變化:用戶1 開始時壓力變化平穩,在軌跡后半部分壓力有所增加;用戶2的壓力值在劃屏軌跡內較為恒定;剛開始用戶3 的壓力值較低,在軌跡中部達到最大,在軌跡結束時降到最小。對于速度特征也具有類似的變化,表明不同用戶使用設備的行為習慣有較大差異。

圖2 用戶劃屏行為對比Fig.2 Swiping behavior comparison of users
基于以上分析,提取每次劃屏的原始特征變化信息,再通過隨機森林(Random Forest,RF)得出特征貢獻率,對特征進行評估,行為特征貢獻率如圖3 所示。
因RF 不受數據量綱影響,得出的特征貢獻率較為客觀。從圖3 可以看出,與速度相關的特征貢獻率較高,其中劃屏速度均值特征貢獻率高達17.46%,說明用戶手指翻頁速度不同,閱覽習慣差異明顯。與前者相比,位置變化相關的特征貢獻率略低,但對不同用戶而言,仍具有區分性。坐標x、y最大值表明手指劃屏的區域位置信息,說明不同用戶在手機劃屏的起止位置、范圍不同,具有一定的差異性。與壓力變化相關特征貢獻率較低,說明劃屏手指壓力僅在一定范圍內變化,這些特征仍有一定差異性。兩次劃屏軌跡間隔時間和壓力變化中位值特征排在最后,貢獻率很低,信息量少。去除這些特征后,把其余特征作為用戶特征集,用于訓練模型。

圖3 不同行為特征貢獻率對比Fig.3 Contribution rate comparison between different behavior features
2.2.1 噪聲數據處理
在實驗中,采集數據時不免會出現噪聲數據。原始數據中主要有兩種噪聲干擾。首先是冗余噪聲數據,在用戶手指劃屏開始和結束時刻,手指在屏幕上處于靜止狀態但未離開屏幕。由于傳感器非常靈敏,在一瞬間重復記錄了軌跡的起始點與結束點處的相關信息,產生大量冗余位置點,對后續軌跡內其他特征計算產生影響,應予以剔除。因冗余噪聲數據僅出現在軌跡起止前后幾個點,因此采取截斷法處理冗余噪聲數據,即可消除影響。其次在閱讀過程中,存在用戶誤觸屏幕等客觀因素的干擾,導致在軌跡內出現異常值,產生了離群點數據。本文采用箱線圖法通過四分位邊界值檢測離群點和異常值,并用上、下四分位與中位數值之和的均值來對異常值修正,檢測算法如式(1)、式(2)所示,數據修正如式(3)所示:

其中:Q1為下四分位數;Q2為中位數;Q3為上四分位數;IQ為四分位間距;Wup為上限邊界值;Wdown為下限邊界值;Zdown為下界異常值修正;Zup為上界異常值修正。
2.2.2 數據歸一化處理
因特征量綱不同,數據不能直接用于分類器訓練,需要進行歸一化處理。本文采用min-max 標準化方法把特征值映射在[0,1]區間內。

其中:n為用戶總的劃屏軌跡數;q為n范圍內的軌跡序號;i為軌跡內的特征序號;為第q次軌跡的第i個特征值;為在該軌跡內第i個特征新的映射值。
不同的分類器在特征集上表現會有差異。為了驗證特征更適合哪種分類器,本文選取SVM、RF 和多層感知機(Multilayer Perceptron,MLP)三種分類器,篩選出更適合本文特征的機器學習算法,并評估行為特征有效性。
2.3.1 支持向量機
SVM 是有監督二分類模型,從訓練集的兩個類中尋找超平面,作為分類決策邊界。對于復雜高維特征,可用核函數對數據進行映射,使得數據集易于分類。分類器模型如式(5)所示:

其中:w為模型權重;C為懲罰參數;b為偏差項;xi為特征集內第i種特征向量;yi為特征學習的監督標簽;Li為樣本點(xi,yi)距離超平面的最大間隔。SVM 分類結果取決于f(x)=(wTx+b)超平面,如果f(x)≥0,分類結果為真,否則為假。本文采集的特征維度不高,數據量較大,因此選用線性核SVM,且線性核SVM 不易過擬合,訓練模型速度快。
2.3.2 隨機森林
RF 是利用多棵決策樹對樣本進行訓練并預測的分類算法。它由多個相互不關聯的決策樹組成,類似投票機制,其最終結果是由多棵樹分類結果的眾數決定。特征空間采用樹形結構分割,將空間劃分為某個維度時,選擇獲得最大信息增益的維度劃分作為邊界。森林常用的CART 決策樹基于基尼系數(Gi)的特征選擇,基尼系數度量每個子節點達到最高的純度,即落在子節點中的所有觀察都屬于同一分類,此時基尼系數最小。在二分類中基尼系數計算如式(6)所示,分類結果輸出如式(7)所示:

其中:p為樣本屬于正類別的概率;Gi(D)為集合D的不確性;Gi(D,A)為經過A=a分割后集合D的不確定性。RF 中的每棵決策樹不斷遍歷特征子集尋找基尼系數最小特征的分割點,將數據集分成兩類。
2.3.3 多層感知機
MLP 是一種前饋神經網絡,由輸入層、隱藏層和輸出層三部分組成,每一層全連接到下一層。除輸入層外,每層節點都帶有非線性激活函數的神經元,調節輸出權重。MLP 算法具有很強的數據擬合能力,在非線性數據上取得較好的結果。本文采用ReLu 激活函數,輸出該層各節點權重,在輸出層采用Sigmoid 激活函數,建立三層網絡快速訓練模型。用二值交叉熵計算損失,作為二分類結果輸出,如式(8)~式(11)所示:

其中:aj為隱藏層神經元輸出值;g(hj)為激活函數;wij xij為偏移值;當前神經元輸出值經g(hj)輸入到下一層神經元節點aj;hk為輸出層中第k個輸出神經元加權之和;ak為最終輸出結果。MLP 結構如圖4所示。

圖4 MLP 結構Fig.4 Structure of MLP
在一定時間內真實用戶行為習慣變化具有連續性,不會產生較大誤差。對于攻擊者而言,在某段時間內模仿的行為具有不穩定性,易產生認證結果突變,與滑動窗口內概率值變化較大。通過比對誤差檢測認證異常突變。首先分類器認證成功后,輸出模型為真實用戶的概率,計算概率與信任值偏差,若偏差在閾值范圍內,則表明是真實用戶,反之則認定為假冒用戶。在長時間使用中,用戶自身劃屏行為也會產生微小偏差,導致認證準確率下降,因此需要在檢測完畢后更新信任值。滑動窗口概率值集合為U={p1,p2,…,pi,…,pL},計算滑動窗口U集合內的均值更新信任值,之后剔除最早加入窗口內的概率值p1,并把本次認證的概率值加入滑動窗口中。信任值檢測機制如式(12)所示,更新機制如式(13)所示:

其中:Pk為第k次軌跡特征被判定為真實用戶的概率;為第k次動態信任值,是前一次滑動窗口U集合內均值;L為滑動窗口大小;ER為偏差項。更新流程如圖5 所示,其中Sk為第k次的劃屏行為特征。

圖5 動態信任值更新機制Fig.5 Update mechanism of dynamic trust value
為采集用戶行為數據,本文基于開源的電子書閱讀APP,在保證基本功能同時,加入數據收集服務。選用華為HonorV10 手機作為實驗設備,把實驗APP 部署在手機中,通過Android API 獲取傳感器數據。
本次實驗召集了10 名用戶參與,由6 名男生和4 名女生組成,所有用戶均為在校大學生。閱讀器內下載有不同用戶喜歡的電子書,用戶與書號一一對應,不限制使用環境。為了防止用戶因閱讀疲倦導致日常行為發生變化,實驗規定每人每天輪流使用設備閱讀1 小時,共10 天完成數據收集。最終,共收集12 000 條數據用于訓練測試。全部數據經預處理后按70%、20%和10%,分為訓練集、測試集和驗證集。訓練集用于篩選和訓練分類器,并收集模型在訓練集上輸出的概率值,用于分析設定信任值最低閾值點,信任值更新步長,記錄認證概率值得滑動窗口大小等模型參數。驗證集用于評估整個認證系統性能和模型調參,優化分類器。為了驗證動態信任值模型性能,評估模型泛化能力,在實驗環節把10 個用戶依次標記為真實用戶,其他為冒名者,重復進行10 輪次訓練驗證。
本文選用以下常用評價指標,對實驗各環節進行評估。
1)ROC 曲線下面積
曲線下面積的意義是隨機選一對正例和負例,正例得分大于負例得分的概率。曲線下面積同時考慮分類器對于正例和負例的分類能力,即使在不平衡的樣本分布中,仍能夠對分類器做出合理評價,如式(14)所示:
其中:M為正例數;N為負例數;i為M中一個正例的序號;ri為第i個正例在M+N中所有預測值排序后的排名。
2)錯誤接受率和錯誤拒絕率
錯誤接受率是負例被分類器錯誤標記為正例所占總體正例樣本的比率,衡量分類器的可靠性,如式(15)所示:

其中:FP為負例預測正例數;TN為負例預測負例數。
錯誤拒絕率是正例被分類器錯誤標記為負例所占總體正例樣本的比率,衡量分類器的易用性。錯誤拒絕率越高,分類器對用戶越不友好,模型難以使用,如式(16)所示:

其中:TP為正例預測正例數;FN為正例預測負例數。
3)正負例分類準確率
正負例分類準確率是正確分類的正例與負例占總體分類的結果比率,用于評估加入信任值前后模型整體的分類性能,如式(17)所示:

本文在調整模型各自最佳參數后,采用AU和準確率評估算法在特征集上的表現,3 種分類器各自的認證結果如圖6 所示。

圖6 MLP、RF、SVM 算法ROC 曲線Fig.6 ROC curves of MLP,RF,SVM algorithms
從圖6 可以看到,3 種分類器AU面積均在0.95 以上,說明選取的行為特征具有較高的區分性,能較好地識別真實或假冒用戶。在AU達到0.4 之前,3 種分類器的準確率都迅速上升,變化比較一致,表明算法響應迅速。在準確率到達0.4 之后,RF 算法變化遲緩,說明其錯誤分類開始增多,性能不穩定,AU與準確率都低于其他兩種算法。SVM 算法與MLP 算法變化趨勢一致,在準確率達到0.8 之后,SVM 算法逐漸減緩,略低于MLP 算法。因此,MLP 算法穩定性好,準確率高,更適合本文特征集。
在本實驗中用戶4 被標定為真實用戶,經訓練后模型輸出的概率分布如圖7 所示(彩色效果見《計算機工程》官網HTML 版)。從圖7 可以看到,用戶4的認證概率P分布較集中,大部分在70%以上,表明其劃屏行為穩定。有少部分在70%以下,這可能是用戶實驗中誤操作或行為偶然變化,不屬于用戶4的日常行為。而用戶1 的概率值在0~100%分布雜亂,說明其行為特征變化較不穩定。在80%~100%,用戶2、用戶3 和用戶5 概率值趨于0,與用戶4 有明顯差異。用戶6~9 的概率值大部分在20%以下,僅有少部分值高于70%,與真實用戶認證結果分布區別較大。因此經以上分析,在認證剛開始時信任值初始設定為80%,信任值最低閾值設定為70%,可以最大限度過濾大部分假冒用戶登入系統。

圖7 用戶概率分布對比Fig.7 Probability distribution comparison of users
在設定最低閾值后,對連續劃屏的認證結果進行比較,得出用戶在兩次認證間的概率差值,用于分析假冒用戶和真實用戶的概率值穩定性。概率偏差分布如圖8 所示(彩色效果見《計算機工程》官網HTML 版)。實驗表明在設定最低閾值為70%時,已經濾掉大部分假冒用戶,僅有用戶0、用戶1、用戶7 和用戶9 概率值高于閾值。用戶4 的連續認證概率差波動均衡,大部分點在±15%范圍內。而其余用戶概率差較大,分布在0~100%區間內。雖然假冒用戶通過了分類器認證,但其認證概率極不穩定,在連續認證期間波動很大,表明假冒用戶僅是僥幸通過了分類器初級檢測,但不能持續還原真實用戶行為?;谝陨戏治?,設定信任值的偏差項ER 為15%,進一步過濾假冒用戶認證結果。在連續認證情況下,用戶認證概率與信任值偏差在±15%內,判定為真實用戶。

圖8 連續劃屏認證的概率偏差分布Fig.8 Probability deviation distribution of continuous screen marking authentication
從圖8 可以看出,真實用戶連續多次的認證概率不是恒定的,直接設定固定信任值會導致較高的拒絕率,造成大量誤判。但圖7 可以看出,真實用戶概率通常穩定在某個范圍。保持信任值隨真實用戶認證概率在一定范圍內變化,可有效增強真實用戶通過率,降低假冒者攻擊成功率。因此,本文設定認證概率連續變化的均值作為當前信任值。認證概率值記錄在長度為L的數組內,當記錄個數大于L時,將窗口向后滑動,并計算窗口內均值更新信任值。
為保證有效過濾假冒用戶,本文分析了窗口長度L與FA,FR之間的關系,如表1 所示。窗口長度從2~6,隨著窗口增大,FA逐漸下降,FR有輕微上升。隨著記錄的歷史值增多,更新的信任值越來越趨于真實用戶認證概率變化,識別率升高。窗口長度大于6 之后FR陡然增大,而FA下降緩慢,表明記錄過多的歷史值得出的信任值變化遲緩,越來越趨于恒定,與真實用戶概率值偏差過大,導致真實用戶被錯誤分類?;谝陨戏治?,窗口大小L=6 時模型FA和FR均較低,分類最優。

表1 窗口長度與FA、FR之間關系Table 1 The relationship between window length FA,FR %
首先把數據集內10 個用戶輪流標記為真實用戶,分析加入信任值前后,模型在不同用戶上的分類準確率,結果如表2 所示。加入信任值機制前,模型準確率都在94%以下,其中有些用戶的認證準確率僅有89.41%,說明在少量特征下,僅基于初級分類模型不足以保證隱式認證安全。加入信任值機制后,所有用戶的分類準確率均提升到96%以上,其中在用戶4 上準確率達到98.63%,準確度顯著提高。說明根據歷史認證結果,動態調整信任值方式能有效提升認證安全性。

表2 在不同用戶上模型的認證表現Table 2 Authentication performance of model on different users %
本文對比了與劃屏行為特征相關的研究工作,從特征維數、準確率、等錯誤率3 個方面進行綜合分析,結果如表3所示。

表3 不同算法的相關工作對比Table 3 Related work comparison between different algorithms
文獻[25]采用ANN算法實現了93.9%的準確率,等錯誤率為7%,優于本文初始采用的MLP算法,說明其采用ANN 分類器訓練的模型準確率較高,但仍低于本文加入信任值機制的認證模型。而文獻[26]采用的KDRN算法準確率高達98.23%,高于MLP算法,與基于信任值的認證模型準確率相近,但其等錯誤率較高,且采用的特征量較多。文獻[27]采用RF算法的等錯誤率較高于本文算法。文獻[28]通過歐氏距離計算特征相似度,在較少特征上取得與文獻[26]相近的效果,準確率稍高于MLP算法,但低于采用信任值機制的模型分類結果。以上分析表明,基于動態信任值的隱式認證在較少的特征下仍取得了較高的準確率,在等錯誤率方面達到最優。
本文提出基于動態信任值的隱式認證,依據持續認證情況下真實用戶認證結果的穩定性和連續性信息動態設定信任值,檢測當前認證概率與最近歷史認證的結果偏差,分析評估用戶真實性。實驗結果表明,與只有前級認證相比,加入動態信任值機制后可提高模型準確率,降低分類誤識率,并有效阻止冒名者訪問智能設備。同時本文采用的特征維數較少,數據易采集且易于實現應用。下一步將對認證準確率、數據采集頻率和設備能耗的均衡性進行研究。