車浩軍, 王旭旭, 陳建平, 陶 濤, 章堅武
(1.浙江雙成電氣有限公司,浙江 紹興 312071;2.杭州電子科技大學(xué) 通信工程學(xué)院,杭州 310018)
北斗(BD)衛(wèi)星定位系統(tǒng)和全球衛(wèi)星定位系統(tǒng)(Global Positiong System,GPS)是在生產(chǎn)、生活中被廣泛利用的2種全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,GNSS)[1],對BD/GPS接收模塊的欺騙、干擾是指利用偽衛(wèi)星信號模擬器發(fā)射偽北斗或者偽GPS信號,使接收機接收到偽當(dāng)?shù)貢r間和偽當(dāng)?shù)匚恢玫囊环N干擾[2-4]。
目前,隨著北斗技術(shù)的快速發(fā)展,它在亞太地區(qū)的定位精度優(yōu)于10 m,測速精度優(yōu)于0.2 m/s,授時精度優(yōu)于50 ns。北斗系統(tǒng)的單向授時精度,雙向授時指標(biāo)均優(yōu)于國外同類系統(tǒng)[5-6]。未來在交通、農(nóng)業(yè)、林業(yè)、漁業(yè)、電力、金融等領(lǐng)域可以更安全可靠地利用北斗系統(tǒng),所以使用北斗導(dǎo)航系統(tǒng)進行定位授時是大勢所趨。
但是,由于北斗、GPS信號民用部分的調(diào)制編碼方式,導(dǎo)航電文等信息都是公開的,很容易利用這些信息制作偽衛(wèi)星信號模擬器,發(fā)射偽北斗或者偽GPS信號。一旦BD/GPS接收模塊接收并解析偽衛(wèi)星信號,就會計算出偽當(dāng)?shù)貢r間以及偽當(dāng)?shù)匚恢?。對于依賴于衛(wèi)星授時、定位的系統(tǒng)來說,將會產(chǎn)生巨大的危害[7]。比如,目前的電力信息化系統(tǒng)中的時間服務(wù)器依靠GNSS來校對時間,如果在天線附近假設(shè)時間偽GNSS衛(wèi)星模擬器發(fā)射偽GNSS信號,就會造成信息系統(tǒng)由于時間錯亂而不能正常工作,造成的損失難以估計[8-9]。在2013年,美國通過實驗成功將一艘利用GPS導(dǎo)航的游艇引導(dǎo)至攻擊者設(shè)定的位置,成功實現(xiàn)了對GPS接收機的欺騙干擾[10]。但是對北斗接收機的欺騙干擾研究還沒有相應(yīng)的文獻說明。
本文研究了在發(fā)射偽北斗信號的情況下,對BD/GPS雙模接收機欺騙干擾效果。實驗證實了對BD/GPS雙模接收機欺騙干擾的可行性,并分別從偽北斗信號功率、偽北斗信號的數(shù)量,模擬器設(shè)置的偽當(dāng)?shù)貢r間,偽當(dāng)?shù)匚恢?個因素考慮,觀測不同條件下的偽北斗信號對BD/GPS接收模塊的干擾效果。實驗結(jié)果表明,BD/GPS雙模接收機雖然可以受到欺騙干擾,但是對偽北斗信號有較高的條件要求。如果通過建造多顆偽北斗衛(wèi)星的方式實現(xiàn)對BD/GPS接收模塊欺騙干擾,有較大的技術(shù)難度。
在BD/GPS接收模塊正常工作時,它會同時接收BD/GPS信號,接收模塊的信號處理芯片會解析出衛(wèi)星信號的導(dǎo)航電文,并根據(jù)各個衛(wèi)星信號導(dǎo)航電文中衛(wèi)星的位置,信號發(fā)送時間戳,電離層延時,誤差精度等因素,計算出信號接收模塊的當(dāng)?shù)匚恢煤彤?dāng)?shù)貢r間。理論上來講,通過4顆衛(wèi)星,利用以下公式可以計算出當(dāng)?shù)匚恢门c當(dāng)?shù)貢r間[11]:
ρ1=c(t1-t)=
(1)
ρ2=c(t2-t)=
(2)
ρ3=c(t3-t)=
(3)
ρ4=c(t4-t)=
(4)
式中:下標(biāo)1、2、3、4為接收到的衛(wèi)星信號序號;ρi為衛(wèi)星到接收模塊的距離;ti為發(fā)射時間戳;t為地面接收時間;c為光速;(x,y,z)為當(dāng)?shù)匚恢茫?xi,yi,zi)為第i顆發(fā)射衛(wèi)星的位置;b為當(dāng)?shù)貢r間與衛(wèi)星時間的偏差。
聯(lián)立式(1)~(4),可以求出(x,y,z),b。從而得到當(dāng)?shù)匚恢?x,y,z)及當(dāng)?shù)貢r間(t-b)。
BD/GPS衛(wèi)星信號到達地面時,功率比較小,大約只有-160 dBW左右[12]。接收模塊在捕獲衛(wèi)星信號之后,會鎖定追蹤此顆衛(wèi)星的信號,即使此顆衛(wèi)星由于運動,產(chǎn)生多普勒頻漂,接收模塊依然可以解析此顆衛(wèi)星的導(dǎo)航電文。但是,接收模塊鎖定追蹤衛(wèi)星信號的能力有限。如果在接收模塊附近發(fā)射功率比較強的偽衛(wèi)星信號,接收模塊就會捕獲追蹤偽衛(wèi)星信號,并根據(jù)偽衛(wèi)星信號的導(dǎo)航電文計算出偽位置及偽時間。
如圖1所示,BD/GPS接收模塊的接收天線,在正常接收a、b、c、d 4顆真實衛(wèi)星信號的同時,利用北斗信號模擬器作為欺騙干擾源,發(fā)射多個功率值較高的偽北斗信號。接收模塊可以同時接收功率值較低的真實衛(wèi)星信號以及功率值較高的偽衛(wèi)星信號。這時接收模塊會逐漸與真實衛(wèi)星信號失鎖,并鎖定追蹤到偽北斗信號[13-14]。
圖1 欺騙干擾模型
本次實驗主要分為BD/GPS雙模接收模塊和偽北斗信號模擬器設(shè)備。
BD/GPS雙模接收模塊包括3個部分,如圖2所示,接收模塊采用BD/GPS天線作為接收天線,采用ATGM332D-5N作為信號處理芯片,采用CP 2102 USB-TTL BOARDV4.0作為串行接口工具。
圖2 BD/GPS接收模塊
接收模塊的接收天線用于接收信號,信號處理芯片用于捕獲,追蹤,解析衛(wèi)星信號,并計算出當(dāng)?shù)匚恢谩r間信息,串行接口用于將芯片計算出的結(jié)果通過串口協(xié)議傳給計算機或其他設(shè)備。其中,信號處理芯片ATGM332D-5N是接收模塊的關(guān)鍵部分,它的冷啟動捕獲精度為-148 dBm,跟蹤捕獲靈敏度為-162 dBm,定位精度為2.5 m。
偽北斗信號模擬器干擾源采用矢量信號發(fā)生器——SMBV100A,它可以模擬發(fā)射12顆北斗衛(wèi)星信號,可以設(shè)置偽衛(wèi)星信號的功率、偽衛(wèi)星信號的定位位置以及協(xié)調(diào)世界時(Coordinated Universal Time,UTC)。
本次實驗通過計算機上的串口助手,觀測接收模塊的計算結(jié)果。
本實驗系統(tǒng)框圖如圖3所示,接收模塊可以接收真實的BD/GPS衛(wèi)星信號,也可以接收到北斗信號模擬器所發(fā)射的偽北斗信號。接收模塊對信號的處理結(jié)果通過計算機串口顯示。
圖3 欺騙干擾實驗系統(tǒng)框圖
本實驗在室外空曠環(huán)境中進行,保證BD/GPS接收天線可接收到較強信號的BD、GPS信號。
如圖4所示,接收模塊被放置在空地上,并且接收模塊計算的串口數(shù)據(jù)傳輸?shù)接嬎銠C上。
圖4 BD/GPS接收模塊實驗現(xiàn)場圖
如圖5所示,偽北斗信號由北斗信號模擬器產(chǎn)生,并有一個波束角較小的非全向天線發(fā)射。北斗信號模擬器被放置在較高的樓層上,這樣可以保證它產(chǎn)生的偽北斗信號可以有較大的輻射范圍。
步驟1接收模塊接收正常的BD/GPS衛(wèi)星信號。先將接收模塊放到室外,保證接收模塊能夠接收到比較好的衛(wèi)星信號,通過計算機的串口助手讀取接收模塊的計算結(jié)果。
圖5 偽北斗信號模擬器及信號發(fā)射天線
如圖6所示,串口結(jié)果顯示的UTC時間為11 h 37 min 40 s與當(dāng)?shù)貢r間位置一致,串口結(jié)果顯示的當(dāng)?shù)匚恢脼?3018.8816N,12020.3931E),也就是(30°18′52.896″N,120°20′23.586″E)與當(dāng)?shù)匚恢靡恢拢f明接收模塊正常接收BD/GPS信號成功。
圖6 接收模塊接收真實信號的計算數(shù)據(jù)
步驟2待接收模塊正常接收信號2 min后,發(fā)射偽北斗信號。北斗模擬器設(shè)定偽信號的發(fā)射功率為-10 dBm;設(shè)定北斗信號的偽定位位置為(30°18′53″N,120°22′23″E),與真實位置的經(jīng)度相差2′左右;干擾源的UTC時間設(shè)定為08:00:00,與真實時間相差大約12 h;干擾源發(fā)射6顆偽衛(wèi)星信號,它們的序號為01,02,03,04,05,06。
步驟3通過計算機窗口觀測接收模塊計算的串行數(shù)據(jù)。如果串行窗口上的GNRMC上的位置、時間信息與干擾源設(shè)定的位置、時間信息一致,并保持這種狀態(tài)2 min,則認為欺騙干擾成功。
如圖7所示,串口窗口顯示的UTC時間為010135.000,顯示的定位位置為(3018.8870N,12022.3829E),這與北斗模擬器設(shè)置的參數(shù)一致,與當(dāng)?shù)貢r間,位置不一致。說明接收模塊收到了欺騙干擾。
圖7 欺騙干擾結(jié)果
步驟4改變北斗模擬器信號發(fā)射功率,重復(fù)步驟(1~3)。通過步驟(3),可以觀測欺騙結(jié)果。之后,保持實驗環(huán)境不變,使接收模塊恢復(fù)到接收正常BD/GPS信號的狀態(tài)。北斗信號模擬器發(fā)射不同功率的偽北斗信號。再觀測偽北斗信號功率對欺騙干擾的影響。
步驟5與探究偽北斗信號對欺騙干擾結(jié)果的方式類似,改變偽北斗信號數(shù)目,設(shè)定不同的偽位置,偽時間,重復(fù)步驟(1~4),探究這3個因素對欺騙干擾的影響。
由于太空中的BD/GPS衛(wèi)星時時刻刻都在運動,不同的時間接收模塊接收到的衛(wèi)星的序號、衛(wèi)星信號的信噪比,一般不會一樣。但在連續(xù)的一段時間內(nèi),接收模塊接收到的衛(wèi)星信號的區(qū)別不是太明顯。本次實驗在探究某個條件對欺騙干擾的影響時,控制在一個連續(xù)的時間內(nèi)進行,這樣盡可能地保證了實驗過程中,接收模塊接收到的真實衛(wèi)星信號質(zhì)量基本上是相同的。
實驗設(shè)定每次欺騙干擾前,接收模塊能正常接收BD/GPS信號,串行串口可以讀出類似圖6所示的數(shù)據(jù)。
在接收模塊正常接收BD/GPS信號的同時,發(fā)射功率較大的偽北斗信號,對接收模塊造成欺騙干擾。多次實驗可以得到表1所示結(jié)果。
表1 不同功率對欺騙干擾影響
由表1可見,如果北斗信號模擬器發(fā)射的偽北斗信號功率比較小,無法實現(xiàn)對接收模塊的欺騙干擾。只有發(fā)射的偽北斗信號功率≥-19 dBm時,才能對接收模塊造成干擾。
另外,由表1還可見,當(dāng)接模塊受到干擾時,它接收到6個偽北斗衛(wèi)星信號的信噪比會是一個比52大的值,而正常信號的信噪比基本上會在30左右。所以這也說明了對接收模塊進行欺騙干擾時,偽北斗信號的功率要比真實衛(wèi)星信號的功率高。
在欺騙干擾成功后,降低干擾源發(fā)射偽北斗衛(wèi)星信號的功率,觀測干擾結(jié)果,見表2。根據(jù)表2,當(dāng)干擾源發(fā)射偽北斗信號的功率<-99 dBm時,接收模塊將不能保持受欺騙干擾的狀態(tài),這時接收模塊得到的偽北斗信號的信噪比在34~35之間。所以,一旦接收模塊鎖定到偽北斗信號,這時即使降低偽北斗信號的功率,接收模塊依然保持被欺騙的狀態(tài)。
表2 不同功率偽衛(wèi)星信號對欺騙保持影響
北斗信號模擬器可以設(shè)定偽定位位置,偽北斗信號導(dǎo)航電文中的衛(wèi)星位置及時間戳?xí)鶕?jù)設(shè)定的偽位置自行調(diào)節(jié)。本次實驗保持偽位置的緯度為(3018.8816N,12020.3931E),逐漸改變干擾源設(shè)定的經(jīng)度,可以得到表3的實驗數(shù)據(jù)。
表3 不同偽位置對欺騙干擾影響
由表3可見,當(dāng)干擾源設(shè)定的偽定位位置經(jīng)度與接收模塊的真實位置經(jīng)度相差>25′(大約為110/60×25=45.8 km)時,干擾源將無法對接收模塊造成欺騙干擾。
通過北斗信號模擬器設(shè)定偽北斗信號的UTC時間。逐漸改變北斗信號的UTC時間,使得干擾源UTC與實際UTC有不同的時間偏差。發(fā)射偽北斗信號對接收模塊進行欺騙,可得如表4所示欺騙干擾結(jié)果。
由表4可見,當(dāng)偽北斗信號的UTC時間與實際UTC時間相差在6 h之外時,干擾源發(fā)射的偽信號才能對接收模塊造成欺騙干擾。
表4 不同時間偏差對欺騙干擾影響
*+表示偽衛(wèi)星信號的UTC時間在實際UTC時間之前,-表示偽衛(wèi)星信號的UTC時間在實際UTC時間之后。
SMBV100A最多可以模擬12顆北斗衛(wèi)星信號,而接收模塊解算位置信息至少需要4顆衛(wèi)星的信號。實驗中,北斗模擬器模擬發(fā)射4、5、6、7、8顆北斗衛(wèi)星信號,所得實驗結(jié)果見表5。
表5 不同顆數(shù)的偽衛(wèi)星信號對欺騙干擾影響
由表5可見,對正常接收真實衛(wèi)星信號的接收模塊欺騙干擾,至少需要6顆偽北斗衛(wèi)星信號。
本實驗研究了BD/GPS接收模塊在正常接收BD、GPS信號的同時,發(fā)射偽北斗信號,對BD/GPS接收模塊的影響。實驗結(jié)果表明,實現(xiàn)對BD/GPS模塊的欺騙干擾,需要滿足以下4個條件:①偽北斗信號的功率必須大于正常衛(wèi)星信號功率。偽北斗信號的功率越大,越容易對接收模塊造成欺騙干擾;一旦接收模塊鎖定到偽北斗信號,降低偽北斗信號的功率至正常信號的水平,接收模塊依然可以保持受欺騙干擾的狀態(tài);②偽定位位置與實際位置的偏差不能太大,必須≤45.8 km(大約25′經(jīng)度);③偽衛(wèi)星信號的UTC時間與真實UTC時間的差值不能太小,必須≥6 h;④干擾源模擬發(fā)射的偽衛(wèi)星顆數(shù)必須≥6。