劉影,韓康康,錢志鴻
(1.遼寧工程技術(shù)大學電子與信息工程學院,遼寧 葫蘆島 125105;2.北京郵電大學電子工程學院,北京 100876;3.吉林大學通信工程學院,吉林 長春 130022)
電子設備和機械設備信號泄露一直是安全領(lǐng)域廣泛關(guān)注與重點研究的問題[1]。早在1910 年,德國科學家就在法國的電話線上進行了實驗[2]。1943 年,貝爾電話公司的一名工程師在使用131-B2型貝爾電話時,用示波器發(fā)現(xiàn)了電磁信號,這是美國陸軍和海軍用來傳輸戰(zhàn)時通信對抗德國和日本密碼分析的絕密加密電傳終端[3]。研究人員通過提取和破譯設備產(chǎn)生的電磁干擾來竊聽視頻顯示單元,該種方法在很遠的距離或者有障礙物遮擋下都能實現(xiàn)。這種探測之所以能成功,主要是因為使用了精密儀器,這也增加了部署難度[4]。
智能手機終端除了具備通話功能外,也具備了PDA 的大部分功能,還為軟件運行和內(nèi)容服務提供了平臺,此外,各種傳感器的顯著增長使這些設備能夠與周圍的事物積極互動,并以非預期的方式使用。事實上,惡意軟件可能會進入智能手機的攝像頭并拍攝照片或視頻,或者激活麥克風錄制環(huán)境聲音。近年來,鍵盤成為計算機系統(tǒng)中人機交互的常用工具,通過鍵盤輸入的內(nèi)容可以從智能手機麥克風獲取的聲音和加速度傳感器的振動中恢復。當目標用戶敲擊鍵盤(以下簡稱擊鍵)時,就可以記錄下這些信號信息,根據(jù)收集的數(shù)據(jù)來恢復擊鍵。如果這些信息被攻擊者獲取,將會給用戶帶來極大的危害。因此,針對鍵盤擊鍵內(nèi)容的研究對反監(jiān)聽有著重要意義。
迄今為止,研究人員提出了一系列的方案來識別用戶擊鍵內(nèi)容,根據(jù)用戶擊鍵產(chǎn)生不同的音頻信號,進而根據(jù)獲取的音頻信號可識別用戶輸入的文本信息[5]。文獻[6]使用聲音信號來識別用戶擊鍵內(nèi)容,以快速傅里葉變換(FFT,fast Fourier transform)來提取擊鍵信號頻譜圖上的峰值作為聲音信號的特征,通過訓練神經(jīng)網(wǎng)絡對擊鍵信號進行識別,準確率為80%。文獻[7]通過分析人們在VoIP 通話過程中經(jīng)常從事的輔助活動(包括打字),再通過傳送的音頻信息來重建輸入——在遠程鍵盤上鍵入的信息,準確率達到91.7%。由于在實際環(huán)境中噪聲的影響很大,導致信噪比很小,因此準確率不是很高。文獻[8]提出使用基于語義和音頻信號感知用戶鍵盤輸入的內(nèi)容,準確率達到95%。文獻[4]提出使用同一手機的不同麥克風接收同一擊鍵聲音信號的到達時間,通過到達時間差(TDA,time difference of arrival)信息來精確找出按鍵的位置。利用麥克風陣列,基于到達時間差的傳統(tǒng)聲源定位算法在最好的情況下能實現(xiàn)厘米級的定位[9],但該類方法需要測量設備具有多個麥克風。
綜上所述,基于聲音的擊鍵內(nèi)容識別方法大多是直接提取單個按鍵的原始音頻特征,但該音頻特征往往存在時間不穩(wěn)定性以及空間模糊性,導致提取到的音頻信號存在較大誤差。因此本文提出一種基于聲音空間梯度的擊鍵識別系統(tǒng)(ASGK,acoustic-signal spatial gradient keystroke tracking system),通過多信號空間特征代替已有的單信號空間特征。這種聲音信號特征在空間上具有區(qū)分性,在時間上更加穩(wěn)定,即來自鄰域的聲音信號特征的空間關(guān)系比來自單個鍵的聲音信號特征更具有穩(wěn)健性。例如,如果有語音信號干擾,那么鍵盤上其他鍵感知到的聲音信號都將會受到影響,從而使相對聲音信號變化小于絕對聲音信號值。因此,本文提出的聲音空間梯度刻畫比普通的聲音信號特征更加穩(wěn)定和可識別,因為它可以很好地容忍環(huán)境變化和設備多樣性引起的聲音信號特征變化。
語音特征參數(shù)提取是影響語音識別系統(tǒng)的關(guān)鍵技術(shù)之一。目前,語音特征參數(shù)提取大多是基于傅里葉變換或小波變換后提取語音信息,但是傅里葉變換僅包含語音的頻率特性,而小波變換包含時域和頻域信息[10]。耳蝸倒譜系數(shù)(CFCC,cochlear filter cepstral coefficient)特征參數(shù)依據(jù)人耳聽覺特性,具有時域和頻域分析的優(yōu)勢,與梅爾頻率倒譜系數(shù)(MFCC,Mel frequency cepstral coefficient)特征參數(shù)和感知線性預測(PLP,perceptual linear prediction)特征參數(shù)相比,在抗噪方面和識別效果方面具有良好的性能。因此,本文采用CFCC 特征參數(shù)作為音頻信號特征。
假設將ω個需要提取聲音信號的鍵描述為k∈(1,ω),每個鍵的擊鍵聲音用P個采樣組成,這些擊鍵聲音反映了不同鍵的不同發(fā)音和語音韻律等特征。根據(jù)CFCC 特征參數(shù)提取方法[11],將錄入的擊鍵聲音信號代入CFCC 聽覺變換式,具體定義為
其中,f(t)為時域語音信號為耳蝸濾波函數(shù),具體計算式為
其中,α>0 和β>0 決定的頻域形狀和寬度,一般取α=3、β=0.2 時降噪效果良好;u(t)為單位階躍函數(shù);θ為初始相位,控制沖激響應的角度,它的取值一般滿足;a為尺度變量,b為隨時間可變的實數(shù),一般a可由濾波器組的中心頻率fc和最低中心頻率fL確定,即。
接下來,對T(a,b)進行變換,得到基于人耳耳蝸的語音為
其中,α=1,F,2F,…,?i,j,F(xiàn)是幀移,實驗中一般取,d=max {3.5τi,20ms}是可變窗長度,是第i個濾波器中心頻帶中心頻率的時間長度,j是窗的個數(shù)。
最后將非線性響度變換輸出y(i,j)通過離散余弦變換(DCT,discrete cosine transform)式進行變換,去除通道之間的相關(guān)性,最終得到CFCC 特征參數(shù)為
其中,M為耳蝸濾波器的個數(shù),n為特征變換后每幀特征的維數(shù),0 本文使用手機中的單麥克風感知用戶鍵盤輸入的內(nèi)容,識別工作和娛樂中的計算機活動,ASGK方案架構(gòu)如圖1 所示。具體步驟如下。 步驟1采集多組擊鍵時每個字母的聲音信號,并給每組聲音信號加上類別標簽,形成樣本集。 步驟2采用CFCC 的方法提取每個樣本的特征參數(shù),與樣本的類別標簽形成新的樣本集,并將其按一定比例劃分為訓練集和測試集。 步驟3通過BP 神經(jīng)網(wǎng)絡對訓練集進行訓練,得到訓練好的BP 神經(jīng)網(wǎng)絡模型。 步驟4將測試集輸入訓練好的BP 神經(jīng)網(wǎng)絡模型中進行測試,得到測試集中每個樣本的類別。 圖1 ASGK 方案架構(gòu) 步驟5設定一個測試準確率閾值μ(μ取經(jīng)驗值0.95),計算同一類別樣本的測試準確率并與閾值μ進行比較,若大于閾值μ則輸出類別結(jié)果,否則執(zhí)行步驟6。 步驟6通過計算測試準確率低于閾值μ的γ鍵與其他鍵之間的曼哈頓距離及CFCC 差值,構(gòu)建γ鍵的CFCC 空間梯度(CSG,CFCC spatial grandent)矩陣,詳見3.1 節(jié)。 步驟7基于γ鍵的CSG 矩陣,構(gòu)建新的訓練集和測試集,詳見3.2 節(jié)。 步驟8根據(jù)步驟7 得到新的訓練集進行神經(jīng)網(wǎng)絡訓練,將步驟7 得到的測試樣本集輸入新訓練好的神經(jīng)網(wǎng)絡中,從結(jié)果中選擇分類概率最高的類別作為γ鍵的輸出類別,詳見3.3 節(jié)。 考慮與現(xiàn)有方法的兼容,該方法的輸入是基于CFCC 的聲音識別系統(tǒng),其核心貢獻是引入了CSG訓練集和CSG 測試集。 為了解決CFCC 時間不穩(wěn)定性以及空間模糊性,ASGK 基于傳統(tǒng)的CFCC 音頻特征充分挖掘音頻特征值相似度中的空間關(guān)系限制,并提出了CSG這種新的結(jié)構(gòu)。通常提取到某個鍵的CFCC 特征值會發(fā)生變化,但是它與相鄰位置鍵的CFCC 特征值之差會保持相對穩(wěn)定。具體來說,G 鍵與H 鍵相鄰,在t1時刻提取到2 個鍵的CFCC 特征值值分別為,在t2時刻提取到2 個鍵的CFCC特征值分別為,盡管在不同時刻收集到同一鍵的音頻特征之間會發(fā)生不小的變化,但是相鄰鍵在不同時刻收集到的 CFCC 之差會保持相對穩(wěn)定,即,這是因為即使CFCC 音頻特征會發(fā)生改變,但這個改變帶來的影響在2 個位置上會比較小,這樣就可以找到在變化過程中的一個穩(wěn)定量。 CSG 是利用鍵盤上多個鍵之間的空間特征,而不是單一使用CFCC 特征值來表示的。如圖2 所示,對于一個特定的鍵,CSG 矩陣刻畫了該鍵的CFCC與其相鄰幾個鍵CFCC 的相似趨勢。 圖2 CSG 刻畫 對于任意γ鍵的CSG 矩陣定義為 其中,CFCCγ表示γ鍵提取的聲音信號特征,有P個采樣,即;同理CFCCμ表示μ鍵提取的聲音信號特征,有P個采樣,即表示γ鍵和μ鍵之間的CFCC 差值,即表示γ鍵和μ鍵的曼哈頓距離,從γ鍵周圍空間中選擇i個鍵,應該出現(xiàn)在γ鍵的周圍子空間。在特定γ鍵上的相似度為0,然后增大,對應到γ鍵的有序物理距離通過實驗測試得到。 3.1.1 CSG 的優(yōu)勢 通常,對于2 個相鄰鍵采集到的聲音信號較相似,而距離較遠的擊鍵信號特征差異較大,CSG的構(gòu)建關(guān)鍵在于采用較遠鍵的空間特征。當面對信號變化時,各個信號的CFCC 特征值可能發(fā)生變化,而2 個鍵之間存在的某種空間特征(差值)能保持相對穩(wěn)定。對于一個易受到環(huán)境等影響的特定鍵,CFCC 特征值可能存在著一定的不確定性,當通過CSG 進行刻畫后,CFCC 信號相似性的空間趨勢預計比單個鍵的CFCC 本身更加穩(wěn)定,如圖3 所示。G 鍵和H 鍵的CFCC 圖譜極其相似,當G 鍵和H 鍵選擇較近鍵作差時,得到的信號圖譜也比較相似。如果G 鍵選Q 鍵、H 鍵選P鍵作為鄰域,相比于G 鍵選V 鍵、H 鍵選N 鍵作為鄰域得到的信號圖譜更具有區(qū)分性。因此,利用這種CFCC 空間梯度作為更有利的特征,用于聲音信號的映射。 圖3 幾種類別的CFCC 差值 3.1.2 CSG 的實現(xiàn) 每個鍵的CSG 矩陣都構(gòu)建在原始CFCC 上,通常每個鍵的周圍都有多個相鄰的CFCC。對于任意G 鍵,首先形成一個包含當前鍵位置的、距離不超過i個鍵的所有相鄰位置的鄰域集合,然后計算G 鍵與相鄰集合中所有鍵的CFCC 差值。CSG 構(gòu)建方法為最大化全局梯度的構(gòu)建方式,即選擇曼哈頓距離較遠的鍵作為鄰域。根據(jù)鍵盤的形狀建立如圖4左下側(cè)的坐標系,將每個字母用坐標系上的點表示,以此計算曼哈頓距離。如字母Z 和字母F 的坐標依次表示為(1,1)和(4,2)。曼哈頓距離計算式為。 圖4 最大化全局梯度選取 當distance=2 時,以G 鍵為例,取曼哈頓距離為2 最小的鍵依次為字母R、字母D、字母V、字母N、字母J 和字母Y,曼哈頓距離為3 最小的鍵依次為字母E、字母S、字母C、字母U、字母K和字母M。曼哈頓距離由小到大,在字母G 鍵周圍選取一個距離G 鍵最遠的鍵作為差值樣本。 訓練集的CSG 構(gòu)建,建立于第一次所有測試樣本預測完成基礎(chǔ)之上。例如,對于原始測試集N個樣本中的一個樣本,神經(jīng)網(wǎng)絡輸出小于0.95,測試樣本命名為X*。假設取神經(jīng)網(wǎng)絡輸出M(M取經(jīng)驗值3)個較大值的類別作為“相似類別”,分別命名為類別D、類別B 和類別F。其后根據(jù)圖4 中的差值選取規(guī)則,選取類別D、類別B 和類別F 的鄰域樣本,每類有100 個原始樣本。將類別D、類別B 和類別F 訓練集中原始樣本的CFCC值與得到的M個相似類別的鄰域集合的訓練集樣本CFCC 值分別作差,得到新的訓練樣本集。M=3時測試集和訓練集構(gòu)建如圖5 所示。 圖5 M=3 時測試集和訓練集構(gòu)建 將X*測試集中原始樣本CFCC 值與得到的M個相似類別的鄰域集合的測試集原始樣本CFCC 值分別作差,得到新的測試集。 基于聲音信號的擊鍵內(nèi)容識別,實質(zhì)是對擊鍵聲音信號進行預測分類,運用分類方法完成從擊鍵音頻信號的CFCC 特征數(shù)據(jù)到擊鍵類別的映射。神經(jīng)網(wǎng)絡方法具有很強的非線性擬合能力,實現(xiàn)具有非線性關(guān)系的輸入向量到輸出向量之間的映射[12]。因此本文分類算法采用神經(jīng)網(wǎng)絡算法。 基于BP神經(jīng)網(wǎng)絡的擊鍵聲音特征信號分類算法建模包括BP 神經(jīng)網(wǎng)絡構(gòu)建、BP 神經(jīng)網(wǎng)絡訓練和BP 神經(jīng)網(wǎng)絡分類。1) BP 神經(jīng)網(wǎng)絡的構(gòu)建根據(jù)擊鍵聲音信號輸入輸出數(shù)據(jù)特點來確定BP 神經(jīng)網(wǎng)絡的結(jié)構(gòu)。在神經(jīng)網(wǎng)絡的設計中,采用三層神經(jīng)網(wǎng)絡的結(jié)構(gòu),分別是輸入層、隱含層和輸出層。輸入層神經(jīng)元的個數(shù)與輸入CFCC特征值個數(shù)相同,為400 個;輸出層個數(shù)與字母類別相同,為26 個;對于隱含層的個數(shù),采用試湊法確定。2) 對于BP 神經(jīng)網(wǎng)絡的訓練,用訓練數(shù)據(jù)訓練BP 神經(jīng)網(wǎng)絡。共26×110 組擊鍵聲音信號,每類100 個樣本作為訓練數(shù)據(jù)訓練網(wǎng)絡,每類剩余的10 組數(shù)據(jù)作為測試數(shù)據(jù)訓練網(wǎng)絡分類能力。輸入向量為400×1 的列向量,輸出向量為26×1 的列向量,取輸出向量最大值的行數(shù)作為樣本輸出類別。3) 測試集的實際分類與預測分類。測試樣本共26 類,每類10 個樣本,共260 個樣本。 1) 實驗平臺搭建及數(shù)據(jù)采集 本文實驗中使用一部OPPO R7s 單麥克風智能手機和一副星宇-black Window 鍵盤,手機可放置在點畫線上的任意位置,如圖6 所示。實驗中使用智能手機的用戶對單個鍵盤字母的擊鍵聲音進行采集,采樣頻率為手機系統(tǒng)默認的48 000 Hz。采集樣本為26 個字母,每個字母采集110 個樣本,其中26×100 個樣本作為訓練集,26×10 個樣本作為測試集。 2) 系統(tǒng)結(jié)構(gòu)介紹 基于聲音信號的擊鍵識別系統(tǒng)主要包括信號采集、信號數(shù)據(jù)處理、分類算法3 個部分。第一部分為信號采集,為手機錄下用戶敲擊電腦鍵盤上字母的音頻。第二部分為數(shù)據(jù)處理,包括通過巴特沃斯和小波變換對擊鍵音頻信號進行降噪處理,其后提取CFCC 特征參數(shù)CSG。第三部分為分類算法,主要包括神經(jīng)網(wǎng)絡算法。 3)評價指標 對于擊鍵識別的性能分析,采用準確率和相關(guān)系數(shù)作為2 個評價指標,計算式分別為 圖6 實驗平臺 1)M參數(shù)選擇 M取值與判定樣本數(shù)量之間的關(guān)系如圖7 所示。當M為1~7 時,曲線增速較快,此時構(gòu)建CSG 訓練樣本增加速度較快,可以滿足訓練樣本數(shù)量。只要M大小適中,訓練樣本集的樣本數(shù)量介于100 左右,對于網(wǎng)絡訓練迭代次數(shù)影響不大。當M為8~26 時,曲線逐漸趨于平緩,即重新判定樣本的數(shù)量增加較少,但是給構(gòu)建CSG 樣本增加了計算量,使神經(jīng)網(wǎng)絡增加了誤判的概率。由此可知,M的取值范圍應在1~7,考慮到CSG 的構(gòu)建與曼哈頓距離有關(guān),因此將2 個參數(shù)同時考慮,接下來通過仿真給出最佳的M值和曼哈頓距離。 圖7 M 取值與判定樣本數(shù)量之間的關(guān)系 2) 鄰域數(shù)的影響 對于CSG 的實現(xiàn)關(guān)鍵在于曼哈頓距離的選取,在不同的M取值下,隨著曼哈頓距離的增加,準確率的變化趨勢如圖8 所示。 圖8 準確率的變化趨勢 由圖8 可知,在同一個曼哈頓距離下,準確率不隨M取值的增大而增大。因為在同一曼哈頓距離范圍內(nèi),差值選取過多,空間特征具有更多相似性。在同一M取值下,曼哈頓距離的增大并未導致準確率的上升。所以在進行系統(tǒng)性能準確率提升方面,M取值與曼哈頓距離均需要考慮。當M=3、曼哈頓距離=4 時,準確率最高。 為了驗證本文方法的性能,采用CFCC+SVM、CFCC+BP 和CSG+BP 這3 種方法進行對比。本文方法的主要目標是展示CSG 相對于CFCC 特征的優(yōu)勢,由表1 可以看出,CSG+BP 方法的識別準確率達到96.15%,在3 種方法中表現(xiàn)最優(yōu)。 表1 不同方法對比 本文方法僅基于CFCC 特征就可以獲得顯著的性能提升,而不需要額外的信息。如果通過附加信息(如多麥克風),則可以輕松地在CSG+BP 方法中實現(xiàn)進一步的性能改進,并且CSG+BP 方法與文獻[5-8,13]相比具有較好的性能。 擊鍵聲音信號采集環(huán)境中的噪聲會對擊鍵信號的識別造成巨大干擾,因此在不同實驗環(huán)境下對擊鍵識別系統(tǒng)性能評估必不可少。圖9 為嘈雜環(huán)境下信噪比較低的聲音樣本頻譜圖,圖10 為安靜環(huán)境下信噪比較高的聲音樣本頻譜圖。在這2 種環(huán)境下,分別對傳統(tǒng)的BP 神經(jīng)網(wǎng)絡以及基于CFCC 差值的CSP 網(wǎng)絡進行評估,評估結(jié)果如表2 所示。由表2 可知,CSG+BP 比CFCC+BP 具有一定的環(huán)境干擾抵抗能力。 圖9 嘈雜環(huán)境下信噪比較低的聲音樣本頻譜圖 圖10 安靜環(huán)境下信噪比較高的聲音樣本頻譜圖 表2 不同環(huán)境下的準確率 本文提出了一種基于CFCC 空間梯度的擊鍵內(nèi)容識別方法的設計與實現(xiàn),該系統(tǒng)在不影響普遍性的前提下,緩解了CFCC 的空間模糊性和時間不穩(wěn)定性,獲得了穩(wěn)定可靠的性能。其主要思想是利用CFCC 值的空間感知能力,將CSG 表示為增強的聲音信號特征,并設計了用于表示、構(gòu)造所提出的CSG 矩陣的技術(shù),結(jié)合BP 神經(jīng)網(wǎng)絡集成為一個完全實用的系統(tǒng)。在不同環(huán)境下進行算法驗證,實驗中分析了M值和曼哈頓距離的選取,并與多種系統(tǒng)進行對比分析。實驗結(jié)果表明,本文方法準確率達到96.15%,相關(guān)系數(shù)為0.919 6,均優(yōu)于CFCC+BP和SVM+CFCC 等當前主流的擊鍵識別算法。3 ASGK 系統(tǒng)的設計與實現(xiàn)
3.1 CSG 的定義
3.2 基于CSG 構(gòu)建訓練集和測試集
3.3 基于BP 神經(jīng)網(wǎng)絡CSG 擊鍵聲音特征識別
4 仿真結(jié)果分析
4.1 仿真環(huán)境介紹
4.2 參數(shù)影響
4.3 方法對比
4.4 不同實驗環(huán)境下系統(tǒng)性能分析
5 結(jié)束語