范長永
(深圳華大北斗科技有限公司,深圳 518129)
隨著物聯網技術的發展,網聯時代已經到來,萬物互聯將成為趨勢,提高了生產效率的同時,給人們的生產、生活帶來極大便利。隨著物聯網在國家基礎設施、工業生產、自然資源、智能家居、智能駕駛、安防等方面的廣泛應用,對信息安全的重視已上升到國家戰略高度,而安全芯片具有軟件不可比擬的抗攻擊性,成為了安全防護的核心部件。物聯網設備也正展現出移動化、智能化等新的特點,如網聯汽車、兩客一危、特種車輛、手機、追蹤器等,要求移動的物體在限定的范圍內移動,以保證其安全。
數據網絡及設備之間存在一個基本的信任就是:網絡內部及各設備之間的時間是統一的。如通信系統和電力系統對時間統一的要求更為嚴格,一旦系統時間不一致,將導致整個通信系統和電力系統陷入癱瘓,攻擊者往往通過擾亂系統時間攻擊通信系統和電力系統,統一的時間關乎信息安全進而威脅國家安全。
新的特點對安全芯片提出新的要求,使得對能夠識別位置和時間且不被黑客篡改和攻擊的傳感器的需求越來越強烈,但目前此類技術在國內外尚處于空白階段。
受限于導航定位芯片射頻基帶一體化SoC設計技術以及信息安全的跨界集成技術,目前市場上僅有安全芯片與全球衛星定位系統(GPS)接收芯片組合的系統解決方案。GPS芯片實際起到了位置傳感器和時間傳感器的作用。從安全角度看,位置傳感器和時間傳感器與安全芯片內部溫度、電壓等安全傳感器應具有同等地位和防攻擊特性。但現有方案中GPS芯片和安全芯片在系統級是獨立的兩顆芯片,GPS芯片易于被旁路,其輸出的位置信息和時間信息也很容易被篡改。因此系統安全性大大降低,存在極大的安全隱患,設計一款整合位置傳感器和時間傳感器的安全芯片迫在眉睫。
使用GPS雖然可以解決位置和時間感知問題,但它受美國軍方控制,給我國國家安全造成巨大隱患。隨著我國自主研發和建設的北斗衛星導航系統(Beidou Navigation Satellite System,BDS)不斷完善,在國內代替GPS已是勢在必行。
基于BDS的安全芯片設計方案解決了位置感知、時間感知的安全性問題,填補了安全芯片設計領域的空白,同時也成為BDS在地面接收方面的新型應用,對國家信息安全及北斗衛星導航產業化推廣具有重大意義。
北斗衛星導航系統是中國自行研制的全球衛星導航系統,是繼美國全球定位系統(GPS)、俄羅斯格洛納斯衛星導航系統(GLONASS)之后第三個成熟的衛星導航系統。以上三者和歐盟伽利略衛星導航系統(GALILEO)是聯合國衛星導航委員會認定的供應商。
北斗衛星導航系統由空間段、地面段和用戶段三部分組成,可在全球范圍內全天候、全天時為各類用戶提供高精度、高可靠的定位、導航和授時服務,并具有短報文通信能力,已經初步具備區域導航、定位和授時能力,定位精度為10 m,測速精度為0.2 m/s,授時精度10 ns。
2017年11月5日,中國第三代導航衛星順利升空,它標志著中國正式開始建造北斗全球衛星導航系統,到2020年完成全球的組網覆蓋,將為全球提供服務。
導航衛星不但可以提供位置信息,而且能夠提供時間信息,即授時技術,但接收到的位置信息和時間信息易于被旁路和篡改,使得后臺管理系統收不到位置或時間信息,或者收到了假的位置或時間信息,導致系統的混亂,進而使系統陷入癱瘓。
傳統的安全芯片通常可以感知溫度、電壓、頻率等外部環境信息,以確定設備本身是否受到了外部攻擊。但目前尚未有安全芯片能夠感知位置和時間信息,無法針對位置和時間的攻擊做出判斷和響應。
針對這些問題,設計出將北斗衛星系統、地面接收技術、安全防護技術相結合,具有位置和時間傳感器的安全芯片,應對針對位置和時間的攻擊。
整體芯片技術方案如圖1所示。北斗衛星接收單元接收衛星信號并解算出位置和時間信息,輸出到安全控制單元,以判斷位置和時間是否在允許的范圍內,并將判斷結果輸出到安全報警單元,以決定對判斷結果作出何種響應,如復位、中斷、控制CPU運行等。安全控制單元同時也接收溫度、電壓等其他安全傳感器信號,判斷溫度、電壓等是否在允許范圍內,并通過安全報警單元控制復位、CPU、中斷等單元,對判斷結果作出響應。
圖1方案中除北斗衛星接收單元外,其他均為現有安全芯片通用結構,且均有成熟產品和應用,在此不再詳細描述。本文重點描述與北斗導航相關的安全技術。

