楊力,馬卓茹,張程輝,裴慶祺
(1. 西安電子科技大學計算機科學與技術學院,陜西 西安 710071;2. 通信網信息傳輸與分發技術重點實驗室,河北 石家莊 050002)
作為人們生活中必不可少的工具,智能手機在匯集著機主重要信息的同時,也可能存在多個使用者。用戶對隱私保護和設備安全性的需求使用戶身份認證成為手機使用過程中的重要環節。
身份認證方式大致可分為基于非生物信息的身份認證和基于生物信息的身份認證。基于非生物信息的身份認證方式,如密碼登錄和動態短信碼登錄,受到用戶賬號數量增長與網絡信號時延的影響,已難以滿足用戶對智能手機的使用要求。目前,常用的基于生物信息的身份認證方式,如指紋認證、人臉認證等,均需要附加設備來配合數據采集,對手機的硬件功能要求較高。以上身份認證方案均屬于顯式的一次性認證,即只在設備使用前進行一次身份認證,之后將不再進行認證操作,這將無法保證設備在使用期間或待機狀態時的安全。除此之外,以上方案在認證時均需要用戶與設備進行頻繁的交互,如輸入口令或按下指紋等,極大地影響了用戶的使用感受。而基于行為特征的認證方式,如利用三維手勢、步態識別等,在具有難以改變、難以模仿等優點的同時,還具有可在用戶無意識的情況下利用手機內置傳感器持續獲取用戶數據的優勢。肖玲等[1]通過對手機內置加速度傳感器的原始數據進行操作,在實現動態手勢識別的同時,驗證了手機內置傳感器在行為特征識別領域的可用性。
在使用行為特征的移動端身份認證方案中,基于三維手勢的研究開展較早。Bailador等[2]使用iPhone內置的加速度傳感器進行三維手勢的數據采集,對貝葉斯分類器、隱馬爾可夫模型(HMM,hidden Markov model)、動態時間規整(DTW, dynamic time warping)算法這3種分類方法進行測試,平均用時4.17±1.2 s。Buthpitiya等[3]提出可根據機主使用手機某些功能的日常手勢特征進行身份認證,例如拍照、發送短信等。在上述采用三維手勢進行身份認證的研究中,仍要求用戶進行某些特定動作來配合數據采集,無法滿足在日常生活中進行持續認證的要求。
針對步態識別的研究多采用計算機視覺的方法。王修暉等[4]提出了基于連續密度隱馬爾可夫模型的人體步態識別算法,使用基于自然步態周期特征進行個體識別。Batchuluun等[5]使用熱像儀傳感器捕獲人的前后視圖,利用卷積神經網絡進行特征提取和分類,以解決黑暗環境下步態周期、節奏等難以捕捉的問題。針對隨身衣物變化對身形的影響,Aggarwal等[6]提出一種協變量識別框架來處理這種協變量的存在。El-Alfy[7]提出一種在遠距離識別困難情況下適用的方案,將距離變換與局部輪廓的曲率相結合生成新的特征描述符,以獲得更頑健的步態特征。此后出現了利用傳感器設備的步態識別研究。M?ntyj?rvi等[8]將三軸加速度計佩戴在固定方向的帶子上,使用X軸和Z軸的數據進行步態識別。通過峰值檢測方法進行步態周期提取,為受試者建立模板。同時,利用傳感器設備進行身份認證的研究也逐漸出現。Li等[9]將加速度傳感器固定在被測試用戶的小腿處,讓用戶直線行走20 m,使用 DTW 算法測試,得到的等錯誤率(EER,equal error rate)為3.27%。隨著手機相關硬件設備及應用服務的發展,移動端基于步態特征的身份認證研究開始興起。Thang等[10]使用智能手機加速度傳感器進行用戶認證。隨后,Zhong等[11]利用從智能手機的加速度傳感器和陀螺儀傳感器捕獲的步態信息進行用戶認證。Nickel等[12]采用HMM對48個測試用戶的步態特征進行分析,得到的EER為6%。蔣偉等[13]通過移動設備自帶的加速度傳感器對用戶在日常生活中不同行為下的步態數據進行收集,提取特征形成特征向量并建立步態模型,并采用基于神經網絡的模型匹配算法進行身份識別,得到了 78.13%平均認證準確率。
步態特征具有可在日常使用中持續采集,而不影響用戶正常生活的優點。但目前基于步態特征的身份認證研究,大多仍采用一次性認證思路,未考慮步態特征可隱式獲取的特點。此外,上述研究的實驗設置較單一,未綜合分析手機放置位置與行走場地變化對認證結果的影響。
針對傳統一次性認證方式的不足,本文基于步態特征可隱式采集的特點,提出一種移動端持續身份認證方案。本文方案利用手機內置加速度傳感器監測用戶步態特征變化,以實現對用戶身份的認證,并在多種場地下,對不同手機放置位置進行實驗,綜合測試方案性能。實驗表明,本文方案可在多種場景中保證穩定的認證效果,在平坦行走條件下能到達98%以上的認證準確率。
個體的步態數據包含個人特征,具有不易模仿、難以隱藏、易于提取的優點[14-16]。本文方案通過用戶步態加速度數據所提供的特征實現對用戶身份的辨別。方案可分為數據采集、數據預處理、特征提取、模板訓練與身份認證5個部分,方案模型如圖1所示。

