車浩軍, 王旭旭, 陳建平, 陶 濤, 章堅武
(1.浙江雙成電氣有限公司,浙江 紹興 312071;2.杭州電子科技大學 通信工程學院,杭州 310018)
北斗(BD)衛星定位系統和全球衛星定位系統(Global Positiong System,GPS)是在生產、生活中被廣泛利用的2種全球導航衛星系統(Global Navigation Satellite System,GNSS)[1],對BD/GPS接收模塊的欺騙、干擾是指利用偽衛星信號模擬器發射偽北斗或者偽GPS信號,使接收機接收到偽當地時間和偽當地位置的一種干擾[2-4]。
目前,隨著北斗技術的快速發展,它在亞太地區的定位精度優于10 m,測速精度優于0.2 m/s,授時精度優于50 ns。北斗系統的單向授時精度,雙向授時指標均優于國外同類系統[5-6]。未來在交通、農業、林業、漁業、電力、金融等領域可以更安全可靠地利用北斗系統,所以使用北斗導航系統進行定位授時是大勢所趨。
但是,由于北斗、GPS信號民用部分的調制編碼方式,導航電文等信息都是公開的,很容易利用這些信息制作偽衛星信號模擬器,發射偽北斗或者偽GPS信號。一旦BD/GPS接收模塊接收并解析偽衛星信號,就會計算出偽當地時間以及偽當地位置。對于依賴于衛星授時、定位的系統來說,將會產生巨大的危害[7]。比如,目前的電力信息化系統中的時間服務器依靠GNSS來校對時間,如果在天線附近假設時間偽GNSS衛星模擬器發射偽GNSS信號,就會造成信息系統由于時間錯亂而不能正常工作,造成的損失難以估計[8-9]。在2013年,美國通過實驗成功將一艘利用GPS導航的游艇引導至攻擊者設定的位置,成功實現了對GPS接收機的欺騙干擾[10]。但是對北斗接收機的欺騙干擾研究還沒有相應的文獻說明。
本文研究了在發射偽北斗信號的情況下,對BD/GPS雙模接收機欺騙干擾效果。實驗證實了對BD/GPS雙模接收機欺騙干擾的可行性,并分別從偽北斗信號功率、偽北斗信號的數量,模擬器設置的偽當地時間,偽當地位置4個因素考慮,觀測不同條件下的偽北斗信號對BD/GPS接收模塊的干擾效果。實驗結果表明,BD/GPS雙模接收機雖然可以受到欺騙干擾,但是對偽北斗信號有較高的條件要求。如果通過建造多顆偽北斗衛星的方式實現對BD/GPS接收模塊欺騙干擾,有較大的技術難度。
在BD/GPS接收模塊正常工作時,它會同時接收BD/GPS信號,接收模塊的信號處理芯片會解析出衛星信號的導航電文,并根據各個衛星信號導航電文中衛星的位置,信號發送時間戳,電離層延時,誤差精度等因素,計算出信號接收模塊的當地位置和當地時間。理論上來講,通過4顆衛星,利用以下公式可以計算出當地位置與當地時間[11]:
ρ1=c(t1-t)=
(1)
ρ2=c(t2-t)=
(2)
ρ3=c(t3-t)=
(3)
ρ4=c(t4-t)=
(4)
式中:下標1、2、3、4為接收到的衛星信號序號;ρi為衛星到接收模塊的距離;ti為發射時間戳;t為地面接收時間;c為光速;(x,y,z)為當地位置;(xi,yi,zi)為第i顆發射衛星的位置;b為當地時間與衛星時間的偏差。
聯立式(1)~(4),可以求出(x,y,z),b。從而得到當地位置(x,y,z)及當地時間(t-b)。
BD/GPS衛星信號到達地面時,功率比較小,大約只有-160 dBW左右[12]。接收模塊在捕獲衛星信號之后,會鎖定追蹤此顆衛星的信號,即使此顆衛星由于運動,產生多普勒頻漂,接收模塊依然可以解析此顆衛星的導航電文。但是,接收模塊鎖定追蹤衛星信號的能力有限。如果在接收模塊附近發射功率比較強的偽衛星信號,接收模塊就會捕獲追蹤偽衛星信號,并根據偽衛星信號的導航電文計算出偽位置及偽時間。
如圖1所示,BD/GPS接收模塊的接收天線,在正常接收a、b、c、d 4顆真實衛星信號的同時,利用北斗信號模擬器作為欺騙干擾源,發射多個功率值較高的偽北斗信號。接收模塊可以同時接收功率值較低的真實衛星信號以及功率值較高的偽衛星信號。這時接收模塊會逐漸與真實衛星信號失鎖,并鎖定追蹤到偽北斗信號[13-14]。

