申成良,郭承軍
(電子科技大學 電子科學技術研究院,四川 成都 611731)
全球導航衛星系統(GNSS)技術越來越成熟,不單單應用于軍事上,更廣泛地應用在民用領域。因此,欺騙干擾攻擊不僅僅是軍用接收機所要面對的威脅,很多民用接收機也受到了很大的威脅,因為民用信號(如GPS L1 信號)的信號結構公開,到達地面時功率低,更容易被欺騙信號攻擊,必須對抗欺騙干擾技術展開研究,以提高接收機的魯棒性。近十年國內外的很多學者提出了很多基于接收機層面的抗欺騙干擾技術[1]:信號質量監測、到達時檢測、功率檢測、多普勒一致性監測、慣導組合一致性檢測等。但是隨著欺騙技術的提高,這些傳統的抗欺騙干擾技術開始顯現出不足之處。
軍用信號有很強的抗干擾性能,因為此類信號采用了調制端的(衛星端)加密技術。因此,很多研究者提出可以采用類似的方法來提高民用接收機的抗干擾性能。國內的研究學者主要是對傳統的抗欺騙技術展開研究,關于電文加密身份認證技術的研究比較少。本文全面總結了目前的民用電文加密身份認證技術,針對不同的欺騙干擾信號,對比分析了不同身份認證技術的性能,提出了一種可行的身份認證方案,既解決了安全性問題,也解決了數據開銷問題。最后,以擴頻碼身份認證技術(SCA)為例,將SCA應用到GPS L1信號上,通過仿真評估了SCA的性能。
GNSS抗欺騙技術可以分為兩類:非電文加密技術和電文加密技術[1-2]。非電文加密技術也就是傳統的抗欺騙干擾技術,關于非電文加密技術的大體介紹,可以參考文獻[1],本文重點討論電文加密技術。
在接收機端主要是完成身份認證的工作,因此根據電文加密技術在接收機的實現方式,可以將電文加密技術主要分為四大類:
1) 導航信息認證(NMA):為了保護導航數據比特位,可以對導航數據進行數字簽名,接收機利用簽名來進行身份認證。
2) 擴頻碼認證(SCA):在未加密的公開的擴頻碼中插入不可預測的碼片,之后通過加密算法來驗證接收序列中不可預測碼片的有效性。
3) 導航信息加密(NME):先將導航數據進行加密,之后再調制到擴頻碼上發射出去。
4) 擴頻碼加密(SCE):即對所有衛星的擴頻碼進行加密處理,再發射出去。
對于更廣泛的民用群體來說,基于NME和SCE的技術意味著需要更復雜的接收機架構,因為需要管理密鑰等操作。因此,NMA和SCA可能更適用,下面主要討論這兩種技術。
1.2.1 NMA
與NME和SCE相比,NMA有一個明顯的優勢,在不改變信號調制方式和衛星有效載荷的情況下,NMA能整合到現有的衛星信號上[3]。NMA技術利用非對稱加密算法,因而用戶無需存儲私鑰,只需要存儲公鑰。非對稱加密算法主要是基于單向函數來實現的,單向函數逆推較難,所以稱之單向[4],NMA主要有兩種實現方式:數字簽名技術和時間效應流失容錯認證(TESLA)。數字簽名是一種單向函數,它能夠提供最簡單且最標準的數據認證方式。首先,衛星控制段對導航數據取哈希值,接著用只保存在衛星控制段的私鑰KS對所得到的哈希值進行數字簽名,最后將數字簽名與導航數據一同發射出去。在接收機端,就可用一個公鑰KV對接收到的信號進行驗證。數字簽名技術的數據開銷比較大,接收機首次認證時間會很長,可以采用橢圓曲線數字簽名算法(ECDSA)來解決認證數據開銷的問題[5]。而TESLA是采用對稱加密模型,同時利用了密鑰延遲發布技術(時延為δ),來實現非對稱加密。TESLA的關鍵在于密鑰延遲發布,衛星先使用不對外的密鑰(Key)生成一個消息認證碼(MAC),接收機先緩存收到的數據,一段時間后衛星再發送Key,接收機再利用Key對接收到的數據解碼得到MAC,將解碼得到的MAC與之前收到的MAC進行對比驗證。可見,發送方和接收方需要預先同步時鐘,就可以使用一個MAC實現數據源認證。
1.2.2 SCA
就健壯性和實現復雜度來說,SCA技術介于NMA和NME/SCE之間。通過校驗擴頻碼上不可預測的比特位,來驗證擴頻碼片的真實性,從而保證了偽距測量過程的安全性。一般衛星信號到達地面時的功率大約是-130 dBm,這比熱噪聲還要小20 dB。因此在如此微弱的信號強度下,欺騙方很難準確預測SCA碼片,除非擁有加密信息。由于這個驗證過程不得不是后驗過程,因此會在開始發射不可預測碼片和接收機接收到不可預測碼片之間引入一個延遲。這就對接收機有兩個新的要求[6-8]:1) 接收機結構有一個附加的緩沖區來存儲接收到的射頻信號,直到本地已經產生了SCA碼片的復制碼。2) 接收機需要有個獨立的時間同步源,且有足夠高的精度,能估計接收到的信號是否是一個延遲的信號副本。
文獻[6]首先提出將身份認證機制整合到GNSS信號中,這個概念是基于一些不可預測的擴頻碼序列,稱為擴頻安全碼(SSSC),并且淹沒在熱噪聲中發射出去。文獻[7]提出了一個與SSSC類似的概念,稱為隱藏標記碼(HMM)。文獻[8]也提出了一種類似的信號認證序列(SAS),它采用一段較小碼率的流密碼來生成不可預測序列,并且采用時分技術來插入生成的序列。閱讀了大量文獻發現,上述所提到的SCA技術目前只是基于整個系統前期設計而提出的通用的概念。與NMA技術比起來,關于SCA技術的研究就沒那么完整統一了。而本文后面的仿真實例中,隨機的加入一些SCA碼片來達到仿真模擬效果,以生成模擬的GPS L1數字中頻信號(IF)。
針對不同的欺騙干擾攻擊[1],不同的身份認證方法有著不同的性能。針對不同的欺騙干擾攻擊,本文總結并對比了NMA和SCA的魯棒性,如表1所示。