圖1 北斗安全芯片整體結構
北斗安全芯片的核心部分包括:北斗衛星接收單元、安全位置傳感器、安全時間傳感器。
北斗衛星接收單元由天線、低噪聲放大器、混頻器、濾波器、放大器、AD轉換器、數字信號處理通道及接收機處理器組成,如圖2所示。天線接收北斗衛星信號,通過低噪聲放大器將天線上的微弱射頻信號放大,由于該放大器在射頻電路的最前端,其噪聲會在后級被放大,故對該放大器的噪聲系數要求較高。混頻器將經過放大的信號和本地精準時鐘混頻,將調制在射頻信號里的有用信號混頻到較低頻率。濾波器抑制有用信號帶之外的噪聲信號,AD轉換器將有用信號量化成數字信號送至數字信號處理通道中處理,N個并行通道可以同時跟蹤來自N顆衛星的載波和碼。每個通道包含碼跟蹤環和載波跟蹤環,以完成碼和載波相位的測量以及導航電文的解調。解調后的電文經接收機處理器處理即能產生所需位置信號和時間信號。

圖2 北斗衛星接收單元
接收機通過測量來自北斗衛星導航定位信號的傳播時延,測得衛星信號接收天線相位中心與北斗衛星發射天線相位中心之間的距離(站星距離),進而將此距離和北斗衛星在軌位置聯合解算,算出用戶的三維坐標。
北斗衛星通過星載時鐘發射結構為“偽隨機噪聲碼”的信號,稱為測距碼信號。該信號從衛星發射經時間Δt后,到達接收機天線,用Δt乘以電磁波在真空中的速度c,就是衛星至接收機的空間幾何距離ρ,即ρ=c×Δt。由于傳播時間Δt中包含衛星時鐘與接收機時鐘不同步的誤差、衛星星歷誤差、接收機測量噪聲以及測距碼在大氣中傳播的延遲誤差等用戶等效距離誤差(UERE),由此求得的距離并非真正的接收機和衛星的幾何距離,習慣上稱之為“偽距”。目前通過該技術獲得的位置精度為5~10 m。通過差分定位技術可以大幅減小上述誤差,使定位精度達到厘米級。目前差分定位技術有地基增強技術和星基增強技術等,在此不再詳述。
使用北斗衛星接收單元輸出的位置信息設計的安全位置傳感器,具備了不可旁路性、自檢、抵抗開封和探針探測等安全特性,與傳統的芯片安全技術相結合,可應對針對位置的黑客攻擊,保障移動設備的安全。其結構如圖3所示。

圖3 安全位置傳感器結構
安全位置傳感器核心部分包括北斗衛星接收單元、安全控制單元(位置自檢單元、實時位置監控單元)、安全報警單元。安全位置傳感器實時對移動設備進行監控,一旦超出設定的范圍則啟動報警機制,如禁止或限制設備工作、向后臺管理系統發送報警信號等。
具有位置傳感器的安全芯片出廠前在內部預置經緯度信息,用于位置傳感器自檢。裝載安全芯片的設備出廠前在安全芯片內部預置允許設備移動的范圍即經緯度信息。
其工作流程如圖4所示。

