向東東 陳海光 熊俊杰
摘 要: 基于智能手機用戶在輸入身份驗證密碼和滑動觸摸屏過程中的個人獨特行為特征,提出了兩種身份驗證方案,將單類支持向量機(OCSVM)算法應(yīng)用到身份驗證模型中,采用網(wǎng)格搜索算法獲取模型的最優(yōu)參數(shù).實驗結(jié)果顯示兩種身份驗證方案都具有較好的泛化能力和驗證精度,身份的驗證過程不會干擾正常的用戶操作.
關(guān)鍵詞: 隱私數(shù)據(jù); 行為特征; 單類支持向量機(OCSVM)網(wǎng)格搜索; 身份驗證
中圖分類號: TP 391文獻標(biāo)志碼: A文章編號: 1000-5137(2019)02-0151-09
0 引 言
針對用戶行為的身份驗證,目前已經(jīng)有許多文獻提出了多種方案.FENG等[1]結(jié)合用戶的觸摸手勢和一個數(shù)字感應(yīng)手套(用于收集額外的手勢信息),實現(xiàn)了4.66%的認(rèn)假率(FAR)和0.13%的拒真率(FRR)的驗證精度.該方案實現(xiàn)了很高的身份驗證精度,但需要添加一副數(shù)字感應(yīng)手套,增加了額外的硬件成本,在真實應(yīng)用場景中不太便利.KUNNATHU[2]將人臉識別應(yīng)用于身份驗證的過程中,在用戶使用智能手機時,利用后臺程序持續(xù)捕獲用戶的面部信息,實時驗證用戶的身份信息.該方案易受環(huán)境因素的影響(比如光線條件),應(yīng)用的場合受到限制.BIMBOT等[3]將語音識別應(yīng)用到身份驗證過程中,同樣易受環(huán)境因素的影響.SHI等[4]使用SenGuard框架,利用智能手機中內(nèi)置的多種傳感器,獲取用戶的行為信息,后臺的程序利用這些信息驗證用戶的身份.該方案驗證身份的準(zhǔn)確率較高,但要采集用戶的運動狀態(tài)信息,用戶的物理位置發(fā)生變化時才可以獲取,驗證時間過長.AGRAWAL等[5]利用智能手機中的加速度傳感器獲取用戶手勢信息,通過書寫簡單的圖形和阿拉伯?dāng)?shù)字實現(xiàn)用戶身份的識別.TROJAHN等[6]使用手寫和鍵盤輸入的混合驗證方法,不添加額外的硬件,實現(xiàn)了19%FRR及21%FAR的驗證效果.SAE-BAE等[7]利用iPad屏幕的多點觸控傳感器捕獲用戶5根手指的軌跡(包括五指向同一方向移動,逆時針繞掌心旋轉(zhuǎn),五指同時捏合所產(chǎn)生的軌跡)數(shù)據(jù),實現(xiàn)了超過90%的分類精確度.文獻[5-7]中,用戶主動進行身份驗證方式的缺點是需要用戶主動按照指定的輸入操作參與身份驗證.
針對以上身份驗證方案存在的不足,本文作者基于智能手機用戶在輸入身份驗證密碼和滑動觸摸屏過程中帶有個人獨特的行為模式,提供了兩種身份驗證方案,并通過實驗驗證了方案的有效性.
1 特征分析
1.1 數(shù)字密碼輸入特征分析
不同用戶在輸入同一個數(shù)字密碼的過程中,手指作用于屏幕的力度,輸入密碼的速度、節(jié)奏以及對屏幕施力的角度均存在差異.同時,不同用戶手指尺寸的差異會導(dǎo)致用戶在輸入過程中,手指與觸摸屏的接觸面積也不同.對于智能手機的機主來說,經(jīng)常輸入自己設(shè)定的同一個密碼,在整個輸入過程中,輸入的節(jié)奏、強度以及施力的角度相對比較穩(wěn)定.而對于其他用戶來說,即便拿到機主的真實密碼,整個輸入過程的模式與真實用戶相比還是有明顯的差異,這些差異特征可用于區(qū)分手機的當(dāng)前操作用戶是否為機主本人.基于這一差異,本文作者提取出了3組特征:分時間特征、壓力特征以及觸摸尺寸特征.
1) 時間特征.在輸入一串?dāng)?shù)字密碼的過程中,每輸入一位密碼,手指從點擊接觸屏幕到離開屏幕存在一個時間間隔t,相鄰兩位密碼的輸入存在時間間隔Δt.如果是一個4位密碼,輸入過程的時間序列為t1,Δt1,t2,Δt2,t3,Δt3,t4.使用Android MotionEvent的應(yīng)用程序編程接口(API),可分別獲取手指接觸屏幕時刻和離開屏幕時刻對應(yīng)的時間戳.圖1展示了3個不同用戶分別輸入同一個密碼(3,4,6,9) 20次的時間戳差異.每一種顏色對應(yīng)數(shù)字密碼的一位,同一種顏色的圓形點對應(yīng)手指按下的時刻,三角形點對應(yīng)手指離開屏幕的時刻.由圖1可以看出,無論是相鄰兩位密碼的輸入時間間隔還是每位密碼輸入對應(yīng)的起始結(jié)束時刻,在不同用戶之間都存在差異.
2) 觸摸尺寸特征.觸摸尺寸的大小表示用戶手指與觸摸屏接觸面積的大小.可通過MotionEvent.getSize()獲取,觸摸尺寸的大小在0~1之間,值越大表示手指與觸摸屏接觸的面積越大.由于不同用戶之間手指尺寸大小的差異,輸入密碼過程中手指與觸摸屏的接觸面積存在不同.
3) 壓力特征.與觸摸尺寸相似,壓力的數(shù)值可以通過MotionEvent.getPressure()獲取.數(shù)據(jù)值在0~1之間,值越大表明手指對觸摸屏的壓力越大.獲取到的壓力包括手指下壓時刻的壓力和釋放時刻的壓力.圖2為3個不同用戶輸入同一密碼(8,1,2,6,7,4)3次呈現(xiàn)的壓力差異.圖2中,每一行表示同一個用戶輸入該密碼3次的效果圖,顏色越深表示壓力越大.從圖2中可以看出,用戶1在輸入密碼過程中,手指對于屏幕施加的平均壓力最大,用戶2次之,用戶3最小.
1.2 滑動手勢特征分析
不同用戶之間手掌的大小、手指的長度和尺寸存在差異,使得用戶在滑動智能手機屏幕時,滑動軌跡帶有明顯的個人特征.
對于每一種手勢,提取6組特征,如表1所示.
對時間特征和位置特征做進一步分析.時間特征反映了用戶執(zhí)行一種滑動手勢的持續(xù)時間.圖3給出了4位用戶瀏覽同一組照片,手勢持續(xù)時間的比較.從圖3中可以看出,由于用戶之間操作習(xí)慣的不同,同一種滑動手勢的持續(xù)時間在不同用戶之間存在差異,而對于其中每一位用戶,該時間在一個相對穩(wěn)定的范圍.
位置特征一共有4個特征維度,分別為手勢軌跡起始位置的坐標(biāo)和結(jié)束位置的坐標(biāo).基于5位用戶手勢軌跡的起始位置數(shù)據(jù),繪制起始位置坐標(biāo)的散點圖(圖4).從圖4中可以看出,每位用戶軌跡的起始位置能夠很好地與其他用戶區(qū)分開來,而且這些起始點分布在一個相對穩(wěn)定的區(qū)域.所以,采用位置特征作為特征屬性,可以用于刻畫和區(qū)分手勢軌跡對應(yīng)的用戶身份.
2 單類支持向量機(OCSVM)檢測模型
OCSVM是一個無監(jiān)督學(xué)習(xí)的分類算法,其算法的基本思想是:對于線性可分的數(shù)據(jù),從空間中尋找一個平面,使得原點到該平面的距離盡量最大化,同時該平面要盡可能分隔正常用戶數(shù)據(jù)點和異常用戶數(shù)據(jù)點.對于非線性數(shù)據(jù),將原始空間中的數(shù)據(jù)點通過核函數(shù)映射到高維特征空間中,在高維特征空間中尋找一個超平面,使得非線性數(shù)據(jù)可以分割.獲取OCSVM檢測模型的步驟如下:
1) 獲取手機端應(yīng)用程序采集到的特征數(shù)據(jù),對特征數(shù)據(jù)進行處理并提取特征,得到模型的訓(xùn)練數(shù)據(jù)集為n×l的矩陣,其中l(wèi)為訓(xùn)練數(shù)據(jù)樣本數(shù),n為每個數(shù)據(jù)的維數(shù),樣本均為正類(正常用戶數(shù)據(jù)).
2) 選擇恰當(dāng)?shù)暮撕瘮?shù)K(x,x′)和OCSVM參數(shù)v,v代表訓(xùn)練樣本集中被分為負(fù)樣本的比例.
3) 構(gòu)造OCSVM原規(guī)劃,
其中,w為超平面的法向量,ρ為偏置量,ξi為引入的松弛因子,是非線性映射.訓(xùn)練樣本通過Q映射到高維特征空間H中,使得Q(xi)∈H.引入拉格朗日方程,得式(1)的對偶規(guī)劃為:
為OCSVM的決策函數(shù),其中,g(x)=(w*)TQ(x)-ρ*.因此,對于一個測試數(shù)據(jù)點ti,如果f(ti)≥0,那么該測試數(shù)據(jù)點ti屬于正類,即正常用戶數(shù)據(jù)點;反之,ti就屬于負(fù)類,即異常用戶數(shù)據(jù)點.
經(jīng)過以上步驟得到的決策函數(shù)即為OCSVM檢測模型,選擇不同的g(x)和v,會得到不同的決策函數(shù),本課題選擇高斯核函數(shù)作為核函數(shù).
3 數(shù)據(jù)采集和處理
本課題特征數(shù)據(jù)采自于vivo X5V智能手機,系統(tǒng)版本為Android 4.4.4,處理器為高通驍龍615(主頻1.5 GHz),運行內(nèi)存2 GB.以下為兩種驗證方案的數(shù)據(jù)采集和處理流程.
3.1 數(shù)字密碼輸入特征數(shù)據(jù)采集和預(yù)處理
針對數(shù)字密碼輸入過程特征數(shù)據(jù)的采集,開發(fā)了一款界面類似手機密碼解鎖界面的應(yīng)用程序.用戶在該界面輸入密碼的過程中,后臺應(yīng)用程序會實時記錄輸入過程對應(yīng)的時間、尺寸、壓力等信息,密碼的每次輸入都會產(chǎn)生一條特征數(shù)據(jù).邀請了28位用戶參與了實驗數(shù)據(jù)的采集(由于采集操作不當(dāng),部分用戶數(shù)據(jù)沒有被實驗采用).為了方便之后的數(shù)據(jù)對比,規(guī)定用戶在數(shù)據(jù)采集時,左手持握手機,采用右手食指完成輸入.事先給出了5組數(shù)字密碼(3個4位密碼,2個6位密碼),均為無序且分布在輸入界面的各個方位.表2給出了5組密碼的特征數(shù)據(jù)采集情況.
對表2的數(shù)據(jù)進行特征提取和處理,可得到多個多維矩陣.所有數(shù)據(jù)共產(chǎn)生140(28×5)個特征矩陣,對所有特征矩陣中的數(shù)據(jù)進行歸一化處理.歸一化方法為:
其中,y為歸一化前的數(shù)據(jù),a為指定的數(shù)據(jù)下界,b為指定的數(shù)據(jù)上界,λmin為特征矩陣中每列數(shù)據(jù)的最小值,λmax為特征矩陣中每列數(shù)據(jù)的最大值.
3.2 滑動手勢特征數(shù)據(jù)采集和處理
為采集滑動手勢的數(shù)據(jù),開發(fā)了一款安卓Service后臺服務(wù)程序.該服務(wù)程序可以在后臺監(jiān)聽并記錄用戶的手勢數(shù)據(jù),且在用戶切換應(yīng)用程序時,數(shù)據(jù)采集過程不會被中止.為此,需要對手機進行root處理,以獲取更高的系統(tǒng)權(quán)限.數(shù)據(jù)的獲取需要從系統(tǒng)層讀取,并解析設(shè)備文件中的數(shù)據(jù).在采集手勢數(shù)據(jù)的過程中,為了還原智能手機的真實使用場景,不限制用戶使用應(yīng)用程序的范圍,用戶可以選擇電子書閱讀、網(wǎng)頁瀏覽、圖片查看等操作.用戶在操作智能手機的同時,后臺服務(wù)程序會記錄相應(yīng)的滑動手勢數(shù)據(jù).參與數(shù)據(jù)采集的同樣為上述28位用戶.對獲取到的原始手勢數(shù)據(jù)進行解析并分離出4種手勢數(shù)據(jù),表3為4種手勢數(shù)據(jù)的采集結(jié)果.
對每個特征矩陣中的數(shù)據(jù)進行歸一化處理,歸一化方法與3.1方法相同.
3.3 系統(tǒng)框架
總結(jié)上述兩種身份驗證方案,繪制相應(yīng)的系統(tǒng)框架示意圖.基于數(shù)字密碼輸入特征的身份驗證系統(tǒng)如圖5所示.首先對訓(xùn)練樣本數(shù)據(jù)進行預(yù)處理,使用最優(yōu)的模型參數(shù)(g和v)訓(xùn)練出OCSVM檢測模型;然后從用戶的輸入行為數(shù)據(jù)中提取相應(yīng)的特征數(shù)據(jù),并對特征數(shù)據(jù)進行預(yù)處理;最后將用戶的輸入特征數(shù)據(jù)與OCSVM檢測模板進行匹配,由決策函數(shù)做結(jié)果判斷.
基于4種滑動手勢特征的身份驗證系統(tǒng)如圖6所示.從圖6中可以看出,4種手勢的訓(xùn)練數(shù)據(jù)在經(jīng)過數(shù)據(jù)的預(yù)處理之后,可分別訓(xùn)練出4種OCSVM手勢檢測模型,可用于檢測和匹配手勢監(jiān)聽器獲取的手勢數(shù)據(jù).
4 實驗設(shè)計與分析
本實驗采用了普通PC機,機器基本配置包括8 GB內(nèi)存、1 TB硬盤、Intel i5雙核四線程CPU,操作系統(tǒng)采用了Windows7的64位專業(yè)版.實驗過程使用的開發(fā)平臺有:IntelliJ IDEA 2017,MATALAB R2017a及 libsvm工具箱.
為了衡量模型的泛化能力,實驗采用了兩種模型評價指標(biāo):1) FAR表示把不該被模型匹配的數(shù)據(jù)錯誤地匹配,即將異常數(shù)據(jù)認(rèn)作正常數(shù)據(jù);2) FRR表示把本該被模型匹配的數(shù)據(jù)當(dāng)作不可以匹配的數(shù)據(jù),即將正常數(shù)據(jù)認(rèn)作異常數(shù)據(jù).
4.1 基于數(shù)字密碼輸入特征的身份驗證實驗
從5組密碼中選擇1組,利用其特征數(shù)據(jù)進行如下步驟的實驗:
1) 從28位用戶中隨機選擇1位用戶的數(shù)據(jù)作為正常用戶數(shù)據(jù)(400條),其中250條數(shù)據(jù)用于模型的訓(xùn)練,其余150條用作測試,并將該測試數(shù)據(jù)標(biāo)記為+1.從其余27位用戶數(shù)據(jù)組成的數(shù)據(jù)集中抽取300條數(shù)據(jù)作為測試數(shù)據(jù),并將該測試數(shù)據(jù)標(biāo)記為-1.
2) 獲取最優(yōu)模型.為獲取最優(yōu)模型參數(shù)(g和v),實驗采用網(wǎng)格搜索法,依次遍歷所有由v和g構(gòu)成的網(wǎng)格點,直至獲取最優(yōu)參數(shù).利用該最優(yōu)參數(shù)和步驟1)中的250條訓(xùn)練數(shù)據(jù)獲取最優(yōu)模型.
3) 將步驟1)中的150條正常用戶數(shù)據(jù)和300條異常用戶數(shù)據(jù)按照1∶2的比例混合,將混合后的數(shù)據(jù)用于模型測試.通過依次增加測試數(shù)據(jù)量,根據(jù)測試結(jié)果計算對應(yīng)的FRR和FAR值.
選擇其余的4組輸入密碼進行實驗,重復(fù)步驟1)~3).基于這5組輸入密碼的實驗結(jié)果,繪制FAR和FRR隨測試數(shù)據(jù)量變化的折線圖,如圖7所示.從圖7可以看出:當(dāng)測試數(shù)據(jù)量小于300時,由于數(shù)據(jù)量比較小,部分被模型拒絕或錯誤匹配的數(shù)據(jù)對FRR和FAR值的計算結(jié)果影響比較大;當(dāng)測試數(shù)據(jù)量大于300之后,這種影響因素會隨著測試數(shù)據(jù)量的增大而減小.實驗獲取到的FAR和FRR值在測試數(shù)據(jù)量超過300之后,穩(wěn)定在0~5.6%之間,F(xiàn)AR和FRR值的波動幅度收窄.通過該實驗可以得出:基于數(shù)字密碼輸入特征的身份驗證方案精確度較高,可用于增強數(shù)字密碼驗證身份的安全性;身份驗證過程隱藏在密碼的輸入過程中,驗證過程不需要額外的硬件設(shè)備支持.
4.2 基于4種滑動手勢的身份驗證實驗
基于滑動手勢數(shù)據(jù)的OCSVM模型分別為上滑手勢數(shù)據(jù)模型、下滑手勢數(shù)據(jù)模型、左滑手勢數(shù)據(jù)模型以及右滑手勢數(shù)據(jù)模型.每一種手勢模型的訓(xùn)練步驟如下:
1) 從28位用戶數(shù)據(jù)中隨機選擇1位用戶的數(shù)據(jù)作為正常用戶數(shù)據(jù)(650條),其中350條數(shù)據(jù)用于模型的訓(xùn)練數(shù)據(jù),另外300條用作測試數(shù)據(jù),將該測試數(shù)據(jù)標(biāo)記為+1.從其余27位用戶數(shù)據(jù)組成的數(shù)據(jù)集中抽取300條數(shù)據(jù)作為測試數(shù)據(jù),并標(biāo)記為-1.
2) 實驗采用高斯核函數(shù),并用網(wǎng)格搜索法獲取最優(yōu)參數(shù)g和v.結(jié)合最優(yōu)參數(shù)和步驟1)中的350條訓(xùn)練數(shù)據(jù),可獲得最優(yōu)模型.
3) 將步驟1)中的300條正常用戶數(shù)據(jù)和300條異常用戶數(shù)據(jù)按照1∶1的比例混合作為測試數(shù)據(jù).增加測試數(shù)據(jù)的數(shù)據(jù)量,計算并獲取對應(yīng)的FRR和FAR值.
按照步驟1)~3)可獲得全部數(shù)據(jù)模型及其對應(yīng)的FRR和FAR值.結(jié)合實驗獲取的FRR和FAR值,繪制FAR和FRR隨測試手勢特征數(shù)據(jù)變化的折線圖,如圖8所示.其中,橫坐標(biāo)表示測試數(shù)據(jù)量,縱坐標(biāo)表示對應(yīng)的FAR和FRR值.從圖8中可以看出:當(dāng)測試數(shù)據(jù)量小于800時,受局部數(shù)據(jù)的影響,F(xiàn)AR和FRR值波動幅度比較大;當(dāng)測試數(shù)據(jù)量超過800之后,F(xiàn)AR和FRR值穩(wěn)定在2.75%~4.10%之間,波動幅度減小.該方案的驗證過程發(fā)生在用戶通過一次性身份驗證登錄成功之后,不需要用戶的主動參與,不會干擾用戶對手機的正常操作,并且可以持續(xù)地對用戶的身份進行驗證.
5 結(jié) 論
智能手機常用的身份驗證方案存在較高的不安全性,本文作者針對該問題,給出了兩種基于用戶行為的身份驗證方案:數(shù)字密碼輸入特征驗證和4種滑動手勢特征驗證.基于數(shù)字密碼輸入特征的身份驗證方案給密碼的輸入操作增加了一層安全保護,使入侵用戶即便獲取了真實密碼,仍然很難通過驗證.基于4種滑動手勢特征的身份驗證在智能手機用戶一次性身份驗證通過之后,仍然持續(xù)地對操作用戶的身份進行驗證,確保智能手機中隱私數(shù)據(jù)的安全.兩種身份驗證方案彌補了傳統(tǒng)的僅在登錄階段驗證的不足.同時,相比其他連續(xù)性驗證方案,上述兩種方案不需要額外的硬件設(shè)備支持和用戶的主動參與.
參考文獻:
[1] FENG T,LIU Z,KWON K A,et al.Continuous mobile authentication using touchscreen gestures [C]//IEEE Conference on Technologies for Homeland Security.Waltham:IEEE,2012:451-456.
[2] KUNNATHU N.Biometric user authentication on smartphone accelerometer sensor data [C]//Proceedings of Student-Faculty Research Day.New York:Pace University,2014:1-8.
[3] BIMBOT F,BONASTRE J F,F(xiàn)REDOUILLE C,et al.A tutorial on text-independent speaker verification [J].Journal on Applied Signal Processing,2004(4):430-451.
[4] SHI W D,YANG J,JIANG Y F,et al.SenGuard:passive user identification on smartphones using multiple sensors [C]//7th International Conference on Wireless and Mobile Computing Networking and Communications.Shanghai:IEEE,2011:141-148.
[5] AGRAWAL S,CONSTANDACHE I,GAONKAR S,et al.PhonePoint pen:using mobile phones to write in air [C]//Proceedings of the ACM Workshop on Networking System and Applications for Mobile Handhelds.Barcelona:ACM,2009:1-6.
[6] TROJAHN M,ORTMEIER F.Toward mobile authentication with keystroke dynamics on mobile phones and tablets [C]//27th International Conference on Advanced Information Networking and Applications Workshops.Barcelona:IEEE,2013:697-702.
[7] SAE-BAE N,AHMED K,ISBISTER K,et al.Biometric-rich gestures:a novel approach to authentication on multi-touch devices [C]//Conference on Human Factors in Computing Systems.Austin:ACM,2012:977-986.
(責(zé)任編輯:包震宇)