您的位置:首頁>設計>正文

業界動態:DICE提供增強的安全性和獨特的設備識別功能

隨著連接設備的普及, 特別是在物聯網(IoT)應用中, 嵌入式系統設計人員越來越多地需要應對傳統的計算系統工程師多年來不得不應對的信任和安全問題。

可信計算組織(TCG, Trusted Computing Group)在開發基於標準的信任技術以解決這些信任和安全問題方面有著悠久的歷史。 最近, TCG已經將其重點擴展到了嵌入式系統中。 TCG最新發佈的設備標識組合引擎(DICE, Device Identity Composition Engine)架構旨在為嵌入式領域提供增強的安全性和獨特的設備標識和認證能力。

DICE依靠簡單的晶片功能和軟體技術相結合, 提供強大密碼的設備身份。 DICE對基於純軟體安全性方面的改進部分是將整個啟動過程分為多個層次。

使用只有DICE(以及可選的製造商)已知的唯一設備金鑰(UDS, Unique Device Secret)來創建的每一層和硬體設定的唯一密碼。

對於設備和每個軟體層來說設備密碼和金鑰是唯一的, 這樣確保如果代碼或配置被修改後, 密碼和金鑰將是不同的。 採用這種方法, 每個軟體層都會將其收到的秘密完全保密。 如果通過漏洞洩露了秘密, 修補代碼將自動重新為設備分配金鑰。

圖1顯示了DICE中的可信代碼如何為平臺提供基於硬體的信任根。 在DICE啟動模式中:

開機時無條件啟動DICE

DICE擁有獨家訪問UDS的許可權

每層為下一層計算一個密碼(通過一個加密的單向函數)

每層保護它收到的密碼

圖1、DICE模型架構

[圖1 |在每一層使用新的密碼,

DICE模型建立在可信的不可改變的代碼之上, 構建信任鏈並提供強大的設備身份識別功能。

具有限制僅對DICE訪問UDS的功能的硬體為DICE的安全性執行初始化步驟。 UDS和在DICE平臺上運行的第一個可變代碼的測量(DICE提供測量的信任根)用於計算複合設備識別字(CDI, Compound Device Identifier)。 從CDI開始, 每個連續的軟體層使用密碼和下一層的度量來為下一層匯出新的密碼。 在轉移控制權之前, 每一層都必須抹去自己的密碼。 這個過程在啟動過程中繼續進行, 從而產生一個根植於設備身份並基於測量代碼的測量鏈。

圖2、DICE的分層架構示意圖

微軟的堅固物聯網架構(RIoT, Robust Internet of Things)架構提供了一個利用DICE的參考實現, 以便真實地瞭解這項技術。 這與Azure IoT中設備配置服務的基礎架構相同。

在RIoT參考中, 支援DICE的處理器運行稱為RIoT Core的第一階段開機載入程式。 RIoT Core負責根據DICE執行的測量獲取設備標識。 然後, RIoT Core將自己的設備固件測量值與從DICE收到的CDI值進行組合, 並將這個秘密值傳遞給固件, 以便進一步得出其秘密和金鑰。

圖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規範即將完成,更多的設計工具和支持將從更廣泛的供應商處獲得。

(完)

Next Article
喜欢就按个赞吧!!!
点击关闭提示