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.
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.
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:
- 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.apkarquivo 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.
- 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
- Criar a partir da origem: clone os repositórios mencionados e instale o app usando o Android Studio.
- Usar os APKs pré-criados:
- Abrir o app de detentor de exemplo: abra o app de detentor de exemplo. Isso registra as credenciais do detentor no Credential Manager.
- 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.
- 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.