A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Applicazioni di DICE
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Device Identifier Composition Engine (DICE) è una funzionalità di sicurezza di Android che fornisce un'attestazione avanzata e migliora l'integrità del dispositivo creando un'identità crittografica univoca per ogni dispositivo. DICE è particolarmente utile per creare identità dei dispositivi che possono essere utilizzate in scenari che richiedono una prova dell'identità e comunicazioni sicure.
Provisioning di chiavi da remoto (RKP)
L'utilizzo di DICE per la RKP offre diversi vantaggi chiave.
Minimizzazione della superficie di attacco
DICE migliora la RKP basando la radice della piattaforma di attendibilità sulla Trusted Computing Base (TCB) più piccola possibile disponibile sul dispositivo, in genere il chip stesso, anziché all'interno del Trusted Execution Environment (TEE). In questo modo si riduce notevolmente la superficie di attacco e si riduce al minimo il rischio di compromissione permanente del RKP.
Recupero da compromessi del TEE
DICE fornisce un meccanismo per recuperare la fiducia nei dispositivi anche se sono presenti compromessi nel TEE o nel bootloader che potrebbero influire sulla validità delle attestazioni delle chiavi generate da KeyMint.
In passato, le vulnerabilità nel
TEE
o nel bootloader hanno portato alla
revoca completa delle chiavi di attestazione per tutti i dispositivi interessati, senza alcun percorso per recuperare la fiducia anche
se le vulnerabilità sono state corrette. Questo perché il TEE ha eseguito la verifica da remoto sull'immagine Android caricata tramite Android Verified Boot, rendendo impossibile dimostrare a una parte remota che le patch erano state applicate. DICE risolve questo problema attivando la verifica da remoto dello stato corrente del firmware, anche al di fuori di Android, consentendo ai dispositivi interessati di recuperare l'affidabilità.
Autenticazione reciproca di ambienti isolati
Ogni dominio di applicazione in cui termina il processo DICE riceve un'identità sotto forma di chiave con una catena di certificati che si estende fino alla radice di attendibilità condivisa ricavata dalla ROM. Il
processo di derivazione di DICE si suddivide in diversi rami man mano che i percorsi di caricamento divergono,
formando un albero di certificati che condividono tutti la stessa radice e creando un'infrastruttura a chiave pubblica (PKI) sul dispositivo.
Questa PKI consente ai componenti in enclave sicuri separati di autenticarsi reciprocamente. Un
esempio concreto è Secretkeeper,
un hardware abstraction layer (HAL)
che consente alle macchine virtuali privilegiate (pVM) di comunicare con il TEE per ricevere un segreto stabile
che può essere utilizzato per archiviare in modo sicuro i dati permanenti.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 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."]]