胡園園 ,胡愛(ài)群 ,李 晟 ,劉佳琪 李 冰
1 東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 南京 中國(guó) 211189
2 東南大學(xué)信息科學(xué)與工程學(xué)院 南京 中國(guó) 211111
3 南京理工大學(xué)紫金學(xué)院計(jì)算機(jī)學(xué)院 南京 中國(guó) 210023
對(duì)終端設(shè)備實(shí)施接入認(rèn)證以杜絕非法接入是保障有線網(wǎng)絡(luò)安全的重要措施。目前應(yīng)用的接入認(rèn)證方法主要有對(duì)終端設(shè)備的MAC 地址進(jìn)行認(rèn)證,以及基于數(shù)字證書(shū)的安全認(rèn)證。但I(xiàn)P 地址和MAC 地址容易被篡改和偽造,因此基于MAC 地址的接入認(rèn)證不足以保障有線網(wǎng)絡(luò)的安全。而基于數(shù)字證書(shū)的接入認(rèn)證雖然相對(duì)安全,但使用過(guò)程復(fù)雜且數(shù)字證書(shū)本身也存在被竊取、盜用的風(fēng)險(xiǎn),這在大規(guī)模的網(wǎng)絡(luò)應(yīng)用中是不方便的。因此,有線網(wǎng)絡(luò)需要更安全和方便的安全機(jī)制。
近些年的研究表明,通信用設(shè)備發(fā)射的信號(hào)具有物理指紋特征。該特征類(lèi)似于人的指紋,稱(chēng)為設(shè)備指紋或設(shè)備DNA,是設(shè)備中的電子元器件因制造容差或漂移容差等物理因素導(dǎo)致的固有特性,無(wú)法改變和偽造。利用設(shè)備指紋對(duì)設(shè)備進(jìn)行識(shí)別和認(rèn)證具有難以克隆和偽造以及對(duì)上層協(xié)議透明等優(yōu)點(diǎn),目前已在無(wú)線網(wǎng)絡(luò)認(rèn)證中引起了高度關(guān)注,在無(wú)線WiFi、LTE 和Zigbee 等無(wú)線系統(tǒng)都有廣泛研究[1-3]。例如,彭林寧等人[4]利用差分星座軌跡圖(CTF)和來(lái)自CTF 的載波頻偏、調(diào)制偏移與I/Q 偏移等多個(gè)設(shè)備指紋特征,很好地實(shí)現(xiàn)了對(duì)Zig-bee 設(shè)備的分類(lèi)識(shí)別。
有線網(wǎng)絡(luò)中,一張普通的網(wǎng)卡也含有大量的電子元器件,電子元器件也會(huì)因制造容差和漂移容差而造成不同的物理特征。此外,網(wǎng)卡工作環(huán)境(如溫度、噪聲、傳輸通道等因素)的變化也會(huì)導(dǎo)致其物理特征的變化[5]。文獻(xiàn)[6]的研究表明,這些物理層特征在不同網(wǎng)卡中是唯一的,即使是同一廠家同一型號(hào)同一系列甚至是同一批次的通信設(shè)備也會(huì)存在微小差異。因此,受無(wú)線系統(tǒng)中設(shè)備指紋識(shí)別成功的啟發(fā),自2006 年起,有線領(lǐng)域也開(kāi)始了基于設(shè)備指紋識(shí)別和認(rèn)證的研究[7-8]。2011 年,Gerdes 首次證實(shí)了從以太網(wǎng)網(wǎng)卡信號(hào)中可以提取出有效的網(wǎng)卡指紋[9]。后來(lái),陸續(xù)有專(zhuān)家研究有線網(wǎng)絡(luò)設(shè)備指紋的提取和識(shí)別,但截至目前,國(guó)內(nèi)外涉足有線網(wǎng)絡(luò)設(shè)備指紋的提取與識(shí)別的研究仍然較少。
無(wú)線設(shè)備的指紋可從瞬態(tài)信號(hào)中提取,也可從穩(wěn)態(tài)信號(hào)中提取。瞬態(tài)信號(hào)[10]是設(shè)備開(kāi)/關(guān)瞬間產(chǎn)生的信號(hào),不包含任何數(shù)據(jù)信息,只體現(xiàn)設(shè)備的硬件特征,具有“獨(dú)立性”,射頻指紋最初就是從瞬態(tài)信號(hào)中提取的[11]。但是瞬態(tài)信號(hào)持續(xù)時(shí)間短,難以捕獲,而且需要采樣率很高的接收機(jī)(比如高性能示波器),對(duì)突變點(diǎn)檢測(cè)和定位較為敏感,需要高信噪比條件,這些弊端限制了基于瞬態(tài)信號(hào)的設(shè)備指紋的應(yīng)用。而且,根據(jù)Gerdes 等人[12]的研究,瞬態(tài)響應(yīng)在有線網(wǎng)絡(luò)的傳輸過(guò)程中非常微弱,獲得的數(shù)據(jù)不足以為有線網(wǎng)卡的區(qū)分提供充足的特征,且很難在幀頭捕捉到瞬態(tài)信號(hào)。因此,瞬態(tài)信號(hào)不適用于有線設(shè)備的指紋提取。因而本文主要研究從穩(wěn)態(tài)信號(hào)中提取網(wǎng)卡指紋的方法。
穩(wěn)態(tài)信號(hào)是指瞬態(tài)信號(hào)之后,設(shè)備處于穩(wěn)定工作狀態(tài)時(shí)的信號(hào)。穩(wěn)態(tài)信號(hào)持續(xù)時(shí)間長(zhǎng),更容易獲得,利用廉價(jià)的接收機(jī)即可完成。目前針對(duì)有線設(shè)備指紋的提取也都基于穩(wěn)態(tài)信號(hào),主要的研究有:2012年,Gerdes[12]利用自適應(yīng)濾波結(jié)合傅里葉變換提取出網(wǎng)卡指紋,對(duì)27個(gè)10M 以太網(wǎng)網(wǎng)卡的識(shí)別率達(dá)到94.0%;2015~2016年,Carbino 等人[13-14]利用基于星座獨(dú)特本質(zhì)屬性(CB-DNA)的方法,將以太網(wǎng)卡無(wú)意的電纜輻射信號(hào)映射到二維星座空間從而提取出網(wǎng)卡指紋,對(duì)16個(gè)10M 以太網(wǎng)網(wǎng)卡的識(shí)別率達(dá)到93.1%;2017年,Ross[15]利用有線信號(hào)獨(dú)特本地屬性(WS-DNA)方法從電力線通信系統(tǒng)中的Hub 設(shè)備信號(hào)中提取指紋,對(duì)6個(gè)Hub 設(shè)備在信噪比SNR=46時(shí)識(shí)別率達(dá)到99.0%;2019年,國(guó)內(nèi)的彭林寧等人[16]利用臨近星座恍惚狀態(tài)圖(ACTF)提取出光纖以太網(wǎng)設(shè)備的指紋,對(duì)24個(gè)光纖以太網(wǎng)設(shè)備的識(shí)別率高達(dá)99.49%。
目前,針對(duì)有線網(wǎng)卡指紋提取的研究成果僅有上面這些。這些研究大都基于10M 有線網(wǎng)卡,而當(dāng)前10M有線網(wǎng)卡已非主流,而是被更高的100M及以上速率的網(wǎng)卡所替代。另外,研究的樣本量較低,網(wǎng)卡識(shí)別率也普遍不高。相對(duì)于一塊10M 有線網(wǎng)卡發(fā)出的前導(dǎo)碼信號(hào)固定不變,為了避免出現(xiàn)連續(xù)長(zhǎng)度的重復(fù)數(shù)據(jù),保證輸出均勻功率的數(shù)據(jù)信號(hào),100M有線網(wǎng)卡在發(fā)送數(shù)據(jù)時(shí)會(huì)對(duì)數(shù)據(jù)進(jìn)行加擾[17-18],這樣一塊100M 有線網(wǎng)卡發(fā)出的前導(dǎo)碼信號(hào)會(huì)隨機(jī)變動(dòng),因此,不能使用前導(dǎo)碼信號(hào)提取特征。另外,100M 有線網(wǎng)卡不再如10M 有線網(wǎng)卡那樣采用曼徹斯特編碼(用跳變沿表示二進(jìn)制0 或1,從高電平到低電平跳變表示0,反之表示1),而是先進(jìn)行4B/5B 編碼再進(jìn)行三電平的MLT-3 編碼[19-21](信號(hào)分正電平、負(fù)電平、零電平三種電位狀態(tài),用電平不變表示二進(jìn)制0,用電平跳變表示二進(jìn)制1),這樣二進(jìn)制0 的波形沒(méi)有變化,二進(jìn)制1 的波形變化不固定,基于波形星座圖的特征提取方法不適用。因此,本文針對(duì)50塊100M 速率的以太網(wǎng)網(wǎng)卡展開(kāi)研究,提出一種基于最小均方誤差(Least Mean Square)自適應(yīng)濾波算法(以下簡(jiǎn)稱(chēng)LMS 算法)的指紋提取方法,該方法能夠直接從100M 以太網(wǎng)網(wǎng)卡的穩(wěn)態(tài)信號(hào)中提取出網(wǎng)卡指紋,無(wú)需信號(hào)的任何先驗(yàn)知識(shí),簡(jiǎn)單方便,且提取的網(wǎng)卡指紋產(chǎn)生自網(wǎng)卡本身的物理特性,不可克隆,無(wú)法被篡改。
LMS 算法[22]是一種自適應(yīng)濾波算法,自適應(yīng)濾波算法的核心思想就是調(diào)整濾波器自身參數(shù),使濾波器的輸出信號(hào)與期望輸出信號(hào)之間滿(mǎn)足某種最佳準(zhǔn)則要求。不同的準(zhǔn)則可以產(chǎn)生不同的自適應(yīng)濾波算法,如基于最小均方誤差、遞推最小二乘(RLS)、變換域、子帶分解以及QR 分解等自適應(yīng)濾波算法。其中,由Widow 和Hoff 提出的最小均方誤差算法(以下簡(jiǎn)稱(chēng)LMS 算法),具有計(jì)算量小、易于實(shí)現(xiàn)、穩(wěn)定性好等優(yōu)點(diǎn)而在實(shí)踐中被廣泛采用。
LMS 算法的準(zhǔn)則是使均方誤差達(dá)到最小,即期望響應(yīng)與濾波器實(shí)際輸出之差的平方的期望值達(dá)到最小,并且依據(jù)這個(gè)準(zhǔn)則來(lái)修改權(quán)重系數(shù)向量。如圖1 所示為L(zhǎng)MS 算法原理圖。
現(xiàn)要求期望響應(yīng)與濾波器實(shí)際輸出之間滿(mǎn)足LMS 準(zhǔn)則,即求min [E(e2n,使期望響應(yīng)與濾波器實(shí)際輸出之差的平方的期望值Ee2n達(dá)到最小。
根據(jù)最速下降理論,沿著目標(biāo)函數(shù)最速下降方向(即負(fù)梯度方向)調(diào)整濾波器權(quán)重系數(shù),會(huì)找到目標(biāo)函數(shù)的最小值,因而對(duì)min [E(e2n求導(dǎo)并使導(dǎo)數(shù)為0,得到:
按照公式(3) (μ為收斂因子)來(lái)迭代修改自適應(yīng)濾波器的權(quán)重系數(shù)W,期望響應(yīng)與濾波器實(shí)際輸出之差會(huì)越來(lái)越小,濾波器實(shí)際輸出會(huì)無(wú)限逼近期望響應(yīng)。給定收斂因子μ,濾波器的權(quán)重系數(shù)最終會(huì)收斂到一個(gè)固定值,此時(shí)濾波器實(shí)際輸出與期望響應(yīng)之間的誤差最小。
LMS 算法可不需要任何關(guān)于目標(biāo)信號(hào)的先驗(yàn)知識(shí)而可直接從目標(biāo)信號(hào)中提取出其特征指紋。鑒于目前國(guó)內(nèi)外對(duì)有線以太網(wǎng)網(wǎng)卡指紋的研究成果較少,對(duì)于有線以太網(wǎng)網(wǎng)卡的信號(hào)特征缺少先驗(yàn)知識(shí),因此本文提出基于LMS 算法提取有線以太網(wǎng)網(wǎng)卡指紋。
本文研究從有線以太網(wǎng)網(wǎng)卡的穩(wěn)態(tài)信號(hào)中提取網(wǎng)卡的物理特征。如引言所述,網(wǎng)卡的工作環(huán)境如溫度、噪聲、傳輸通道(包括傳輸介質(zhì)、介質(zhì)長(zhǎng)度)等因素也會(huì)引起物理特征的變化,這些因素為網(wǎng)卡信號(hào)增加了隨機(jī)和非平穩(wěn)成分,必須盡可能地將其差異最小化以獲得一致的測(cè)量結(jié)果。為此,本文盡可能地在同一環(huán)境下采集網(wǎng)卡信號(hào),這樣,信號(hào)的傳輸通道相同,采集信號(hào)時(shí)的溫度、噪聲變化不大,網(wǎng)卡的物理特征因此而產(chǎn)生的差異可忽略不計(jì)。
有線以太網(wǎng)網(wǎng)卡一般作為用戶(hù)PC的網(wǎng)絡(luò)接口卡與交換機(jī)互聯(lián),其網(wǎng)絡(luò)環(huán)境是遵守IEEE 802.3 標(biāo)準(zhǔn)的以太網(wǎng)[23]。以太網(wǎng)使用的傳輸介質(zhì)主要包括同軸電纜、雙絞線、光纖。根據(jù)不同的傳輸速率和距離要求,基于這三類(lèi)介質(zhì)的信號(hào)線又衍生出很多不同的種類(lèi)。目前最主流的傳輸介質(zhì)是100BASE-T 和1000BASE-T 的5 類(lèi)雙絞線,它們的傳輸速率分別為100Mbps 和1000Mbps??紤]1000BASE-T 雙絞線即使工作在半雙工模式下,在空閑時(shí)交換機(jī)也會(huì)給網(wǎng)卡傳輸數(shù)據(jù),這會(huì)干擾網(wǎng)卡發(fā)出的信號(hào),因此本文采集基于100BASE-TX 標(biāo)準(zhǔn)傳輸(采用5 類(lèi)雙絞線、100Mbps 傳輸速率)的網(wǎng)卡信號(hào)。
IEEE 802.3 標(biāo)準(zhǔn)規(guī)定以太網(wǎng)中傳輸?shù)臄?shù)據(jù)包格式如圖 2 所示,該數(shù)據(jù)包格式被稱(chēng)為以太網(wǎng)MAC 幀。
在傳輸每個(gè)以太網(wǎng)MAC 幀時(shí),網(wǎng)卡會(huì)先發(fā)一段前導(dǎo)碼,內(nèi)容為連續(xù)7 個(gè)字節(jié)的0x55,用于使收發(fā)雙方的時(shí)鐘同步;然后發(fā)一個(gè)字節(jié)的幀開(kāi)始定界符,內(nèi)容為0xD5,用于指示以太網(wǎng)MAC 幀的開(kāi)始。隨后的以太網(wǎng)MAC 幀的每個(gè)字段會(huì)隨傳輸數(shù)據(jù)和網(wǎng)卡的不同而變化。如2.1 節(jié)所述,100M 有線網(wǎng)卡在發(fā)送數(shù)據(jù)時(shí)會(huì)對(duì)數(shù)據(jù)進(jìn)行加擾[33],導(dǎo)致發(fā)出的前導(dǎo)碼信號(hào)會(huì)隨機(jī)變動(dòng),不能使用100M 有線網(wǎng)卡的前導(dǎo)碼信號(hào)提取特征。因此,本文采集包含前導(dǎo)碼在內(nèi)的若干個(gè)完整的以太網(wǎng)MAC 幀信號(hào),從長(zhǎng)信號(hào)段中提取指紋特征以降低擾碼對(duì)信號(hào)波形的影響。同時(shí),為了盡量減少數(shù)據(jù)對(duì)網(wǎng)卡信號(hào)的影響,本文采集網(wǎng)卡空閑時(shí)的信號(hào),也就是不傳輸用戶(hù)數(shù)據(jù)時(shí)的信號(hào)。
在有線網(wǎng)卡發(fā)送數(shù)據(jù)信息時(shí),傳輸介質(zhì)上便會(huì)產(chǎn)生相應(yīng)的模擬電平信號(hào),這些信號(hào)按照IEEE 802.3標(biāo)準(zhǔn)約定的數(shù)據(jù)傳輸協(xié)議與數(shù)據(jù)編碼協(xié)議生成,需要在保留其物理層特征的前提下進(jìn)行采集,作為提取網(wǎng)卡指紋的原料。為此,本文采用過(guò)采樣方式在網(wǎng)卡和交換機(jī)之間的線路上采集以太網(wǎng)網(wǎng)卡的完整的兩路差分信號(hào)。采集網(wǎng)卡信號(hào)的組網(wǎng)如圖3 所示,待采集的網(wǎng)卡通過(guò)100Mbps 速率的雙絞線連接交換機(jī),AD9484 信號(hào)采集板串聯(lián)在網(wǎng)卡與交換機(jī)之間,使用625Mbps 的采樣率、8bit/樣點(diǎn)的采樣精度來(lái)采集網(wǎng)卡與交換機(jī)間的閑時(shí)信號(hào)(即不傳輸用戶(hù)數(shù)據(jù)情況下的信號(hào)),采集的信號(hào)經(jīng)過(guò)USB 接口存儲(chǔ)到電腦中。
本次實(shí)驗(yàn)實(shí)際采集到的網(wǎng)卡信號(hào)如圖4 所示。而100BASE-TX 標(biāo)準(zhǔn)傳輸?shù)木W(wǎng)卡信號(hào)按MLT-3 編碼方式編碼[32],其標(biāo)準(zhǔn)信號(hào)波形如圖5 所示。
對(duì)比圖4 和圖5 可以發(fā)現(xiàn),實(shí)際的網(wǎng)卡信號(hào)波形與標(biāo)準(zhǔn)的MLT-3 編碼波形相比,并沒(méi)有那么完美,存在著許多抖動(dòng)與毛刺,而這其中正包含著網(wǎng)卡的物理特征。從采集到的網(wǎng)卡信號(hào)中將這些特征提取并數(shù)據(jù)化,就可以作為發(fā)送設(shè)備的身份認(rèn)證信息。在本文中,將提取的這些特征信息統(tǒng)一稱(chēng)為“網(wǎng)卡指紋”。
本文利用LMS 算法提取有線網(wǎng)卡指紋,如圖6所示為提取指紋的整個(gè)過(guò)程:首先將采集的網(wǎng)卡信號(hào)進(jìn)行預(yù)處理,以消除影響指紋提取的因素;再通過(guò)判決整形和符號(hào)同步獲得與接收信號(hào)同步的本地時(shí)鐘信號(hào),用此同步時(shí)鐘對(duì)判決整形后的信號(hào)重新采樣,即可獲得與接收信號(hào)同步的理想信號(hào)。將理想信號(hào)作為L(zhǎng)MS 自適應(yīng)濾波器的濾波輸入,預(yù)處理后的接收信號(hào)作為L(zhǎng)MS 自適應(yīng)濾波器的期望響應(yīng),使得理想信號(hào)在濾波后以最小均方誤差逼近接收信號(hào)。自適應(yīng)濾波器收斂后,采用濾波器的權(quán)重系數(shù)作為網(wǎng)卡指紋。
用上述方法提取同一網(wǎng)卡多個(gè)采集信號(hào)的指紋信息,取這些指紋信息的平均值,即可獲得較為穩(wěn)定的網(wǎng)卡指紋。
預(yù)處理主要目的是消除環(huán)境因素對(duì)采集信號(hào)的影響,以方便特征提取。一般包括直流分量、功率歸一化等。但本文采集的網(wǎng)卡信號(hào)采用曼徹斯特編碼,該編碼下每位編碼中信號(hào)都會(huì)跳變一次,因此不存在直流分量,具有良好的抗干擾性能,因而無(wú)需去除直流分量。但網(wǎng)卡和交換機(jī)之間距離的變化會(huì)導(dǎo)致接收功率的變化,因此需要通過(guò)功率歸一化來(lái)消除接收功率等與采集環(huán)境相關(guān)的差異。功率歸一化方法比較簡(jiǎn)單。就是首先計(jì)算采集信號(hào)的各電平幅度的平均值,然后將各電平除以該平均幅度即可將功率歸一化。
為了有效地抑制具體數(shù)據(jù)對(duì)于指紋提取的影響,信號(hào)進(jìn)行功率歸一化處理后,還需將兩路差分信號(hào)相減,使用相減后的信號(hào)作為指紋提取的接收信號(hào)。
如圖6 所示,在利用LMS 算法提取網(wǎng)卡指紋系統(tǒng)中,LMS 自適應(yīng)濾波器需要一個(gè)理想信號(hào)作為濾波輸入,該理想信號(hào)須與接收信號(hào)同步,否則兩個(gè)信號(hào)段的起始位置在一個(gè)周期內(nèi)可能是不同的,這樣會(huì)弱化提取特征的有效性。本文設(shè)計(jì)先通過(guò)“判決整形”和“符號(hào)同步”獲得與接收信號(hào)同步的本地時(shí)鐘信號(hào),再使用該本地時(shí)鐘信號(hào)重新采樣判決整形后的信號(hào),即可獲得與接收信號(hào)同步的理想信號(hào)。
4.2.1 判決整形
判決整形的目的是將接收信號(hào)的波形整形為與理想的差分曼徹斯特編碼波形相似的方波,本文將判決門(mén)限設(shè)定為接收信號(hào)各個(gè)電平的平均幅度值的1/2。如圖7 所示為接收信號(hào)判決整形后的波形與接收信號(hào)波形對(duì)比圖。
4.2.2 符號(hào)同步
符號(hào)同步的目的是獲得與接收信號(hào)同步的本地時(shí)鐘信號(hào)。為此,本文通過(guò)提取判決整形后的信號(hào)的上升沿和下降沿生成脈沖序列,并在本地生成一個(gè)與信號(hào)數(shù)據(jù)速率相同的本地時(shí)鐘信號(hào),然后通過(guò)循環(huán)移位并計(jì)算脈沖序列與本地時(shí)鐘信號(hào)的異或的和,異或和最小的本地時(shí)鐘信號(hào)即為與接收信號(hào)同步的本地時(shí)鐘信號(hào)。
如圖8 所示為獲取的理想信號(hào)波形與接收信號(hào)波形的對(duì)比圖。從圖中可以看到,理想信號(hào)與接收信號(hào)的時(shí)鐘是同步的。
如圖6 所示,將上面獲得的理想信號(hào)作為L(zhǎng)MS自適應(yīng)濾波器的輸入信號(hào),將預(yù)處理后的接收信號(hào)經(jīng)過(guò)延時(shí)后作為期望響應(yīng),分別送入LMS 自適應(yīng)濾波器,使得理想信號(hào)在濾波后以最小均方誤差逼近接收信號(hào)。
假設(shè)接收信號(hào)包含M個(gè)數(shù)據(jù),接收信號(hào)為zmn,m=0,1,…,M–1,經(jīng)判決整形和重采樣后獲得的理想信號(hào)為xmn,m=0,1,…,M–1,則理想信號(hào)經(jīng)LMS 自適應(yīng)濾波器濾波后產(chǎn)生的輸出ymn為:
ymn與接收信號(hào)zmn間的誤差為en,即:
LMS 自適應(yīng)濾波器收斂后,其輸出信號(hào)與接收信號(hào)的最小均方誤差達(dá)到最小,此時(shí)認(rèn)為理想信號(hào)在濾波后與接收信號(hào)基本相同,而自適應(yīng)濾波器的權(quán)重系數(shù)wi?w0,w1,…,wL-1(其中L為濾波器階數(shù))則認(rèn)為是接收信號(hào)與理想信號(hào)之間的差異特征,該差異特征是不同網(wǎng)卡的硬件特性對(duì)網(wǎng)卡信號(hào)的影響而產(chǎn)生的,具有唯一性,可作為網(wǎng)卡指紋。
通過(guò)上述方法對(duì)K個(gè)包含M個(gè)數(shù)據(jù)的接收信號(hào)進(jìn)行指紋提取,取K組自適應(yīng)濾波器的權(quán)重系數(shù)的平均值作為網(wǎng)卡指紋輸出,即可獲得較為穩(wěn)定的網(wǎng)卡指紋,計(jì)算公式如下所述。
本文實(shí)驗(yàn)用到的數(shù)據(jù)集來(lái)自6 個(gè)品牌共50 塊有線網(wǎng)卡,每塊網(wǎng)卡不同類(lèi)型。設(shè)備品牌和索引分別為銳捷(索引1~9)、綠聯(lián)(索引10~29)、小米(30~34)、山澤(35~42)、TP-LINK(43~46)和CE-LINK(47~50)。對(duì)50 塊網(wǎng)卡信號(hào)進(jìn)行過(guò)采樣(采樣率為625MHz、采樣精度為8 比特/樣點(diǎn)),每塊采樣1 次共得到100 個(gè)波形段(每次差分采樣產(chǎn)生2 個(gè)波形段,使用時(shí)合成1個(gè)波形段),每個(gè)波形段捕獲625 萬(wàn)個(gè)樣本點(diǎn)。再將每個(gè)波形段的625 萬(wàn)個(gè)樣本按照設(shè)定的數(shù)據(jù)長(zhǎng)度劃分成若干個(gè)信號(hào)片段(假設(shè)數(shù)據(jù)長(zhǎng)度10000,則每個(gè)波形段劃分為600 個(gè)信號(hào)段),形成數(shù)據(jù)集1,其中1/3的信號(hào)段用作訓(xùn)練集,2/3 的信號(hào)段用作驗(yàn)證集。
LMS 算法的主要參數(shù)有數(shù)據(jù)長(zhǎng)度L、濾波器階數(shù)N、收斂因子μ、迭代次數(shù)K(N 為了確定數(shù)據(jù)長(zhǎng)度L、濾波器階數(shù)N、收斂因子μ三個(gè)參數(shù)相對(duì)較優(yōu)的參數(shù)設(shè)置,本文通過(guò)先變化一個(gè)參數(shù)、固定其他參數(shù),然后依據(jù)收斂性、收斂速度、穩(wěn)態(tài)誤差和計(jì)算復(fù)雜度等主要性能指標(biāo)來(lái)確定相對(duì)較優(yōu)的參數(shù)設(shè)置,采用數(shù)據(jù)集1 進(jìn)行參數(shù)確定實(shí)驗(yàn)。 5.2.1 數(shù)據(jù)長(zhǎng)度確定 選取濾波器階數(shù)N=261、收斂因子μ=0.0001、迭代次數(shù)K=L,然后觀察濾波器系數(shù)在達(dá)到最優(yōu)值前的理想信號(hào)與實(shí)際信號(hào)之間的誤差變化曲線,該曲線反映了濾波器權(quán)重系數(shù)的收斂性。實(shí)驗(yàn)中,取初始數(shù)據(jù)長(zhǎng)度L=100、500、2000、4000、8000、16000、50000、100000 和200000,分別用這些數(shù)據(jù)長(zhǎng)度提取網(wǎng)卡指紋,并記錄濾波器收斂過(guò)程中的誤差值,誤差值隨數(shù)據(jù)長(zhǎng)度L變化如圖9 所示。 從圖9 可以看到,理想信號(hào)與實(shí)際信號(hào)之間的誤差的震蕩幅度隨著數(shù)據(jù)長(zhǎng)度的增加而增大。數(shù)據(jù)長(zhǎng)度L低于100 時(shí)誤差曲線不收斂;超過(guò)16000 后,誤差曲線呈現(xiàn)震蕩收斂;超過(guò)50000 后,誤差曲線不再單向收斂。因此,濾波器權(quán)重系數(shù)在數(shù)據(jù)長(zhǎng)度100 5.2.2 濾波器階數(shù)確定 選取L=10000、μ=0.0001、K=10000,分別按照濾波器階數(shù)N=[5,25,45,65,85,…,985,1005]提取網(wǎng)卡指紋,然后計(jì)算使用每一個(gè)濾波器階數(shù)提取指紋時(shí)到達(dá)平穩(wěn)狀態(tài)后的誤差(即穩(wěn)態(tài)誤差)的幅度平均值,觀察該平均值隨濾波器階數(shù)N的變化,如圖10 所示。 從圖10 可以看出,在濾波器階數(shù)為5~165 范圍內(nèi)時(shí),穩(wěn)態(tài)誤差幅度的平均值隨著濾波器階數(shù)的增加而減小,在濾波器階數(shù)高于165 時(shí),濾波器階數(shù)的增加對(duì)穩(wěn)態(tài)誤差幅度的平均值影響不大,階數(shù)高于285 時(shí),穩(wěn)態(tài)誤差幅度的平均值基本不再變化。 考慮濾波器階數(shù)越大,計(jì)算復(fù)雜度越高,因此,濾波器階數(shù)推薦設(shè)置在[165,285]之間。 5.2.3 收斂因子確定 1996 年,Hayjin 證明,只要收斂因子滿(mǎn)足下式,LMS 算法就是按方差收斂的。 其中,λm是輸入向量xmn(即接收信號(hào))組成的自相關(guān)矩陣R的最大特征值。由于λm常常不可知,因此,往往使用自相關(guān)矩陣R的跡來(lái)代替。按定義,矩陣的跡是矩陣主對(duì)角線元素之和: 同時(shí),矩陣的跡又等于矩陣所有特征值之和,因此一般有tr(R)>λm。只要取: 即可滿(mǎn)足收斂條件。按定義,自相關(guān)矩陣的主對(duì)角元素就是各輸入向量的均方值。因此公式又可寫(xiě)為: 按此公式計(jì)算,收斂因子的取值范圍大概為0<μ<0.2。 本次實(shí)驗(yàn)中,分別選取μ=0.1,μ=0.01,μ=0.001,μ=0.0001,μ=0.00001,并設(shè)置數(shù)據(jù)長(zhǎng)度L=10000,濾波器階數(shù)N=245,迭代次數(shù)K=10000 來(lái)提取網(wǎng)卡指紋,到達(dá)平穩(wěn)狀態(tài)后,理想信號(hào)與實(shí)際接收信號(hào)的誤差隨收斂因子μ的變化如圖11 所示。 從圖11 可以看出,當(dāng)μ>0.01 時(shí)誤差不收斂,因此濾波器權(quán)重系數(shù)也不具備收斂性。當(dāng)0<μ<0.001時(shí),誤差收斂,因而自適應(yīng)濾波器收斂,但是,隨著收斂因子減小,誤差收斂速度變慢,誤差震蕩幅度變大。因此,綜合收斂速度和收斂性,收斂因子推薦選取在[0.00001,0.001]之間。 設(shè)置數(shù)據(jù)長(zhǎng)度L=10000、收斂因子μ=0.0001、濾波器階數(shù)N=261,迭代次數(shù)K=L,使用數(shù)據(jù)集1 提取指紋,然后分別選取不同品牌網(wǎng)卡的指紋、同一品牌不同網(wǎng)卡的指紋進(jìn)行對(duì)比分析,結(jié)果分別如圖12 所示。 從圖中可以看出,無(wú)論同品牌,還是不同品牌,均能從有線網(wǎng)卡信號(hào)中提取出唯一且相對(duì)穩(wěn)定的特征指紋,但不同網(wǎng)卡之間的指紋差異性比較微弱,區(qū)分性小,尤其是同一品牌不同類(lèi)型網(wǎng)卡之間的指紋差異性非常微弱。這給指紋的提取和分類(lèi)識(shí)別帶來(lái)困難。 為了驗(yàn)證提取的網(wǎng)卡指紋的有效性,本文使用Matlab 自帶的分類(lèi)器對(duì)數(shù)據(jù)集1 和數(shù)據(jù)集2 提取出的網(wǎng)卡指紋分別進(jìn)行了分類(lèi)識(shí)別。 5.4.1 分類(lèi)算法選取 Matlab 自帶有多種分類(lèi)器,包括決策樹(shù)、判別分析、支持向量機(jī)SVM、最近鄰分類(lèi)器、樸素貝葉斯分類(lèi)器、集成分類(lèi)器,每一種分類(lèi)器又包含多種算法。為了確定選取哪些分類(lèi)算法較優(yōu),本文先使用Matlab 自帶的所有分類(lèi)器對(duì)訓(xùn)練樣本進(jìn)行分類(lèi)訓(xùn)練,交叉驗(yàn)證折數(shù)分別設(shè)置為5 折、10 折和15 折,然后獲取訓(xùn)練結(jié)束后的分類(lèi)準(zhǔn)確率,選取準(zhǔn)確率較高的分類(lèi)算法。通過(guò)實(shí)驗(yàn),當(dāng)交叉驗(yàn)證折數(shù)為10 折時(shí),分類(lèi)準(zhǔn)確率普遍較高,較高的3 個(gè)分類(lèi)算法分別為線性判別、線性SVM 和集成子空間判別。因此,后續(xù)使用線性判別和集成子空間判別這3 種算法對(duì)網(wǎng)卡進(jìn)行分類(lèi)識(shí)別,且交叉驗(yàn)證折數(shù)設(shè)置為10 折。 5.4.2 使用網(wǎng)卡指紋分類(lèi)識(shí)別 將數(shù)據(jù)集中的每個(gè)波形段劃分為600 個(gè)信號(hào)片段,其中前200 個(gè)信號(hào)段用于訓(xùn)練,后400 個(gè)信號(hào)段用于驗(yàn)證。提取每個(gè)信號(hào)片段的特征指紋,并取20個(gè)信號(hào)片段的特征指紋的平均值作為該波形段對(duì)應(yīng)網(wǎng)卡的網(wǎng)卡指紋,用每個(gè)波形段前200 個(gè)信號(hào)段提取出的10 個(gè)網(wǎng)卡指紋進(jìn)行分類(lèi)器訓(xùn)練,后400 個(gè)信號(hào)段提取出的20 個(gè)網(wǎng)卡指紋進(jìn)行分類(lèi)識(shí)別驗(yàn)證。 設(shè)置μ=0.0001,N=261,L=2000、5000、10000、15000、20000,并設(shè)置迭代次數(shù)K=L,交叉驗(yàn)證折數(shù)設(shè)置為10 折,網(wǎng)卡識(shí)別率如表1 所示。 表1 網(wǎng)卡識(shí)別率隨數(shù)據(jù)長(zhǎng)度變化(μ=0.0001,N=261)Table 1 Change of Ethernet card recognition rate with data length(μ=0.0001,N=261) 設(shè)置N=261,L=5000,μ=0.00001、0.00005、0.0001、0.0005、0.001,并設(shè)置迭代次數(shù)K=L,交叉驗(yàn)證折數(shù)設(shè)置為10 折,網(wǎng)卡識(shí)別率統(tǒng)計(jì)如表2 所示。 表2 網(wǎng)卡識(shí)別率隨收斂因子變化(N=261,L=5000)Table 2 Change of Ethernet card recognition rate with convergence factor (N=261,L=5000) 設(shè)置μ=0.0001,L=5000,N=21、81、165、261、501、1001,并設(shè)置迭代次數(shù)K=L,交叉驗(yàn)證折數(shù)設(shè)置為10 折,網(wǎng)卡識(shí)別率統(tǒng)計(jì)如表3 所示。 表3 網(wǎng)卡識(shí)別率隨濾波器階數(shù)變化(μ=0.0001,L=5000)Table 3 Change of Ethernet card recognition rate with filter order (μ=0.0001,L=5000) 從表1 可以看出,在收斂因子和濾波器階數(shù)固定情況下,網(wǎng)卡識(shí)別率隨數(shù)據(jù)長(zhǎng)度先增加后減少,在L=[1000,5000]時(shí)識(shí)別率較高;從表2 可以看出,在數(shù)據(jù)長(zhǎng)度和濾波器階數(shù)固定情況下,收斂因子越小,網(wǎng)卡識(shí)別率越大,但同時(shí)收斂因子越小,收斂時(shí)間越長(zhǎng);從表3 可以看出,在數(shù)據(jù)長(zhǎng)度和收斂因子固定情況下,網(wǎng)卡識(shí)別率在濾波器階數(shù)處于81~261 之間時(shí)較高。同時(shí)從表1、表2 和表3 也可看出,使用線性判別和集成子空間判別兩種分類(lèi)算法時(shí),本文方法提取指紋的網(wǎng)卡識(shí)別率較高,前者可在97.1%以上,后者可在97.3%以上。 如圖13 所示為線性識(shí)別和集成子空間判別兩種分類(lèi)算法在識(shí)別率為0.973 和0.985 時(shí)的混淆矩陣,其中橫坐標(biāo)為識(shí)別出的網(wǎng)卡索引,縱坐標(biāo)為實(shí)際網(wǎng)卡索引。 從圖13 中可以看出,使用線性判別分類(lèi)算法時(shí),錯(cuò)誤識(shí)別的網(wǎng)卡索引對(duì)主要包括:12->15(即網(wǎng)卡12錯(cuò)誤識(shí)別為網(wǎng)卡15)、10->17、13->20、21->23/25、22->21、27->20、28->13、29->10、40->44;使用集成子空間判別分類(lèi)算法時(shí),錯(cuò)誤識(shí)別的網(wǎng)卡索引對(duì)主要包括:12->15、13->20、16->18、17->16/29、20->13、21->22、22->21、26->27、29->10。 根據(jù)前文所述,索引10~29 對(duì)應(yīng)綠聯(lián)網(wǎng)卡,索引40 對(duì)應(yīng)山澤網(wǎng)卡,索引44 對(duì)應(yīng)TP-LINK 網(wǎng)卡,因此使用本文方法提取的網(wǎng)卡指紋識(shí)別網(wǎng)卡時(shí),錯(cuò)誤主要發(fā)生在同品牌的綠聯(lián)網(wǎng)卡中;不同品牌的指紋識(shí)別只將索引為40 的山澤網(wǎng)卡錯(cuò)誤識(shí)別為索引為44的TP-LINK 網(wǎng)卡,識(shí)別效果比同品牌不同類(lèi)型網(wǎng)卡好。其根本原因如5.3 章節(jié)所述,不同品牌網(wǎng)卡的指紋之間的差異較大些,而同一品牌不同類(lèi)型網(wǎng)卡的指紋差異較小。 本文提出了一種基于LMS 自適應(yīng)濾波算法的有線網(wǎng)卡指紋提取方法,該方法不需要有線網(wǎng)卡信號(hào)特征的先驗(yàn)知識(shí),可直接從100M 以太網(wǎng)網(wǎng)卡信號(hào)中提取出網(wǎng)卡指紋。通過(guò)實(shí)驗(yàn)證明,有線網(wǎng)卡確實(shí)存在特征指紋,但不同網(wǎng)卡指紋區(qū)分性小,當(dāng)數(shù)據(jù)長(zhǎng)度選取在1000~5000 范圍內(nèi)、濾波器階數(shù)選取在81~261范圍內(nèi)、收斂因子選擇在0.00001~0.0001 之間時(shí),使用本文方法可有效提取出有線網(wǎng)卡指紋,且可獲得較好的識(shí)別效果(考慮收斂性、收斂速度、計(jì)算復(fù)雜度和穩(wěn)定誤差等因素)。 然后本文使用Matlab 自帶的分類(lèi)器對(duì)提取的有線網(wǎng)卡指紋進(jìn)行訓(xùn)練,利用訓(xùn)練的模型對(duì)網(wǎng)卡進(jìn)行分類(lèi)識(shí)別。十折交叉驗(yàn)證結(jié)果表明,使用線性判別和集成子空間判別分類(lèi)算法時(shí),網(wǎng)卡識(shí)別率可分別達(dá)到97.2%、98.5%以上,錯(cuò)誤的指紋識(shí)別主要發(fā)生在同品牌網(wǎng)卡中,不同品牌的網(wǎng)卡指紋識(shí)別效果較好。 利用本文方法提取網(wǎng)卡指紋,簡(jiǎn)單方便,且提取的網(wǎng)卡指紋產(chǎn)生自網(wǎng)卡本身的物理特性,不可克隆,無(wú)法被篡改,利用這樣的指紋再結(jié)合合適的分類(lèi)學(xué)習(xí)算法就可以對(duì)以太網(wǎng)網(wǎng)卡進(jìn)行有效識(shí)別,進(jìn)而可方便且可靠地實(shí)現(xiàn)對(duì)有線網(wǎng)終端設(shè)備的接入認(rèn)證。在大規(guī)模控制和自動(dòng)化通信領(lǐng)域(如電網(wǎng))、光纖通信領(lǐng)域,以及金融、保險(xiǎn)、公安等有線專(zhuān)網(wǎng)領(lǐng)域,目前迫切需要輕量級(jí)且安全可靠的接入認(rèn)證方法,本文提出的方法可以預(yù)見(jiàn)地具有廣闊的應(yīng)用前景。5.3 提取網(wǎng)卡指紋
5.4 指紋有效性驗(yàn)證
6 總結(jié)