周澤侖 戴 歡,2* 束沁冬 史文華 石鵬展
1(蘇州科技大學(xué) 江蘇 蘇州215000) 2(蘇州大學(xué) 江蘇 蘇州 215000)
近年,Wi-Fi已成為訪問(wèn)互聯(lián)網(wǎng)的重要技術(shù)之一。根據(jù)ABI Research的報(bào)告[1],從2015年到2019年,Wi-Fi芯片的出貨量接近180億。并且隨著配備Wi-Fi芯片的移動(dòng)設(shè)備的發(fā)展和普及,Wi-Fi在能夠隨時(shí)隨地訪問(wèn)互聯(lián)網(wǎng)的需求中發(fā)揮了重要的作用。
根據(jù)報(bào)道[2],根據(jù)全國(guó)約1億臺(tái)無(wú)線路由器的市場(chǎng)規(guī)模估算,被蹭網(wǎng)的Wi-Fi數(shù)量高達(dá)950萬(wàn)個(gè),按照我國(guó)年平均上網(wǎng)資費(fèi)計(jì)算,每年將帶來(lái)高達(dá)50億元的網(wǎng)費(fèi)損失。WPA是目前最常用的Wi-Fi連接認(rèn)證技術(shù)。然而,利用WPA加密的Wi-Fi仍然會(huì)被附近區(qū)域的非法用戶破解,極易造成網(wǎng)速變慢以及信息泄露等問(wèn)題。造成這種情況的主要原因是用戶為了連接方便,不愿意設(shè)置過(guò)于復(fù)雜的密碼,甚至不設(shè)置密碼,但是即使設(shè)置了極為復(fù)雜的密碼,仍然有自動(dòng)破解密碼的軟件使得密碼認(rèn)證無(wú)效。因此,研究如何有效防止附近非法用戶在非限定區(qū)域內(nèi)破解密碼連接具有十分重要的意義。
許多研究者針對(duì)加強(qiáng)WPA安全性展開(kāi)了研究。文獻(xiàn)[3]提出了一種新的防御策略,該策略能有效預(yù)防使用GPU破解WPA,顯著增強(qiáng)WPA的安全性。文獻(xiàn)[4]提出了應(yīng)用公鑰加密的安全密鑰交換方案,使用公鑰系統(tǒng)交換用戶選擇的輔助密鑰,可以保護(hù)用戶免受同一Wi-Fi網(wǎng)絡(luò)中的多次攻擊。然而該方法僅限于提高WPA加密的安全性,可能無(wú)法避免所有破解工具的解密方式,并且密鑰也存在被非法用戶盜取的可能。
一些主流的路由器生產(chǎn)商已經(jīng)注意到了這一問(wèn)題,并采取一系列措施避免該問(wèn)題,例如華為、TP-LINK等極大簡(jiǎn)化了設(shè)置Wi-Fi密碼的步驟以鼓勵(lì)用戶設(shè)置密碼。同時(shí),小米等廠商也提出了利用白名單的方式識(shí)別非法用戶的智能Wi-Fi節(jié)點(diǎn)。文獻(xiàn)[5]通過(guò)對(duì)Wi-Fi安全參數(shù)配置的分析,提出了一種基于底層Wi-Fi安全參數(shù)實(shí)現(xiàn)連接認(rèn)證后上層設(shè)備信息的Wi-Fi安全認(rèn)證方法,然而利用白名單或者配置參數(shù)的方式需要用戶提供設(shè)備mac地址等信息,這對(duì)于一般用戶而言十分不友好。文獻(xiàn)[6]等把用戶輸入密碼時(shí)的動(dòng)作特性作為Wi-Fi驗(yàn)證的第二要素,通過(guò)對(duì)于合法用戶在輸入密碼時(shí)動(dòng)作的獨(dú)特性來(lái)進(jìn)行Wi-Fi認(rèn)證。然而利用破解工具的非法認(rèn)證方式可能無(wú)法準(zhǔn)確地捕獲到非法用戶的輸入姿勢(shì),并且由于設(shè)備多樣性存在,合法用戶動(dòng)作的獨(dú)特性也難以捕捉。
針對(duì)上述問(wèn)題,本文提出一種基于信道狀態(tài)信息的Wi-Fi認(rèn)證方法?;贑SI指紋庫(kù)建立SVM模型,通過(guò)SVM計(jì)算得到發(fā)起Wi-Fi認(rèn)證用戶的位置信息,通過(guò)判斷發(fā)起Wi-Fi認(rèn)證用戶的位置判定用戶的合法性。為了去除CSI中的噪聲,利用Hampel濾波器去除了CSI數(shù)據(jù)流中的奇異數(shù)據(jù),避免了環(huán)境因素引起的位置誤差。使用Percentile算法提升高斯核函數(shù)選取參數(shù)的效率,提升了認(rèn)證方法的實(shí)時(shí)性。
信號(hào)在無(wú)線傳播信道中的單個(gè)路徑特性可以被建模為時(shí)間線性濾波器,也被稱(chēng)為信道脈沖響應(yīng)(Channel Impulse Response,CIR),其被定義為:
(1)
式中:αi、θi、τi分別為第i條傳播路徑信號(hào)的振幅、相位和時(shí)間延遲;M為傳播路徑的數(shù)量;δ(τ)為狄拉克三角函數(shù)[7]。
CIR在頻域上表現(xiàn)為信道頻率響應(yīng)(Channel Frequency Response,CFR)。而在現(xiàn)有的許多Wi-Fi設(shè)備中,CIR以CSI的形式呈現(xiàn)?,F(xiàn)有的正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing,OFDM)系統(tǒng)[8]中,CSI可以分別體現(xiàn)折射、散射、能量衰減對(duì)于信號(hào)的影響,并且描繪出信號(hào)從發(fā)射端至接收端的傳播過(guò)程,從而減少多徑效應(yīng)[9]對(duì)于信號(hào)傳播的干擾。其可以被定義為:
(2)
式中:fk為第k條載波的頻率;H(fk)為第k條載波的CSI值。
每條載波的CSI值也能夠表示該載波的振幅與相位,即也能定義為:
H(fk)=|H(fk)|ej∠H(fk)
(3)
式中:|H(fk)|和∠H(fk)分別表示載波的振幅與相位。
每個(gè)副載波的接收信號(hào)強(qiáng)度[10]與CSI的振幅成正比,可以表示為:
(4)
因此CSI振幅又可以表示兩個(gè)路由器之間信號(hào)功率的度量。CSI振幅又可以被寫(xiě)為:
(5)
從式(5)可以看出,CSI振幅取決于各個(gè)載波中信號(hào)到達(dá)的時(shí)間延遲τi,而在多載波的分布下,不同位置造成的時(shí)間延遲必然是不同的,因此,CSI振幅在不同位置的情況下也必然是不同的。根據(jù)這一特性,可以得出使用CSI進(jìn)行位置識(shí)別是有可行性的。
基于信道狀態(tài)信息的Wi-Fi認(rèn)證方法的流程如圖1所示。當(dāng)有新設(shè)備發(fā)起連接時(shí),新設(shè)備會(huì)向Wi-Fi發(fā)射源發(fā)出連接請(qǐng)求。此時(shí),Wi-Fi發(fā)射源通過(guò)獲取與新設(shè)備之間的CSI值以進(jìn)行新設(shè)備的位置識(shí)別,當(dāng)位置合法時(shí),則允許連接。而為了合法用戶在非法位置的連接,則可以加入白名單模塊,僅拒絕不在白名單之內(nèi)的非法位置連接。
圖1 認(rèn)證方法結(jié)構(gòu)
具體位置識(shí)別方法如圖2所示,當(dāng)采集到與新設(shè)備之間的CSI值后,首先進(jìn)行數(shù)據(jù)預(yù)處理,預(yù)處理包括CSI去噪和數(shù)據(jù)標(biāo)準(zhǔn)化。首先進(jìn)行降噪處理,以去除CSI數(shù)據(jù)流中環(huán)境因素引起的噪聲。其次,由于各個(gè)載波之間CSI值量級(jí)有一定差異,因此本文對(duì)去噪后的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,消除變量間的量綱關(guān)系,加強(qiáng)各個(gè)載波數(shù)據(jù)之間的可比性。當(dāng)?shù)玫綐?biāo)準(zhǔn)化過(guò)的CSI數(shù)據(jù)后,分為訓(xùn)練階段和實(shí)時(shí)定位階段。在訓(xùn)練階段,將Wi-Fi的覆蓋范圍分成多個(gè)區(qū)域,分為非法區(qū)域和合法區(qū)域,隨后基于在各個(gè)區(qū)域內(nèi)采集的CSI數(shù)據(jù)建立指紋庫(kù),并且構(gòu)建SVM分類(lèi)模型。在構(gòu)建SVM分類(lèi)模型時(shí),采用Percentile算法加快SVM高斯核函數(shù)參數(shù)選擇效率增強(qiáng)認(rèn)證實(shí)時(shí)性。選擇SVM分類(lèi)器作為認(rèn)證模型的原因如下:1) 在進(jìn)行Wi-Fi認(rèn)證時(shí),由于僅需要知曉新設(shè)備所在的區(qū)域,所以無(wú)須進(jìn)行精確定位,因此選擇輕量級(jí)的分類(lèi)模型。2) SVM在分類(lèi)任務(wù)上作用顯著,尤其對(duì)于非法區(qū)域和合法區(qū)域的二分類(lèi)任務(wù)。在實(shí)時(shí)定位階段,采集到的實(shí)時(shí)數(shù)據(jù)經(jīng)過(guò)預(yù)處理之后,直接通過(guò)SVM分類(lèi)模型進(jìn)行設(shè)備位置的識(shí)別。
圖2 位置識(shí)別框架
CSI的振幅信息存在由環(huán)境因素引起的噪聲。為了去除這部分噪聲,本文使用Hampel濾波器進(jìn)行去噪處理,以得到更加有效的CSI的振幅信息。Hampel濾波的基本思想是加權(quán)滑動(dòng)平均,最初被應(yīng)用于去除數(shù)據(jù)中的奇異點(diǎn),其判定數(shù)據(jù)xi的準(zhǔn)則如下:
(6)
式中:m表示在數(shù)據(jù)序列的中值;Std表示數(shù)據(jù)序列的標(biāo)準(zhǔn)差;t表示一種標(biāo)量閾值。當(dāng)判斷為奇異數(shù)據(jù)時(shí),則奇異數(shù)據(jù)的位置用中值代替,其偽代碼如算法1所示。根據(jù)算法1,可以有效去除環(huán)境因素造成的噪聲。
算法1基于Hampel濾波的去噪算法
輸入:CSI的振幅序列|H(fk)|=[|h1||h2|…|hN|]。
//前兩筆數(shù)據(jù)直接復(fù)制
fork=3 ∶Ndo
m=(|hk|+|hk-1|+|hk-2|)/3
//計(jì)算中位數(shù)
//用中值代替奇異數(shù)據(jù)
end if
end for
由圖3可以得出,經(jīng)過(guò)Hampel濾波器可以有效去除CSI振幅中的噪聲。
(a) 去噪之前振幅分布
(b) 去噪之后振幅分布圖3 Hampel濾波去噪效果
對(duì)去噪后的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理是為了消除變量間的量綱關(guān)系,加強(qiáng)各個(gè)載波數(shù)據(jù)之間的可比性。標(biāo)準(zhǔn)化公式如下:
(7)
式中:u為CSI數(shù)據(jù)的平均值;s為CSI數(shù)據(jù)的方差;X′為標(biāo)準(zhǔn)化之后的振幅;X為源數(shù)據(jù)。
為了確定請(qǐng)求連接設(shè)備的位置區(qū)域,本文利用SVM算法找出各個(gè)位置指紋庫(kù)的判定邊界,首先需要構(gòu)建設(shè)備區(qū)域位置和CSI組成的樣本。即(Xi,yi),其中:Xi為標(biāo)準(zhǔn)化過(guò)后的CSI數(shù)據(jù),yi為當(dāng)前設(shè)備的區(qū)域位置標(biāo)記。由于SVM的本質(zhì)是進(jìn)行多次二分類(lèi),因此在每次二分類(lèi)時(shí),用yi∈{-1,1}作為二分類(lèi)標(biāo)記,yi=1表示該樣本屬于該類(lèi)別,yi=-1表示該樣本不屬于該類(lèi)別。
在尋找兩類(lèi)樣本的劃分界面時(shí),兩類(lèi)的劃分一般都是非線性的,因此可以將CSI通過(guò)非線性映射到更高維度的空間,然后在高維度的空間中尋找一個(gè)超平面將兩類(lèi)分開(kāi),其求解方式如下:
(8)
式中:w為超平面的斜率;b為超平面的偏移量。
在求解時(shí),我們引入拉格朗日乘子法可得到其對(duì)偶問(wèn)題,其拉格朗日函數(shù)可寫(xiě)為:
(9)
令L(w,b,α)對(duì)w和b的偏導(dǎo)數(shù)為零可得:
(10)
將式(10)代入式(9),可以得到求解公式為:
(11)
式中:C表示懲罰因子常數(shù),表示在訓(xùn)練時(shí)分類(lèi)錯(cuò)誤的重視程度。最終分類(lèi)的決策如下:
(12)
式中:sgn返回的是得到結(jié)果的正負(fù)號(hào);K為實(shí)現(xiàn)非線性映射的核函數(shù),本文采用的是RBF核函數(shù),其映射關(guān)系為:
(13)
式中:γ代表RBF核函數(shù)的帶寬。
算法2Percentile算法
輸入:標(biāo)準(zhǔn)化CSI振幅序列[X1,X2,…,Xn],n>2。
輸出:最優(yōu)γ和C的數(shù)值。
2. 在D中選取5,25,50,75,95分位上的數(shù),設(shè)為Pi,1≤i≤5。
3. 將γ的候選值定為1/Pi,C的候選值定為exp(Pi/Pj),1≤i,j≤5。
4. 使用交叉驗(yàn)證法在γ和C的候選值中驗(yàn)證最佳值,最終的到最優(yōu)的(γ,C)。
在選取C的最佳值時(shí),由于Pi和Pj都是平方數(shù),則Pi/Pj>0,exp(Pi/Pj)>1。那么C的選擇范圍被限定在大于1的一組序列之中,并且每個(gè)γ的候選值1/Pi,都對(duì)應(yīng)5個(gè)不同C的候選值Pi/Pj,這樣總共就形成了25對(duì)(γ,C)。盡管基于Percentile算法參數(shù)選擇無(wú)法在所有可能的(γ,C)值中找到最佳的參數(shù)值,但是由于算法2中的5個(gè)候選值涵蓋了大部分歐幾里得距離的數(shù)值范圍,因此最后也能夠從25對(duì)(γ,C)中找到合適的參數(shù)對(duì),使得SVM模型對(duì)于新設(shè)備位置有良好的識(shí)別率。
本文實(shí)驗(yàn)收集數(shù)據(jù)所采用的硬件設(shè)備為基于OpenWrt固件的TP-LINK 4900v2路由器。收集114個(gè)載波的信道狀態(tài)信息時(shí)需要利用OpenWrt固件將信道帶寬設(shè)置為40 MHz,頻段為5 GHz。如圖4所示,實(shí)驗(yàn)環(huán)境布置在三個(gè)12 m×12 m的實(shí)驗(yàn)室(R1,R2,R3)和走廊(L)內(nèi)。采集數(shù)據(jù)時(shí),將一臺(tái)路由器放在R3內(nèi),另一臺(tái)路由器作為移動(dòng)節(jié)點(diǎn)分別在走廊L、R2和R3內(nèi)分別收集1萬(wàn)筆數(shù)據(jù)。訓(xùn)練模型時(shí),各取50%的數(shù)據(jù)作為訓(xùn)練集與測(cè)試集。
圖4 實(shí)驗(yàn)環(huán)境
圖5展示了移動(dòng)節(jié)點(diǎn)在不同位置的預(yù)測(cè)結(jié)果??梢钥闯鲈诟鞣块g內(nèi)的預(yù)測(cè)準(zhǔn)確度都可以保證在80%以上。這驗(yàn)證了利用位置服務(wù)實(shí)現(xiàn)Wi-Fi認(rèn)證的可行性。
圖5 位置預(yù)測(cè)結(jié)果
圖6中展示了移動(dòng)節(jié)點(diǎn)在R1、R2、L內(nèi)請(qǐng)求連接R3的錯(cuò)誤認(rèn)證率。假設(shè)R1、R2、L都為非法連接區(qū)域,移動(dòng)節(jié)點(diǎn)在以上三個(gè)區(qū)域能夠連接上處于R3的路由器的情況被認(rèn)為是錯(cuò)誤認(rèn)證??梢钥闯鏊绣e(cuò)誤率都保持在10%以下,其中處于L內(nèi)時(shí)錯(cuò)誤率最高,這主要是由于走廊與R3間隔較近,處于R3門(mén)口位置的數(shù)據(jù)較容易被誤判為R3房間內(nèi)的請(qǐng)求。
圖6 不同場(chǎng)景錯(cuò)誤認(rèn)證率
如圖7所示,移動(dòng)節(jié)點(diǎn)在R1、R2、L內(nèi)請(qǐng)求連接R3的認(rèn)證準(zhǔn)確率分別為93.6%、97.1%、95.2%??梢钥闯鏊姓J(rèn)證準(zhǔn)確率都保持95%左右,驗(yàn)證了本文方法可以在Wi-Fi認(rèn)證上發(fā)揮有效的作用。
圖7 不同場(chǎng)景認(rèn)證準(zhǔn)確率
本文基于信道狀態(tài)信息提出通過(guò)識(shí)別請(qǐng)求連接設(shè)備的位置實(shí)現(xiàn)Wi-Fi認(rèn)證。該方法旨在避免非法用戶通過(guò)破解Wi-Fi密碼的方式在非法位置進(jìn)行連接,有效彌補(bǔ)了傳統(tǒng)密碼驗(yàn)證方式的不足。實(shí)驗(yàn)結(jié)果表明,該方法能夠有效識(shí)別出用戶在限定非法位置的連接請(qǐng)求,識(shí)別準(zhǔn)確率在95%左右。