陶志勇,張 潔,劉 影?,張 旭
(1.遼寧工程技術(shù)大學(xué)電子與信息工程學(xué)院,遼寧 葫蘆島 125105;2.金陵科技學(xué)院網(wǎng)絡(luò)與通信工程學(xué)院,江蘇 南京 211169)
互聯(lián)網(wǎng)的普及與信息技術(shù)的發(fā)展在很大程度上方便了人們的生活,但與此同時也帶來了新的挑戰(zhàn)。作為人機(jī)交互工具的鍵盤,人們在使用的過程中,不經(jīng)意間就會忽視敲擊鍵盤可能帶來的信息泄露,如電子郵件、社交媒體互動、短信、搜索關(guān)鍵詞或賬戶密碼,容易存在個人隱私泄露或財產(chǎn)損失等危險。因此,關(guān)注計算機(jī)鍵盤輸入行為的檢測,對信息安全領(lǐng)域[1]以及人機(jī)交互發(fā)展有著重要意義。
近年來各種擊鍵識別技術(shù)層出不窮,提出了許多不同的識別方案。根據(jù)識別過程中所采用的信號媒介,可以分為基于聲音的方法[2-3]、基于傳感器的方法[4]和基于電磁波的方法等等,但是上述方法的研究仍存在一些不足?;诼曇舻姆椒?,由于擊鍵發(fā)出的聲音易受環(huán)境中噪音的影響,無疑增加信息獲取的難度;基于傳感器的方法,單純依賴部署專用傳感器,且可視角度受限[5];基于電磁波的方法,由于不受噪音影響,不需部署專用傳感器,在眾多的擊鍵行為識別方法中成為最有價值的解決方案之一[6]。
基于電磁波的擊鍵識別通過“復(fù)用”環(huán)境中的無線信號實現(xiàn)擊鍵感知。如Chen 等人[7]使用軟件定義無線電設(shè)備控制信號的發(fā)送和接收,結(jié)合信號振幅和相位來區(qū)分不同的擊鍵行為。Ali 等人[8]提出一種基于WiFi 信號的擊鍵識別系統(tǒng)WiKey,通過采集機(jī)械鍵盤不同鍵的CSI 數(shù)據(jù),首次展示了WiFi信號也可以用來識別擊鍵行為。Li 等人[9]實現(xiàn)了一個新穎實用的手機(jī)支付密碼推斷系統(tǒng),通過部署公共WiFi 熱點(diǎn)來收集目標(biāo)的CSI 數(shù)據(jù),僅在發(fā)生密碼輸入的敏感時期啟動擊鍵推斷。Zhang 等人[10]應(yīng)用新的擊鍵分割算法,根據(jù)峰點(diǎn)和谷點(diǎn)的聚類來定位每個擊鍵波形的位置,實現(xiàn)POS 機(jī)支付密碼的無設(shè)備識別。Shen 等人[11]提出了一種基于環(huán)境閾值提取擊鍵波形的雙重判斷方法,可以提取手機(jī)用戶在不同環(huán)境下敲擊密碼的擊鍵波形,有效提高系統(tǒng)的環(huán)境適應(yīng)能力。
上述基于WiFi 信號的方法專注于波形特征進(jìn)行擊鍵行為識別,由于WiFi 設(shè)備固有噪聲以及室內(nèi)環(huán)境對信號的影響,擊鍵識別方法穩(wěn)定性的提升存在極大挑戰(zhàn),因此本文提出一種基于CSI 空間特征的增強(qiáng)型擊鍵行為識別系統(tǒng)。首先系統(tǒng)更加注重數(shù)據(jù)的預(yù)處理,并采用基于動態(tài)方差閾值的方法進(jìn)行動作分割。由于提取的擊鍵波形特征存在時間波動性以及空間歧義性問題,本系統(tǒng)采用更具穩(wěn)健性的多信號空間特征。最后充分利用多根天線特征,對機(jī)械鍵盤的擊鍵樣本類別實現(xiàn)精準(zhǔn)定位。
WiFi 信號的CSI 值反映的是多徑信號的建設(shè)性和破壞性干擾,因此擊鍵輸入過程中多徑傳播的變化在CSI 值的時間序列中產(chǎn)生獨(dú)特的模式,可以用于擊鍵識別。
但是,由于設(shè)備噪聲以及室內(nèi)環(huán)境對WiFi 信號的影響,導(dǎo)致基于擊鍵波形特征進(jìn)行分類識別出現(xiàn)較大誤差。具體表現(xiàn)為兩方面:①時間波動性:相同鍵不同時刻的擊鍵波形差異較大,如圖1所示,表示的是不同時刻B 鍵的擊鍵波形;②空間歧義性:物理位置不同的擊鍵波形十分相似,如圖2 所示,表示的是Q 鍵與其他鍵的擊鍵波形之間DTW(Dynamic Time Warping)距離,顏色越深代表距離越近。
圖1 時間波動性
圖2 空間歧義性
為解決上述問題,本文提出一種基于CSI 空間特征的增強(qiáng)型擊鍵行為識別系統(tǒng)Wi-Click。Wi-Click 系統(tǒng)的架構(gòu)如圖3 所示,主要內(nèi)容包括:數(shù)據(jù)采集、擊鍵信號建模、魯棒特征刻畫和分類識別。利用Halperin 等人提出的CSI-Tool 工具[12],在發(fā)送端持續(xù)不斷發(fā)送WiFi 信號,在接收端進(jìn)行CSI 數(shù)據(jù)采集,通過分析各種不利因素產(chǎn)生的原因和機(jī)理,對CSI 數(shù)據(jù)依次進(jìn)行預(yù)處理,特征提取,特征匹配,最后輸出擊鍵識別結(jié)果。
圖3 系統(tǒng)架構(gòu)
1.1.1 預(yù)處理
由于商用無線信號設(shè)備內(nèi)部狀態(tài)轉(zhuǎn)變或環(huán)境干擾,導(dǎo)致CSI 時間序列中存在與動作無關(guān)的噪聲成分,因此本文首先采用窗口大小為7 的Hampel 濾波器和截止頻率為80Hz 的Butterworth 低通濾波器對信號進(jìn)行濾波處理。
其次,每個CSI 矩陣中擁有30 個子載波的信息,使用所有子載波的信息進(jìn)行特征提取和識別顯著增加了系統(tǒng)的計算復(fù)雜度,因此Wi-Click 利用子載波間變化的相關(guān)性,采用主成分分析(Principal Component Analysis,PCA)計算每個t-r天線對中所有子載波的主成分[13],并選取最能代表所有子載波的前d=3 個主成分進(jìn)行后續(xù)分析,如圖4 所示。
圖4 前3 個主成分
經(jīng)PCA 處理后,可以獲得CSI 矩陣中最具代表性的信息成分,同時去除了不相關(guān)噪聲。此外,文獻(xiàn)[14]因系統(tǒng)內(nèi)部狀態(tài)轉(zhuǎn)換造成的高度相關(guān)噪聲而放棄使用第一主成分,但本文在進(jìn)行主成分分析之前使用Hampel 濾波器能夠去除大部分此類噪聲[15],所以本文選擇保留第一主成分信息。
1.1.2 擊鍵波形提取
CSI 時間序列中既包含有效動作信號,又包含無效信號,因此提取有效擊鍵波形可以為后續(xù)特征刻畫及識別提供支持,擊鍵波形提取的主要步驟如表1 所示。
表1 擊鍵波形提取
采集的CSI 數(shù)據(jù)中包含多個擊鍵動作,因此需要分割CSI 時間序列以獲取單個擊鍵動作的CSI波形。當(dāng)用戶不執(zhí)行任何擊鍵動作時,時間序列處于穩(wěn)定狀態(tài),相比之下,當(dāng)用戶執(zhí)行擊鍵動作時,時間序列在擊鍵動作的開始和結(jié)束時急劇上升或下降,因此本文采用基于動態(tài)方差閾值的方法進(jìn)行時間序列分割。將PCA1 時間序列以長度大小W分為n段,ΔVi則為時間序列第i段的方差,其計算公式為:
粗略分割時間序列后,選擇時間序列幅度均值A(chǔ)作為關(guān)鍵度量,對有效擊鍵波形實現(xiàn)精準(zhǔn)定位。如圖5 所示,以直線y=A與波形的交點(diǎn)作為定位點(diǎn),從最左邊的定位點(diǎn)出發(fā),向左進(jìn)行局部搜索,選擇距離最近的極小值點(diǎn)作為起點(diǎn)參考點(diǎn)rp,算法采用下列公式估計擊鍵波形的起點(diǎn)starpoint 和終點(diǎn)endpoint:
圖5 有效擊鍵波形提取
式中,Savg表示的是不同擊鍵波形長度的均值,Pleft與Pright為擊鍵波形兩側(cè)的保護(hù)間隔。根據(jù)起點(diǎn)和終點(diǎn),可以提取擊鍵有效波形。因此,從CSI 時間序列的第i個主分量提 取 的 第m個 擊 鍵 波 形如下:
為解決擊鍵波形特征的時間波動性以及空間歧義性問題,本文基于擊鍵波形充分挖掘不同鍵位的空間感知能力,尋找更加穩(wěn)健的擊鍵特征。受文獻(xiàn)[2]啟發(fā),盡管同一鍵的擊鍵波形之差會隨時間推移發(fā)生不小的變化,但相同時刻不同鍵的擊鍵波形之差會保持相對穩(wěn)定且更具有區(qū)分性,且這種穩(wěn)健性在任意α 鍵與β 鍵的波形之差中都或強(qiáng)或弱存在。
具體來說,如果環(huán)境中有噪聲干擾,那么鍵盤上其他鍵感知到的WiFi 信號都將會受到影響,通過不同鍵的擊鍵波形做差形成的多信號空間特征代替?zhèn)鹘y(tǒng)的單信號波形特征,使WiFi 信號相對變化小于WiFi 信號絕對變化,則系統(tǒng)能夠更好地容忍設(shè)備噪聲以及室內(nèi)環(huán)境引起的信號變化。
如圖6 所示,B 鍵和U 鍵的擊鍵波形極其相似,當(dāng)B 鍵和U 鍵選擇與各自相同時刻的C 鍵作差時,得到的擊鍵空間特征更有利于分類。
圖6 擊鍵波形之差
由于擊鍵波形時間波動性以及空間歧義性問題的存在,僅使用波形作為特征會導(dǎo)致分類識別誤差較大,因此本文提出了基于擊鍵波形特征與空間特征的KNN-DTW 聯(lián)合識別模型。
算法首先利用多個天線對的CSI 信息構(gòu)建多分類器集成系統(tǒng),在每個分類器的近鄰樣本級別上對擊鍵動作類別實施聯(lián)合判決。其次,將聯(lián)合判決投票結(jié)果依據(jù)票數(shù)降序排列,則測試樣本的真實類別存在于投票結(jié)果的前M 位中,通常分類錯誤的測試樣本投票結(jié)果歧義度非常大,即前M 位中各類別之間的票數(shù)之差Gap 十分接近,因此可以根據(jù)歧義度閾值Gap,選擇需要啟動二次識別的測試樣本。最后,充分利用不同鍵位的空間多樣性,為每個啟動二次識別的測試樣本構(gòu)建由多個多分類器集成系統(tǒng)組成的組合分類器,對測試樣本的真實類別實現(xiàn)精準(zhǔn)定位。
具體步驟如下:
Step 1:多分類器構(gòu)建。構(gòu)建一個Mt×Mr×3 的多分類器集成系統(tǒng),使用從所有t-r天線對中提取的擊鍵波形特征訓(xùn)練每個分類器,從每個分類器中獲取與測試樣本距離最近的k個近鄰樣本。
Step 2:聯(lián)合判決。qi表示每個近鄰樣本的類別標(biāo)簽,則測試樣本的類別為多分類器標(biāo)簽向量q=[q1,q2,…,qMt×Mr×3×k]的多數(shù)投票結(jié)果。
Step 3:組合分類器構(gòu)建與判決。首次識別后,系統(tǒng)將啟動二次識別的測試樣本X?的投票結(jié)果前M位類別輸出。假設(shè)M取值為3,則前M位類別分別為M1、M2 和M3,剩余類別分別為M4、M5、…、M26。以此M個類別的訓(xùn)練集同剩余類別的訓(xùn)練集分別做差構(gòu)建23 個做差訓(xùn)練集,將測試樣本X?同剩余類別的測試樣本分別做差構(gòu)建23 個做差測試集,則組合分類器由23 個多分類器構(gòu)成,組合分類器的具體構(gòu)建方案如圖7 所示。
圖7 組合分類器的構(gòu)建方案
2.1.1 實驗平臺搭建及數(shù)據(jù)采集
實驗均采用配備1 根全向天線的商用TP-Link WiFi 路由器作為發(fā)射端,將配備3 根全向天線且?guī)в蠭ntel 5300 網(wǎng)卡的商用筆記本電腦作為接收端。發(fā)射端工作在5.8 GHz 頻段和IEEE 802.11n AP 模式下,在接收端利用Halperin 等人開發(fā)的Linux CSItool 工具從Intel 5300 網(wǎng)卡中解析出CSI 值,并使用MATLAB 軟件進(jìn)一步處理。
實驗階段,天線距離地面的高度均為1 m,將WiFi 路由器放置在測試鍵盤右側(cè)1.5 m 的位置,將接收天線放置在測試鍵盤左側(cè)30 cm 的位置,且接收天線在WiFi 路由器的LOS 范圍內(nèi)。WiFi 路由器以2 500 包/s 左右的高速率向接收端發(fā)送ICMP ping 包,表2 給出了實驗過程中的基本參數(shù)配置。
表2 實驗的基本參數(shù)配置
為評估Wi-Click 系統(tǒng)的性能,本文設(shè)置了如圖8 所示的兩種實驗測試平臺,包括空曠的實驗室和環(huán)境相對復(fù)雜的實驗室。實驗邀請志愿者在實驗場景中進(jìn)行多次實驗,通過多次按下26 個字母鍵為每個鍵提供30 個樣本。選取所采數(shù)據(jù)集中90%的數(shù)據(jù)作為訓(xùn)練集樣本,將數(shù)據(jù)集中剩余的樣本作為測試集樣本。
圖8 不同實驗平臺
2.1.2 評價指標(biāo)
對于Wi-Click 系統(tǒng)的性能分析,本文采用準(zhǔn)確率Accuracy 以及精確率Precisionj作為2 個評價指標(biāo),其計算公式分別為:
式中,Accuracy 表示用戶所有擊鍵行為的識別準(zhǔn)確率,Precisionj表示字母j鍵的識別精確率,TA 表示測試樣本正確總數(shù),TS 表示測試樣本總數(shù),TPAj和TPSj分別表示字母j 鍵的測試樣本正確總數(shù)和測試樣本總數(shù)。
為測試收發(fā)天線距離對系統(tǒng)性能的具體影響,實驗通過線性增加收發(fā)天線距離,觀察擊鍵波形的變化。
圖9 為發(fā)射天線距離鍵盤1.5 m 情況下,接收天線與鍵盤間距離增加時擊鍵波形的變化,隨著距離的增加擊鍵波形幅度逐漸衰減,并且當(dāng)位置改變時,擊鍵波形的形狀發(fā)生顯著變化。同樣,當(dāng)接收天線與鍵盤間距離保持不變時,實驗測試了改變發(fā)射天線與鍵盤間距離時擊鍵波形的變化,也出現(xiàn)了類似的變化趨勢,如圖10 所示。雖然收發(fā)天線間距離較近時波形變化比較顯著,但同時也更多地引入了由用戶身體引起的噪聲,如心跳和呼吸,而其他距離下的波形幅度略有波動,但仍然可以區(qū)分。因此,實驗采用距離發(fā)射天線1.5 m、距離接收天線30 cm 的擊鍵位置進(jìn)行系統(tǒng)性能評估。
圖9 不同接收距離波形變化
圖10 不同發(fā)射距離波形變化
在實驗的基本參數(shù)配置條件下,首次識別的投票結(jié)果排序中測試樣本的真實類別排名于第N位的樣本數(shù)量曲線圖如圖11 所示。從圖中可以觀察到,當(dāng)N<3 時,曲線下降速度較快,當(dāng)N>3 時,曲線逐漸趨于平緩,即大部分測試樣本的真實類別存在于投票結(jié)果排序的前M=3 位中。M取值越大,需要進(jìn)行二次識別的樣本數(shù)量就會增加,系統(tǒng)的識別準(zhǔn)確率也會逐漸增大,但是系統(tǒng)的運(yùn)行時間也會逐漸增大??紤]到系統(tǒng)總體運(yùn)行時間成本與識別準(zhǔn)確率的平衡,本文取M=3。
圖11 測試樣本的真實類別排名于第N 位的樣本數(shù)量曲線圖
為驗證本文提出方法的有效性,實驗采用基于波形特征的SVM 方法、基于波形特征的BP 方法、基于波形特征的KNN 方法和基于波形特征與空間特征的KNN 方法這4 組對比方案。其中,波形特征與空間特征分別為1.1.2 節(jié)與1.2 節(jié)所提方法獲得的特征,不同方法的識別準(zhǔn)確率如圖12 所示。
圖12 不同方法對比
本文提出的基于波形特征與空間特征的KNN方法識別準(zhǔn)確率為92.31%,在四種方法中表現(xiàn)最優(yōu)。雖然BP 神經(jīng)網(wǎng)絡(luò)和基于DTW 的SVM 方法能夠克服不同擊鍵波形的中點(diǎn)與長度不匹配問題,但是由于擊鍵波形存在時間波動性以及空間歧義性問題,導(dǎo)致二者很難建立良好的預(yù)測模型,而KNN 方法僅需尋找近鄰樣本,并不需要建立預(yù)測模型,因此基于傳統(tǒng)擊鍵波形特征的KNN 方法可以獲得顯著的性能提升,如果通過多信號空間特征對擊鍵行為類別進(jìn)行精確定位,將會獲得更穩(wěn)定可靠的性能。
CSI 主要刻畫了信號傳播空間的特性,信號采集環(huán)境能夠?qū)ψR別準(zhǔn)確率產(chǎn)生重要影響[16],因此在不同實驗環(huán)境下對Wi-Click 系統(tǒng)的性能評估必不可少。本文選擇兩種實驗環(huán)境進(jìn)行系統(tǒng)性能分析,在這2 種環(huán)境下分別對Wikey[8]與本文所提方法Wi-Click 進(jìn)行比較,識別結(jié)果如表3 所示,可以看出,本文所提方法在不同場景下都表現(xiàn)出優(yōu)異的性能,具有一定的環(huán)境抗干擾能力。
表3 不同實驗環(huán)境下的識別準(zhǔn)確率
樣本的數(shù)據(jù)中不僅包含著動作信息,而且包含著豐富的周圍環(huán)境信息,因此為確定訓(xùn)練集樣本數(shù)量對Wi-Click 系統(tǒng)的影響,本文分別測試了系統(tǒng)在每個鍵27 個訓(xùn)練樣本和每個鍵54 個訓(xùn)練樣本情況下?lián)翩I行為識別的準(zhǔn)確率與精確率。
本文用混淆矩陣展示了不同訓(xùn)練樣本數(shù)量中每個鍵的識別精確率,如圖13 所示。設(shè)置每個鍵27 個訓(xùn)練樣本的識別準(zhǔn)確率為92.31%,而每個鍵54 個訓(xùn)練樣本的識別準(zhǔn)確率為94.87%。因此,可通過增加訓(xùn)練集樣本數(shù)量來提高系統(tǒng)的識別準(zhǔn)確率和精確率。
圖13 不同訓(xùn)練樣本數(shù)量的識別結(jié)果混淆矩陣
論文提出了一種基于CSI 空間特征的增強(qiáng)型擊鍵行為識別方法Wi-Click,該方法通過充分利用不同鍵位的空間多樣性,緩解了擊鍵波形特征的時間波動性和空間歧義性問題,能夠獲得穩(wěn)定魯棒的性能。實驗結(jié)果表明,Wi-Click 對擊鍵行為識別的準(zhǔn)確率可以達(dá)到92%以上,且該方法在不同環(huán)境中均具有較好的識別準(zhǔn)確率,與基于傳統(tǒng)波形特征的方法相比,Wi-Click 識別效果更佳。目前,本文只針對靜態(tài)環(huán)境中單個擊鍵動作進(jìn)行識別,在未來工作中計劃研究組合擊鍵動作的檢測與識別,或在動態(tài)環(huán)境中做更多的實驗,以實現(xiàn)更惡劣場景下的擊鍵行為識別。