DICE 的應用

Device Identifier Composition Engine (DICE) 是 Android 安全性功能,可為每部裝置建立專屬的加密編譯身分,提供強大的認證機制,並改善裝置完整性。DICE 特別適合用於建立裝置身分,以便在需要強力證明身分和安全通訊的情況下使用。

遠端金鑰佈建 (RKP)

使用 DICE 進行遠端金鑰佈建有幾項主要優點。

盡量減少攻擊面

DICE 會在裝置上提供的信任運算基礎 (TCB) 中 (通常是晶片本身,而非受信任的執行環境 (TEE)) 建立信任根,藉此強化 RKP。這可大幅減少攻擊面,並盡可能降低 RKP 遭到永久入侵的風險。

從 TEE 入侵破壞中復原

即使 TEE 或引導程式有遭到入侵的風險,可能會影響 KeyMint 產生的金鑰認證有效性,DICE 仍可提供機制來恢復裝置信任。

過去,受信任的執行環境 (TEE)啟動載入器中的安全漏洞,會導致所有受影響裝置的認證金鑰完全撤銷,即使修補安全漏洞,也無法恢復信任。這是因為 TEE 會針對透過 Android 驗證開機載入的 Android 映像檔執行遠端驗證,因此無法向遠端方證明已套用修補程式。DICE 會透過啟用目前韌體狀態的遠端驗證功能來解決這個問題,即使是在 Android 之外,也能讓受影響的裝置恢復信任。

隔離環境的雙向驗證

DICE 程序終止時,每個應用程式網域都會以金鑰的形式接收身分,憑證鏈會延伸至 ROM 衍生的共用信任根。隨著不同的載入路徑分歧,DICE 衍生程序會分成不同的分支,形成一個憑證樹狀結構,所有分支都共用相同的根目錄,並建立裝置端公用金鑰基礎架構 (PKI)。

這個 PKI 可讓個別安全區中的元件相互驗證。一個具體的例子是 Secretkeeper,這是一個硬體抽象層 (HAL),可讓特權虛擬機器 (pVM) 與 TEE 通訊,以便接收可用於安全儲存永久性資料的穩定機密金鑰。