陳思元, 巴曉輝,2,3,*, 蔡伯根,2,3, 姜 維,2,3, 王 劍,2,3
(1. 北京交通大學(xué)電子信息工程學(xué)院, 北京 100044; 2. 北京交通大學(xué)軌道交通控制與安全國家重點(diǎn)實(shí)驗(yàn)室, 北京 100044; 3. 北京市軌道交通電磁兼容與衛(wèi)星導(dǎo)航工程技術(shù)研究中心, 北京 100044)
全球?qū)Ш叫l(wèi)星系統(tǒng)(global navigation satellite system, GNSS)能夠在全球范圍內(nèi)提供定位導(dǎo)航授時(shí)(positioning, navigation and time, PNT)服務(wù),已被廣泛應(yīng)用于諸多領(lǐng)域[1]。在一些有物理阻隔或電磁干擾的應(yīng)用場(chǎng)景下,GNSS信號(hào)噪聲增大、可見衛(wèi)星數(shù)目減少、系統(tǒng)的多徑誤差增大,系統(tǒng)的可用性、精確性出現(xiàn)明顯不足,由此可以使用一種基于地面設(shè)備的偽衛(wèi)星(pseudo satellite, PL)系統(tǒng)[2-4],在衛(wèi)星信號(hào)差的區(qū)域輔助GNSS系統(tǒng),實(shí)現(xiàn)局部獨(dú)立導(dǎo)航定位。然而,隨著電子技術(shù)的發(fā)展,衛(wèi)星導(dǎo)航信號(hào)電文格式和信號(hào)體制細(xì)節(jié)在接口控制文件中均可公開,使得接收機(jī)易受到多種欺騙干擾的攻擊。因此,研究導(dǎo)航信號(hào)防偽認(rèn)證的方法對(duì)于PL導(dǎo)航系統(tǒng)的發(fā)展具有重要意義。
常見信號(hào)加密認(rèn)證技術(shù)分為3大類:導(dǎo)航電文認(rèn)證(navigation message authentication, NMA)技術(shù)、擴(kuò)頻碼認(rèn)證(spread code authentication, SCA)技術(shù)和無碼互相關(guān)技術(shù)[5-8]。NMA技術(shù)可以在不改變信號(hào)調(diào)制方式的情況下認(rèn)證消息,抗欺騙效果好且易于接收機(jī)實(shí)現(xiàn)。國內(nèi)外對(duì)于NMA方案的設(shè)計(jì)研究主要從數(shù)字簽名和加密技術(shù)兩方面開展實(shí)施。
Wesson等[9-11]設(shè)計(jì)了一種面向全球定位系統(tǒng)(global positioning system, GPS)民用信號(hào)的認(rèn)證方案,基于Koblitz曲線設(shè)計(jì)數(shù)字簽名,結(jié)合密鑰序列方案,設(shè)計(jì)NMA加密認(rèn)證方法,可以應(yīng)對(duì)生成式欺騙干擾,但該方案僅對(duì)兩種方法進(jìn)行簡(jiǎn)單混合,無法發(fā)揮兩者的性能優(yōu)勢(shì)[12]。文獻(xiàn)[13-14]給出了Galileo系統(tǒng)NMA的設(shè)計(jì)原則,介紹數(shù)字簽名在導(dǎo)航電文中的實(shí)現(xiàn)和排布,在可行性方面有較大參考價(jià)值,但未能解決電文認(rèn)證數(shù)據(jù)位占用高、認(rèn)證效率低等問題。同時(shí),針對(duì)Galileo系統(tǒng)導(dǎo)航認(rèn)證方案的性能評(píng)估方法,文獻(xiàn)[15]提出可使用初次認(rèn)證時(shí)間和認(rèn)證時(shí)間間隔作為認(rèn)證效率的研究指標(biāo)。唐超等[16]對(duì)數(shù)字簽名的數(shù)字簽名加密認(rèn)證技術(shù)進(jìn)行研究,給出加密技術(shù)原理和性能分析。王洪偉等[17]介紹了常用電文加密認(rèn)證技術(shù)的分類和優(yōu)缺點(diǎn)比較,為北斗衛(wèi)星導(dǎo)航系統(tǒng)的安全性研究提供了設(shè)計(jì)依據(jù)。文獻(xiàn)[18-19]針對(duì)北斗系統(tǒng)設(shè)計(jì)超幀電文認(rèn)證和北斗主幀組電文認(rèn)證方案,結(jié)合橢圓曲線數(shù)字簽名算法(elliptic curve digital signature algorithm, ECDSA)和時(shí)間效應(yīng)流失容錯(cuò)算法(timed efficient stream loss-tolerant algorithm, TESLA)協(xié)議提高認(rèn)證方案的安全和效率指標(biāo),但目前TESLA尚未具備標(biāo)準(zhǔn)化規(guī)范,存在混合認(rèn)證實(shí)現(xiàn)難度高、密鑰管理開銷大、需增加額外接收機(jī)硬件開銷等問題。
隨著衛(wèi)星導(dǎo)航系統(tǒng)的廣泛應(yīng)用,對(duì)于區(qū)域?qū)Ш较到y(tǒng)的需求日益增多,本文采用一種基于國產(chǎn)密碼算法標(biāo)準(zhǔn)的NMA方法,結(jié)合PL平臺(tái),利用導(dǎo)航電文未被定義的保留位信息設(shè)計(jì)數(shù)字簽名方案,并對(duì)方案設(shè)計(jì)的導(dǎo)航電文的具體排布方式作出說明。分析表明,該方法無需改變接收機(jī)硬件結(jié)構(gòu),在不同系統(tǒng)誤碼率下,認(rèn)證錯(cuò)誤率能維持在較低水平,為保障PL系統(tǒng)信號(hào)安全提供了解決方案。
PL是一種基于地面的、能夠傳播類似衛(wèi)星導(dǎo)航信號(hào)的發(fā)射器,通常都安裝在低空的開闊區(qū)域[20-21]。PL定位精度高,可以與GNSS組合,提供定位增強(qiáng)服務(wù),且在GNSS衛(wèi)星信號(hào)較弱時(shí)可以通過自組網(wǎng)構(gòu)建獨(dú)立的定位系統(tǒng),代替衛(wèi)星系統(tǒng)完成定位工作。
PL系統(tǒng)由收發(fā)機(jī)、定位接收機(jī)和系統(tǒng)組網(wǎng)組成,可以在GPS、北斗信號(hào)遮擋的區(qū)域形成地基增強(qiáng)系統(tǒng),提高區(qū)域定位精度,同時(shí)通過組網(wǎng)內(nèi)時(shí)間同步,獨(dú)立為某些特定區(qū)域提供高精度位置服務(wù)。
收發(fā)機(jī)作為信號(hào)發(fā)射部分由4顆PL信號(hào)發(fā)射機(jī)構(gòu)成,可以發(fā)射類似GPS衛(wèi)星信號(hào),產(chǎn)生粗捕獲碼偽距信號(hào),利用載波相位測(cè)量,測(cè)量精度可達(dá)厘米級(jí)。收發(fā)機(jī)的核心功能是產(chǎn)生和發(fā)射符合定位需求的PL信號(hào),包含基帶信號(hào)生成、中頻信號(hào)的數(shù)模轉(zhuǎn)換器(digital to analog converter, D/A)轉(zhuǎn)換和信號(hào)上變頻處理等過程,最終產(chǎn)生的信號(hào)為定位用戶提供信號(hào)源,完成自身位置坐標(biāo)結(jié)算、內(nèi)部鐘差調(diào)整、與其他PL時(shí)間同步等,PL收發(fā)機(jī)的內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 PL收發(fā)機(jī)結(jié)構(gòu)圖Fig.1 Structure diagram of PL transceiver
接收機(jī)作為信號(hào)接收部分,主要用于接收并處理PL收發(fā)機(jī)發(fā)出的導(dǎo)航定位信號(hào),并進(jìn)行下變頻、模數(shù)轉(zhuǎn)換器(analog to digital converter, A/D)轉(zhuǎn)換以及捕獲跟蹤處理,得到信號(hào)的觀測(cè)量,其內(nèi)部由接收機(jī)天線、中頻A/D轉(zhuǎn)換模塊、下變頻模塊和基帶信號(hào)處理模塊組成,結(jié)構(gòu)如圖2所示。接收機(jī)裝置可放置在移動(dòng)單元上進(jìn)行動(dòng)態(tài)航跡測(cè)量,能同時(shí)接收GPS信號(hào)和PL信號(hào)。
圖2 PL接收機(jī)結(jié)構(gòu)圖Fig.2 Structure diagram of PL receiver
PL信號(hào)由載波、測(cè)距碼、導(dǎo)航電文3部分構(gòu)成,信號(hào)結(jié)構(gòu)如圖3所示。
圖3 PL信號(hào)結(jié)構(gòu)圖Fig.3 Structure diagram of PL signal
測(cè)距碼也稱偽隨機(jī)噪聲(pseudo random noise, PRN)碼,也叫偽碼,通常由一系列二進(jìn)制序列碼按一定的編碼規(guī)則產(chǎn)生;導(dǎo)航電文攜帶PL參數(shù)信息,導(dǎo)航電文速率和GPS速率一致,為50 bps;載波射頻頻率包含S1、S2兩個(gè)頻點(diǎn),S1、S2信號(hào)表達(dá)式如下式所示:
(1)
式中:P為信號(hào)功率;Di(t)為導(dǎo)航電文;ci(t)為偽隨機(jī)序列;fci為對(duì)應(yīng)第i(i=1、2)個(gè)頻點(diǎn)的載波頻率;hi([t/T])為跳時(shí)序列碼,基礎(chǔ)頻率選為10.23 MHz。PL的擴(kuò)頻調(diào)制采用粗捕獲碼,是一種預(yù)先確認(rèn)、可重復(fù)產(chǎn)生和復(fù)制的PRN。測(cè)距碼和導(dǎo)航電文通過二進(jìn)制相移鍵控(binary phase shift keying, BPSK)的方式調(diào)制得到擴(kuò)頻碼,然后由載波對(duì)擴(kuò)頻碼進(jìn)行BPSK調(diào)制,得到PL信號(hào)。
NMA即使用公鑰數(shù)字簽名算法對(duì)導(dǎo)航信息進(jìn)行簽名,認(rèn)證消息每隔固定的時(shí)間發(fā)送一次。NMA非對(duì)稱加密方案主要有兩種實(shí)現(xiàn)方式:數(shù)字簽名(digital signature, DS)技術(shù)和TESLA[22-23]。
DS技術(shù)一般由簽名方使用私鑰對(duì)明文消息加密生成簽名,然后將明文數(shù)據(jù)和簽名數(shù)據(jù)組成的簽名信息發(fā)給接收方,接收方使用對(duì)應(yīng)公鑰進(jìn)行驗(yàn)證以確定簽名的真?zhèn)?簽名生成和驗(yàn)簽的一般流程如圖4所示。
圖4 DS生成和驗(yàn)證流程圖Fig.4 Flowchart of DS generation and verification
ECDSA使用橢圓曲線參數(shù)作為描述DS生成過程中公鑰加密方案的密鑰的參數(shù),屬于非對(duì)稱的密碼體制,有較好的抗欺騙性能,但是計(jì)算開銷較大。
TESLA是一種廣播認(rèn)證方案,采用對(duì)稱加密模型,利用密鑰延遲發(fā)布技術(shù)實(shí)現(xiàn)非對(duì)稱加密,以確保播發(fā)的安全性。該算法使用單向生成逆向使用的密鑰序列,參數(shù)序列生成過程如圖5所示。
圖5 TESLA參數(shù)序列生成過程Fig.5 TESLA parameter sequence generation process
TESLA技術(shù)具有正向生成復(fù)雜度低、逆向倒推計(jì)算難的特點(diǎn),有效保證了在下一密鑰披露之前用戶無法計(jì)算到下一密鑰信息。認(rèn)證過程需要發(fā)送方與接收方預(yù)先同步時(shí)鐘,達(dá)成松散的時(shí)間同步,且密鑰延遲時(shí)間不宜過長(zhǎng),否則欺騙者會(huì)有足夠時(shí)間根據(jù)當(dāng)前密鑰計(jì)算出下一密鑰以實(shí)施欺騙。TESLA計(jì)算量低、魯棒性好,適合一對(duì)多的傳輸。
2.1.1 認(rèn)證一般模型
一種簡(jiǎn)單的公私鑰加密認(rèn)證方案一般包含4個(gè)步驟:① 衛(wèi)星空間段通過私鑰對(duì)導(dǎo)航電文的特定字段進(jìn)行加密處理;② 接收機(jī)通過公鑰對(duì)導(dǎo)航電文的加密字段進(jìn)行解密認(rèn)證,驗(yàn)證接收信號(hào)的有效性;③ 用戶從可靠的密鑰管理機(jī)構(gòu)獲取有效公鑰,防止欺騙干擾方發(fā)布的虛假公鑰引導(dǎo)接收機(jī)跟蹤欺騙信號(hào);④ 導(dǎo)航系統(tǒng)運(yùn)行機(jī)構(gòu)可不定期更換加密私鑰并更換公鑰,避免私鑰被破解而造成接收機(jī)無法正確監(jiān)測(cè)欺騙信號(hào)[24]。NMA的一般模型結(jié)構(gòu)如圖6所示。
圖6 NMA結(jié)構(gòu)圖Fig.6 NMA structure diagram
2.1.2 國密算法
為滿足電子認(rèn)證服務(wù)等應(yīng)用的需求,國家密碼管理局制定了一系列國產(chǎn)密碼算法,目前主要公開的算法有SM2、SM3、SM4、SM9和ZUC[25-27],其區(qū)別如表1所示。
表1 國產(chǎn)密碼算法比較
SM1算法:分組密碼算法,分組長(zhǎng)度為128 bit,密碼長(zhǎng)度為128 bit,保密強(qiáng)度和軟硬件實(shí)現(xiàn)性能與高級(jí)加密標(biāo)準(zhǔn)(advanced encryption standard, AES)相當(dāng),算法不公開,僅以知識(shí)產(chǎn)權(quán)(intellectual property, IP)核的形式存于芯片中,現(xiàn)廣泛用于電子政務(wù)、電子商務(wù)等領(lǐng)域。
SM2算法:非對(duì)稱加密算法,包括SM2-1 ECDSA,SM2-2橢圓曲線密鑰交換協(xié)議,SM2-3橢圓曲線公鑰加密算法,分別用于實(shí)現(xiàn)DS密鑰協(xié)商和數(shù)據(jù)加密等功能。采用橢圓曲線密碼(elliptic curve cryptography, ECC)機(jī)制,簽名速度與密鑰生成速度均快于RSA(Rivest Shamir Adleman, RSA)算法,且256位的SM2密碼強(qiáng)度已經(jīng)比2 048位的RSA密碼強(qiáng)度要高[28]。
SM3算法:雜湊(哈希、散列)算法,無需密鑰,對(duì)于任何文本長(zhǎng)度不大于264bit的消息,都可以通過SM3算法通過填充和迭代壓縮生成長(zhǎng)度為256 bit的雜湊值,填充規(guī)則參考密碼標(biāo)準(zhǔn),取值范圍更大,且不能通過逆向運(yùn)算暴露原文數(shù)據(jù),適用于商用密碼應(yīng)用中的DS和驗(yàn)證,消息認(rèn)證碼的生成與驗(yàn)證以及隨機(jī)數(shù)的生成,安全性要高于消息摘要算法(message digest algorithm, MD5)和安全散列算法(secure hash algorithm 1, SHA-1),可滿足多種密碼應(yīng)用的安全需求。
SM4算法:對(duì)稱加密算法,分組長(zhǎng)度為128 bit,密碼長(zhǎng)度為128 bit,加密解密共用一套密鑰,均采用32輪非線性迭代結(jié)構(gòu),只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。SM4是專門為無線局域網(wǎng)產(chǎn)品設(shè)計(jì)的加密算法。
在實(shí)際應(yīng)用中,可根據(jù)消息類型采用不同的密碼算法進(jìn)行認(rèn)證。密碼算法主要分為對(duì)稱加密算法和非對(duì)稱加密算法。其中,對(duì)稱加密算法加密速度強(qiáng),但認(rèn)證信息較少,加密強(qiáng)度一般;非對(duì)稱加密算法安全性高,認(rèn)證信息量大,但由于計(jì)算復(fù)雜,加密和認(rèn)證速度相比而言較慢?;谝陨咸攸c(diǎn),在設(shè)計(jì)PL信號(hào)防偽認(rèn)證方案時(shí)可根據(jù)電文保留位大小及電文速率,將國密算法進(jìn)行組合,在確保認(rèn)證信息安全的同時(shí),實(shí)現(xiàn)更快的認(rèn)證和密鑰更新速度。
作為信息防欺騙干擾方法的一個(gè)分支,基于密碼學(xué)的防偽認(rèn)證方法近年來日趨成熟,具有較高的安全性,可以設(shè)計(jì)一種使用國產(chǎn)密碼標(biāo)準(zhǔn)加密的NMA方案,考慮到SM1算法不公開,目前僅以IP核的形式存于芯片中,不宜應(yīng)用于衛(wèi)星通信;SM4是對(duì)稱加密算法,密鑰公開后信號(hào)安全性無法保障。同時(shí),根據(jù)電文設(shè)計(jì),PL導(dǎo)航電文第4幀預(yù)留位充裕,可以替換全部簽名信息。因此,本文設(shè)計(jì)使用非對(duì)稱加密算法SM2和密碼雜湊算法SM3生成簽名,將明文數(shù)據(jù)和簽名數(shù)據(jù)組成的簽名信息發(fā)給接收方,接收方使用對(duì)應(yīng)公鑰進(jìn)行驗(yàn)證以確定簽名的真?zhèn)?認(rèn)證流程如圖7所示。
圖7 NMA流程圖Fig.7 Flowchart of NMA
使用國密算法生成DS認(rèn)證信息主要包含私鑰生成簽名和公鑰驗(yàn)證簽名兩部分,具體包括以下步驟。
步驟 1參數(shù)驗(yàn)證。確定橢圓曲線系統(tǒng)參數(shù),包括有限域規(guī)模Fp、Fq,曲線方程E,橢圓曲線上的基點(diǎn)坐標(biāo)G(xG,yG),以及階數(shù)n。根據(jù)SM2橢圓曲線公鑰密碼算法[29-30]規(guī)定的條件對(duì)上述參數(shù)加以驗(yàn)證,參數(shù)有效,可建立認(rèn)證系統(tǒng)。
步驟 2密鑰產(chǎn)生。輸入系統(tǒng)參數(shù),用戶選取秘密值計(jì)算P=d[*]G,P為公鑰,d作為私鑰由加密方保存。
步驟 3簽名生成。輸入系統(tǒng)參數(shù),私鑰d和待簽名消息M,按以下步驟生成簽名,流程如圖8所示。
步驟 3.1置M=ZA‖M;
步驟 3.2計(jì)算e=Hash(M),將e的數(shù)據(jù)類型轉(zhuǎn)換為整數(shù),Hash()為單項(xiàng)截?cái)嗪瘮?shù);
步驟 3.3用隨機(jī)數(shù)發(fā)生器產(chǎn)生隨機(jī)數(shù)k∈[1,n-1];
步驟 3.4計(jì)算橢圓曲線點(diǎn)(x1,y1)=[k]G,將x1的數(shù)據(jù)類型轉(zhuǎn)換為整數(shù);
步驟 3.5計(jì)算r=(e+x1)modn,若r=0或r+k=n則返回重新選取k;
步驟 3.6計(jì)算s=((1+dA)-1·(k-r·dA))modn,若s=0則返回重新選取k;
步驟 3.7將r、s的數(shù)據(jù)類型轉(zhuǎn)換為字節(jié)串,輸出消息M的簽名為(r,s)。
圖8 DS生成算法流程圖Fig.8 Flowchart of DS generation algorithm
步驟 4簽名驗(yàn)證:輸入系統(tǒng)參數(shù),公鑰P及收到的消息M′的簽名(r′,s′),按如下步驟驗(yàn)證簽名,流程如圖9所示。
步驟 4.1檢驗(yàn)r′∈[1,n-1]是否成立,若不成立則驗(yàn)證不通過;
步驟 4.2檢驗(yàn)s′∈[1,n-1]是否成立,若不成立則驗(yàn)證不通過;
步驟 4.3置M′=ZA‖M′;
步驟 4.4計(jì)算e′=Hash(M′),將e′的數(shù)據(jù)類型轉(zhuǎn)換為整數(shù);
步驟 4.5將r′、s′的數(shù)據(jù)類型轉(zhuǎn)換為整數(shù),計(jì)算t=t(r′+s′)modn,若t=0,則驗(yàn)證不通過;
與其他數(shù)字簽名算法相比,SM2 DS算法采用ECC機(jī)制,在同等安全性級(jí)別條件下,DS過程能保障發(fā)送行為的真實(shí)性,有密鑰生成快、DS迅速、計(jì)算量小、安全性高等特點(diǎn)。對(duì)于軟件接收機(jī)而言,只需要存儲(chǔ)公鑰,無需存儲(chǔ)私鑰,在維持較低的通信成本與計(jì)算成本的同時(shí),可保障衛(wèi)星導(dǎo)航信息的安全。因此,針對(duì)民用衛(wèi)星導(dǎo)航系統(tǒng)開放、透明的特點(diǎn),使用ECDSA進(jìn)行認(rèn)證更為合適。
圖9 DS驗(yàn)證算法流程圖Fig.9 Flowchart of DS verification algorithm
導(dǎo)航電文是一種二進(jìn)制碼,包括計(jì)算衛(wèi)星位置的有關(guān)數(shù)據(jù)(衛(wèi)星星歷)、系統(tǒng)時(shí)間、衛(wèi)星鐘參數(shù)、歷書、電離層信息及衛(wèi)星工作狀態(tài)等內(nèi)容。PL發(fā)射的導(dǎo)航電文數(shù)據(jù)以二進(jìn)制碼的形式發(fā)送,以比特、字、子幀和幀的形式被編碼在信號(hào)上,并以50 bit/s的速率發(fā)送給接收機(jī),接收方將其用于導(dǎo)航解算。每個(gè)主幀有1 500 bit的數(shù)據(jù),并分成5個(gè)子幀,每個(gè)子幀有10個(gè)字,每個(gè)字為30 bit。幀結(jié)構(gòu)如圖10所示。
圖10 導(dǎo)航電文幀結(jié)構(gòu)圖Fig.10 Frame structure diagram of navigation message
其中,子幀1包含標(biāo)識(shí)碼(如衛(wèi)星星期序號(hào)等)、星期數(shù)據(jù)齡期、時(shí)鐘改正數(shù)等,子幀2和子幀3包含衛(wèi)星星歷(軌道參數(shù)等),子幀4包含衛(wèi)星歷書、協(xié)調(diào)世界時(shí)間(universal time coordinated, UTC)和電離層改正參數(shù)、衛(wèi)星健康狀況等信息,子幀5包含衛(wèi)星歷史和健康狀況信息。
在實(shí)際應(yīng)用中,排布PL導(dǎo)航電文信息時(shí)會(huì)預(yù)留一些分布集中的信息位,考慮到不影響傳統(tǒng)接收機(jī)正常接收信號(hào),在定義認(rèn)證信息位時(shí)可以將修改的導(dǎo)航電文安排在保留區(qū)域,以便于對(duì)信息進(jìn)行有效的管理、維護(hù)和更新。對(duì)整個(gè)電文各個(gè)子幀中擁有的預(yù)留信息位情況進(jìn)行統(tǒng)計(jì),可得到如表2所示的信息。
表2 導(dǎo)航電文子幀1~5的預(yù)留信息位
SM2數(shù)字簽名算法生成私鑰長(zhǎng)度128 bit,公鑰長(zhǎng)度256 bit,簽名長(zhǎng)度512 bit,根據(jù)導(dǎo)航電文幀結(jié)構(gòu)設(shè)計(jì),將512位簽名信息去替換每一頁面不同的保留位,具體的替換位置如表3所示。
表3 簽名信息編排分布
本方案的實(shí)驗(yàn)測(cè)試平臺(tái)由基于GNU Radio的信號(hào)發(fā)射部分、基于Visual Studio OPENSSL的加解密部分以及基于CPU/GPU異構(gòu)并行計(jì)算的信號(hào)接收部分組成,如圖11所示。測(cè)試過程依照設(shè)計(jì)的認(rèn)證方案內(nèi)容執(zhí)行,先根據(jù)密碼算法生成簽名,將添加認(rèn)證信息的電文數(shù)據(jù)和星歷文件等輸入到信號(hào)生成軟件中,結(jié)合軟件無線電設(shè)備(universal software radio peripheral, USRP)實(shí)時(shí)發(fā)送信號(hào),通過設(shè)置射頻定義文件和通道定義文件,描述軟件接收機(jī)需捕獲跟蹤的信號(hào),結(jié)合多支路跟蹤模型,分析導(dǎo)航信號(hào)抗欺騙干擾能力。
圖11 實(shí)驗(yàn)測(cè)試平臺(tái)Fig.11 Experimental test platform
首先對(duì)于明文加密、密文解密、簽名生成及認(rèn)證過程進(jìn)行仿真,具體實(shí)驗(yàn)步驟和實(shí)驗(yàn)結(jié)果如下。
步驟 1密鑰生成
SM2算法安全性和計(jì)算復(fù)雜度不依賴于參數(shù)選擇,橢圓曲線方程的參數(shù)是可以公開的,參數(shù)選擇步驟滿足系統(tǒng)驗(yàn)證要求即可,也可使用算法隨機(jī)生成。本文方法主要基于國密算法應(yīng)用,在密鑰生成前會(huì)先進(jìn)行參數(shù)驗(yàn)證,實(shí)驗(yàn)采用國家密碼SM2橢圓曲線公鑰密碼算法推薦的曲線參數(shù):y2=x3+ax+b,a、b為素域中的元素,用于定義橢圓曲線,G(xG,yG)為曲線基點(diǎn),n表示基點(diǎn)G的階數(shù),參數(shù)設(shè)置如表4所示。
表4 橢圓曲線參數(shù)信息
先驗(yàn)證曲線參數(shù)是否有效,驗(yàn)證無誤后根據(jù)以上參數(shù)生成的SM2公鑰、私鑰結(jié)果如表5所示。
表5 各階段密鑰生成信息
步驟 2信息加密
實(shí)驗(yàn)選取每一幀的第一子幀的遙測(cè)字(telemetry word, TLM)信息作為加密信息,具體的明文信息加密后生成的密文信息如表6所示。
表6 導(dǎo)航電文生成密文信息
步驟 3簽名生成
利用SM3算法生成的摘要信息和SM2算法產(chǎn)生的私鑰一起組成導(dǎo)航電文的簽名信息如表7所示。
表7 簽名認(rèn)證信息
步驟 4信號(hào)接收和驗(yàn)證
接收端接收到導(dǎo)航信息后,根據(jù)表3所示的位置提取簽名內(nèi)容并驗(yàn)證信息的可靠性,核驗(yàn)二者的哈希值是否一致,進(jìn)而對(duì)簽名認(rèn)證信息的有效性做出判斷:二者一致,導(dǎo)航信息通過驗(yàn)證,是真實(shí)完整的導(dǎo)航信息;否則認(rèn)證失敗,導(dǎo)航信息存在欺騙干擾的可能,不可用。認(rèn)證結(jié)果如圖12所示。
圖12 信號(hào)認(rèn)證階段的程序運(yùn)行結(jié)果Fig.12 Program running results during the signal authentication phase
步驟 5性能分析
分析數(shù)字簽名認(rèn)證方案的性能主要從安全性和可靠性兩個(gè)方面來衡量。
安全性評(píng)估可以考慮安全等級(jí)參數(shù),安全等級(jí)用于衡量密碼算法被暴力破除的難度。在2030年之前,安全等級(jí)在112以上的密碼算法均在安全使用范圍內(nèi)。SM2算法擁有128位安全等級(jí),滿足NIST的安全等級(jí)標(biāo)準(zhǔn),從密碼系統(tǒng)角度考慮是安全的。
可靠性的評(píng)估依賴于認(rèn)證錯(cuò)誤率(authentication error rate, AER)和認(rèn)證時(shí)間間隔。AER表示沒有攻擊但存在真實(shí)傳輸信道干擾的情況下錯(cuò)誤認(rèn)證的概率,表示如下:
AER=1-(1-BER)NNA
(2)
式中:BER(bit error ratio BER)指系統(tǒng)位誤碼率;NNA指參與認(rèn)證的電文比特總數(shù),包含被認(rèn)證電文和認(rèn)證信息。
根據(jù)本文設(shè)計(jì)的NMA方案,當(dāng)NNA為1 500 bit時(shí),不同系統(tǒng)BER下認(rèn)證錯(cuò)誤率如圖13所示。由圖13可以看出,當(dāng)系統(tǒng)BER小于10-5時(shí),本文提出方案的認(rèn)證錯(cuò)誤率維持在較低水平,方案可靠性較好。
圖13 不同BER下方案的認(rèn)證率Fig.13 Authentication rate under different BER
認(rèn)證時(shí)間間隔(time between authentication, TBA)表示接收機(jī)正常運(yùn)行時(shí)連續(xù)兩次認(rèn)證的間隔時(shí)間。實(shí)際條件下,假設(shè)BER=10-6,可計(jì)算平均TBA:
(3)
式中:L表示導(dǎo)航電文的幀長(zhǎng)度;k表示認(rèn)證組中的幀數(shù)量;Tb表示導(dǎo)航電文碼片持續(xù)時(shí)間。對(duì)PL系統(tǒng)而言,采用主幀認(rèn)證方式,L=300,k=5,Tb為0.02 s,可求得平均TBA為30.04 s,認(rèn)證錯(cuò)誤率為0.15%。
確定TBA需要權(quán)衡安全性和系統(tǒng)性能,TBA過大會(huì)導(dǎo)致接收機(jī)長(zhǎng)時(shí)間接收未經(jīng)認(rèn)證的信號(hào),增加受到欺騙的風(fēng)險(xiǎn);TBA過小,需要頻繁認(rèn)證傳輸電文,會(huì)增加計(jì)算成本和通信開銷,降低接收機(jī)性能。
將本文與其他學(xué)者提出的利用保留位進(jìn)行信息認(rèn)證的方法[18,31]進(jìn)行比較,比較結(jié)果如表8所示。
表8 方案比較
PL平臺(tái)可根據(jù)需求自定義信號(hào)幀格式,在設(shè)計(jì)電文格式時(shí)在第四幀設(shè)計(jì)了較多空閑保留位。相比之下,本文可選取密碼強(qiáng)度更高的非對(duì)稱簽名算法;同時(shí),將簽名安排在獨(dú)立子幀中,便于后期密鑰更新和簽名維護(hù),較短的TBA安全性更好。
PL通信使用無線信道,導(dǎo)航電文作為通信內(nèi)容易被篡改偽造,本文在分析PL信號(hào)特征的基礎(chǔ)上,使用DS技術(shù),設(shè)計(jì)了適用于PL的NMA方案。通過比較分析,方案在兼容性方面,使用保留位存放數(shù)字簽名,與現(xiàn)有的接收機(jī)結(jié)構(gòu)兼容,且不影響無認(rèn)證功能的接收機(jī)工作;在安全性方面,使用國密算法避免了國外算法產(chǎn)生的安全隱患,SM2簽名與密鑰生成速度快,密碼強(qiáng)度高,能有效抵御生成式和部分再生式欺騙干擾的攻擊;在靈活性方面,通過電文調(diào)整,可以將簽名安排在獨(dú)立子幀中,便于對(duì)密鑰信息進(jìn)行有效的管理、維護(hù)和更新。在未來的研究中,可以結(jié)合擴(kuò)頻碼,設(shè)計(jì)與擴(kuò)頻碼相關(guān)的認(rèn)證方案,嘗試空中密鑰更新的策略,進(jìn)一步減少時(shí)間開銷。