硬件安全模塊如何啟用AUTOSAR


硬件安全模塊如何啟用AUTOSAR

How hardware security modules enable AUTOSAR

越來越復雜的軟件和車內連接需要越來越多的加密保護。這種保護也必須由經典的實時AUTOSAR系統來實現。硬件安全模塊(HSM)具有合適的固件,即使在資源不足的情況下,也能保證系統的加密。             

汽車電子控制單元(ecu)的連通度多年來一直在提高,控制單元之間相互連接,也與外界相連。然而,隨着越來越復雜的軟件面臨新的需求,對通信的需求也在不斷增加。從安全角度來看,這意味着從孤立的單一系統到高度連接的節點的轉變。因此,安全和防范外部威脅的重要性日益增加。除其外,這種保護可以通過增加強加密技術的使用來實現,乍一看,這在經典的實時系統中並不容易。過去,只有在特殊操作模式下,如維修車間的ECU軟件更新,才需要加密。             

現在,即使在常規運行時,也必須有效地可用:例如,驗證通信伙伴和通信內容並防止截獲。適當的實現必須允許實時需求。乍一看,這與密碼方法的計算時間要求相矛盾。硬件安全模塊(HSM)用於解決此問題。允許在單獨的處理器上計算密碼。然而,需要一個優化的實現來充分發揮潛力。

Automotive real time

對車內實時性的要求通常來自於所謂的效應鏈。分析了在處理從傳感器輸入脈沖到相關執行器期望輸出脈沖的過程中,涉及的硬件或軟件組件以及順序。整個鏈條的最長可接受運行時間可由傳感器和執行器的物理條件得出。然后可以將其分解為單個組件的允許最大運行時間。根據使用情況,范圍從10µs到100 ms。如果超過了允許的最大運行時間,這可能會降低便利性並導致噪音等。對於需要實時功能的安全相關功能,這甚至可能導致生命和肢體受傷的風險。             

為了滿足和實現軟件的實時性要求,AUTOSAR操作系統將相關軟件功能划分為子步驟,即所謂的任務。任務由外部事件激活,即標記為可運行,然后根據優先級進行處理。對於大多數應用,使用帶有循環激活表的計時器來激活任務,因為相關的控制功能將持續處理新的信號生成。這將導致默認的時間響應,該響應在幾十毫秒的周期內重復。需要幾個步驟來確保滿足實時性要求。一方面,在實施信號處理步驟時,適當的措施當然必須確保能夠提供所需的時間響應。另一方面,ECU中與時間相關的任務激活必須能夠實現時間要求。為此,必須分析所有任務的運行時行為,以找到適當的優先級排序和保證時間的按時間順序的激活順序。

AUTOSAR basic software

AUTOSAR基本軟件             

ECU的功能不再僅僅涉及信號處理。處理通信和管理的基本軟件是這些功能的重要組成部分。這個基本軟件也必須划分為任務,根據其運行時需求進行分析,並在整個系統中加以考慮。簡言之,有兩種不同的功能集:一部分基本軟件,例如用於傳輸信號值,是實現實時信號處理所必需的。這一部分必須給予適當的高度優先考慮。另一部分的實時性要求明顯較低:該部分必須在后台定期運行;但是,可能會被具有更高實時性要求的函數暫時搶占。因此,一種常見的實現模式是將這些非關鍵功能轉移到低優先級的后台任務。在這種情況下,問題是各職能之間的優先次序:一般來說,有多個后台活動,其中任何一個都不能在較長時間內失敗。這種優先級排序的解決方案是循環調度,其中每個低優先級函數計算一個短時間,然后是下一個函數。在AUTOSAR術語中,涉及的每個模塊都提供了一個所謂的“MainFunction”,運行時間有限。在后台任務中,這些函數按順序調用。

Security

安全             

這種經典的“背景函數”的一個例子是密碼算法。自4.0版以來,AUTOSAR包含了加密基礎軟件的規范—在以后的版本中,對相應的規范進行了修訂和微調。在這種情況下,所謂的加密服務管理器(CSM)為應用程序提供加密服務:

