裝置 ID 組合引擎 (DICE) 可透過多種不同方式改善 Android 的安全防護狀態,隨著這項架構的整合擴大,開發人員也將開發更多應用情境。
遠端金鑰佈建
DICE 的原始用途是取得遠端金鑰佈建 (RKP) 通訊協定的信任根,採用晶片 ROM (而非 TEE) 可用的最小 TCB 來提供該通訊協定的信任根。這樣可大幅減少 RKP 永久入侵的攻擊途徑。更重要的是,在 TEE 或系統啟動載入程式中,如果可能影響 KeyMint 產生的金鑰認證效力,這項更新便可讓您取消對裝置的信任。
以往,TEE 或 Bootloader 中的安全漏洞會導致所有受影響裝置的認證金鑰遭到全面撤銷,即使安全漏洞已修補,也無法恢復信任。這是因為 TEE 會在透過 Android 驗證開機功能載入 Android 映像檔時執行遠端驗證,因此無法向遠端方證明已套用修補程式。DICE 可從遠端驗證在 Android 之外載入的韌體目前狀態,因此可彌補這項差距。
隔離環境的雙向驗證
DICE 終止的每個應用程式網域都會以金鑰的形式接收身分,憑證鏈會延伸至 ROM 衍生的共用信任根。由於 DICE 衍生程序會在載入路徑分割時分支,因此會建立共用相同根目錄的憑證樹狀結構。因此,DICE 程序會在裝置端建立 PKI。
由 DICE 衍生程序建立的 PKI 會為個別安全區塊中的元件建立機制,讓彼此相互驗證。具體的例子是 SecretKeeper,這是可信任的 HAL,可讓 pVM 與 TEE 通訊,以便接收穩定的機密資訊,用於安全地儲存持續性資料。