【定位不準的煩心事系列】第1篇:談談衛星定位的位置干擾

高德技術發表於2022-02-23

現代人的生活已經離不開手機,離不開地圖,一旦遇到定位不準的問題,就會產生很多問題,而且有些會很嚴重,比如叫車找不到車、外賣找不到顧客,更慘的是開車的時候在高速上轉圈圈,多跑個100公里也是有可能的。

大家把定位準確當做一個理所應當的事情,現在定位技術這麼發達,北斗3代成功組網,定位怎麼還會不準呢?確實,隨著時間的推進,定位的精度是越來越高的,但是有一個潛在風險,會導致定位精度下降。

這個風險來自衛星定位欺騙技術的泛濫。衛星定位欺騙,或者位置干擾,是通過地面上的衛星偽基站廣播定位訊號,讓周邊的定位裝置誤以為接受到了真實的定位訊號,從而將定位結果設定為干擾者預設的一個位置。之前我們比較多的聽說一些人用偽通訊基站去群發垃圾簡訊,而今天,位置干擾也越來越普遍,比如:

  • 駕考作弊:駕校學習都會要求學員上車練習,而且車上有一些裝置會記錄學員的練習軌跡,作為學員完成學習的證據,但是一些學員不想花時間學車,於是有一些人員會利用偽基站播發偽訊號,讓車輛記錄儀的定位點自動圍繞駕校道路行駛,即使這個裝置在遠離駕校的地點。這樣學員不需要花1分鐘學車,就可以達到所要求的學車時長。
  • 遠端打卡:一些企業會基於軌跡對員工進行工時統計,少數員工可能會通過偽造自身位置的方法作假。
  • 叫車刷單:一些司機為了獲取接單獎勵或者挑單,用作弊辦法修改自己的定位點,讓平臺以為他在某個指定的位置,或者完成了某個訂單。
  • 無人機反制:一些企業不希望無人機靠近自己的場所,於是對無人機的位置進行干擾,讓其誤以為進入禁飛區自動降落,或者偏離航線。
  • 反跟蹤:運營車輛上都裝有北斗定位裝置,一些企業或個人不希望自己的真實位置被發現,於是進行位置干擾。

定位偽造方法有很多種,有些隻影響單一的裝置(比如在裝置上直接修改定位結果),而衛星偽基站的方法,則是技術含量比較高的方法,這個方法可以將附近所有裝置的位置全部干擾,具體的影響範圍和基站的發射功率有關,小功率的基站隻影響附近幾米的範圍,而大功率的基站,可以影響周邊幾十公里,甚至在室內接受不到衛星訊號的情況下,都會被干擾。

這種干擾能夠將定位點定位到任意位置,而且運動速度、方向都可以指定。於是使用者可能發現自己的定位點在幾千公里之外,或者軌跡成為一個奇怪的形狀,比如畫圓圈或者沿某條道路在行駛。

位置干擾技術的原理是什麼呢?簡單來說,衛星定位是通過接收到衛星訊號,讀取訊號報文,獲得時間戳,然後用時間戳和本地時間相減計算出和衛星的距離,再求解一個4元方程組(x,y,z座標以及本地時鐘偏移量)。

由於衛星訊號的規格是公開的,我們可以將任意的時間填充到訊號報文中,再通過特定的載波訊號發射出去,就可以讓其他裝置獲得錯誤的定位訊號。最簡單的方法,是直接把某個地點的訊號錄下來,然後在另一個位置回放。要定位到指定位置,只需要用該位置計算出每顆星播發的時間戳即可。而現在已經有人把整個報文編寫、載波調製、訊號發射這一系列步驟做了封裝,成為貨架產品,任何人只要買了裝置就可以自己輸入目標經緯度以及速度方向,甚至是整段軌跡,然後就可以進行位置干擾了。

比如,HackRF是一款裝置,可以發射自定義的訊號,有一些開源軟體可以生產GNSS的軟訊號,再通過HackRF發射出去,就成了一個偽基站。而且,一個裝置可以同時傳送多路訊號,模擬多顆衛星。

為什麼衛星訊號這麼容易被干擾呢?因為GPS設計之初並沒有在安全性上考慮的很嚴謹,所以報文完全沒有加密,使用者側也沒有做鑑權,是完全開放的。

後續的伽利略、格洛納茲、北斗也都遵循相同的設計理念,報文、調製過程都是類似的,都會被干擾。安全性比較好的方式,是軍碼,這種報文采用專門的頻率進行發射,其報文規格、編碼方式都是保密的,要讀取報文需要專門的祕鑰,因此難以破解或者干擾,但這種方法無法解決民用裝置的安全性問題。

目前一些晶片廠商,以及高德,在做一些工作去發現這種干擾,從而避免影響到使用者。具體的方法包括:

1.載波校驗:真訊號和假訊號同時出現時,可以檢查訊號強度是否有異常(假訊號往往訊號很強,才能覆蓋真訊號)。

2.訊號方向校驗:檢測訊號的來源方向,如果不是來自天空,則有異常(對天線有要求)。

3.報文一致性校驗:檢查報文的每個欄位是否和真實訊號一致。

4.解算校驗:解算後發現某些衛星的距離異常,比如同時收到真訊號和假訊號。

5.多源校驗:結合慣導、網路定位以及其他定位方式校驗衛星定位的結果是否異常。

以上這些方法可以在一定程度上降低被干擾的概率,但是還是無法徹底杜絕。對於普通使用者來講,當發現自己的定位結果異常時,如何發現是由於衛星訊號干擾導致呢?

1.首先,看自己的定位結果是不是出現在機場、油庫、駕校這些地點,或者自己的位置附近是否有油庫或者是一些敏感設施。

2.然後,確認自己裝置的定位結果來自衛星定位而不是網路定位,如果是安卓使用者可以下載一個AndroiTS GPS Test軟體,如果顯示Fix或ON,則代表衛星定位成功,否則是網路定位。

對於iPhone,下載phyphox,進入GPS頁面,如果速度為負說明是網路定位,否則是衛星定位。

3.此外,在明確手機定位方式是衛星定位的情況下,如果周邊的多臺手機都定位在了錯誤的位置(至少偏離了200米以上,如果偏離距離不遠,有可能是衛星定位點漂移了),則大概率此地被某個周邊的偽衛星基站給干擾了。

有些干擾未必是干擾者的本意,他本來可能只想控制某個小範圍的裝置,但是天線功率設定不合理,訊號被擴散到很遠的地方。

能夠明確有干擾,如何解決呢?只能向政府部門尋求幫助,可以打電話給當地的無線電管理部門,要求排查。無線電管理部門有專門的儀器可以檢測偽基站訊號,確定位置,並將裝置關停。歡迎大家舉報非法的無線電干擾行為。

具體電話可參考

https://www.miit.gov.cn/gzcy/cydh/art/2020/art_ba58d28194884d66b0032861a11e0bd2.html

相關文章