Figure 1  Security modules in an AUTOSAR 4.3 system

1 AUTOSAR 4.3系統中的安全模塊             

例如,被安全板載通信(SecOC)使用,以加密方式驗證所傳輸數據包中的信號值。顧名思義,CSM管理加密服務。實際實現位於特定於制造商的加密庫中。為了支持集成到具有實時需求的AUTOSAR系統中,CSM異步地處理請求:最初,只被保存,然后在CSM MainFunction的調用中逐個處理。為此,CSM MainFunction將調用所有底層加密原語的mainformations,每個原語隨后都要計算幾個步驟。             

典型密碼原語的計算時間比信號處理函數的計算時間高出一個數量級。這在划分MainFunction調用時帶來了一個兩難的問題:允許計算的確切范圍是多少?過多的計算步驟會使整個系統的實時性受到質疑,從而使加密變得毫無用處。太少的步驟會延遲計算較長的加密操作,以至於利益受到限制。             

此外,還必須考慮另一個影響:特定的主函數負責管理其內部計算狀態,以便允許逐步執行計算。就其本身而言,這種狀態管理意味着開銷。單個調用實際計算的次數越少,開銷就越大。             

軟件供應商應該找到解決這個問題的標准解決方案。在經典的場景中,例如,運行時的加密用於通過對稱加密方法對較小的數據塊進行身份驗證。一種解決方案可能是為每個MainFunction調用計算一個對稱塊。然而,當使用更復雜的方法時,很難找到合理的折衷方案。              

示例包括驗證/加密大量數據或生成非對稱簽名。例如,假設100µs的每毫秒計算一次是可以接受的,這是一個非常樂觀的假設,在大多數實時場景中很難維持。             

與純計算時間相比,這樣的除法意味着在得到結果之前的時間增加了10倍。對於純計算時間已經造成困難的密碼函數,這種划分大大限制了其實際應用。

Hardware security modules

硬件安全模塊             

顯然,加密方法在實時性和開銷方面的矛盾要求不能僅靠軟件來解決。因此,一個明顯的解決方案是使用專門的硬件,可以計算適當的算法-或其中的大部分-與主處理器並行。然后AUTOSAR CSM和相關的加密庫只將請求傳遞給這個硬件,並且在main函數中,周期性地檢查結果是否可用。這些硬件協處理器中的第一個已經在過去十年被制造商軟件計划(HIS)指定為“安全硬件擴展”。關於密碼算法,本規范仍然限於AES-128在不同模式下的實現。因此,最近的發展往往是由於硬件的大量發展或不太理想,所以才有可能出現更多的純硬件。             

其結果是向所謂的硬件安全模塊(HSM)發展。HSMs是獨立的微控制器,通過防火牆連接到主機系統的總線上。HSM通常有自己的受保護RAM,一個用於程序代碼和數據的專用閃存區,以及自己的外圍設備,如定時器、某些密碼算法的硬件加速器或真隨機數發生器。能夠訪問主機的完整硬件。這允許在運行時實現系統或主機監視的安全、經過身份驗證的啟動。專用數據閃存可用於存儲機密,使主機系統無法訪問這些機密。這意味着主機可以請求由HSM執行的加密操作,而不需要密鑰離開HMS。然而,在這方面,HSM的特殊優點是可以自由編程。作為一個獨立的微控制器,HSM能夠運行針對當前用例優化的任何程序代碼。這使得能夠實現比簡單協處理器多得多的安全需求。

Implementation of HSM firmware

HSM固件的實現             

簡單地在HSM上實現成熟的AUTOSAR標准軟件並使用標准AUTOSAR方法將其連接到環境中,這似乎很誘人。這將允許重用熟悉的AUTOSAR實現模式。然而,事實並非如此:具有實時信號處理的典型AUTOSAR系統和關注安全性的HSM的用例有很大不同。顯然,如果HSM的固件能夠更自由地實現這一目的,那么可以更自由地實現這一目的。此外,目前的HSM硬件只有有限的資源可用,這也是在HSM上使用AUTOSAR軟件困難的另一個因素。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM