Registrazione dei dispositivi

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:

  1. Convalidare la catena di certificati inviata nella /registerDevice richiesta. Il certificato radice nella catena deve corrispondere al certificato fornito da Google.
  2. Assicurarsi che il certificato radice non faccia parte dell' elenco revoche certificati.
  3. Analizzare il certificato end-entity, leggere le estensioni e verificare quanto segue:
    • Il valore attestationChallenge corrisponde al nonce inviato durante l'operazione /getDeviceRegistrationNonce.
    • teeEnforced.rootOfTrust ha le seguenti proprietà:
      • deviceLocked=TRUE
      • verifiedBootState=VERIFIED
    • I nomi dei pacchetti in softwareEnforced.attestationApplicationId corrispondono a com.google.android.gms o com.google.android.gsf.

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.