表1 NMA和SCA的性能對比
從表1可以得出,SCA比NMA具有更高的魯棒性,特別是在針對估計轉發式欺騙和前向估計攻擊時。從欺騙方來說,對NMA碼片進行準實時估計要比對SCA碼片進行估計簡單,因為針對SCA時,需要高增益接收天線來接收到達地面的微弱信號。還可以看出,NMA和SCA都不能應對轉發式干擾,NME和SCE同樣如此。實際上,只采用身份認證技術來應對轉發式干擾攻擊往往是不可行的,因為轉發式干擾攻擊根本沒有改變接收數據比特流。而此時可以結合非電文加密技術中的信號質量監測、到達時檢測技術等,來提高接收機的健壯性,也可以利用文獻[9]提出的參數估計方法來提高加密算法抗欺騙技術的有效性。
文獻[5]提出采用類似HTTPS協議中的數字證書技術,來輔助NMA身份認證技術,NMA身份認證基于ECDSA來實現。而這種認證結構忽略了TESLA的優勢,且還需要第三方機構來確保安全,這無疑增加了風險和用戶的使用成本[5]。在對比分析了ECDSA和TESLA的基礎上,提出了一種新的組合認證方式(ECDSA-TESLA NMA)。本文只給出理論可行的認證方案的信號結構,實際應用還需進一步研究。
TESLA可以采用截短的MAC,且驗證數字簽名比計算生成MAC標簽更復雜。因此,ECDSA比TESLA運算量大,TESLA在數據丟失時魯棒性更強。但是,TESLA的關鍵在于密鑰延遲發布技術(時延為δ),發送方和接收方需預先同步時鐘。當用戶的時間估計誤差|δr|<δ時,TESLA和ECDSA都能保證數據認證的可靠性。但是當|δr|>δ時,只有ECDSA能保證數據驗證的可靠性。最后,ECDSA已經被美國國家標準技術研究所(NIST)列為標準的數字簽名方案,技術更可靠成熟,而TESLA還在不斷發展中,需要更進一步確定其穩定性。綜上所述,TESLA和ECDSA的優缺點如表2所示。