圖4 安全位置傳感器芯片工作流程
(1)芯片上電首先進行位置傳感器自檢。
①導航衛星接收單元發送預設的固定經緯度信息給自檢單元,該經緯度信息在安全芯片預設的范圍內。自檢單元對接收到的位置信息進行判斷,如果在范圍內則第一步自檢通過。
②導航衛星接收單元發送預設的固定經緯度信息給自檢單元,該經緯度信息不在安全芯片預設的范圍內。自檢單元對接收到的位置信息進行判斷,如果不在范圍內則第二步自檢通過。
③自檢單元對第一步和第二步的結果進行合并判斷,并將最終自檢結果發送給安全報警單元,只有前兩步全部通過則自檢通過,否則自檢不通過。
④如果自檢通過,安全報警單元則釋放復位信號,等待其他安全傳感器自檢結果,自檢全部通過則CPU啟動;如果自檢不通過則認為位置傳感器受到攻擊,復位信號繼續有效,芯片一直處于復位狀態。
(2)其他安全傳感器自檢,自檢通過則CPU啟動,否則芯片處于復位狀態。其他安全傳感器自檢可與位置傳感器自檢并行或串行進行。
(3)芯片正常工作即CPU啟動后,實時監測單元實時監控位置信息,并將結果傳遞給安全報警單元。
(4)如果位置信息超出了預設的經緯度范圍,則安全報警單元發出報警信息,用戶可將報警信息設置為中斷或復位,由CPU進行報警中斷處理或強制芯片處于復位狀態,避免信息泄露。
(5)芯片正常工作過程中,可通過CPU不定期發送自檢指令,對位置傳感器進行自檢,以確認位置傳感器是否受到攻擊,并將自檢結果發送給安全報警單元,自檢過程與上電自檢相同。
(6)安全報警單元通過中斷或復位的方式發出報警信號。
通過上述步驟1上電自檢和步驟5工作過程中自檢以確認安全位置傳感器是否工作正常、是否受到了旁路攻擊,一旦受到攻擊則通過安全報警單元發出報警信號。
在位置數據存儲時增加校驗位,每次讀出數據首先進行數據校驗,再與已存儲的校驗位進行對比,如果對比不一致則說明位置數據已被篡改,該數據將被禁止使用,并發出報警信號,該報警信號將會導致系統進入復位或中斷等安全狀態。
同時,芯片中的溫度、電壓等其他安全傳感器以及在芯片版圖設計中使用隨機邏輯布線、關鍵信號隱藏、冗余走線等方式同樣也會起到防篡改和防旁路的作用。
在安全時間傳感器設計中采用同樣的方法進行安全防護。
安全時間傳感器核心部分包括北斗衛星接收單元、安全控制單元(時間自檢單元、實時時間監控單元)、安全報警單元。
如圖5所示,時間傳感器為整個系統提供統一的時間,通過安全算法單元加密后再通過系統總線向整個系統廣播,并對是否遭受攻擊進行實時檢測。系統總線上的設備通過解密后獲得正確的時間信息。

圖5 安全時間傳感器結構
安全時間傳感器與安全位置傳感器類似,結構和工作流程相同的部分不再詳細描述,其主要差異在于系統中的應用。通過時間傳感器獲得可靠的時間信息,并將此時間信息通過系統總線向系統的其他單元廣播,以保證整個系統的時間信息是統一的、可靠的。
實時監測單元同時將監測結果通過“有效標識”信號傳遞給安全算法單元,當“有效標識”信號有效時,安全算法單元利用對稱算法(如國密算法SM4)對實時時間信息進行加密,以及利用雜湊算法(如國密算法SM3)進行摘要運算,將加密后的時間信息、摘要信息、有效標識通過系統總線向設備進行廣播。設備通過解密獲得時間明文信息,并用SM3進行相同的摘要運算,與接收到的摘要信息進行比對以確定時間是否被篡改。
深圳華大北斗科技有限公司在北斗導航和信息安全兩大領域均有深厚的技術積累,在芯片設計方面已耕耘多年。2015年率先量產國內第一顆射頻基帶一體化的SoC導航芯片,并于2016年量產集成國密和國際密碼算法的導航芯片,為集成安全位置傳感器和時間傳感器的安全芯片開發項目掃清了技術障礙。
該項目采用TSMC 40 nm先進工藝,目前已進入小批量量產階段,并開始在危險品運輸、智慧物流、冷鏈運輸等領域提供樣片開發、試用,為上述領域的聯網車輛提供網絡安全防護,防止被黑客攻擊、跟蹤、控制。該芯片未來有望逐漸成為智能網聯車輛在車載端的核心安全部件。
該項目僅解決了室外環境下定位和安全防護問題。目前華大北斗已投入資源進行室內精準定位技術的研發,有希望在不遠的將來實現室內外精準定位和安全防護的無縫銜接。
本文描述了如何使用北斗星導航系統與傳統的安全技術相結合設計出安全位置傳感器和安全時間傳感器,填補了傳統安全芯片無法抵御位置和時間攻擊的防護技術空白,滿足了設備對位置和時間的信息安全需求。
具有位置傳感器和時間傳感器的安全芯片,通過接收北斗衛星信號獲取位置和時間信息,保證了位置信息和時間信息的可靠性及不可偽造性,同時具有上電自檢和實時檢測的功能,使位置傳感器和時間傳感器具有不可篡改性和不可旁路性等安全特性,可對移動設備進行實時有效的位置和時間信息防護。