圖1 本文方案模型
當用戶進入系統時,首先判斷是否需要進行用戶注冊。注冊過程需要經過數據信息采集、加速度數據預處理與特征提取操作得到用戶的身份信息模板,此模板將作為用戶的注冊信息存儲下來,完成注冊。之后,模板訓練模塊將該設備的所有用戶的注冊信息送入分類器訓練生成分類模型,最終的分類模型參數將被存儲下來,訓練完成。每當一個設備上有新用戶完成注冊時,模板訓練模塊需要使用該設備最新的用戶注冊信息庫進行再次訓練得到分類模型,以更新模型參數。
在已有注冊信息用戶的日常使用中,設備會持續監測用戶的步態行為特征變化,當需要進行身份認證時只需要經過數據采集、數據預處理與特征提取操作得到步態特征,再將步態特征送入身份認證模塊,得到認證結果,手機就可根據使用者身份提供訪問權限。
步態是指人行走時所表現出來的姿態。步態周期是指正常行走時一側的足跟落地到該側足跟再次落地的時間,一個成年人的步態周期大約為1~1.32 s[17]。成年人正常行走的加速度值會在一個步態周期內隨著時間的變化而變化,且這種變化具有一定規律。文獻[17]對步態加速度特征進行了檢測與分析,實驗結果表明,步態加速度數據可在很大程度上反映個體的生理特征,不同個體的步態加速度數據表現出不同的特征,同一個體的步態加速度數據表現出一定的規律性。本文方案使用自行開發的手機 APP采集用戶行走時手機內置加速度傳感器的數據,采樣頻率設置為50 Hz[18],每一時刻采集到的數據將以“時間-X軸加速度數據-Y軸加速度數據-Z軸加速度數據”的格式存儲在文件中。
在日常數據采集的過程中,因人體存在無意識動作、手機傳感器性能影響等原因,數據會出現微小的上下波動,這種與步態特征無關的波動將對后期的特征提取操作造成影響。針對采集過程中的噪聲,本文方案采用移動平均濾波方法對數據上的微小波動進行兩次平滑處理。經實驗測試,兩次平滑處理的窗口值分別設定為 7和 5,處理前后的對比如圖 2所示。同時使用 Z-score方法對數據進行歸一化處理,將加速度數據幅度限定在一定范圍內。