圖1 欺騙干擾模型
本次實驗主要分為BD/GPS雙模接收模塊和偽北斗信號模擬器設備。
BD/GPS雙模接收模塊包括3個部分,如圖2所示,接收模塊采用BD/GPS天線作為接收天線,采用ATGM332D-5N作為信號處理芯片,采用CP 2102 USB-TTL BOARDV4.0作為串行接口工具。

圖2 BD/GPS接收模塊
接收模塊的接收天線用于接收信號,信號處理芯片用于捕獲,追蹤,解析衛星信號,并計算出當地位置、時間信息,串行接口用于將芯片計算出的結果通過串口協議傳給計算機或其他設備。其中,信號處理芯片ATGM332D-5N是接收模塊的關鍵部分,它的冷啟動捕獲精度為-148 dBm,跟蹤捕獲靈敏度為-162 dBm,定位精度為2.5 m。
偽北斗信號模擬器干擾源采用矢量信號發生器——SMBV100A,它可以模擬發射12顆北斗衛星信號,可以設置偽衛星信號的功率、偽衛星信號的定位位置以及協調世界時(Coordinated Universal Time,UTC)。
本次實驗通過計算機上的串口助手,觀測接收模塊的計算結果。
本實驗系統框圖如圖3所示,接收模塊可以接收真實的BD/GPS衛星信號,也可以接收到北斗信號模擬器所發射的偽北斗信號。接收模塊對信號的處理結果通過計算機串口顯示。

圖3 欺騙干擾實驗系統框圖
本實驗在室外空曠環境中進行,保證BD/GPS接收天線可接收到較強信號的BD、GPS信號。
如圖4所示,接收模塊被放置在空地上,并且接收模塊計算的串口數據傳輸到計算機上。

圖4 BD/GPS接收模塊實驗現場圖
如圖5所示,偽北斗信號由北斗信號模擬器產生,并有一個波束角較小的非全向天線發射。北斗信號模擬器被放置在較高的樓層上,這樣可以保證它產生的偽北斗信號可以有較大的輻射范圍。
步驟1接收模塊接收正常的BD/GPS衛星信號。先將接收模塊放到室外,保證接收模塊能夠接收到比較好的衛星信號,通過計算機的串口助手讀取接收模塊的計算結果。

圖5 偽北斗信號模擬器及信號發射天線
如圖6所示,串口結果顯示的UTC時間為11 h 37 min 40 s與當地時間位置一致,串口結果顯示的當地位置為(3018.8816N,12020.3931E),也就是(30°18′52.896″N,120°20′23.586″E)與當地位置一致,說明接收模塊正常接收BD/GPS信號成功。

圖6 接收模塊接收真實信號的計算數據
步驟2待接收模塊正常接收信號2 min后,發射偽北斗信號。北斗模擬器設定偽信號的發射功率為-10 dBm;設定北斗信號的偽定位位置為(30°18′53″N,120°22′23″E),與真實位置的經度相差2′左右;干擾源的UTC時間設定為08:00:00,與真實時間相差大約12 h;干擾源發射6顆偽衛星信號,它們的序號為01,02,03,04,05,06。
步驟3通過計算機窗口觀測接收模塊計算的串行數據。如果串行窗口上的GNRMC上的位置、時間信息與干擾源設定的位置、時間信息一致,并保持這種狀態2 min,則認為欺騙干擾成功。
如圖7所示,串口窗口顯示的UTC時間為010135.000,顯示的定位位置為(3018.8870N,12022.3829E),這與北斗模擬器設置的參數一致,與當地時間,位置不一致。說明接收模塊收到了欺騙干擾。

