A fase de registro prepara um dispositivo para armazenar uma VDC registrando uma chave de identidade no sistema do emissor.
Fluxo da solicitação
Flow description
| Etapa | Origem | Descrição |
|---|---|---|
| 1 | Dispositivo Android |
Uma nova solicitação de VDC foi criada no dispositivo do usuário. O emissor precisa criar uma nova chave de identidade. O dispositivo do usuário
chama getDeviceRegistrationNonce para iniciar esse
processo.
|
| 2 | Servidores do Google |
O Google redireciona a solicitação getDeviceRegistrationNonce para o
emissor.
|
| 3 | Servidores do emissor |
O emissor gera um valor de uso único, armazena-o com o
deviceReferenceId, e o retorna ao Google.
|
| 4 | Servidores do Google | O Google redireciona o valor de uso único para o dispositivo do usuário. |
| 5 | Dispositivo Android |
O dispositivo do usuário assina o valor de uso único e o incorpora em um certificado x509.
Isso é incluído na chamada registerDevice para verificar o dispositivo.
|
| 6 | Servidores do Google | O Google redireciona a chamada registerDevice para o emissor. |
| 7 | Servidores do emissor | O emissor realiza as verificações de integridade do dispositivo e armazena a chave de identidade associada a ele. |
Como verificar a integridade de um dispositivo
O atestado de dispositivo é um recurso de segurança que permite que os emissores verifiquem a integridade de um dispositivo antes de registrá-lo. Isso ajuda a evitar o registro de dispositivos que foram adulterados ou que estão executando software não autorizado.
Para verificar a integridade do dispositivo, o emissor precisa:
- Validar a cadeia de certificados enviada na solicitação
/registerDevice. O certificado raiz na cadeia precisa corresponder ao certificado fornecido pelo Google. - Verificar se o certificado raiz não faz parte da lista de revogação de certificados.
- Analisar o certificado de folha, ler as extensões e verificar o seguinte:
- O valor
attestationChallengecorresponde aononceenviado durante a operação/getDeviceRegistrationNonce. teeEnforced.rootOfTrusttem as seguintes propriedades:deviceLocked=TRUEverifiedBootState=VERIFIED
- Os nomes de pacotes em
softwareEnforced.attestationApplicationIdcorrespondem acom.google.android.gmsoucom.google.android.gsf.
- O valor
Explicação das diferentes partes do processo de atestado de dispositivo
- Cadeia de certificados:a cadeia de certificados é uma série de certificados que autenticam a identidade do dispositivo. O certificado raiz na cadeia é o mais confiável, e cada certificado subsequente na cadeia é assinado pelo certificado acima dele.
- Lista de revogação de certificados:a lista de revogação de certificados (CRL, na sigla em inglês) é uma lista de certificados que foram revogados por algum motivo. Se o certificado raiz na cadeia de certificados de atestado de dispositivo estiver na CRL, o certificado será inválido e o atestado de dispositivo não será confiável.
- Certificado de folha:o certificado de folha é específico do dispositivo. Ele contém informações sobre o dispositivo, como os identificadores de hardware e a versão do software.
- Extensões:as extensões são informações adicionais incluídas no certificado. O certificado de atestado de dispositivo contém várias extensões usadas para verificar a integridade do dispositivo. Para mais informações, consulte o esquema de dados de extensão de certificado schema.