圖2 平滑處理效果對比
在數據采集過程的初期與末期,用戶未處在穩定步行狀態,此時采集到的數據是與步態特征無關的干擾數據。針對這部分干擾數據,本文方案使用基于閾值的數據截取操作進行處理,選取X軸方向上數據的波峰值,計算所有波峰值的均值并將其設定為門限值,第一個大于該閾值的波峰位置被認為是穩定步行狀態的起始點,第一個小于該閾值的波峰位置被認為是穩定步行狀態的結束點,以此來判斷有效數據段的位置。Y軸和Z軸數據使用與X軸數據相同的有效值起始與結束位置信息進行截取,以保證截取后的3組數據在時間上一一對應。
為從一份加速度數據中獲取充足的用戶步態特征,本文方案將進行步態模板截取操作。以8 s的行走數據作為一個步態模板,即一個步態模板包含 8個步態周期。實驗使用的APP的采樣頻率為50 Hz,因此一個步態模板包含400個加速度數據。統計步態數據中X軸方向上加速度數據的波峰位置信息,從該組信息的首個波峰位置開始截取400個數據作為一個步態模板,從第二個波峰位置開始截取 400個數據作為第二個步態模板,并依次類推,如圖 3所示。為了實現對數據的充分利用,最大化統計每個用戶的步態特征,模板將從首個波峰位置開始進行正向的截取,正向截取完成后,再從最后一個波峰位置開始逆向截取。其他軸均使用X軸的波峰位置信息進行模板截取。
特征提取工作以步態模板為單位,從時域與頻域兩方面進行。本文方案將分別計算X軸、Y軸、Z軸以及三軸加速度合成標量M的所有步態模板的時域特征,M的計算式為

其中,xi、yi、zi分別為某時刻傳感器測量的沿X軸、Y軸、Z軸的加速度分量數值。
選擇標準差(std)、最大值(max)、最小值(min)、直方圖(hist)作為時域特征值[19]。將數據取值區間平均分為10組,直方圖分布表示了數據在每個區間內的分布概率。本文方案采用快速傅里葉變換對步態數據進行頻域分析[19]。為得到理想的傅里葉變換結果,首先對步態模板進行延拓,然后進行快速傅里葉變換,得到波形在不同頻率下的幅度特征,最后對幅度特征數據進行分解與重組,得到該組數據的幅度譜。快速傅里葉變換后的幅度譜有256組數據,特征維數較大,且多是相關性較大的冗余特征,本文方案使用主成分分析(PCA, principle components analysis)法找到頻譜信息中最主要的特征和結構,將原有256維幅度數據降維到二維。
因時域特征數量較多,3個坐標軸及其合成分量的每一個步態模板將產生 13個時域特征數據,為獲得更具代表性的時域特征,需要對特征進行選擇。采取逐一測試的思路,使用支持向量機(SVM,support vector machine)計算3個坐標軸及合成分量各特征值的分類準確率,在每種時域特征中選擇準確率最高的特征,聯合作為最終的時域特征組合。對頻域特征使用與時域特征選擇相同的思路,得到頻域特征組合。最終選擇的時域特征為合成標量M的最大值、Z軸數據的最小值、Y軸數據的標準差和X軸數據的直方圖,而選擇的頻域特征為X軸、Y軸及合成標量M的幅度譜數據。聯合選擇得到的時域特征與頻域特征作為最終的用戶特征組合,最終的特征組合方式為

方案使用SVM來進行模板訓練。具體步態模板訓練流程如下。
Step1 采集待注冊用戶的步態信息。
Step2 對采集數據進行預處理操作。
Step3 截取加速度數據得到步態模板。
Step4 對步態模板進行特征提取,將所有用戶的時域特征與頻域特征整理并存儲,完成用戶注冊。
Step5 使用支持向量機對該設備所有用戶注冊信息進行訓練,得到最優分類平面,即身份信息分類模型,將該模型參數存儲下來用于后續身份認證,模板訓練完成。
每當有新用戶注冊時,分類模型重新訓練以實現更新。模板訓練流程如圖4所示。

圖3 步態模板截取

圖4 模板訓練流程
對于第一次進入系統的用戶,首先要進行模板注冊。對于已注冊的用戶,身份認證具體流程如下。
Step1 采集使用者的步態信息。
Step2 對采集數據進行預處理操作。
Step3 截取加速度數據得到步態模板。
Step4 對步態模板進行特征提取。
Step5將步態特征送入身份認證模型,得到分類結果。
Step6將分類結果與設定的閾值進行比較,當分類結果大于閾值時,確定用戶的身份,完成認證;當分類結果相同結果小于閾值時,通知用戶再次進行身份認證。
本文方案的閾值設定為 0.9,即有 90%的模板都被認為是用戶A,則確定該用戶的身份為用戶A;若分類結果相同的模板數低于90%,則重新進行身份認證。身份認證流程如圖5所示。

