Device Identifier Composition Engine (DICE) adalah fitur keamanan Android yang memberikan pengesahan yang kuat dan meningkatkan integritas perangkat dengan membuat identitas kriptografis unik untuk setiap perangkat. DICE sangat berguna untuk membuat identitas perangkat yang dapat digunakan dalam skenario yang memerlukan bukti identitas yang kuat dan komunikasi yang aman.
Penyediaan kunci jarak jauh (RKP)
Ada beberapa manfaat utama yang diperoleh dari penggunaan DICE untuk penyediaan kunci jarak jauh.
Meminimalkan permukaan serangan
DICE meningkatkan RKP dengan melandasi root of trust di trusted computing base (TCB) terkecil yang tersedia di perangkat, biasanya chip itu sendiri, bukan dalam Trusted Execution Environment (TEE). Hal ini sangat mengurangi permukaan serangan dan meminimalkan risiko kompromi RKP permanen.
Pemulihan dari kompromi TEE
DICE menyediakan mekanisme untuk memulihkan kepercayaan pada perangkat meskipun ada kompromi di TEE atau bootloader yang dapat memengaruhi validitas pengesahan kunci yang dihasilkan oleh KeyMint.
Secara historis, kerentanan di trusted execution environment (TEE) atau bootloader menyebabkan pencabutan kunci pengesahan sepenuhnya untuk semua perangkat yang terpengaruh, tanpa jalur untuk memulihkan kepercayaan meskipun kerentanan telah ditambal. Hal ini karena TEE melakukan verifikasi jarak jauh atas image Android yang dimuat melalui Android Verified Boot, sehingga tidak dapat membuktikan kepada pihak jarak jauh bahwa patch telah diterapkan. DICE mengatasi masalah ini dengan mengaktifkan verifikasi jarak jauh terhadap status firmware saat ini, bahkan di luar Android, sehingga perangkat yang terpengaruh dapat memulihkan kepercayaan.
Autentikasi bersama lingkungan terisolasi
Setiap domain aplikasi tempat proses DICE dihentikan akan menerima identitas dalam bentuk kunci dengan rantai sertifikat yang memanjang kembali ke root kepercayaan bersama yang berasal dari ROM. Proses turunan DICE terpisah menjadi cabang yang berbeda saat jalur pemuatan yang berbeda berbeda, membentuk hierarki sertifikat yang semuanya memiliki root yang sama dan membuat infrastruktur kunci publik (PKI) di perangkat.
PKI ini memungkinkan komponen dalam enklave aman terpisah untuk saling mengautentikasi. Salah satu contoh konkret adalah Secretkeeper, hardware abstraction layer (HAL) yang memungkinkan virtual machine dengan hak istimewa (pVM) berkomunikasi dengan TEE untuk menerima secret stabil yang dapat digunakan untuk menyimpan data persisten dengan aman.