薛 林
(上海物騏微電子有限公司,上海 201203)
Wi-Fi 網(wǎng)絡作為開放共享無線網(wǎng)絡,成為無線互聯(lián)的主流網(wǎng)絡。但目前Wi-Fi 網(wǎng)絡[1]的安全性是基于IEEE 802.11x 協(xié)議定義的身份認證和加密算法,該方法屬于數(shù)據(jù)鏈路層的認證方法,存在安全漏洞,容易被攻擊,非法用戶通過偵聽和大量重復的嘗試獲得Wi-Fi 密鑰并不困難。此外,通常情況下,Wi-Fi 網(wǎng)絡接入密碼為多人所知,容易被有意或無意泄露;還有黑客盜取合法用戶設備媒體接入控制(Media Access Control,MAC)地址,采用假冒的MAC 地址進入網(wǎng)絡的白名單。上述問題對于安全級別較高的場所,如國家機關和企事業(yè)單位,將構成嚴重的安全隱患。目前只能通過頻繁更換Wi-Fi 密碼來應對,但是這樣又會帶來用戶使用不方便的問題。
已有的解決方案是采用射頻指紋識別技術對用戶設備認證,其工作原理是:在Wi-Fi 網(wǎng)絡中安裝偵聽設備,接收網(wǎng)絡中所有客戶端設備發(fā)送的無線幀,并進行解調(diào)獲得星座圖;由于不同設備的發(fā)射機特性不同,解調(diào)得到的星座圖會有差別,將該星座圖和已知合法用戶設備的星座圖進行比對,確認該設備是否有合法身份。Wi-Fi 6 物理層采用正交頻分多址(Orthogonal Frequency Division Multiple Access,OFDMA)[2-4],各設備數(shù)據(jù)傳輸在時間上是重疊的,上述方法無法從時間上區(qū)分不同設備發(fā)送的無線幀,從而不能獲得某個設備的射頻指紋。而且星座圖和調(diào)制方式有關,同一個設備不同調(diào)制速率下的星座圖也各不相同,因此該識別方法局限性很大。
針對上述問題,本文提出了一種適用于Wi-Fi 6 協(xié)議的射頻指紋技術,用于對用戶進行身份驗證。將該方法應用在Wi-Fi AP 接收機上,對上行各用戶在OFDMA 的資源單元(Resource Unit,RU)[5-7]進行提取,然后使用信道估計獲得各上行用戶設備的發(fā)射機射頻特征,再計算該射頻特征與已有合法接入設備射頻特征的相似度,確定用戶設備是否合法。使用該方法可有效彌補原有認證方法的不足,實現(xiàn)更高等級的網(wǎng)絡安全。
如圖1 所示,整個用戶身份認證系統(tǒng)包括Wi-Fi 接入點(Access Point,AP)和認證服務器(Authority Server,AS)。其中Wi-Fi AP 完成對接入用戶設備(Station,STA)的射頻指紋提取,認證服務器AS 負責用戶身份認證工作,兩者可以是物理上分離的兩臺設備,它們通過網(wǎng)絡連接(包括有線或無線連接),也可以在AP 中集成AS 功能,使其成為單一物理實體。
圖1 Wi-Fi 網(wǎng)絡認證結構
接下來的章節(jié)分別介紹射頻指紋技術[8-9]、合法設備的射頻指紋錄入過程、對接入設備的射頻指紋認證過程[10]。
Wi-Fi 6 中上行物理層多用戶數(shù)據(jù)采用OFDMA方式復用,也就是將不同用戶數(shù)據(jù)分配到OFDMA波形的不同RU。例如,使用HT20 模式即20 Mbit/s傳輸帶寬內(nèi)一共有256 個子載波,除去特殊用途占用的子載波外,其余子載波分配給不同用戶使用。如圖2 所示,4 個用戶的數(shù)據(jù)同時在頻域和時域上復用,在同一個時隙內(nèi)不同用戶占用頻域內(nèi)的不同頻帶,一個用戶在不同時隙可能占用的頻帶不同。協(xié)議規(guī)定20 Mbit/s 傳輸帶寬內(nèi)子載波可以靈活配置分給9 個、4 個、2 個或1 個用戶,1 個用戶占用1 個RU,也就是說,1 個RU 在不同配置下可以有26 個、52 個、106 個或242 個子載波。
圖2 Wi-Fi 6 OFDMA 多用戶數(shù)據(jù)RU 分配
接入點AP 接收多用戶設備發(fā)送的OFDMA 方式復用的上行無線信號。AP 通過頻域信號處理,解調(diào)出全部子載波,然后根據(jù)RU 分配規(guī)則分離出不同用戶的RU。針對某個用戶的RU 進行信道估計,得到理想信號和實際信號的轉換關系式:
式中:din為實際接收到的解調(diào)符號矢量,dout為理想接收符號,為信道估計矩陣。由可以得到該用戶射頻發(fā)射機的以下特征:
(1)頻偏(Frequency Offset,F(xiàn)O),將ppm 轉化為dB 表示。
(2)載波泄露(Carrier Leakage,CL),單位為dB。
(3)相位噪聲(Phase Noise,PN),單位為dB。
(4)IQ 幅度失配(Amplitude Mismatch,AM),單位為dB。
根據(jù)這些特征參數(shù),生成該用戶設備在其占用RU 上的射頻指紋矢量:
任意兩個射頻指紋的差異用射頻指紋間距(RF finger Distance,RFD)表示。假設兩個用戶STAi和STAj在第k個RU,即RUk上的射頻指紋分別表示為Fpi(k)和Fpj(k),則它們在RUk上的射頻指紋間距計算公式為:
式中:FODij(k)=|FOi(k)-FOj(k)|,表示STAi和STAj在RUk的頻偏距離;CLDij(k)=|CLi(k)-CLj(k)|,表示STAi和STAj在RUk的載波泄露距離;PNDij(k)=|PNi(k)-PNj(k)|,表 示STAi和STAj在RUk的 相 噪 距 離;AMDij(k)=|AMi(k)-AMj(k)|,表 示STAi和STAj在RUk的IQ 幅度失配距離。則STAi和STAj在全部共M個RU 上的射頻指紋距離集合表示為{RFDij(0),RFDij(1),…,RFDij(M-1)}。
定義STAi和STAj的射頻指紋總偏差為:
確認用戶身份的方法是:AP 獲得某個用戶STAX在所有RU 上的射頻指紋后,計算該指紋和合法用戶STAi的射頻指紋總偏差sum(RFDxi),若小于閾值RFDth(根據(jù)實際AP 型號確定),則該用戶設備可能是用戶STAi,否則不可能是用戶STAi。
基于上述射頻指紋識別方法,接下來分別說明合法設備的射頻指紋錄入過程和對接入設備的射頻指紋識別過程。
要使用Wi-Fi 網(wǎng)絡的設備,STA 首先需要取得合法身份,該合法身份是通過人工確認獲得的。STA 被確認為合法設備后,才能進行射頻指紋錄入。合法設備射頻指紋錄入的流程如圖3 所示,具體說明如下文所述。
圖3 合法設備射頻指紋錄入流程
(1)由認證服務器AS 發(fā)送“請求錄入指紋消息”給AP,要求錄入設備STA 的指紋,消息中包含該設備的MAC 地址信息。AP 返回“確認消息”(ACK)給AS,然后等待STA 接入。
(2)設備STA 發(fā)起“關聯(lián)請求”(Association Request),AP 檢查設備MAC 地址為STA 的MAC地址,然后同意接入,并返回“關聯(lián)響應”(Association Response)給STA。
(3)AP 發(fā)送“在指定RU 進行數(shù)據(jù)上報”消息,要求STA 在上行指定的某RU 上進行數(shù)據(jù)傳輸,這里假設為RU0。STA 在RU0上發(fā)送無線數(shù)據(jù)幀后,AP 提取RU0上的射頻指紋矢量,表示為Fp(0)。然后,AP 繼續(xù)發(fā)送“在指定RU 進行數(shù)據(jù)上報”消息,要求STA 在其他RU 上發(fā)送上行數(shù)據(jù),這里假設為RU1。STA 在RU1上發(fā)送無線數(shù)據(jù)幀后,AP 提取RU1上的射頻指紋矢量,表示為Fp(1)。接下來,AP 繼續(xù)發(fā)送多條“在指定RU 進行數(shù)據(jù)上報”消息,要求STA 在其他RU 上發(fā)送上行數(shù)據(jù),經(jīng)過多次交互后完成全部RU 上的射頻指紋矢量提取。
(4)AP 發(fā)送“存儲設備射頻指紋”消息,假設總共有M個RU,則將射頻指紋集合FPG={Fp(0),Fp(1),…,Fp(M-1)}上報給AS,AS 將該射頻指紋集合和STA 的MAC 地址綁定,保存到數(shù)據(jù)庫中。
某個設備STAX請求接入Wi-Fi 網(wǎng)絡時,網(wǎng)絡采用射頻指紋和數(shù)據(jù)鏈路雙重認證的方式。射頻指紋認證和數(shù)據(jù)鏈路認證可以采用不同的先后順序,實施例中會加以說明。這里只說明射頻指紋認證過程,如圖4 所示。
圖4 接入設備射頻指紋認證流程
(1)AP 發(fā)送“在指定RU 進行數(shù)據(jù)上報”消息給STAX,要求STAX在上行指定的某RU 上進行數(shù)據(jù)傳輸,這里假設為RU0。STAX在RU0 上發(fā)送無線數(shù)據(jù)幀后,AP 提取RU0上的射頻指紋矢量,表示為FpX(0)。然后,AP 繼續(xù)發(fā)送“在指定RU 進行數(shù)據(jù)上報”消息,要求STAX在其他RU 上發(fā)送上行數(shù)據(jù),這里假設為RU1。STAX在RU1上發(fā)送無線數(shù)據(jù)幀后,AP 提取RU1上的射頻指紋矢量,表示為FpX(1)。接下來,AP 繼續(xù)發(fā)送多條“在指定RU進行數(shù)據(jù)上報”消息,要求STAX在其他RU 上發(fā)送上行數(shù)據(jù),經(jīng)過多次交互后完成全部RU 上的射頻指紋矢量提取,得到被認證設備STAX在全部RU上的指紋信息集合,表示為FPGX={FpX(0),FpX(1),…,FpX(M-1)}。
(2)AP 發(fā)送“認證設備射頻指紋”消息給AS,消息包含設備STAX的MAC 地址和指紋信息集合FPGX。AS 首先通過設備MAC 地址檢索已有用戶數(shù)據(jù)庫,確認該MAC 地址屬于已知用戶設備:若MAC 地址不是已知合法用戶的,則向AP 返回認證失敗消息;若MAC 地址正確,從數(shù)據(jù)庫中提取該MAC 地址對應的射頻指紋集合,假設為數(shù)據(jù)庫中第i個用戶,則指紋集合表示為FPGi。計算其和STAX射頻指紋集合FPGX的射頻指紋總偏差sum(RFDxi),若小于閾值RFDth,則該用戶設備可能是用戶STAi,返回認證成功消息;否則不可能是用戶STAi,返回認證失敗消息。
對接入設備的身份認證采用射頻指紋和數(shù)據(jù)鏈路的雙重認證方法,二者可以采取不同的先后順序,下面分別討論。
如圖5 所示,使用先射頻指紋認證,再數(shù)據(jù)鏈路認證的方法時,先執(zhí)行AP 采集STAX射頻指紋,AS 完成射頻指紋檢索比對,確認射頻指紋是否為合法用戶的射頻指紋:若不是,則直接拒絕該設備接入網(wǎng)絡;若是,再繼續(xù)數(shù)據(jù)鏈路認證。也就是執(zhí)行802.11x 協(xié)議規(guī)定的過程,包括:用戶設備提供Wi-Fi 網(wǎng)絡密碼,AP 進行確認;雙方進行加密方式和密鑰的協(xié)商過程,最終獲準用戶使用Wi-Fi 網(wǎng)絡。
圖5 接入設備射頻指紋認證方法1
該方法的優(yōu)點是,在射頻指紋識別階段就可以攔截非法用戶的入侵,不讓其利用網(wǎng)絡進行數(shù)據(jù)傳輸。缺點是,認證時間較長,因為對其進行射頻指紋識別需要經(jīng)過持續(xù)數(shù)十秒的數(shù)據(jù)統(tǒng)計處理,造成用戶等待接入時間較長,體驗感差。
如圖6 所示,使用先數(shù)據(jù)鏈路認證,再射頻指紋認證時,先執(zhí)行傳統(tǒng)802.11x 協(xié)議規(guī)定的數(shù)據(jù)鏈路層認證過程,完成Wi-Fi 網(wǎng)絡密碼檢查,加密方式和密鑰協(xié)商,允許用戶接入網(wǎng)絡。然后在后續(xù)用戶設備數(shù)據(jù)傳輸階段,AP 對其射頻指紋進行提取,AS 完成射頻指紋檢索比對,確認射頻指紋是否為合法用戶的射頻指紋:若不是,則發(fā)送“終止網(wǎng)絡連接”消息給該用戶,停止其繼續(xù)接入網(wǎng)絡;若是,繼續(xù)允許該用戶設備使用網(wǎng)絡傳輸數(shù)據(jù)。
圖6 接入設備射頻指紋認證方法2
該方法的優(yōu)點是,不會額外增加用戶等待接入網(wǎng)絡時間,體驗感較好。缺點是,需要容忍非法用戶持續(xù)數(shù)十秒的網(wǎng)絡入侵,有一定的安全隱患。
本文介紹了一種適用于Wi-Fi 6 協(xié)議的射頻指紋技術,使用該技術實現(xiàn)對Wi-Fi 用戶的身份驗證。通過先對OFDMA 的各資源單元提取,再經(jīng)過信道估計獲得接入設備的發(fā)射機的射頻特征,然后計算出該射頻特征與已有合法接入設備射頻特征的相似度,最終判斷設備是否為合法接入設備。該方法還可以結合現(xiàn)有協(xié)議中數(shù)據(jù)鏈路層的身份認證,實現(xiàn)雙重認證。本方法可以應用在對網(wǎng)絡安全要求較高的場所,實現(xiàn)更高等級的網(wǎng)絡安全。