La fase di registrazione del dispositivo prepara un dispositivo per l'archiviazione di un VDC registrando una chiave di identità nel sistema dell'emittente.
Flusso della richiesta
Flow description
| Passaggio | Origine | Descrizione |
|---|---|---|
| 1 | Dispositivo con Android |
Sul dispositivo dell'utente è stata creata una nuova richiesta di VDC. 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 archivia con il
deviceReferenceId, e lo restituisce a Google.
|
| 4 | Server Google | Google inoltra il nonce al dispositivo dell'utente. |
| 5 | Dispositivo con Android |
Il dispositivo dell'utente firma il nonce e lo incorpora in un certificato x509.
Questo è incluso nella registerDevice chiamata per verificare il
dispositivo.
|
| 6 | Server Google | Google inoltra la registerDevice chiamata all'emittente. |
| 7 | Server dell'emittente | L'emittente esegue i controlli di integrità del dispositivo e archivia 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. In questo modo è possibile impedire la registrazione di dispositivi che sono stati manomessi o che eseguono software non autorizzato.
Per verificare l'integrità del dispositivo, l'emittente deve:
- Convalidare la catena di certificati inviata nella
/registerDevicerichiesta. Il certificato radice nella catena deve corrispondere al certificato fornito da Google. - Assicurarsi che il certificato radice non faccia parte dell' elenco revoche certificati.
- Analizzare il certificato end-entity, leggere le estensioni e verificare quanto segue:
- Il valore
attestationChallengecorrisponde alnonceinviato 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 della procedura di attestazione del dispositivo
- Catena di certificati: la catena di certificati è una serie di certificati che autenticano l'identità del dispositivo. Il certificato radice nella catena è il certificato più attendibile e ogni certificato successivo nella 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 è presente nell'elenco revoche certificati, il certificato non è valido e l'attestazione del dispositivo non deve essere considerata attendibile.
- Certificato end-entity: il certificato end-entity è il certificato specifico del 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 ulteriori informazioni, consulta lo schema dei dati dell'estensione del certificato schema.