安全SoC用于為系統(硬件和軟件)提供身份驗證,機密性,完整性,非再現和訪問控制。以下是開發安全系統的一些多種架構技術。
通常在安全的SoC中,需要四個關鍵功能:安全啟動,安全內存,運行時數據完整性檢查和中央安全漏洞響應。
安全啟動
從安全的角度來看,啟動是SoC的一個重要且易受攻擊的部分。如果黑客能夠控制SoC的啟動過程,則可以繞過所有其他安全實現以獲得未經授權的訪問。 SoC架構師開發了多種技術,以在SoC的引導過程中提供安全性。
將控件從硬件轉移到軟件的鏈接是黑客最喜歡的目標點之一。安全啟動是一種防水技術,可以安全地保護這種聯系。信任鏈是用于實現安全啟動的經典技術之一。
信任鏈被設想為一種安全實現,其中可信/認證的硬件和軟件用于鏈的多個階段。如果SoC選擇部署安全啟動,則在每個啟動階段,它將驗證要執行的下一個階段。
安全啟動從可信實體(錨點)開始。芯片硬件啟動順序和BootROM是用硅制造的可信實體。因此,幾乎不可能改變硬件(可信實體)并且仍然具有功能SoC。
執行對每個后續階段進行身份驗證的過程,以創建信任鏈,如下圖所示。
階段1表示執行硬件復位序列,有助于SoC上電。此外,序列將控制轉移到BootROM,BootROM是一個可信實體。
階段2表示BootROM執行以及用戶應用程序軟件的身份驗證。身份驗證是生成應用程序映像的唯一簽名并將其與黃金簽名匹配的過程,存儲在SoC中的安全區域。
階段3表示用戶應用程序軟件的執行。
階段2的完成確保可以信任用戶應用程序軟件。如果用戶應用程序被非法修改,其身份驗證將在階段2中失敗,因此階段3將不會執行。
安全內存
SoC中的內存可以保護到保留敏感數據,如加密密鑰,唯一ID,密碼等。
內存可以分為多個分區,每個分區都有一組不同的訪問控制。根據存儲在分區中的數據的性質,可以將分區指定為安全敏感分區或非敏感分區。包含敏感數據的內存稱為安全內存。在發生安全漏洞(例如篡改檢測,ecc操作等)的情況下,安全敏感分區的內容可以由控制器本身擦除,而非敏感分區的內容可以保持不變。此類內存控制器稱為安全內存控制器。
運行時數據完整性檢查
A運行時數據完整性檢查用于確保運行時執行期間外圍存儲器內容的完整性。安全啟動序列生成參考文件,該文件包含存儲在安全存儲器中的各個存儲塊的內容的散列值。在運行時模式中,完整性檢查器讀取內存塊的內容,等待指定的時間段,然后讀取另一個內存塊的內容。在此過程中,檢查器還計算內存塊的哈希值,并將它們與引導時生成的引用文件的內容進行比較。
如果兩個哈希值不匹配,則檢查程序向中央單元報告安全入侵,該中央單元根據安全策略決定要采取的操作。如果值匹配,則完整性檢查程序將重新開始并驗證后續內存塊的內容。此過程一直持續到SoC運行。完整性檢查器的掃描速率應該是可配置的,以便用戶可以在存儲器塊驗證速率和存儲器帶寬利用率之間進行權衡。
內存帶寬利用率α1/內存掃描率
中央安全漏洞響應單元
該硬件模塊可被視為SoC的中央報告單元,用于安全相關事件,如軟件入侵,電壓篡改等。此安全相關事件信息允許安全漏洞響應單元確定SoC的下一個狀態。可以通過以下狀態機最好地解釋本機的操作。
安全漏洞響應單元監視安全入侵。如果硬件檢測器(如電壓,頻率和溫度監視器)報告了入侵,則響應單元將SoC的狀態移至非安全狀態。非安全狀態的特征在于將其與安全狀態區分開的某些限制。向響應單元報告的任何進一步的安全漏洞將使SoC進入失敗狀態,即非功能狀態。在發出上電復位之前,SoC保持在Fail狀態。
這里應該注意,安全入侵的響應是根據軟件策略。例如,軟件可以將某些入侵配置為非致命,因此這些入侵不會導致SoC轉移到非安全或失敗狀態。提供這種可配置性是為了滿足SoC應用程序的不同安全要求。
SoC狀態的信息被傳遞到SoC中的其他安全感知部分,例如安全存儲器控制器,它可以感知狀態并保護敏感數據。
結論
SoC Security對物聯網連接設備的安全可靠運行至關重要。使SoC能夠執行任務的相同功能還必須使他們能夠識別和處理威脅。幸運的是,這不需要革命性的方法,而是現有架構的演變。
有關這些主題的更多信息,請查看以下資源:
飛思卡爾安全技術
汽車安全:從標準到實施
安全與技術汽車IC的安全架構
-
安全性
+關注
關注
0文章
93瀏覽量
19156 -
PCB打樣
+關注
關注
17文章
2968瀏覽量
21717 -
華強PCB
+關注
關注
8文章
1831瀏覽量
27779 -
華強pcb線路板打樣
+關注
關注
5文章
14629瀏覽量
43059
發布評論請先 登錄
相關推薦
評論