Sobre as credenciais digitais

As credenciais digitais são documentos digitais criptograficamente verificáveis que os usuários podem usar para fornecer informações sobre si mesmos e para se autenticar ou autorizar. Elas são baseadas no padrão do setor da API Digital Credentials do W3C. No Android, isso é implementado pela API Digital Credentials do Gerenciador de credenciais.

Imagem mostrando o fluxo de uso de uma credencial digital
Figura 1. Como usar uma credencial digital em um app de exemplo.

Benefícios das credenciais digitais

As credenciais digitais oferecem várias vantagens em relação às credenciais físicas e aos documentos digitais não padronizados:

  • Segurança e confiança aprimoradas: as credenciais digitais são criptografadas, garantindo a integridade de dados e a autenticidade. Isso garante que a credencial foi emitida por uma fonte verificável e não foi adulterada.
  • Privacidade aprimorada: muitos formatos de credenciais digitais oferecem suporte à divulgação seletiva, que permite que os usuários compartilhem apenas as informações necessárias. Por exemplo, um usuário pode compartilhar um comprovante de qualificação para dirigir sem revelar a data de nascimento.
  • Armazenamento consolidado: os usuários podem armazenar várias credenciais de diferentes emissores em carteiras digitais no dispositivo, reduzindo a necessidade de carregar cartões físicos.
  • Interoperabilidade: seguindo padrões abertos, as credenciais digitais podem funcionar em diferentes sistemas operacionais, dispositivos e plataformas.

Casos de uso

A API Digital Credentials pode ser usada em um amplo conjunto de casos de uso, como os seguintes:

  • Aceitar documentos de identificação oficiais: os apps podem solicitar e usar atributos de documentos oficiais do governo para fluxos, incluindo confirmação de idade, recuperação de conta e processo de Conheça seu cliente (KYC, na sigla em inglês).
  • Verificar números de telefone: os apps podem usar a API para verificação de números de telefone, trocando credenciais digitais derivadas do chip SIM do smartphone diretamente com a operadora do usuário. Isso elimina a necessidade de senhas de uso único (OTPs), melhora a segurança e reduz os custos de transmissão. Para mais informações, consulte o guia de verificação de número de telefone.
  • Verificar endereços de e-mail: a API permite que seu app recupere e-mails verificados diretamente do dispositivo do usuário, eliminando a necessidade de OTPs para inscrição, login e recuperação de conta sem atrito. Para mais informações, consulte o guia de verificação de e-mail.
  • Credenciais personalizadas: a extensibilidade da API permite que qualquer app comece a emitir as próprias credenciais digitais personalizadas, que os verificadores correspondentes podem solicitar.
  • Confirmar credenciais e transações de pagamento: a API permite proteger autorizações de pagamento e credenciais de pagamento digital (DPC, na sigla em inglês) com confirmação de carteira nativa e criptograficamente vinculada.

Como as credenciais digitais funcionam

O ecossistema de credenciais digitais envolve três categorias principais de apps:

  • Emissores: são apps que criam e emitem credenciais com segurança.
  • Carteiras: são apps no dispositivo de um usuário que armazenam credenciais. Eles precisam ser capazes de compartilhar essas credenciais com apps solicitantes por meio de um processo de apresentação.
  • Verificadores: são apps que verificam e usam credenciais digitais.

A API Digital Credentials do Credential Manager orquestra a interação entre os apps emissores, carteiras e verificadores.

Quando um verificador faz uma solicitação de uma credencial digital, ele envia uma solicitação ao sistema Android pela API. Em seguida, o Gerenciador de credenciais mostra as credenciais digitais qualificadas de várias carteiras em uma interface do sistema confiável. Quando o usuário concorda em continuar, o Gerenciador de credenciais invoca a carteira correspondente para gerar a resposta.

Experiência do usuário

Assim como o Credential Manager tem interfaces de usuário integradas para fluxos de autenticação, como chaves de acesso, senhas e Fazer login com o Google, também há interfaces padronizadas para os vários casos de uso da API Digital Credentials.

Há variantes de interface personalizadas para casos de uso específicos. Ao usar a API, o sistema Android renderiza automaticamente páginas inferiores contextuais, como para os seguintes cenários:

  • Verificação de e-mail: a interface mostra um seletor de contas com o endereço de e-mail verificado e o provedor de identidade.
  • Verificação de número de telefone: a interface inclui um cartão de verificação com as operadoras de rede representadas.
  • Várias credenciais: essa visualização empilha vários cartões e permite agrupar itens relacionados em um único toque.
  • Credenciais de pagamentos digitais: essa página de finalização de compra mostra detalhes do cartão de pagamento , informações do comerciante e o valor total da transação para confirmação imediata.
Imagem mostrando as variantes de UX das credenciais digitais
Figura 2. As variantes de UX para credenciais digitais para verificação de e-mail, verificação por telefone e cenários de várias credenciais.

Padrões do setor

As credenciais digitais dependem de padrões do setor para garantir a compatibilidade multiplataforma. Os padrões abertos usados com frequência são:

  • Compartilhamento: as credenciais digitais são solicitadas usando o padrão OpenID4VP.
  • Emissão: as credenciais digitais são emitidas usando o padrão OpenID4VCI.
  • Formato de armazenamento de credenciais: as credenciais digitais são representadas em formatos padronizados mantidos por diferentes órgãos de padrões, principalmente os seguintes:

Esses padrões são amplamente usados em várias plataformas e sistemas operacionais, permitindo a operação perfeita em navegadores da Web, dispositivos móveis e outros formatos. Isso permite que os desenvolvedores troquem credenciais digitais com outros apps, independentemente da plataforma em que estão.

Faça um teste

Você pode testar o fluxo de credenciais digitais multiplataforma instalando os apps de carteira e verificador de exemplo em um dispositivo Android.

Para testar o fluxo, siga estas etapas:

  1. Instale os apps de exemplo no dispositivo Android: use um dos seguintes métodos para instalar os apps no primeiro dispositivo:
    • Usar os APKs pré-criados:
      • Fazer o download do app de carteira: faça login na sua conta do GitHub, acesse a página GitHub Actions do app de carteira, selecione a versão mais recente e faça o download do app-debug.apk arquivo na seção Artifacts. Esse app é chamado de CMWallet.
      • Fazer o download do app verificador: para o app verificador de exemplo, acesse o APK no repositório de exemplos de identidade. Em seguida, instale o APK no dispositivo Android. Esse app é chamado de Digital Credentials Demo.
    • Criar a partir da origem: clone os repositórios mencionados e instale o app usando o Android Studio.
  2. Abrir o app de detentor de exemplo: abra o app de detentor de exemplo. Isso registra as credenciais do detentor no Credential Manager.
  3. Abrir o app verificador de exemplo: abra o app verificador de exemplo. Em seguida, selecione a opção para solicitar credenciais digitais de carteiras. Uma página inferior mostrando as credenciais disponíveis do CMWallet vai aparecer.
  4. Selecionar uma credencial: selecione uma credencial para enviar de volta ao verificador app. O app verificador agora vai mostrar campos da credencial retornada.

Recursos

  • Para mais informações sobre como emitir credenciais digitais, consulte o guia do emissor.
  • Para mais informações sobre apps de carteira, consulte o guia da carteira.
  • Para mais informações sobre como verificar usuários com base em credenciais digitais, consulte o guia do verificador.
  • Para mais informações sobre credenciais digitais na Web, consulte Credenciais digitais na Web.