圖7 欺騙干擾結果
步驟4改變北斗模擬器信號發射功率,重復步驟(1~3)。通過步驟(3),可以觀測欺騙結果。之后,保持實驗環境不變,使接收模塊恢復到接收正常BD/GPS信號的狀態。北斗信號模擬器發射不同功率的偽北斗信號。再觀測偽北斗信號功率對欺騙干擾的影響。
步驟5與探究偽北斗信號對欺騙干擾結果的方式類似,改變偽北斗信號數目,設定不同的偽位置,偽時間,重復步驟(1~4),探究這3個因素對欺騙干擾的影響。
由于太空中的BD/GPS衛星時時刻刻都在運動,不同的時間接收模塊接收到的衛星的序號、衛星信號的信噪比,一般不會一樣。但在連續的一段時間內,接收模塊接收到的衛星信號的區別不是太明顯。本次實驗在探究某個條件對欺騙干擾的影響時,控制在一個連續的時間內進行,這樣盡可能地保證了實驗過程中,接收模塊接收到的真實衛星信號質量基本上是相同的。
實驗設定每次欺騙干擾前,接收模塊能正常接收BD/GPS信號,串行串口可以讀出類似圖6所示的數據。
在接收模塊正常接收BD/GPS信號的同時,發射功率較大的偽北斗信號,對接收模塊造成欺騙干擾。多次實驗可以得到表1所示結果。

表1 不同功率對欺騙干擾影響
由表1可見,如果北斗信號模擬器發射的偽北斗信號功率比較小,無法實現對接收模塊的欺騙干擾。只有發射的偽北斗信號功率≥-19 dBm時,才能對接收模塊造成干擾。
另外,由表1還可見,當接模塊受到干擾時,它接收到6個偽北斗衛星信號的信噪比會是一個比52大的值,而正常信號的信噪比基本上會在30左右。所以這也說明了對接收模塊進行欺騙干擾時,偽北斗信號的功率要比真實衛星信號的功率高。
在欺騙干擾成功后,降低干擾源發射偽北斗衛星信號的功率,觀測干擾結果,見表2。根據表2,當干擾源發射偽北斗信號的功率<-99 dBm時,接收模塊將不能保持受欺騙干擾的狀態,這時接收模塊得到的偽北斗信號的信噪比在34~35之間。所以,一旦接收模塊鎖定到偽北斗信號,這時即使降低偽北斗信號的功率,接收模塊依然保持被欺騙的狀態。

表2 不同功率偽衛星信號對欺騙保持影響
北斗信號模擬器可以設定偽定位位置,偽北斗信號導航電文中的衛星位置及時間戳會根據設定的偽位置自行調節。本次實驗保持偽位置的緯度為(3018.8816N,12020.3931E),逐漸改變干擾源設定的經度,可以得到表3的實驗數據。

表3 不同偽位置對欺騙干擾影響
由表3可見,當干擾源設定的偽定位位置經度與接收模塊的真實位置經度相差>25′(大約為110/60×25=45.8 km)時,干擾源將無法對接收模塊造成欺騙干擾。
通過北斗信號模擬器設定偽北斗信號的UTC時間。逐漸改變北斗信號的UTC時間,使得干擾源UTC與實際UTC有不同的時間偏差。發射偽北斗信號對接收模塊進行欺騙,可得如表4所示欺騙干擾結果。
由表4可見,當偽北斗信號的UTC時間與實際UTC時間相差在6 h之外時,干擾源發射的偽信號才能對接收模塊造成欺騙干擾。

表4 不同時間偏差對欺騙干擾影響
*+表示偽衛星信號的UTC時間在實際UTC時間之前,-表示偽衛星信號的UTC時間在實際UTC時間之后。
SMBV100A最多可以模擬12顆北斗衛星信號,而接收模塊解算位置信息至少需要4顆衛星的信號。實驗中,北斗模擬器模擬發射4、5、6、7、8顆北斗衛星信號,所得實驗結果見表5。

表5 不同顆數的偽衛星信號對欺騙干擾影響
由表5可見,對正常接收真實衛星信號的接收模塊欺騙干擾,至少需要6顆偽北斗衛星信號。
本實驗研究了BD/GPS接收模塊在正常接收BD、GPS信號的同時,發射偽北斗信號,對BD/GPS接收模塊的影響。實驗結果表明,實現對BD/GPS模塊的欺騙干擾,需要滿足以下4個條件:①偽北斗信號的功率必須大于正常衛星信號功率。偽北斗信號的功率越大,越容易對接收模塊造成欺騙干擾;一旦接收模塊鎖定到偽北斗信號,降低偽北斗信號的功率至正常信號的水平,接收模塊依然可以保持受欺騙干擾的狀態;②偽定位位置與實際位置的偏差不能太大,必須≤45.8 km(大約25′經度);③偽衛星信號的UTC時間與真實UTC時間的差值不能太小,必須≥6 h;④干擾源模擬發射的偽衛星顆數必須≥6。