本發(fā)明涉及信息安全研究領(lǐng)域,具體地,涉及一種基于統(tǒng)計學(xué)與聲音定位的鍵盤按鍵檢測方法。
背景技術(shù):
智能手機(jī)在給大眾生活帶來便利的同時,也帶來了一定的安全隱患。在日常生活中,鍵盤敲擊產(chǎn)生的聲音很容易被我們的手機(jī)麥克風(fēng)所捕捉到。隨著手機(jī)硬件的不斷發(fā)展以及在我們?nèi)粘I钪械钠占?,手機(jī)錄音所得的擊鍵音頻所包含的有用信息遠(yuǎn)超最初,顯著地改進(jìn)了音頻定位結(jié)果?,F(xiàn)存在許多基于錄音音頻分析按鍵定位的方法,雖然這些方法能夠成功識別鍵盤按鍵發(fā)生,但是由于定位識別的諸多限制因素,無法成功運(yùn)用到攻擊環(huán)境下。但是隨著科技的不斷發(fā)展,手機(jī)硬件也在不斷的更新發(fā)展中,比如手機(jī)麥克風(fēng)的音頻采樣率也得到了非常巨大的提升,另外一個明顯的改變就是手機(jī)由當(dāng)初的單個麥克風(fēng)錄音發(fā)展到如今的兩個乃至更多的麥克風(fēng)錄音,一種基于單個手機(jī)的雙麥克風(fēng)定位方式,相比于已有的工作,實(shí)現(xiàn)的意義在于更貼近真實(shí)的攻擊環(huán)境。但是這種窺探方式在真實(shí)的攻擊環(huán)境下,仍然有較為明顯的缺點(diǎn):手機(jī)與被監(jiān)測鍵盤的相對位置必須固定已知,這樣才能通過分析按鍵音頻信號來識別出每一個按鍵。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種基于統(tǒng)計學(xué)與聲音定位的鍵盤按鍵檢測方法,解決了現(xiàn)有的方法裝置與被監(jiān)測鍵盤的相對位置必須固定已知才能識別出每一個按鍵的技術(shù)問題,實(shí)現(xiàn)了在不知道裝置與鍵盤的相對位置也能夠獲知鍵盤按鍵信息的技術(shù)效果。
為了在手機(jī)與鍵盤相對位置不清楚的情況下,鍵盤按鍵檢測的方法仍然能夠正確識別所有按鍵,發(fā)明人對鍵盤按鍵窺探系統(tǒng)進(jìn)行了專門的設(shè)計所采取的技術(shù)方案具體如下:
本發(fā)明的基于統(tǒng)計學(xué)與聲音定位的鍵盤按鍵檢測的方法的主要步驟依次為:錄音,按鍵區(qū)分,手機(jī)鍵盤相對位置檢測,最終識別;
所述錄音階段:
1)手機(jī)通過調(diào)用兩個麥克風(fēng)監(jiān)聽鍵盤敲擊,開始錄音;
所述按鍵區(qū)分階段:
1)由于每次按鍵發(fā)生時,音頻波形會有較大的波動,所以對于這樣一段若干個鍵的音頻文件,我們從最初的采樣點(diǎn)開始計算短時能量;
2)當(dāng)短時能量達(dá)到我們給定的閾值τ時,我們便判斷第一次按鍵已經(jīng)發(fā)生了,由于一次按鍵的時間為100ms左右,所以下一次按鍵開始檢測的時間點(diǎn)為上一按鍵發(fā)生的采樣點(diǎn)偏移100ms,由這個標(biāo)準(zhǔn),我們可以識別出一段音頻中所有按鍵數(shù);
所述手機(jī)鍵盤相對位置檢測階段:
1)提取所有按鍵數(shù)的mfcc(梅爾倒譜系數(shù))作為音頻特征參數(shù),以提取的按鍵的mfcc為數(shù)據(jù)輸入,利用k-means方法對按鍵進(jìn)行聚類;例如實(shí)驗駛?cè)霝?6個字母鍵,聚類數(shù)k取26,將提取的按鍵的mfcc分成26類;
2)計算出聚類后的不同組的組內(nèi)按鍵的tdoa平均值以及組內(nèi)按鍵數(shù)占總按鍵數(shù)的百分比。
3)由先驗信息可知在不同的文本輸入情況下,比如在英文的輸入情況下,我們可以知道鍵盤各鍵的使用的頻率序列,與各組按鍵頻率對比,我們便可得知各組按鍵對應(yīng)的具體為哪個鍵以及該鍵的tdoa值;
4)經(jīng)過權(quán)衡選取三個鍵作為候選鍵,利用這三個鍵在鍵盤內(nèi)相互的距離差以及它們的tdoa值,就可以識別出手機(jī)與鍵盤的相對位置。
所述最終識別階段:
1)利用已經(jīng)計算出來的手機(jī)鍵盤布局以及監(jiān)聽得到的音頻按鍵信號,可以窺探出所有按鍵。
進(jìn)一步的,調(diào)用2個麥克風(fēng)獲得裝置的鍵盤敲擊聲音并進(jìn)行錄音。因為通過對兩個麥克風(fēng)錄音所得的音頻波形進(jìn)行相關(guān)性分析可以得出按鍵位置到達(dá)兩個麥克風(fēng)的距離差。
進(jìn)一步的,選取e、t、l三個使用頻率最高的鍵作為候選鍵,以裝置的兩個麥克風(fēng)的連線為橫坐標(biāo);以兩個麥克風(fēng)的連線中點(diǎn)為原點(diǎn),垂直于橫坐標(biāo)作縱坐標(biāo),由此構(gòu)建出基本坐標(biāo)系;按鍵的tdoa在坐標(biāo)系中為一條雙曲線,可得6個方程:
其中,dm:裝置上兩個麥克風(fēng)的距離差;
由上述6個方程可解得三個候選鍵在坐標(biāo)系的具體坐標(biāo),由已知的鍵盤布局可得鍵盤所有鍵在坐標(biāo)系的具體坐標(biāo)。
進(jìn)一步的,步驟4具體包括:
基于獲得的鍵盤上所有鍵的具體坐標(biāo),計算出所有鍵的tdoa值,由所求得的所有tdoa值對按鍵進(jìn)行初始分類,然后利用按鍵的mfcc特征值作為k-means聚類方法的輸入,進(jìn)行組內(nèi)聚類,識別出具體的按鍵。
本申請?zhí)峁┑囊粋€或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
1)本發(fā)明是目前第一個即使不知道手機(jī)與鍵盤相對位置的情況下仍然能夠正確的識別鍵盤按鍵;
2)利用按鍵的tdoa值以及語言學(xué)模型,計算出手機(jī)與鍵盤的相對位置;
3)本發(fā)明僅使用運(yùn)算花銷很低的操作(例如計算按鍵tdoa值、k-means聚類等)來達(dá)到識別所有按鍵的目的。
附圖說明
此處所說明的附圖用來提供對本發(fā)明實(shí)施例的進(jìn)一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明實(shí)施例的限定;
圖1是本申請中基于統(tǒng)計學(xué)與聲音定位的鍵盤按鍵檢測方法的流程示意圖。
具體實(shí)施方式
本發(fā)明提供了一種基于統(tǒng)計學(xué)與聲音定位的鍵盤按鍵檢測方法,解決了現(xiàn)有的方法裝置與被監(jiān)測鍵盤的相對位置必須固定已知才能識別出每一個按鍵的技術(shù)問題,實(shí)現(xiàn)了在不知道裝置與鍵盤的相對位置也能夠獲知鍵盤按鍵信息的技術(shù)效果。
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在相互不沖突的情況下,本申請的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述范圍內(nèi)的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
請參考圖1,本申請?zhí)峁┝吮景l(fā)明的鍵盤按鍵檢測方法主要步驟依次為錄音,按鍵區(qū)分,手機(jī)鍵盤相對位置檢測,最終識別。其中,
a.錄音過程包括以下步驟:
1)打開手機(jī)錄音功能,調(diào)用麥克風(fēng)m1與m2對鍵盤按鍵進(jìn)行錄音;
b.按鍵區(qū)分過程包括以下步驟:
1)由單次按鍵的音頻波形圖可知,按鍵發(fā)生具體時間點(diǎn)與按鍵短時能量相關(guān),當(dāng)短時能量達(dá)到0.05時,我們就判斷已經(jīng)開始有鍵盤按鍵被敲擊,此時的時刻為ps,而我們以[ps-5ms,ps+100ms]時間段作為一次單獨(dú)的按鍵所一共經(jīng)歷的時間。
2)所以對于一段包含若干個鍵的音頻文件,我們從最初的采樣點(diǎn)開始計算短時能量,當(dāng)能量到達(dá)0.05時,我們便判斷第一次按鍵已經(jīng)發(fā)生了,由于一次按鍵的時間為105ms,所以下一次按鍵開始檢測的時間點(diǎn)為上一按鍵發(fā)生的采樣點(diǎn)偏移100ms,由這個標(biāo)準(zhǔn),我們可以識別出一段音頻中所有按鍵數(shù)。
c.手機(jī)鍵盤相對位置檢測過程包括以下步驟:
1)提取出音頻中所有按鍵數(shù)的音頻特征參數(shù)mfcc與tdoa值,比如敲擊的按鍵為26個字母鍵,利用k-means聚類為26組,k-means方法的輸入為所有按鍵的音頻特征參數(shù)mfcc,每一組內(nèi)的按鍵音頻均代表同一字母的按鍵。
2)計算組內(nèi)按鍵的tdoa的平均值作為該按鍵的tdoa值,這樣可以有效的減小誤差。計算組內(nèi)按鍵數(shù)占總按鍵數(shù)的百分比,得到一列由大到小的頻率序列。
3)由先驗信息可知在不同的文本輸入情況下,比如輸入文本為英文的輸入情況下,我們可以知道鍵盤各鍵的使用的頻率序列,與上一步計算而得的各組按鍵頻率對比,我們便可得知各組按鍵對應(yīng)的具體為哪個鍵以及該鍵的tdoa值;
4)選取三個使用頻率最高的鍵作為候選鍵,例如:選取e,t與l這三個字母鍵,以手機(jī)兩個麥克風(fēng)的連線為橫坐標(biāo);以兩個距離中點(diǎn)為原點(diǎn),垂直于橫坐標(biāo)作縱坐標(biāo),由此構(gòu)建出基本坐標(biāo)系。利用這三個鍵在鍵盤內(nèi)相互的距離差以及它們的tdoa值,由數(shù)學(xué)幾何知識可知,按鍵的tdoa在坐標(biāo)系中為一條雙曲線,所以可得6個方程:
由此可解得三個候選鍵在坐標(biāo)系的具體坐標(biāo),由已知的鍵盤布局可得鍵盤所有鍵在坐標(biāo)系的具體坐標(biāo)。
d.按鍵最終識別階段包括以下步驟:
1)鍵盤上所有鍵的具體坐標(biāo)均已獲得,可以計算出所有鍵的tdoa值,由所求得的所有tdoa值對按鍵進(jìn)行初始分類,然后利用按鍵的mfcc特征值作為k-means聚類方法的輸入,進(jìn)行組內(nèi)聚類,識別出具體的按鍵,有助于提高按鍵識別的精度。
上述本申請實(shí)施例中的技術(shù)方案,至少具有如下的技術(shù)效果或優(yōu)點(diǎn):
1)本發(fā)明是目前第一個即使不知道手機(jī)與鍵盤相對位置的情況下仍然能夠正確的識別鍵盤按鍵;
2)利用按鍵的tdoa值以及語言學(xué)模型,計算出手機(jī)與鍵盤的相對位置;
3)本發(fā)明僅使用運(yùn)算花銷很低的操作(例如計算按鍵tdoa值、k-means聚類等)來達(dá)到識別所有按鍵的目的。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。