La phase d'enregistrement prépare un appareil au stockage d'un VDC en enregistrant une clé d'identité dans le système de l'émetteur.
Processus de requête
Flow description
| Étape | Source | Description |
|---|---|---|
| 1 | Appareil Android |
Une requête de VDC a été créée sur l'appareil de l'utilisateur. L'émetteur doit créer une clé d'identité. L'appareil de l'utilisateur
appelle getDeviceRegistrationNonce pour lancer ce
processus.
|
| 2 | les serveurs de Google. |
Google transmet la requête getDeviceRegistrationNonce à l'
émetteur.
|
| 3 | Serveurs de l'émetteur |
L'émetteur génère un nonce, le stocke avec le
deviceReferenceId, et renvoie le nonce à Google.
|
| 4 | les serveurs de Google. | Google transmet le nonce à l'appareil de l'utilisateur. |
| 5 | Appareil Android |
L'appareil de l'utilisateur signe le nonce et l'intègre dans un certificat x509.
Il est inclus dans l'appel registerDevice pour valider l'appareil.
|
| 6 | les serveurs de Google. | Google transmet l'appel registerDevice à l'émetteur. |
| 7 | Serveurs de l'émetteur | L'émetteur effectue les contrôles d'intégrité de l'appareil et stocke la clé d'identité associée à l'appareil. |
Vérifier l'intégrité d'un appareil
L'attestation d'appareil est une fonctionnalité de sécurité qui permet aux émetteurs de vérifier l'intégrité d'un appareil avant de l'enregistrer. Cela permet d'éviter l'enregistrement d'appareils qui ont été falsifiés ou qui exécutent des logiciels non autorisés.
Pour vérifier l'intégrité de l'appareil, l'émetteur doit procéder comme suit :
- Valider la chaîne de certificats envoyée dans la
/registerDevicerequête. Le certificat racine de la chaîne doit correspondre au certificat fourni par Google. - S'assurer que le certificat racine ne fait pas partie de la liste de révocation de certificats.
- Analyser le certificat d'entité finale, lire les extensions et vérifier les points suivants :
- La valeur
attestationChallengecorrespond aunonceenvoyé lors de l'opération/getDeviceRegistrationNonce. teeEnforced.rootOfTrustprésente les propriétés suivantes :deviceLocked=TRUEverifiedBootState=VERIFIED
- Les noms de package dans
softwareEnforced.attestationApplicationIdcorrespondent àcom.google.android.gmsoucom.google.android.gsf.
- La valeur
Explication des différentes parties du processus d'attestation d'appareil
- Chaîne de certificats : la chaîne de certificats est une série de certificats qui authentifient l'identité de l'appareil. Le certificat racine de la chaîne est le certificat le plus fiable, et chaque certificat suivant de la chaîne est signé par le certificat situé au-dessus.
- Liste de révocation de certificats : la liste de révocation de certificats (LRC) est une liste de certificats qui ont été révoqués pour une raison quelconque. Si le certificat racine de la chaîne de certificats d'attestation d'appareil figure dans la LRC, le certificat n'est pas valide et l'attestation d'appareil ne doit pas être considérée comme fiable.
- Certificat d'entité finale : le certificat d'entité finale est le certificat spécifique à l'appareil. Il contient des informations sur l'appareil, telles que ses identifiants matériels et sa version logicielle.
- Extensions : les extensions sont des informations supplémentaires incluses dans le certificat. Le certificat d'attestation d'appareil contient un certain nombre d'extensions utilisées pour vérifier l'intégrité de l'appareil. Pour en savoir plus, consultez le schéma de données d'extension de certificat .