【導讀】在物聯網時代,安全性已經成為片上系統(SoC)最重要的一部分。安全的片上系統為系統(硬件和軟件)提供認證、機密性、完整性、不可復制性和訪問控制。下面是開發安全系統的一些架構技術。
通常來說,安全的片上系統需要四個關鍵功能:安全啟動、安全存儲器、運行時數據完整性校驗以及一個中央安全漏洞響應。
安全啟動
從安全角度來看,啟動是片上系統最重要且最脆弱的部分。如果黑客能夠控制片上系統的啟動過程,也能繞過所有其他安全措施實施,進行非法訪問。片上系統架構師開發多種技術,在片上系統啟動過程中提供安全保障。
傳送從硬件到軟件控制的聯動裝置是黑客最喜歡攻擊的一個目標點。 安全啟動是一種防水技術,可保障此聯動裝置的安全。信任鏈是用來實施安全啟動的一個經典技術。
信任鏈作為一個安全實施,在此鏈的多個階段可使用信任/認證的硬件和軟件。如果片上系統選擇部署安全啟動,在每個啟動階段,它會認證將執行的下一階段。
安全啟動從可信實體(錨點)開始。芯片硬件啟動序列和BootROM是芯片中制作的可信實體。因此,幾乎不可能更換硬件(可信實體),而且仍然具有功能性的片上系統。
可進行驗證每個連續階段的過程,以創建圖1所示的信任鏈。
圖1:信任鏈
圖字:
第1階段表示執行硬件復位序列,以簡化片上系統的上電。 此外,該序列傳送對可信實體BootROM的控制。
第2階段表示執行BootROM以及對用戶應用軟件進行認證。 認證是生成應用圖像的獨特簽名的過程,并且匹配相同的金牌簽名,此金牌簽名存儲在片上系統。
第3階段表示執行用戶應用軟件。
第2階段的完成確保可信任用戶應用軟件。如果非法修改了用戶應用,它的認證會在第2階段失敗,因此也不能執行第3階段。
安全存儲器
片上系統的存儲器可安全地保存敏感數據,如加密密鑰、唯一ID、密碼等。
存儲器可以劃分為多個分區,每個分區都有一套不同的訪問控制(圖2)。根據分區中所存儲數據的性質,該分區可以被指定為安全敏感或非敏感的分區。包含敏感數據的存儲器也稱為安全存儲器。在存在安全漏洞(如篡改檢測、ECC操縱等)的情況下,安全敏感分區的內容可能由控制器本身來擦除,同時非敏感分區的內容可能保持不變。此類存儲控制器稱為安全存儲控制器。
圖2:存儲器可以劃分為多個分區,每個分區都有一套不同的訪問控制。
圖字:
運行時數據完整性校驗
運行時數據完整性校驗用來確保運行時執行過程中外圍存儲器內容的完整性。安全啟動序列生成了參考文件,此文件包含安全存儲器中所存儲的單個存儲器模塊內容的散列值。在運行時模式中,完整性校驗器讀取存儲器模塊的內容、等待指定時間段,然后讀取另一個存儲器模塊的內容。在這一過程中,此校驗器還計算存儲器模塊的散列值,比較它們與啟動過程中生成的參考文件的內容(圖3)。
如果兩個散列值不匹配,校驗器則為中央單元報告安全入侵,此中央單元根據安全策略決定要采取的措施。如果此值匹配,完整性校驗器啟動并驗證后續存儲器模塊的內容。繼續這一過程,直到片上系統將運行。完整性校驗器的掃描速率應當是可配置的,因此用戶可以實現存儲器模塊驗證速率和存儲器帶寬利用率之間的平衡。
存儲器帶寬利用率 ∝ 1/存儲器掃描速率
圖3:運行時數據完整性校驗用來確保運行時執行過程中外圍存儲器內容的完整性。
圖字:
中央安全漏洞響應單元
這個硬件模塊可以被視作軟件入侵、電壓篡改等安全相關事件的片上系統中央報告單元。借助此安全相關的事件信息,安全漏洞響應單元可以確定片上系統的下一階段。此單元的操作可以通過以下狀態機的方式來進行最佳詮釋(圖4)。
圖4:安全漏洞響應單元
圖字:
安全漏洞響應單元監控安全入侵。如果硬件探測器報告入侵(如電壓、頻率和溫度監測器),響應單元將片上系統的狀態移動到非安全狀態。非安全狀態以區別于安全狀態的某些限制為特征。 報告給響應單元的任何進一步安全漏洞將片上系統作為故障狀態,即非功能狀態。片上系統保持故障狀態,直到發出復位上電指令。
這里應注意的是,對安全入侵的響應可按照軟件策略來執行。例如,軟件可以配置某些入侵為非致命,因此這些入侵將不會導致片上系統移動至非安全或故障狀態。 這種可配置性可滿足片上應用不同的安全需求。
片上系統狀態的信息可傳遞給片上系統的其他安全敏感的部分,如可感測狀態并保護敏感數據的安全存儲控制器。
結語
片上系統安全對安全可靠地操作物聯網聯網設備至關重要。同樣的功能不僅能使片上系統執行它們的任務,也能使它們識別并處理威脅。幸運地是,這并不需要革命性的方法,只需要現有架構的演進。
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀: