本發(fā)明涉及對衛(wèi)星無線電導航信號的認證,更具體地涉及針對具有困難接收條件的環(huán)境優(yōu)化的、用于對衛(wèi)星導航數(shù)據(jù)和信號進行認證的方法及系統(tǒng)。
背景技術:
通過使用系統(tǒng)諸如全球定位系統(tǒng)(GPS),衛(wèi)星導航已成為社會和經(jīng)濟的關鍵要素。然而,盡管全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)民用信號非常重要,但是它們非常易于偽造。它們是以非常低的功率(大約-160dBW或10-16瓦特)發(fā)射和接收的,這意味著以低功率發(fā)射假信號的設備可以控制GNSS接收機。當前,民用GNSS信號未提供任何確定這些信號的真實性的手段來防止這樣的攻擊,盡管人們相信將來可以在一些GNSS中實現(xiàn)這樣的特征。然而,已提出一些GNSS信號和數(shù)據(jù)的認證措施,如下文將論述的。
在衛(wèi)星導航領域中的術語“認證”一般指的是根據(jù)導航衛(wèi)星信號計算的位置的真實性。為了對位置進行認證,需要確保該位置計算中所使用的信號的真實性,并且除此之外,接收機還必須保證計算該位置的內(nèi)部處理未被偽造。如本文中所使用的,“認證”主要是指信號認證。接收機從GNSS信號提取的兩條主要信息是衛(wèi)星位置和時間信息(包含在導航消息中)和信號到達時間(其在大多數(shù)接收機中通過碼相位測量獲得)。因此,對無線電導航信號的認證是指確認從衛(wèi)星發(fā)射的數(shù)據(jù)的真實性和完整性,并對由接收機測量的信號到達時間(TOA)進行認證。
作為直接序列擴頻(DSSS)碼分多址(CDMA)信號,GNSS信號包含調(diào)制到擴展碼上的數(shù)據(jù)位流,該擴展碼將信號功率擴展到某個帶寬,并且其還用于計算到達時間。認證措施分為與擴展碼相關的認證措施和與導航數(shù)據(jù)相關的認證措施,其中與導航數(shù)據(jù)相關的認證措施也被稱為導航消息認證(NMA)。
本發(fā)明的要素基于用于無線電導航消息認證的TESLA(定時高效流丟失容錯認證)協(xié)議的方面。
A.Perrig等人的“Timed Efficient Stream Loss-Tolerant Authentication (TESLA):Multicast Source Authentication Transform Introduction,(2005,卡內(nèi)基梅隆大學,Network Working Group)”介紹了作為用以允許來自發(fā)送器的組播或廣播信息的接收機檢查完整性并認證信息的方法的TESLA的概念。TESLA使用對稱加密,并使用延時的密鑰公開以實現(xiàn)非對稱性特性,因此使密鑰管理任務最小化。該篇文章具體地涉及在網(wǎng)絡通信環(huán)境下在數(shù)據(jù)包的認證中使用TESLA。它并未指出其在無線電定位或無線電導航中的應用,也未指出衛(wèi)星通信。作者并未提出在無線電導航中使用TESLA協(xié)議,并且未分析其在衰落和陰影傳輸通道下的可用性。
斯坦福大學的Sherman C.Lo等人的“Assessing the Security of a Navigation System:A Case Study using Enhanced Loran”論述了一種用于增強型近距離無線電導航系統(tǒng)(Loran)中的導航通道的經(jīng)調(diào)整版本的TESLA,例如其中給定密鑰用于多個MAC。關于密鑰加密以及其他用于增強Loran的安全性的技術對認證進行了論述。在一個章節(jié)中論述了TESLA數(shù)據(jù)認證技術,其是上文中論述過的已知技術。作者闡述了針對導航通道對TESLA進行調(diào)整,使其更加適合于Loran。還陳述了為了更加容忍消息丟失,以數(shù)據(jù)有效方式進行的一種修改是使用給定密鑰用于多個MAC。
C Wullems等人的文獻“Signal Authentication and Integrity Schemes for Next Generation Global Navigation Satellite Systems”,Proceedings of the European Navigation Conference GNSS,2005年7月22日(2005-07-22),第1-11頁,XP055141309,慕尼黑,公開了用于基于TESLA對GNSS信號進行基于NMA的認證的技術。發(fā)射機通過散列函數(shù)F生成密鑰鏈。對于當前時隙,通過確定以下兩者之間是否匹配來執(zhí)行認證:(i)根據(jù)從先前時隙期間的第一(數(shù)據(jù))類型的消息獲得的MACs以及通過向密鑰(Kn+2)應用安全密鑰生成函數(shù)F’所獲得的密鑰(K’n+2)推導出的MAC(MAC’n+2),其中密鑰(Kn+2)是根據(jù)當前時隙期間的第二類型的消息獲得的;和(ii)根據(jù)先前時隙期間的第二類型的消息獲得的MAC(MAC’n+2)。
利用TESLA進行無線電導航信號認證的已知系統(tǒng)基于以下步驟:
·針對每個發(fā)射機i,根據(jù)初始隨機種子Ki,n生成密鑰鏈Ki,n至Ki,0,該密鑰鏈Ki,n至Ki,0是通過單向函數(shù)遞歸地生成的,并且以逆序(Ki,0至Ki,n)使用所述單向鏈,由此在某個時隙j處,無線電導航系統(tǒng)的發(fā)射機i利用使用來自所述單向鏈的所述密鑰Ki,j的消息認證碼(MACi,j)對該發(fā)射機i的廣播數(shù)據(jù)進行認證;
·每個發(fā)射機i將待認證的數(shù)據(jù)和所述MAC一起發(fā)射,并在一定時間段之后發(fā)射所述密鑰Ki,j;
·接收機從每個發(fā)射機接收發(fā)射機數(shù)據(jù)、MACi,j和密鑰Ki,j;
·接收機通過利用數(shù)據(jù)本身和Ki,j生成MACi,j并將所生成的MACi,j與從衛(wèi)星i接收的MACi,j進行比較來驗證衛(wèi)星數(shù)據(jù)的真實性;
·針對來自每個所述發(fā)射機i的信號中的每一個信號,由接收機通過遞歸地執(zhí)行單向函數(shù)以生成鏈的、根據(jù)先前接收的證書被證實為真實的先前密鑰(例如Ki,0)來驗證Ki,j的真實性。
因此,已知的使用TESLA協(xié)議用于無線電導航遵循其中獨立地認證來自每個發(fā)射機的每個信號的方法,并且問題在于需要從待使其數(shù)據(jù)被認證的發(fā)射機接收認證過程所需的所有數(shù)據(jù)。
常規(guī)系統(tǒng)的另一個問題在于它們未提供最佳地使用來自一顆衛(wèi)星的數(shù)據(jù)來認證其他衛(wèi)星并使認證多顆衛(wèi)星所需的總位數(shù)最小化的可能性。它們也未提供使用來自具有潛在更佳的接收條件的衛(wèi)星的數(shù)據(jù)來認證其他衛(wèi)星的可能性。
這些因素體現(xiàn)出一些無線電導航系統(tǒng)(諸如基于衛(wèi)星導航的那些無線電導航系統(tǒng))的主要問題,其中由于某些陸地環(huán)境(例如市區(qū)或郊區(qū))中的局部遮擋,接收條件通??赡軙踊⑶铱赡軐τ诓煌男l(wèi)星顯著地變化。
本發(fā)明的目的在于使得能夠以最佳水平的魯棒性和可用性認證無線電導航信號,包括在其中信號接收和數(shù)據(jù)解調(diào)條件妨礙對來自所有無線電導航發(fā)射機的所有數(shù)據(jù)成功進行解調(diào)的環(huán)境下。
技術實現(xiàn)要素:
在本發(fā)明的一個方面,提供了一種無線電導航系統(tǒng),包括多個衛(wèi)星攜帶發(fā)射機和至少一個陸基的接收機,該接收機適于接收來自多個發(fā)射機中的每一個的無線電導航信號,所述發(fā)射機中的每一個和所述接收機適于訪問預定的第一密鑰鏈,該第一密鑰鏈包括第一加密密鑰和一個或多個另外的加密密鑰,該系統(tǒng)包括:來自所述多個發(fā)射機中的第一組發(fā)射機,該第一組發(fā)射機中的每個發(fā)射機能夠操作以發(fā)射第一無線電導航信號,該第一無線電導航信號包括給定時刻處的或針對給定子幀的無線電導航數(shù)據(jù)、消息認證碼(MAC)以及所述一個或多個另外的加密密鑰中的一個另外的加密密鑰;其中,MAC對于每個發(fā)射機是唯一的并且是使用第一加密密鑰生成的;其中,所述一個或多個另外的加密密鑰中的所述一個另外的加密密鑰是在MAC發(fā)射之后的預定時間被發(fā)射的;以及其中,接收機能夠操作以在從第一組發(fā)射機中的一個或多個發(fā)射機接收到全部或部分第一無線電導航信號時,基于從所述第一組發(fā)射機中的一個發(fā)射機接收的或從所述第一組發(fā)射機中的任何其他發(fā)射機接收的所述一個或多個另外的加密密鑰中的一個另外的加密密鑰,對從所述第一組發(fā)射機中的所述一個發(fā)射機接收的第一無線電導航信號進行認證。
接收機可以操作以使用所述一個或多個另外的加密密鑰中的所接收的一個另外的加密密鑰或使用所述一個或多個另外的加密密鑰中能夠根據(jù)所接收的所述一個另外的加密密鑰推導出的另一個另外的加密密鑰,對第一無線電導航信號進行認證。
優(yōu)選地,接收機能夠操作以在接收到所接收的第一無線電導航信號的至少無線電導航數(shù)據(jù)和MAC時,基于所述一個或多個另外的加密密鑰中的所接收的一個另外的加密密鑰,對所述所接收的第一無線電導航信號進行認證。
所述第一無線電導航信號或每個第一無線電導航信號可以為多個部分,使得加密密鑰在無線電導航數(shù)據(jù)和/或MAC之后的預定延遲進行發(fā)射。
在一個實施方案中,所發(fā)射的加密密鑰對于第一組中的所有發(fā)射機是相同的。在另一實施方案中,對于第一組中的每個發(fā)射機,所發(fā)射的加密密鑰包括來自所述第一密鑰鏈的不同加密密鑰。
對于第一無線電導航信號的每個子幀,所述第一密鑰鏈的每個加密密鑰可以包括根據(jù)單向函數(shù)遞歸地推導出的n個加密密鑰中的一個。優(yōu)選地,n在任何情況下近似等于和大于所述無線電導航系統(tǒng)中的衛(wèi)星攜帶發(fā)射機的總數(shù)目。
對于第一組中的每個發(fā)射機,相應MAC可以是根據(jù)第一密鑰鏈的根密鑰推導出的。
接收機可以適于:通過基于所接收的無線電導航數(shù)據(jù)和所述一個或多個另外的加密密鑰中的所接收的一個另外的加密密鑰生成推導的MAC,并通過將所推導的MAC與所接收的MAC進行比較,對所接收的無線電導航信號進行認證。
在一個實施方案中,第一組發(fā)射機包括無線電導航系統(tǒng)中的所述多個發(fā)射機中的所有發(fā)射機。
在另一實施方案中,第一組發(fā)射機包括無線電導航系統(tǒng)中的所述多個發(fā)射機的嚴格子集。剩余發(fā)射機可以包括第二組發(fā)射機,其中,第二組發(fā)射機和接收機能夠訪問預定的第二密鑰鏈,該第二密鑰鏈包括第一加密密鑰和一個或多個另外的加密密鑰。優(yōu)選地,第二組中的每個發(fā)射機能夠操作以發(fā)射第二無線電導航信號,該第二無線電導航信號包括給定時刻處的或針對給定子幀的無線電導航數(shù)據(jù)、MAC以及所述一個或多個另外的加密密鑰中的一個另外的加密密鑰;其中,MAC碼對于每個發(fā)射機是唯一的并且是使用第一加密密鑰生成的;其中,所述一個或多個另外的加密密鑰(K;Kj,1、Kj,2、Kj,3、Kj,4)中的所述一個另外的加密密鑰是在MAC發(fā)射之后的預定時間被發(fā)射的;以及其中,接收機能夠操作以在從第二組發(fā)射機中的一個或多個發(fā)射機接收到全部或部分第二無線電導航信號時,基于從所述第二組發(fā)射機中的一個發(fā)射機接收的或從所述第二組發(fā)射機中的任何其他發(fā)射機接收的所述一個或多個另外的加密密鑰中的一個另外的加密密鑰,對從所述第二組發(fā)射機中的所述一個發(fā)射機接收的第二無線電導航信號進行認證。
接收機可以操作以使用所述一個或多個另外的加密密鑰中的所接收的一個另外的加密密鑰或使用所述一個或多個另外的加密密鑰中能夠從所接收的一個另外的加密密鑰推導出的另一個另外的加密密鑰,對第一無線電導航信號進行認證。
接收機可以操作以在接收到所接收的第二無線電導航信號的至少無線電導航數(shù)據(jù)和MAC時,基于所接收的加密密鑰,對所述所接收的第二無線電導航信號進行認證。
所述第二無線電導航信號或每個第二無線電導航信號可以為多個部分,使得加密密鑰在無線電導航數(shù)據(jù)和/或MAC之后的預定延遲進行發(fā)射。
在一個實施方案中,所發(fā)射的加密密鑰對于第二組中的所有發(fā)射機是相同的。在另一實施方案中,對于第二組中的每個發(fā)射機,所發(fā)射的加密密鑰包括來自所述第二密鑰鏈的不同加密密鑰。
第一無線電導航信號和/或第二無線電導航信號可以被發(fā)射成使得信號的包括不可預測位的部分與包括可預測位的部分交錯。
根據(jù)本發(fā)明的另一方面,提供了一種用于無線電導航系統(tǒng)的發(fā)射機,該無線電導航系統(tǒng)包括多個衛(wèi)星攜帶發(fā)射機和至少一個陸基的接收機,該接收機適于接收來自多個所述發(fā)射機中的每一個發(fā)射機的無線電導航信號,所述發(fā)射機中的每一個和所述接收機適于訪問預定的第一密鑰鏈,該第一密鑰鏈包括第一加密密鑰和一個或多個另外的加密密鑰,該接收機能夠操作以在從第一組發(fā)射機中的一個或多個接收到全部或部分第一無線電導航信號時,基于從所述多個發(fā)射機中的一個發(fā)射機接收的或從所述多個發(fā)射機中的任何其他發(fā)射機接收的一個或多個另外的加密密鑰中的一個另外的加密密鑰,對從所述發(fā)射機中的所述一個發(fā)射機接收的第一無線電導航信號進行認證,其中:發(fā)射機能夠操作以發(fā)射第一無線電導航信號,該第一無線電導航信號包括給定時刻處的或針對給定子幀的無線電導航數(shù)據(jù)、MAC以及一個或多個另外的加密密鑰中的一個另外的加密密鑰;MAC對于每個發(fā)射機是唯一的并且是使用第一加密密鑰生成的;以及其中,所述一個或多個另外的加密密鑰中的所述一個另外的加密密鑰是在MAC發(fā)射之后的預定時間被發(fā)射的。
根據(jù)本發(fā)明的另一方面,提供了一種用于無線電導航系統(tǒng)的接收機,該無線電導航系統(tǒng)包括多個衛(wèi)星攜帶發(fā)射機和至少該接收機,所述發(fā)射機中的每一個和所述接收機適于訪問預定的第一密鑰鏈,該第一密鑰鏈包括第一加密密鑰和所述一個或多個另外的加密密鑰中的一個另外的加密密鑰,每個發(fā)射機能夠操作以發(fā)射第一無線電導航信號,該第一無線電導航信號包括給定時刻處的或針對給定子幀的無線電導航數(shù)據(jù)、MAC以及所述一個或多個另外的加密密鑰中的一個另外的加密密鑰;其中,MAC對于每個發(fā)射機是唯一的并且是使用第一加密密鑰生成的;其中,所述一個或多個另外的加密密鑰中的所述一個另外的加密密鑰是在MAC發(fā)射之后的預定時間被發(fā)射的;其中,接收機適于接收來自多個發(fā)射機中的每一個發(fā)射機的無線電導航信號;以及其中,接收機能夠操作以在從發(fā)射機中的一個或多個接收到全部或部分第一無線電導航信號時,基于從所述多個發(fā)射機中的一個發(fā)射機接收的或從所述多個發(fā)射機中的任何其他發(fā)射機接收的所述一個或多個另外的加密密鑰中的一個另外的加密密鑰,對從所述發(fā)射機中的所述一個發(fā)射機接收的第一無線電導航信號進行認證。
根據(jù)本發(fā)明的另一方面,提供了一種用于無線電導航系統(tǒng)的無線電導航方法,該無線電導航系統(tǒng)包括多個衛(wèi)星攜帶發(fā)射機和至少一個陸基的接收機,該接收機適于接收來自多個發(fā)射機中的每一個發(fā)射機的無線電導航信號,該方法包括:向所述發(fā)射機中的每一個并且向所述接收機提供對預定的第一密鑰鏈的訪問,該第一密鑰鏈包括第一加密密鑰和一個或多個另外的加密密鑰;從所述多個發(fā)射機中的每一個發(fā)射第一無線電導航信號,該第一無線電導航信號包括給定時刻處的或針對給定子幀的無線電導航數(shù)據(jù)、MAC以及所述一個或多個另外的加密密鑰中的一個另外的加密密鑰,MAC對于每個發(fā)射機是唯一的并且是使用第一加密密鑰生成的,其中,所述一個或多個另外的加密密鑰中的所述一個另外的加密密鑰是在MAC發(fā)射之后的預定時間被發(fā)射的;在所述接收機處接收來自所述多個發(fā)射機中的一個或多個發(fā)射機的全部或部分第一無線電導航信號,以及在接收機處,基于從所述多個發(fā)射機中的一個發(fā)射機接收的或從所述多個發(fā)射機中的任何其他發(fā)射機接收的所述一個或多個另外的加密密鑰中的一個另外的加密密鑰,對從所述多個發(fā)射機中的所述一個發(fā)射機接收的第一無線電導航信號進行認證。
根據(jù)本發(fā)明的另一方面,提供了一種可記錄、可重寫或可存儲的介質(zhì),該介質(zhì)在其上記錄或存儲有限定或能夠轉(zhuǎn)換成如下指令的數(shù)據(jù),所述指令用于由處理電路執(zhí)行并且至少對應于所附權(quán)利要求的權(quán)利要求21的步驟。
根據(jù)本發(fā)明的另一方面,提供了一種服務器計算機,該服務器計算機包含通信設備和存儲設備,并且適于根據(jù)請求或在其他情況下傳輸限定或能轉(zhuǎn)化成如下指令的數(shù)據(jù),所述指令用于由處理電路執(zhí)行并且至少對應于所附權(quán)利要求的權(quán)利要求21的步驟。
本發(fā)明的實施方案提供了TESLA協(xié)議用于無線電導航認證的一個優(yōu)選實施方式。本發(fā)明的實施方案對于全部或多個無線電導航信號發(fā)射機使用單個單向鏈,而不是對于每個無線電導航信號發(fā)射機使用單個單向鏈。本發(fā)明的實施方案可以概述如下。(在本文中,“發(fā)射機”和“發(fā)送器”可互換地使用)。
1)無線電導航系統(tǒng)執(zhí)行以下步驟(發(fā)送器側(cè)):
·從初始種子Kn,系統(tǒng)依據(jù)TESLA協(xié)議計算通過單向函數(shù)H遞歸地生成的單個密鑰鏈Kn至K0;
·以逆序(K0至Kn)使用構(gòu)成所述單向鏈的密鑰,以如下方式對來自多個發(fā)送器的發(fā)送器數(shù)據(jù)進行認證:
·在某個時間段j,系統(tǒng)使用所述鏈的單個密鑰Kj;
·所述單個密鑰Kj用于對由多個發(fā)送器中的每個發(fā)送器i發(fā)射的當前或最近數(shù)據(jù)Di進行認證,所述發(fā)送器生成先驗地對于每個發(fā)送器i為不同的消息認證碼MAC(j,i);
·除了其自身的導航數(shù)據(jù)Di之外,發(fā)送器還發(fā)射利用對于所有發(fā)送器而言相同的單個密鑰Kj所生成的所述消息認證碼MAC(j,i),并在一段時間后,從所有發(fā)送器發(fā)射所述單個密鑰Kj。
2)無線電導航接收機執(zhí)行以下步驟:
·接收并存儲來自每個可見發(fā)送器的導航數(shù)據(jù)Di;
·接收并存儲來自系統(tǒng)中的所述發(fā)送器的所述消息認證碼MAC(j,i);
·一旦從所有發(fā)送器成功地接收所述單個密鑰Kj,使用它們中的一些或它們之中的任一個,通過生成先前接收的消息認證碼MAC(j,i)對來自每個發(fā)送器的導航數(shù)據(jù)Di的真實性進行驗證;
·接收機能夠通過執(zhí)行以下單向函數(shù)來對所述間隔處可用的所述單個密鑰Kj的真實性進行驗證,所述單向函數(shù)將所述單個密鑰Kj與鏈中在Kj-1和K0之間的先前密鑰相關,其中該先前密鑰的真實性是根據(jù)從所述發(fā)送器中的任何一個、一些或全部發(fā)送器接收到的證書得以證明的或根據(jù)任何其他手段得以證明的。
本發(fā)明的一個優(yōu)點在于,通過使用來自多個無線電導航信號發(fā)射機的相同鏈的單個密鑰或多個密鑰,使無線電導航服務的性能得以改進。
另一優(yōu)點在于,如果來自某一發(fā)送器的密鑰無法從無線電導線信號恰當?shù)亟庹{(diào)出來,該系統(tǒng)可以通過使用來自該所述發(fā)送器的數(shù)據(jù)和MAC,同時使用來自該所述發(fā)送器的密鑰或來自任何其他發(fā)送器的密鑰,對所述發(fā)送器的無線電導航數(shù)據(jù)和信號進行認證。隨之具有的優(yōu)點在于大幅地降低劣化接收條件下的認證錯誤率(AER):通過允許通過相同的密鑰或相同的鏈對所有的衛(wèi)星進行認證,用戶需要接收僅來自一顆衛(wèi)星的每子幀的正確密鑰來認證所有的衛(wèi)星。這大幅地降低了使用經(jīng)認證的發(fā)送器計算的位置和時間確定(fix)所需的位的量。
在一些實施方案中,使用單個鏈不僅有益于在穩(wěn)態(tài)條件下(即,鏈的先前密鑰被證明為正確之后)降低認證錯誤率,而且還協(xié)助初始化,這是因為僅需要從任何發(fā)送器或任何其他源接收的一個經(jīng)證明的密鑰。
除了上述優(yōu)點,本發(fā)明的實施方案還在下述情況下特別有利:其中,在良好接收條件、以低的位出錯率觀察到一顆或幾顆衛(wèi)星,所述衛(wèi)星被具有顯著較高的位出錯率的其他較低海拔或較差可見性的衛(wèi)星圍繞,有利的原因在于接收機能夠使用來自良好可見性衛(wèi)星的密鑰來對差可見性衛(wèi)星進行認證,只要從差可見性衛(wèi)星接收到數(shù)個MAC位即可,而不需要從待被認證的每個差可見性衛(wèi)星接收密鑰。
附圖說明
現(xiàn)在將通過示例性參照附圖來描述本發(fā)明的實施方案,在附圖中:
圖1是根據(jù)本發(fā)明的一個實施方案的無線電導航系統(tǒng)的示意圖;
圖2示出了針對圖1的實施方案和其他已知實施方式的、關于給定位出錯率(BER)的認證錯誤率(AER)的圖表;
圖3是構(gòu)成根據(jù)本發(fā)明另一實施方案的無線電導航系統(tǒng)的基礎的技術的示意圖,該示意圖示出了使用來自單個鏈的密鑰來從不同衛(wèi)星發(fā)射不同的密鑰;
圖4是根據(jù)本發(fā)明的另一實施方案的無線電導航系統(tǒng)的示意圖,其中,每顆衛(wèi)星正發(fā)射來自相同鏈的不同密鑰(Kj,1、Kj,2等),這些密鑰是如圖3所示使用的鏈密鑰;
圖5示出了發(fā)射導航數(shù)據(jù)認證的一個典型實施方式;以及
圖6是構(gòu)成本發(fā)明另一實施方案的基礎的構(gòu)思的示意圖,其中,不可預測位和可預測位交錯以使最大可預測時間最小化。
具體實施方式
在下文中,將會使用相似標號表示相似元件。
圖1是根據(jù)本發(fā)明的一個實施方案的無線電導航系統(tǒng)100的示意圖,其中,每顆衛(wèi)星首先發(fā)射其自身的MAC然后發(fā)射相同的密鑰K。該實施方案的目的在于,通過減小為了使用至少四顆衛(wèi)星計算位置和時間確定而需要從所有衛(wèi)星解調(diào)出的位的數(shù)目,使AER最小化,從而優(yōu)化認證可用性。
多顆衛(wèi)星上的發(fā)射機(未示出)發(fā)射相應的無線電導航信號,這些無線電導航信號在陸基106的接收機104處經(jīng)由天線108被接收。(在該實施方案中,示出了4顆衛(wèi)星;然而,本領域技術人員將理解的是,實踐中可以使用更多或更少的衛(wèi)星。在本文中,出于說明的目的,“衛(wèi)星”和“發(fā)射機”可以可互換地使用)。
第一衛(wèi)星110發(fā)射第一無線電導航信號112,該第一無線電導航信號112包括后面跟隨有密鑰K的、唯一地對應于第一衛(wèi)星110的MAC碼MAC1。第二衛(wèi)星114發(fā)射第二無線電導航信號116,該第二無線電導航信號116包括后面跟隨有密鑰K的、唯一地對應于第二衛(wèi)星114的MAC碼MAC2。第三衛(wèi)星118發(fā)射第三無線電導航信號120,該第三無線電導航信號120包括后面跟隨有密鑰K的、唯一地對應于第三衛(wèi)星118的MAC碼MAC3。第四衛(wèi)星122發(fā)射第四無線電導航信號124,該第四無線電導航信號124包括后面跟隨有密鑰K的、唯一地對應于第四衛(wèi)星122的MAC碼MAC4。
該實施方案的期望結(jié)果——最小化AER——意味著:鑒于NMA須為各種各樣的用戶和接收環(huán)境工作,必須使NMA方案優(yōu)化以在困難接收條件下工作。應當注意,標準的暢銷接收機能夠?qū)碜圆煌訋南K結(jié)合以構(gòu)成完整導航數(shù)據(jù)結(jié)構(gòu)。這對于NMA而言是不可能的,在NMA中,必須在一個單子幀中正確地接收認證位總體,這是因為為了提高魯棒性,認證位在不同的子幀中將是不同的。
使用了下述符號和術語:
·Kn:單向鏈種子,即,單向鏈的第一值;
·K0:單向鏈根,即,單向鏈的最后一個值(或通過K0證書被證明為正確的最新值);
·Kj:在某個子幀j發(fā)射的與所有MAC相關聯(lián)的密鑰;
·MACi:認證來自衛(wèi)星i的數(shù)據(jù)所生成的、以及在衛(wèi)星i的導航信號中發(fā)射的消息認證碼;
·H:用于計算鏈的單向函數(shù),使得K0=H^n(Kn),其中,H^n是指將函數(shù)H遞歸地執(zhí)行n次;以及
·Kj,i:由衛(wèi)星i在子幀j中發(fā)射的密鑰。
根據(jù)這些假設,再次參照圖1,用于該實施方案的過程可以如下描述。
·在與某一密鑰K相關聯(lián)的某個30秒時段,每顆衛(wèi)星i使用Kj和衛(wèi)星數(shù)據(jù)或衛(wèi)星數(shù)據(jù)子集Di發(fā)射MACi。待認證的數(shù)據(jù)Di可以包括至少衛(wèi)星時間、軌道和時鐘,并且其還可以附加其他信息,如衛(wèi)星ID,如環(huán)境信息、電離層修正、相對于其它衛(wèi)星星座的時間偏移或者時間參考如UTC,或者信號廣播組延遲。
·發(fā)射MACi之后,衛(wèi)星發(fā)射用于生成每個MACi的全部相同密鑰K。也就是說,密鑰K是在MACi發(fā)射之后的預定時間被發(fā)射的。在實踐中,這可能意味著在MACi的發(fā)射結(jié)束之后的預定時間開始密鑰K的發(fā)射。該預定時間可以為大約一毫秒或幾毫秒到幾分鐘,并且更優(yōu)選地為大約一秒到少于30秒,以適合上述30秒的期間。
·接收機104需要成功地解調(diào)僅一個密鑰K,以計算待認證數(shù)據(jù)的位置、速度和時間(PVT)。如圖1所示,通過從衛(wèi)星2(標記為114)——其處于最高海拔并因此具有先驗的較佳可見性條件——接收K,可以對來自所有其他衛(wèi)星110、118以及122的數(shù)據(jù)進行認證,只要接收到它們的MAC(分別為MAC1、MAC3、MAC4)即可。
在一些實施方案中,系統(tǒng)采用以下設計參數(shù)中的一個、一些或全部。
·單向鏈使用SHA-2家族函數(shù),例如,SHA-256或SHA-224,SHA-224實質(zhì)上是其中丟棄最后的位的SHA-256,以構(gòu)成長度為224位的密鑰(K)鏈。根據(jù)安全標準,這允許足夠水平的安全(112個對稱位)??梢允褂酶L或更短的密鑰,這取決于對系統(tǒng)的安全要求。
·MAC初始可以是HMAC-256。
·由衛(wèi)星發(fā)射的MAC可以被截斷為最后15位。在不具有密鑰的情況下正確猜測15位MAC的概率大約是3*10-5,這對阻止這樣的攻擊而言認為是足夠低的。
·密鑰周期可以是30秒。
·鏈長為1周,從而引起密鑰數(shù)目為20160個密鑰。
然而,本領域技術人員將會理解,根據(jù)其他實施方案并且取決于實施方式,可以采用其他值。
圖2示出了針對圖1的實施方案和其他已知實施方式、關于給定的位出錯率(BER)的AER性能。出于比較的目的,圖2呈現(xiàn)了針對以下三種NMA實施方式的AER性能:
·通過標準的466位數(shù)字簽名進行的NMA,每顆衛(wèi)星一個這樣的數(shù)字簽名;
·通過標準的TESLA協(xié)議法進行的NMA,每顆衛(wèi)星具有一個不同的224位密鑰和15位截斷的MAC;以及
·通過根據(jù)本實施方案的單鏈TESLA法進行的NMA,所有衛(wèi)星具有相同的224位密鑰并且具有15位截斷的MAC。
在圖2中,通過下式根據(jù)BER和NA計算AER:
AER=1-(1-BER)NA,
其中,BER是位出錯率,并且NA是認證所需的位的數(shù)目。應當按照以下方式解釋圖2:鑒于具有給定BER的接收機104,假設存在4顆衛(wèi)星(110、114、118、122),則值“4衛(wèi)星AER”是4顆衛(wèi)星被導航消息認證為允許計算NM-認證的位置和時間值(后者偶爾稱為PVT)的概率。在所有情況下均假設接收機104已經(jīng)接收到待認證的導航數(shù)據(jù)。結(jié)果表明,與其他現(xiàn)有方法相比,通過使用本發(fā)明的實施方案實現(xiàn)了顯著改進(實跡線“224/15-1C-TESLA”)。例如,通過使用4顆衛(wèi)星來計算位置和時間確定:
·通過標準數(shù)字簽名,使用466位的橢圓曲線簽名所需的認證位:446*4=1864位。
·通過標準TESLA情況,使用15位截斷的MAC和224位的密鑰所需的認證位:(15+224)*4=956位。
·通過本發(fā)明的當前實施方案(15位截斷的MAC+224位密鑰)所需的認證位:15*4+224=284位。
如果使用多于4顆衛(wèi)星用于位置和時間計算,那么該位差異甚至更高,其中四顆衛(wèi)星的情況為標準情況。例如,如果使用7顆衛(wèi)星,那么差異將為:在標準TESLA情況的1673位相對于本發(fā)明的一個實施方案的329位,即,本發(fā)明小五倍。
圖3是根據(jù)本發(fā)明的另一實施方案的無線電導航系統(tǒng)的示意圖,該示意圖示出了使用來自單個鏈的密鑰從不同衛(wèi)星發(fā)射不同的密鑰,以便增加信號不可預測性特征。除了如下所描述的之外,該實施方案和圖1的實施方案相同。
本實施方案的目的在于,通過增加使信號不可預測的特征,同時維持與先前實施方案中相同的使用單個單向鏈的優(yōu)點,來使抗重放攻擊的魯棒性最大化。只要稍后需要通過認證方法將不可預測的符號驗證為正確的,那么導航符號或位不可預測性的最大化提供了抗信號重放攻擊的魯棒性。
當使用單個單向鏈用于所有衛(wèi)星(110、114、118、122;圖1)時出現(xiàn)的一個現(xiàn)象是:如果所有衛(wèi)星同時使用和發(fā)射相同的密鑰,那么由于衛(wèi)星時鐘偏移并且主要是由于與從衛(wèi)星到接收機104的距離有關的到達時間,用戶將在不同的時間(在接收機104處)接收到上述相同的密鑰。例如,來自最高點在23.200km的高度的衛(wèi)星的信號將花費近似77.3ms到達地球表面。然而,來自在相同或類似的圓形軌道上但處于較低海拔的衛(wèi)星的信號將會花費更多毫秒到達地球表面(對陸地用戶而言其始終小于21ms,近似相當于以光速經(jīng)過地球半徑)。攻擊者可以利用這些毫秒來估計構(gòu)成來自最高衛(wèi)星的TESLA密鑰的不可預測位,并利用它們與另一個之間的延遲來重放這些不可預測位,從而促進位置欺騙,即使通過修改信號到達時間使所使用的數(shù)據(jù)是真實的亦是如此。
因此,如果所有衛(wèi)星同時發(fā)射相同的密鑰,那么僅來自最靠近最高點的衛(wèi)星的符號將是不可預測的,這是因為攻擊者可以估計它們并且在來自較低海拔的衛(wèi)星的信號中重放它們。
該問題可以通過增加密鑰鏈的長度并從不同衛(wèi)星發(fā)射不同的、但依然來自相同鏈的密鑰來克服。密鑰可以允許通過執(zhí)行單向函數(shù)來確定某一子幀處用于計算所有MAC的密鑰Kj。
在圖3的實施方案中,使用以下MAC對密鑰的關系。
·對于每個子幀j,使用單個密鑰來計算由所有衛(wèi)星發(fā)射的所有MAC。該密鑰是在先前子幀j-1上使用的密鑰的40次單向函數(shù):
Kj=H40(Kj-1)。
注意,40用于使每子幀容納40個密鑰:一個將被用于MAC(k、k+1等),而另外39個可以由39顆衛(wèi)星使用。這提供了用以容納來自GNSS星座的所有衛(wèi)星的足夠裕度。
·對于每個子幀j,每顆衛(wèi)星i發(fā)射基于密鑰Kj的MAC,使得
MAC(j,i)=M(dj,i||mi,Kj),
其中M是截斷為15位的MAC函數(shù)HMAC-SHA-224,dj,i是使HMAC結(jié)果唯一的附加信息(至少SVID和系統(tǒng)時間),而mi是要簽名的導航數(shù)據(jù)。
·對于每個子幀j,每顆衛(wèi)星i發(fā)射密鑰Kj,i,使得
Kj,i=Hi(Kj)。
因此,例如衛(wèi)星SVID5將會發(fā)射如下密鑰(Kj,5),該密鑰(Kj,5)需要散列5次以獲得Kj。以這樣的方式,來自任何衛(wèi)星的MAC可以對照從任何其他衛(wèi)星接收的任何密鑰得以驗證。另一方面,每子幀發(fā)射的所有Kj的所有位將依然是不可預測的。應當注意,使每子幀具有40個單向函數(shù)以保持該位的不可預測性特征的額外負擔對標準和將來的接收機而言似乎是可以承擔的。
如圖3可見,使用來自單個鏈的密鑰,從不同衛(wèi)星發(fā)射不同的密鑰。第一鏈示出,針對每個子幀,將Km和Km+41之間的密鑰分配至單個子幀和整個衛(wèi)星星座。第二鏈示出第一密鑰Kj用于計算來自所有衛(wèi)星的MAC,第一密鑰Kj等同于先前鏈中的Km,而Kj,i為由衛(wèi)星i發(fā)射的密鑰,其中i在該實施方案中介于1和40之間。
使用該方法,接收機104能夠接收單個密鑰Kj,i并執(zhí)行單向函數(shù)i次以確定用于計算MAC的密鑰Kj。同時,不能預測每顆衛(wèi)星i發(fā)射的密鑰Kj,i,從而使抗信號重放的魯棒性最大化。
圖4是根據(jù)本發(fā)明的另一實施方案的無線電導航系統(tǒng)400的示意圖,其中,每顆衛(wèi)星發(fā)射某一子幀的來自相同鏈的不同密鑰(Kj,1、Kj,2等)。除了下面描述的之外,本實施方案和圖1的實施方案相同。適當?shù)?,該實施方案使用如圖3所呈現(xiàn)的鏈密鑰。
第一衛(wèi)星110發(fā)射第一無線電導航信號412,該第一無線電導航信號412包括后面跟隨有密鑰Kj,1的、唯一地對應于第一衛(wèi)星110的MAC碼MAC1。第二衛(wèi)星114發(fā)射第二無線電導航信號416,該第二無線電導航信號416包括后面跟隨有密鑰Kj,2的、唯一地對應于第二衛(wèi)星114的MAC碼MAC2。第三衛(wèi)星118發(fā)射第三無線電導航信號420,該第三無線電導航信號420包括后面跟隨有密鑰Kj,3的、唯一地對應于第三衛(wèi)星114的MAC碼MAC3。第四衛(wèi)星122發(fā)射第四無線電導航信號424,該第四無線電導航信號424包括后面跟隨有密鑰Kj,4的、唯一地對應于第四衛(wèi)星122的MAC碼MAC4。
如所論述的,如果接收機104從4顆衛(wèi)星110、114、118、122接收到MACs(MAC1、MAC2、MAC3、MAC4),并且僅從最高衛(wèi)星接收到密鑰(Kj,2),那么其可以計算Kj(Kj=H2(Kj,2),并因此針對MAC來驗證來自衛(wèi)星的數(shù)據(jù)以及驗證每個信號抗信號重放的魯棒性。
在某個子幀中發(fā)射的但是不能根據(jù)該子幀中正確解調(diào)出的密鑰計算的那些密鑰(例如,圖4中Kj,3和Kj,4)能夠根據(jù)從任何衛(wèi)星接收到的在后續(xù)子幀中的任何一個子幀中的任何密鑰來計算。例如:Kj,3=H41(Kj+1,4)。
在另一實施方案中,代替發(fā)送器全體(衛(wèi)星110、114、118、122)發(fā)送相同的密鑰Kj(參見圖1的實施方案),可能存在兩組或更多組發(fā)送器,組內(nèi)的每個發(fā)送器使用不同密鑰,對于每個組所述不同密鑰來自不同單向鏈。該實施方案能夠增強安全性,這是因為由于密鑰管理或其他原因,避免使用來自所有發(fā)送器的單個密鑰會被認為更加安全。
在另一實施方案中,每個發(fā)送器(衛(wèi)星110、114、118、122)以不同的方式對相同的密鑰Kj進行編碼,并且使得該密鑰在所編碼的密鑰信息全體被接收以前對接收機104是不可預測的。例如,這可以通過經(jīng)由替換和置換網(wǎng)絡對Kj和隨機數(shù)(nonce)編碼,并使該隨機數(shù)連同密鑰Kj一起發(fā)射來實現(xiàn),該隨機數(shù)對每顆衛(wèi)星應當是不同的并且是不可預測的。
在另一實施方案中,操作涉及在發(fā)射的數(shù)據(jù)流中的擴展位和符號不可預測性。這具有增加抗重放攻擊的魯棒性的優(yōu)點。
圖5示出了發(fā)射導航數(shù)據(jù)認證的一個典型實施方式。更具體地,圖5示出了其中一起發(fā)射作為數(shù)字簽名的不可預測信息位的實施方式。認證50在發(fā)射54之后的時間52發(fā)生。這引起最大可預測時間56在認證之間的時間52的大部分內(nèi)持續(xù)。最大可預測時間56是攻擊者可以在信號重放攻擊之前控制跟蹤環(huán)的時間。因此,最大可預測時間56越短,接收機104可以更加魯棒地抵抗這種類型的攻擊。
圖6是關于導航數(shù)據(jù)認證的發(fā)射的、構(gòu)成本發(fā)明的另一實施方案的基礎的構(gòu)思的示意圖,其中,不可預測位和可預測位交錯以使最大可預測時間66最小化。除了下面描述的之外,本實施方案和圖1的實施方案相同。
認證60在發(fā)射64之后的時間62發(fā)生。圖6的實施方案的目的在于增加抗信號重放的魯棒性。為了提供這樣的保護,一旦完全接收到待認證的數(shù)據(jù)和用于認證的數(shù)據(jù),就必須在所執(zhí)行的認證驗證中驗證不可預測位68。這可以針對某顆衛(wèi)星的數(shù)據(jù)、MAC和密鑰以及利用K0證書(如果信號中發(fā)射了該證書)進行。因此,在當前實施方案中,能夠被視為不可預測的數(shù)據(jù)位為:
·密鑰Kj;
·MACs:MAC1、MAC2等;以及
·在信號中發(fā)射的、用以通過非對稱加密方案證明K0(鏈的根密鑰)的真實性的證書的數(shù)字簽名,DS(K0)。
K0證書驗證的目的可以是雙重的:第一,為了保證MAC和密鑰為Kj是正確的,第二,為了增加抗信號重放的保護。如果連續(xù)地發(fā)射包括不可預測數(shù)字簽名的K0證書,那么這允許更加抗重放驗證的性能,使得衛(wèi)星能夠連續(xù)地發(fā)射隨后被驗證的不可預測位。
盡管已經(jīng)參照在它們相應的實施方式中具有不同部件的實施方案描述了各個實施方案,但是將會理解,其他實施方案可以利用這些和其他部件的其他組合和置換。
此外,在本文中一些實施方案被描述為能夠通過計算機系統(tǒng)的處理器或通過其他實施上述功能的手段執(zhí)行的方法或方法的要素的組合。因此,具有用于實施這樣的方法或方法的要素的必要指令的處理器形成用于實施該方法或方法的要素的手段。此外,本文描述的裝置實施方案的元件是用于實施由出于實施本發(fā)明的目的的元件所執(zhí)行的功能的手段的示例。
在本文提供的描述中,闡述了許多具體的細節(jié)。然而,要理解的是,本發(fā)明的實施方案可以在沒有這些具體細節(jié)的情況下實施。在其他實例中,未詳細示出公知的方法、結(jié)構(gòu)和技術,以便不模糊對該描述的理解。
因此,雖然已描述了被認為是本發(fā)明的優(yōu)選實施方案的內(nèi)容,但是本領域技術人員將認識到,可以在不脫離本發(fā)明的精神和范圍的情況下對本發(fā)明做出其他和進一步的修改,并且旨在要求所有這樣的改變和修改均落入本發(fā)明權(quán)利要求的范圍內(nèi)。例如,以上給出的任何公式僅僅表示可以使用的方法??梢韵蚩驁D中添加功能或從框圖中刪除功能,并且各操作可以在功能塊間互換。在本發(fā)明的范圍之內(nèi),可以對所描述的方法添加或刪除步驟。