Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Aplikasi DICE
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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 RKP.
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
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 dibuktikan 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.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-12 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-12 UTC."],[],[],null,["# Applications of DICE\n\nThe [Device Identifier Composition\nEngine (DICE)](/docs/security/features/dice) is an Android security feature that provides strong attestation and improves\ndevice integrity by creating a unique cryptographic identity for each device. DICE is especially\nuseful for creating device identities that can be used in scenarios requiring strong proof of\nidentity and secure communications.\n\nRemote Key Provisioning (RKP)\n-----------------------------\n\n\nThere are several key benefits that come from using DICE for RKP.\n\n### Minimization of the attack surface\n\n\nDICE enhances RKP by grounding the root of trust in the smallest possible\n[trusted computing base (TCB)](https://en.wikipedia.org/wiki/Trusted_computing_base)\navailable on the device, usually the chip itself, rather than within the Trusted Execution\nEnvironment (TEE). This greatly reduces the attack surface and minimizes the risk of permanent RKP\ncompromise.\n\n### Recovery from TEE compromises\n\n\nDICE provides a mechanism to recover trust in devices even if there are compromises in the TEE or\nbootloader that could affect the validity of the key attestations generated by\n[KeyMint](/docs/security/features/keystore/attestation#attestation-extension).\n\n\nHistorically, vulnerabilities in the\n[TEE](https://en.wikipedia.org/wiki/Trusted_execution_environment)\nor [bootloader](/docs/core/architecture/bootloader) led to\nfull revocation of attestation keys for all affected devices, with no path to recover trust even\nif the vulnerabilities were patched. This was because the TEE performed remote verification over\nthe Android image being loaded through the\n[Android Verified Boot](/docs/security/features/verifiedboot),\nmaking it impossible to prove to a remote party that the patches had been applied. DICE addresses\nthis issue by enabling remote verification of current firmware state, even outside of Android,\nallowing affected devices to recover trust.\n\nMutual authentication of isolated environments\n----------------------------------------------\n\n\nEach application domain that the DICE process terminates in receives an identity in the form of a\nkey with a certificate chain extending back to the shared root of trust derived by the ROM. The\nDICE derivation process separates into different branches as different loading paths diverge,\nforming a tree of certificates that all share the same root and creating an on-device public key\ninfrastructure (PKI).\n\n\nThis PKI enables components in separate secure enclaves to mutually authenticate one another. One\nconcrete example is [Secretkeeper](https://android.googlesource.com/platform/system/secretkeeper/),\na [hardware abstraction layer (HAL)](/docs/core/architecture/hal)\nthat allows privileged virtual machines (pVMs) to communicate with the TEE to receive a stable\nsecret that can be used to securely store persistent data."]]