La phase d'enregistrement prépare un appareil au stockage d'un DC 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 DC 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.
Celui-ci 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'empêcher 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 :
- Validez la chaîne de certificats envoyée dans la requête
/registerDevice. Le certificat racine de la chaîne doit correspondre au certificat fourni par Google. - Assurez-vous que le certificat racine ne figure pas dans la liste de certificats révoqués.
- Analysez le certificat feuille, lisez les extensions et vérifiez les éléments suivants :
- La valeur
attestationChallengecorrespond à la valeurnonceenvoyée 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 étapes du processus d'attestation de l'appareil
- Chaîne de certificats : série de certificats qui authentifient l'identité de l'appareil. Le certificat racine de la chaîne est le certificat le plus fiable. Chaque certificat suivant de la chaîne est signé par le certificat qui le précède.
- Liste de révocation de certificats : la liste de révocation de certificats (CRL, Certificate Revocation List) 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 de l'appareil figure sur la CRL, le certificat n'est pas valide et l'attestation de l'appareil ne doit pas être considérée comme fiable.
- Certificat feuille : certificat spécifique à l'appareil. Il contient des informations sur l'appareil, telles que ses identifiants matériels et sa version logicielle.
- Extensions : il s'agit d'informations supplémentaires incluses dans le certificat. Le certificat d'attestation de l'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 des données d'extension de certificat.