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.
Mesin Komposisi ID Perangkat
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Device Identifier Composition Engine (DICE) adalah
spesifikasi Trusted Computing Group (TCG)
yang telah diadopsi ke dalam Android.
Fitur ini membuat serangkaian identitas kriptografis yang kuat dan tidak dapat diubah untuk setiap bagian firmware yang dimuat
selama urutan booting. Identitas ini memungkinkan verifikasi jarak jauh terhadap postur keamanan
perangkat, yang hanya dapat dihindari dengan membahayakan ROM.
Proses derivasi DICE

Gambar 1. Proses turunan DICE yang disederhanakan.
Proses derivasi DICE memastikan bahwa setiap perubahan pada image firmware akan menghasilkan ID unik
baru untuk tahap tersebut dan setiap tahap setelahnya. Hal ini karena setiap tahap firmware yang dimuat
mengukur dan memberikan sertifikasi pada tahap berikutnya, menghasilkan identitas unik dan kunci terkait yang mencegah
pengabaian atau modifikasi tidak sah. Read-only memory (ROM)
memproses pengukuran, konfigurasi, dan secret perangkat unik (UDS) dengan fungsi turunan
kunci (KDF) untuk mendapatkan secret agar tahap berikutnya dapat dimuat. Rahasia ini disebut sebagai
ID perangkat gabungan (CDI).
Tahap 0: Inisialisasi
Proses DICE dimulai dengan ROM chipset yang memuat UDS dari kumpulan data yang tidak dapat diubah,
biasanya fuse. UDS ini disediakan dengan aman menggunakan nilai acak kriptografis selama
proses produksi chip. Setelah membaca UDS, ROM menggunakan mekanisme penguncian hardware
yang bergantung pada vendor seperti kait untuk mengunci akses UDS hingga booting berikutnya.
Tahap 1: Derivasi kunci awal
ROM menggunakan UDS sebagai input ke fungsi turunan kunci (KDF)
untuk menghasilkan pasangan kunci asimetris permanen yang mengidentifikasi perangkat tersebut secara unik. Langkah ini mengukur
tahap firmware berikutnya, termasuk metadata tentang lingkungan booting seperti apakah booting
aman diaktifkan. ROM kemudian menggabungkan data UDS, pengukuran firmware, dan konfigurasi di KDF
untuk mendapatkan CDI pertama, yang diteruskan ke tahap berikutnya sebagai secret.
Tahap 2 hingga n: Derivasi kunci rekursif
Kemudian, prosesnya akan berulang. Pada semua tahap berikutnya, CDI dari tahap sebelumnya berfungsi sebagai
input untuk KDF baru. KDF ini menggunakan CDI dan hash image firmware berikutnya untuk menghasilkan
CDI turunan baru. Setiap tahap menghasilkan pasangan kuncinya sendiri dan menggunakannya untuk menandatangani sertifikat
yang berisi pengukuran khusus tahap dan metadata terkait lainnya.
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-07-27 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-07-27 UTC."],[],[],null,["# Device Identifier Composition Engine\n\nThe Device Identifier Composition Engine (DICE) is a\n[Trusted Computing Group (TCG) specification](https://trustedcomputinggroup.org/what-is-a-device-identifier-composition-engine-dice/)\nthat has been [adopted into Android](https://pigweed.googlesource.com/open-dice/+/refs/heads/android16-release/docs/android.md).\nIt creates a set of strong, immutable cryptographic identities for each piece of firmware loaded\nduring the boot sequence. These identities enable remote verification of a device's security\nposture, which can only be evaded by compromising the ROM.\n\nDICE derivation process\n-----------------------\n\n***Figure 1.** Simplified DICE derivation process.*\n\n\nThe DICE derivation process ensures that any change to any firmware image results in a new unique\nidentifier for that stage and every stage thereafter. This is because each loaded firmware stage\nmeasures and certifies the next, generating unique identities and associated keys that prevent\nbypassing or tampering. The [read-only memory (ROM)](https://en.wikipedia.org/wiki/Read-only_memory)\nprocesses the measurement, configuration, and unique device secret (UDS) with a key derivation\nfunction (KDF) to derive the secret for the next stage to be loaded. This secret is referred to as\na compound device identifier (CDI).\n\n### Stage 0: Initialization\n\n\nThe DICE process begins with the chipset's ROM loading the UDS from a bank of immutable data,\ntypically fuses. This UDS is securely provisioned with a cryptographically random value during the\nchip production process. After reading the UDS, the ROM uses a vendor-dependent hardware-locking\nmechanism such as a latch to lock UDS access until the next boot.\n\n### Stage 1: Initial key derivation\n\n\nThe ROM uses the UDS as input to a [key derivation function (KDF)](https://en.wikipedia.org/wiki/Key_derivation_function)\nto generate the permanent asymmetric key pair that uniquely identifies that device. It measures\nthe next firmware stage, including metadata about the boot environment such as whether secure boot\nis enabled. The ROM then combines the UDS, firmware measurement, and configuration data in the KDF\nto derive the first CDI, which is passed to the next stage as a secret.\n\n### Stage 2 to n: Recursive key derivation\n\n\nThe process then repeats. In all subsequent stages, the CDI from the previous stage serves as the\ninput for a new KDF. This KDF uses the CDI and the hash of the next firmware image to produce a\nnew derived CDI. Each stage generates its own key pair and uses it to sign a certificate\ncontaining stage-specific measurements and other associated metadata."]]