賴冬寅
(四川工商職業技術學院,四川成都,611837)
嵌入式處理器的快響應安全啟動機制探究
賴冬寅
(四川工商職業技術學院,四川成都,611837)
基于多粒度儲存器運算機制(MMH),提出了嵌入式系統的快響應安全啟動機制(FSBM);根據不同的監控對象,采用不同的策略對存儲的信息和外部設計進行監控和保護。利用Xilinx的ML510FPGA開發板,對FSBM進行了設計與實現。實驗結果表明: FSBM安全響應機制在安全啟動系統的前提下,可以大幅度節約響應時間,提高系統的性能。
嵌入式;多粒度儲存器;安全啟動;快響應
嵌入式處理器啟動機制不僅決定著系統啟動的方式與速度,也是系統安全、穩定運行的前提。嵌入式處理器啟動機制的設計直接決定了處理器能否安全地加載外部設備、能否有效地識別非法接入的危險設備。本文立足于完整性保護技術,將多粒度存儲器散列運算機制(MMH)引入到嵌入式系統的安全啟動過程中,對嵌入式處理器安全啟動機制進行研究。MMH不僅可以實時校驗來自片外的程序、數據等信息,同時,MMH還具有初始化時間短的優勢,可以幫助嵌入式處理器快速啟動,降低嵌入式處理器切換程序時的性能開銷。
目前已有的安全啟動機制,存在著各種各樣的問題,沒有形成一個完整的安全啟動機制,特別是沒有與現有的處理器運行時的完整性校驗機制相結合,無法真正達到從芯片到系統安全性。實際上,嵌入式系統相對封閉、服務對象相對固定,通常不會有大量外部設備進行接入。嵌入式系統真正需要地是一種輕量級的快速響應的啟動方式。針對嵌入式系統的需求,提出在嵌入式處理器內部構造一種快速響應的安全啟動方式。

圖1 嵌入式系統的多粒度校驗機制
根據嵌入式系統啟動的特點,若使用傳統的單一粒度的
Merkle樹進行認證必然會導致處理器在啟動的過程中性能逐漸下降的情況。因為隨著啟動過程的結束,處理器需要加載的代碼量逐步增大,單一粒度的Merkle樹所需要認證的數據也隨之增加,從而造成處理器訪存的性能下降。為了解決這個問題,提出了一種針對嵌入式系統的快響應安全啟動策略(FSBM)。這種策略改變了過去采用單一粒度對系統啟動過程進行認證的方法,而采取了不同粒度配置下的MMH對啟動過程進行完整性保護。圖1描述了我們所設計的快響應安全啟動策略。
將多粒度的機制應用到嵌入式系統的啟動過程中,并根據啟動過程中代碼量的變化,采取不同的粒度對來自處理器片外的數據進行散列運算,以認證信息的安全性,期望能提高嵌入式系統的啟動相應速度。在處理器處于復位狀態時,使用細粒度配置的MMH對數據進行完整性驗證;在處理器開始加載并診斷外部設備時,提高散列算法的粒度;在處理器開始加載映像文件時,我們采用最粗粒度的MMH對映像文件進行安全性認證。通過這樣粒度的提高,可以使嵌入式處理器在啟動的過程中獲得更快的響應速度。
安全的啟動方法不應僅僅實現啟動的安全,而是應該保證系統由啟動到運行過程中的整體安全。因此,為了滿足這種安全性需求,在多粒度校驗機制的基礎進一步劃分了完整樹的功能。我們將根據認證對象所屬性質的不同,把構建完成以后的完整樹劃分為熱區與冷區。將保存在外部存儲器中的數據、指令等與軟件相關的信息劃分到熱區部分進行管理;將外部設備的ROM等與硬件相關的信息劃分到在冷區部分進行管理。在系統啟動以后,處理器將采用不同的方式對分屬于熱區和冷區的信息進行安全認證。熱區所覆蓋的程序以及數據信息,是需要經常被處理器訪問的,處理器將按照正常的完整樹散列節點的檢索與校驗的方式處理屬于熱區的散列節點。而對于冷區所覆蓋的外部設備的信息,處理器將采取特殊的方式予以處理。

圖2 FSBM中完整樹的功能劃分示意圖
新的安全啟動機制在啟動階段,通過初始化外部設備建立冷區。在系統完成啟動過程以后,安全啟動機制僅僅保留葉節點的信息,其他的中間節點都將被替換。當處理器需要對外部設備進行訪問時,安全機制需要重新對外部設備的標示以及配置信息進行安全性認證。FSBM首先讀取出外部設備的信息,然后對這些信息進行散列計算,并將計算出的信息直接與原先保留的葉節點相比較,從而快速完成對外部設備的認證。
在另一方面,為了提高安全啟動機制的完備性,避免攻擊者非法偽造為正常用戶,新設計的FSBM還增加了對用戶信息的認證環節。在載入系統內核之前,FSBM需要對用戶身份信息進行驗證,防止來自于嵌入式系統的非法用戶從嵌入式系統的內部進行破壞。FSBM對用戶的安全性驗證工作如圖3所示。

圖3 在啟動過程中的用戶認證
引導加載程序首先加載認證程序,要求用戶輸入認證信息,然后在外部設備檢測階段,將已輸入的用戶信息與外部設備信息一同進行散列計算,并把散列計算的結果與處理器中的可信存儲區中的安全信息比對,若兩者結果相一致則引導過程繼續,否則提示錯誤,并中斷啟動過程。這樣實現了安全啟動過程對用戶的認證功能。
在一塊Xilinx的ML510FPGA開發板中實現FSBM。整個架構包括了嵌入式處理器內核、安全啟動管理模塊(BM)、多粒度存儲器驗證模塊(MMH)以及MPMC模塊等。
利用Synopsys公司的FPGA綜合工具Synplify評估了FSBM在FPGA器件XCSVFX130T中所消耗的硬件資源情況。使用200MHz的時鐘頻率約束,對硬件設計進行了邏輯綜合。綜合結果如表1所示。FSBM中最主要的硬件開銷來自于AES-GCM計算模塊,其次是L2Cache,然后是散列Cache、BM和HTM。

表1 快響應安全啟動機制(FSBM)硬件開銷
利用Linux內核中的啟動統計信息,作為系統的啟動時間。最后的實驗結果如表2所示。同一般的安全啟動方式相比,采用快響應方式的Linux啟動具有更短的啟動時間。
Research on secure starting mechanism of quick response for embedded processor
Lai dongyin
(Sichuan Technology and Business College,Sichuan Chengdu,611837,China)
Based on multi granularity memory operation mechanism(MMH),a fast response to the secure boot mechanism of embedded system(FSBM)is proposed;According to different control targets,this paper uses information and external design of the storage of different strategies for control and protection.At last, this paper designs and implements FSBM using development board Xilinx of ML510FPGA.The experimental results show that:based on security startup system, FSBM can greatly save the response time,and improve the performance of the system.
embedded system;multi granularity memory;secure boot mechanism;FSBM