隨著連接設備的普及, 特別是在物聯網(IoT)應用中, 嵌入式系統設計人員越來越多地需要應對傳統的計算系統工程師多年來不得不應對的信任和安全問題。
可信計算組織(TCG, Trusted Computing Group)在開發基於標準的信任技術以解決這些信任和安全問題方面有著悠久的歷史。 最近, TCG已經將其重點擴展到了嵌入式系統中。 TCG最新發佈的設備標識組合引擎(DICE, Device Identity Composition Engine)架構旨在為嵌入式領域提供增強的安全性和獨特的設備標識和認證能力。
DICE依靠簡單的晶片功能和軟體技術相結合, 提供強大密碼的設備身份。 DICE對基於純軟體安全性方面的改進部分是將整個啟動過程分為多個層次。
對於設備和每個軟體層來說設備密碼和金鑰是唯一的, 這樣確保如果代碼或配置被修改後, 密碼和金鑰將是不同的。 採用這種方法, 每個軟體層都會將其收到的秘密完全保密。 如果通過漏洞洩露了秘密, 修補代碼將自動重新為設備分配金鑰。
圖1顯示了DICE中的可信代碼如何為平臺提供基於硬體的信任根。 在DICE啟動模式中:
開機時無條件啟動DICE
DICE擁有獨家訪問UDS的許可權
每層為下一層計算一個密碼(通過一個加密的單向函數)
每層保護它收到的密碼
圖1、DICE模型架構
[圖1 |在每一層使用新的密碼,
具有限制僅對DICE訪問UDS的功能的硬體為DICE的安全性執行初始化步驟。 UDS和在DICE平臺上運行的第一個可變代碼的測量(DICE提供測量的信任根)用於計算複合設備識別字(CDI, Compound Device Identifier)。 從CDI開始, 每個連續的軟體層使用密碼和下一層的度量來為下一層匯出新的密碼。 在轉移控制權之前, 每一層都必須抹去自己的密碼。 這個過程在啟動過程中繼續進行, 從而產生一個根植於設備身份並基於測量代碼的測量鏈。
圖2、DICE的分層架構示意圖
微軟的堅固物聯網架構(RIoT, Robust Internet of Things)架構提供了一個利用DICE的參考實現, 以便真實地瞭解這項技術。 這與Azure IoT中設備配置服務的基礎架構相同。
圖3、設備識別架構
在此體系結構中, 設備固件依賴於稱為固件標識(FWID, Firmware Identity)的加密雜湊值中編碼的證明(設備的安全配置的加密報告)元素。 FWID是固件安全性描述元(FSD, Firmware Security Descriptor)的散列, 它與UDS一起是類比輸入到一個函數的函數, 該函數派生出基於DICE的身份和證書。
圖4、微軟搶灘物聯網和5g
實施DICE平臺有三個基本要求。 這些包括:
計算散列的能力(理想情況下是硬體或ROM)
一個至少有256位的UDS,
一種保護機制, 將UDS的存取權限限制在DICE中, 並僅在平臺重置時復位
圖5、嵌入式設備應用廣泛
這些特性通常用於嵌入式應用中的可用微控制器(MCUs, microcontrollers )中, 但專門為DICE架構設計的MCU可以優化其實現。 可用於實現DICE架構的硬體包括現有的MCU, 如:STMicroelectronics的STM32L0 L4系列MCU, Micron Technology的基於Authenta的快閃記憶體。 專門為DICE設計的新型MCU包括Microchip Technology的CEC1702, 帶有SecureIoT1702演示板和WinBond的快閃記憶體。
圖6、STMicroelectronics的STM32L0
隨著DICE規範即將完成,更多的設計工具和支持將從更廣泛的供應商處獲得。
(完)
圖6、STMicroelectronics的STM32L0
隨著DICE規範即將完成,更多的設計工具和支持將從更廣泛的供應商處獲得。
(完)