圖5 身份認證流程
基于行為特征持續身份認證機制是指通過采集移動終端傳感器以及用戶行為等信息,通過算法識別出當前使用者的身份,可以避免頻繁使用口令等顯式認證方式,且能夠對用戶進行持續不間斷的身份認證[20]。本文方案通過如下思路實現持續認證:系統在后臺持續監測加速度傳感器數據的變化,當加速度數據滿足條件后,則認定用戶進入步行狀態,開始進行數據采集工作,否則進入監測狀態;當系統獲得充足的數據后,進入數據處理模塊并進行身份認證操作,若數據集的大小不滿足認證需要則再次進入監測狀態;身份認證完成后,返回認證結果給設備,系統進入監測狀態。
在監測狀態下,若X軸數值連續兩次超過閾值的時間間隔小于3 s,則認為行走開始。若在一段時間內X軸加速度值均小于設定的閾值,則認為行走結束。通過實驗發現,當加速度傳感器提供的數據個數大于800個,即用戶處于行走狀態的時間超過16 s時,該份步態數據可為系統提供充足的步態特征。因此,當獲取的數據個數大于800個時,將此份數據送入數據處理模塊進入后續操作并用于用戶的身份認證;當獲取的數據個數不足800個時,則重新進入監測狀態,直至獲得充足的數據量。考慮到用戶可能有長時間處于行走狀態的情況,為防止短時間內進行重復認證浪費系統資源,設定加速度數據集的數量上限為2 500個,當獲取的數據集已達到2 500個但用戶仍未退出行走狀態時,系統將停止采集,將此2 500個加速度數據送入后續處理,并且設定系統每次進行身份認證的時間間隔需大于3 min。持續認證的流程如算法1~算法3所示。
算法1 閾值監測
輸入X軸數據
輸出步態加速度數據
1) whileX軸數值超過閾值 do
2) 記錄該數據對應時間
3) ifX軸數值連續兩次超過閾值的時間間隔小于3 s then
4) 采集步態加速度數據
5) else
6) 重新進入閾值監測狀態
7) end if
8) end while
算法2 數據集檢測
輸入步態加速度數據
輸出 無返回值
1) if 采集數據個數不足800個 then
2) 重新進入閾值檢測狀態
3) else if 采集數據長度小于2 500個 then
4) 進行身份認證
5) else
6) 使用前2 500個數據用于身份認證
7) end if
8) end if
算法3 身份認證
輸入步態加速度數據
輸出身份認證結果
1) 身份認證
2) if 認證通過then
3) return用戶身份
4) else
5) 再次進行身份認證
6) end if
7) 進入閾值監測狀態
實驗將在不同行走場地與不同天氣情況下,使用不同手機擺放位置測試方案的性能。實驗共測試了3種行走場地,分別是室內光滑地面、室外粗糙地面和室內樓梯,如圖6所示。用戶分別使用2種常見的手機放置位置并在不同的場地進行行走測試,分別是手持手機行走、手機放在褲子右后側口袋內行走,如圖7所示。同時,實驗分別在雨天與晴天2種天氣情況下進行測試,以探究天氣因素對方案認證準確率的影響。
在本文所知范圍內,目前沒有已公開的基于多種場地測試的步態加速度數據集,因此本文將使用自主采集的數據進行實驗測試。實驗使用基于Android 4.4版本手機,手機硬件參數如表1所示,設計并開發加速度傳感器數據采集 APP進行實驗數據采集。

圖6 3種行走場地

圖7 2種常見的手機放置位置

表1 測試手機硬件參數
數據來自20位平均年齡為20~24周歲的志愿者,志愿者的身高為155~185 cm,其中8名志愿者為女性,12名志愿者為男性。每位志愿者按照其日常行走習慣,分別測試在8種場景下行走的數據,測試場景如表2所示。
以上場景基本涵蓋了人們日常生活中的主要情景,為保證實驗數據能夠更客觀地反映用戶的行走習慣,數據采集工作分別在兩周的時間內,任選3個晴天與一個雨天進行,即實驗在16個場景進行測試。

表2 實驗測試場景
實驗將每位志愿者的數據分為 70%的訓練集與30%的測試集。訓練集按照模板訓練流程使用支持向量機進行訓練得到分類模型,測試集按照身份認證流程用于測試分類模型的認證成功率。為了獲得更具代表性的結果,實驗使用 5輪-交叉檢驗的方法,在不同天氣與不同行走場景下得到的認證準確率如表3和表4所示。

表3 晴天認證準確率

表4 雨天認證準確率
綜合表3和表4的實驗結果可以看出,不論是在室外行走還是室內行走,雨天的認證結果比晴天的認證結果略有降低,這可能是因為較濕滑的地面和鞋底情況影響了志愿者的步態。同時可以看到,手持手機行走的認證結果要略高于手機放在褲子右后側口袋內的認證結果。通過查閱相關資料可知,三軸加速度傳感器對平行于重力加速度方向的數據感知會更明顯,手持手機行走時加速度傳感器的X軸平行于重力加速度方向,而手機放在褲子右后側口袋內行走時加速度傳感器的Y軸平行于加速度方向。本文方案中的模板分割操作是以X軸數據為基準進行的,所以手持手機行走的數據獲得了更好的模板分割效果,從而得到了更高的認證準確率。相對于在平緩地面行走的認證結果,上下樓梯時的準確率要低一些,通過繪制數據圖像可以看到,上下樓梯時的數據波形相對于在平緩地面行走的數據波形波動幅度更大,同時也存在更多毛刺與異常值,因此影響了后續特征提取的結果,造成了認證準確率的下降。
從實驗結果可知,地面粗糙情況相比于天氣因素引起的地面濕滑問題對方案的認證結果會產生更大的影響。在平坦地面行走時,本文方案可達到90%以上的認證準確率;在上下樓梯等動作幅度較大的日常活動中,有認證準確率略低于90%的情況出現,但仍能保持一定的認證性能。綜合以上分析,本文方案具有一定的抗干擾能力,能應對日常使用的大部分生活場景。
因為本文方案是在日常使用中持續地對用戶身份進行監測,所以每次認證的耗時是否在用戶可接受的范圍內將十分重要。
表5為實驗過程中某3次測試的步態模板個數及模板訓練與分類認證的耗時。從表5中可以看出,模型訓練與分類的耗時隨著模板數量的增加而增加。普通人的反應時間一般集中在0.2~0.3 s,即使是訓練良好的專業人員,反應時間也只能達到0.1~0.2 s[21]。而本文方案的訓練與認證耗時遠低于普通大眾的反應時間,并且不論是實驗測試的人數或是行走距離都遠大于日常使用時產生的數據量,因此在耗時方面本文方案不會對用戶體驗造成影響。

表5 某3次測試耗時統計
在認證準確率方面,表6中列出了本文方案與文獻[13]方案在不同實驗場景下的平均認證準確率對比。從表6中數據可以看出,本文方案在不同實驗場景下的表現均優于文獻[13]方案。除此之外,本文方案還測試了在不同天氣環境下的表現,而文獻[13]方案未考慮天氣因素產生的影響,因此本文方案具有更好的適應性。

表6 本文方案與文獻[13]方案的認證準確率對比
移動端應用的發展應考慮到移動設備存儲空間限制問題。圖8展示了一部設備中的數據存儲開銷隨用戶數量增長的變化情況。可以看到,數據存儲開銷隨著用戶數量的增長而增長,但使用本文方案提出的特征整合方式得到的用戶注冊信息,其存儲開銷增長趨勢明顯低于原始數據的增長趨勢。相比于12位用戶的原始數據,本文方案所使用注冊信息占用的空間遠小于1 MB,可有效降低對存儲空間的需求。日常持續認證過程中采集的數據在使用過后將會刪除,不會對設備造成額外的存儲負擔。因此本文方案能更好地應用在移動設備中。

圖8 數據存儲開銷隨用戶人數增長變化情況
針對傳統一次性認證方式無法完全滿足智能手機對安全性要求的問題,本文提出了一種基于步態特征的移動端持續認證方案。本文方案在多種場景下均能保證穩定的認證性能,并且能夠在日常生活中實現對不同用戶身份的持續認證。同時,本文方案所提出的特征組合方式能夠有效降低用戶數據對存儲空間的需要,更適合在小內存的移動端使用。在未來工作中,將針對豐富的應用場景進行更加細化的實驗測試與分析,同時改良預處理與特征提取操作來提高方案的抗干擾能力,并且使用遷移學習方法解決步態特征的領域自適應問題。