表2 ECDSA與TESLA的比較
通過對比分析,TESLA-NMA的認證開銷要比ECDSA-NMA認證開銷小,而當|δr|>δ時,ECDSA-NMA具有更高的可靠性。綜合考慮,在理論上提出一種TESLA和ECDSA相組合的NMA認證方案。這里如何生成MAC和數字簽名不在討論范圍,可參考相關的文獻。認證方案信號結構如圖1所示。
圖1所示為ECDSA與TESLA組合的NMA數據流格式,數據比特流為從左到右,左邊的先播發。本認證方案中,在開始播發ECDSA數字簽名前先連續播發k個MAC-Key對(圖中只畫出了一對,δ為TESLA時延),包括TESLA認證標記比特流,然后是ECDSA簽名比特流,最后是ECDSA認證標記比特流,如此重復播發下去,參數k用來控制ECDSA與TESLA的交織程度。顯然,隨著k的增加,該認證越來越依賴于TESLA.從圖中可以看出,每有k個TESLA認證標記,整個身份認證過程將會有k+1個認證標記,包括一個ECDSA認證標記。當|δr|>δ時,也會有一個相應的ECDSA簽名來提供此時的身份認證,從而也能保證接收數據的可靠性。因此,在每個身份認證過程中,所有的TESLA比特位都必須用ECDSA來簽名。
衛星不斷循環播發上述比特流,接收機開始接收信號,先進行TESLA認證,再進行ECDSA認證,當所有認證過程通過之后,整個身份認證過程結束。值得指出的是,當參數k=0時,該認證方案也就退化為單一的ECDSA-NMA.再則,TESLA-NMA的認證開銷要比ECDSA-NMA認證開銷小,而當|δr|>δ時,ECDSA-NMA具有更高的可靠性。可見,TESLA認證過程是可選的,而ECDSA認證過程是必須的。因此在理論上,該認證方案充分利用了TESLA和ECDSA各自的優點,解決了傳統NMA技術的運算量和時間同步等問題。
下面的分析僅限于一個實際的例子,針對的是GPS L1信號的演變過程,而完整的信號設計不在本文的討論范圍。為了達到身份認證的目的,加入一些不可預測的碼片到已知擴頻碼片中,主要分析由此產生的影響。分析主要包括兩個方面:1) 未參與認證的接收機性能的衰退。2) 就身份認證技術的某個參數,評估參與認證的接收機的性能。
未參與認證的接收機不知道SCA的不可預測碼片,僅僅只用基本的序列碼對接收信號進行解擴處理。在進行相關捕獲處理時,有兩種選擇方案:A. 丟棄不可預測碼片。B. 包含不可預測碼片,這樣也就增加了噪聲成分。在方案A情況下,載噪比衰減度(ΔC/N0)表示如下[10]
(1)
式中,pu是嵌入到擴頻碼序列中的未知序列占整個擴頻碼序列的百分比。而對于方案B,此時的載噪比衰減度將是方案A的兩倍。pu的值在SCA技術里是個重要的參數,它直接影響到載噪比衰減度,必須在權衡欺騙魯棒性水平和向后兼容性要求過后再做出設計。
將SCA應用到GPS L1信號上,以積分時間Tint=1 ms時為例,ΔC/N0的變化情況如圖2所示,pu從0%~90%變化。從圖中可以看出,當未參與認證的接收機包含未知的SCA碼片時,pu等于11%時,相關器輸出信號的載噪比將衰減1 dB.在兩種方案的情況下,這種衰減都跟相關器的增益直接相關,因為本地生成的擴頻碼與接收信號中的不完全匹配,導致相關器輸出幅值減小。
通過計算機仿真來驗證方案B的理論分析結果,如圖2中星號所示。仿真中,以PRN3 CA碼為例,隨機地加一些不可預測的SCA碼片到GPS L1信號的擴頻碼上,通過軟件接收機進行捕獲跟蹤處理,評估接收機在不同pu時的跟蹤性能。仿真結果表明,方案B的理論結果和仿真結果吻合較好,表明未參與身份認證的接收機相關器輸出信號的載噪比將衰減厲害,從而影響正常工作。圖3示出了PRN3的捕獲結果,沒有明顯的相關峰值,表明此時無法捕獲到此顆衛星,身份認證失敗。

3.2.1 理論分析
(2)
要對SCA碼片進行檢測,設非相干積分幅值為V:
(3)

(4)
因此,
(5)
(6)
當Ncs不等于1時,分析將變得比較復雜,可參考文獻[11]。
3.2.2 仿真分析

從圖4可以直觀地得出,增加積分時間、提高信號的載噪比或適當增大pu能提升接收機身份認證的成功率。pu不能太大,否則在身份認證過程將對更多的SCA碼片進行驗證,從而增加了運算量和誤碼率,也將導致捕獲跟蹤性能的下降。同樣地,增加積分時間將增大所需的采樣點數目,也意味著增加身份認證過程的運算量和時延。圖5示出了PRN3的某一次捕獲結果,有明顯的相關峰值,表明此時成功捕獲到此顆衛星,身份認證成功。值得指出的是,上述仿真中只采用了固定的、單一的檢測門限,這將使此類接收機容易遭受發射功率較大的欺騙攻擊,只要欺騙方知道某一部分SCA碼片,相關輸出也能達到所設定的單一檢測門限,從而達到欺騙的目的。應用多檢測門限進行判斷也是以后的研究方向。
針對不同的欺騙干擾攻擊,本文對比分析了NMA和SCA的魯棒性。分析表明,SCA比NMA具有更高的魯棒性,且身份認證技術往往不能應對轉發式干擾攻擊。在對比分析了ECDSA和TESLA的基礎上,提出了一種TESLA和ECDSA相組合的NMA認證方案。該認證方案充分利用了TESLA和ECDSA各自的優點,解決了傳統NMA技術的運算量和時間同步等問題。最后通過仿真評估了SCA技術的性能。仿真表明,未參與身份認證的接收機相關器輸出信號的載噪比衰減厲害;對于參與身份認證的接收機,增加積分時間、提高信號的載噪比或適當增大pu能提升接收機身份認證的成功率。