Device Identifier Composition Engine (DICE) meningkatkan postur keamanan Android dengan sejumlah cara yang berbeda, dengan lebih banyak kasus penggunaan dalam pengembangan seiring perluasan integrasi arsitektur ini.
Penyediaan kunci enkripsi jarak jauh
Kasus penggunaan asli untuk DICE adalah mendasarkan root kepercayaan untuk protokol Remote Key Provisioning (RKP) pada TCB terkecil yang tersedia untuk chip, yaitu ROM, bukan dalam TEE. Hal ini sangat mengurangi permukaan serangan untuk kompromi permanen RKP. Yang lebih penting, hal ini memberikan kemampuan untuk memulihkan kepercayaan pada perangkat setelah kompromi di TEE atau bootloader yang dapat memengaruhi validitas pengesahan kunci yang dihasilkan KeyMint.
Secara historis, kerentanan di TEE atau bootloader menyebabkan pencabutan penuh kunci pengesahan untuk semua perangkat yang terpengaruh, tanpa jalur untuk memulihkan kepercayaan meskipun kerentanan di-patch. Hal ini karena tidak dapat dibuktikan kepada pihak jarak jauh bahwa patch telah diterapkan, karena verifikasi jarak jauh dilakukan oleh TEE melalui image Android yang dimuat melalui Android Verified Boot. DICE menutup kesenjangan tersebut dengan memberikan kemampuan untuk memverifikasi status firmware saat ini yang dimuat di luar Android dari jarak jauh.
Autentikasi bersama lingkungan terisolasi
Setiap domain aplikasi yang dihentikan DICE akan menerima identitas dalam bentuk kunci dengan rantai sertifikat yang memperluas kembali ke root of trust bersama yang berasal dari ROM. Karena proses turunan DICE bercabang sebagai jalur pemuatan, proses ini akan membuat hierarki sertifikat yang memiliki root yang sama. Dengan demikian, PKI di perangkat dibuat selama proses DICE.
PKI yang dibuat oleh proses derivasi DICE membuat mekanisme untuk komponen dalam enklave aman terpisah untuk saling mengautentikasi. Contoh konkretnya adalah SecretKeeper, HAL Tepercaya yang memungkinkan pVM berkomunikasi dengan TEE untuk menerima secret yang stabil, yang dapat digunakan untuk menyimpan data persisten dengan aman.