La fase di registrazione del dispositivo prepara un dispositivo per l'archiviazione di un certificato del dispositivo registrando una chiave di identità nel sistema dell'emittente.
Flusso di richiesta
Flow description
| Passaggio | Origine | Descrizione |
|---|---|---|
| 1 | Dispositivo con sistema operativo Android |
Sul dispositivo dell'utente è stata creata una nuova richiesta di dati del controller di dominio. L'emittente deve creare una nuova chiave di identità. Il dispositivo dell'utente chiama getDeviceRegistrationNonce per avviare questa procedura.
|
| 2 | Server Google |
Google inoltra la richiesta getDeviceRegistrationNonce all'emittente.
|
| 3 | Server dell'emittente |
L'emittente genera un nonce, lo memorizza con il
deviceReferenceId e lo restituisce a Google.
|
| 4 | Server Google | Google inoltra il nonce al dispositivo dell'utente. |
| 5 | Dispositivo con sistema operativo Android |
Il dispositivo dell'utente firma il nonce e lo incorpora in un certificato x509.
Questo è incluso nella chiamata registerDevice per verificare il
dispositivo.
|
| 6 | Server Google | Google inoltra la chiamata registerDevice all'emittente. |
| 7 | Server dell'emittente | L'emittente esegue i controlli di integrità del dispositivo e memorizza la chiave di identità associata al dispositivo. |
Come verificare l'integrità di un dispositivo
L'attestazione del dispositivo è una funzionalità di sicurezza che consente agli emittenti di verificare l'integrità di un dispositivo prima di registrarlo. Ciò contribuisce a impedire la registrazione di dispositivi che sono stati manomessi o che eseguono software non autorizzato.
Per verificare l'integrità del dispositivo, l'emittente deve:
- Convalida la catena di certificati inviata nella richiesta
/registerDevice. Il certificato radice nella catena deve corrispondere al certificato fornito da Google. - Assicurati che il certificato root non faccia parte dell'elenco revoche certificati.
- Analizza il certificato foglia, leggi le estensioni e verifica quanto segue:
- Il valore
attestationChallengecorrisponde anonceinviato durante l'operazione/getDeviceRegistrationNonce. teeEnforced.rootOfTrustha le seguenti proprietà:deviceLocked=TRUEverifiedBootState=VERIFIED
- I nomi dei pacchetti in
softwareEnforced.attestationApplicationIdcorrispondono acom.google.android.gmsocom.google.android.gsf.
- Il valore
Spiegazione delle diverse parti del processo di attestazione del dispositivo
- Catena di certificati:una serie di certificati che autenticano l'identità del dispositivo. Il certificato radice della catena è il certificato più attendibile e ogni certificato successivo della catena è firmato dal certificato precedente.
- Elenco revoche certificati: l'elenco revoche certificati (CRL) è un elenco di certificati che sono stati revocati per qualche motivo. Se il certificato radice nella catena di certificati di attestazione del dispositivo si trova nell'elenco CRL, il certificato non è valido e l'attestazione del dispositivo non deve essere considerata attendibile.
- Certificato end-entity:il certificato end-entity è il certificato specifico per il dispositivo. Contiene informazioni sul dispositivo, come gli identificatori hardware e la versione software.
- Estensioni:le estensioni sono informazioni aggiuntive incluse nel certificato. Il certificato di attestazione del dispositivo contiene una serie di estensioni utilizzate per verificare l'integrità del dispositivo. Per saperne di più, consulta lo schema dei dati di estensione del certificato.