Introdução à implementação de chaves de acesso do lado do servidor

Visão geral

Ao usar chaves de acesso sincronizadas, as pessoas fazem a autenticação com um provedor de chaves de acesso.

Para criar e autenticar com chaves de acesso, use a API WebAuthn para a Web ou a API Credential Manager para apps Android. Essas APIs gerenciam a comunicação entre o cliente e o provedor da chave de acesso.

Embora essas APIs sejam chamadas de um cliente como uma página da Web ou um app Android, você precisa implementar o restante da funcionalidade no servidor para concluir seus casos de uso de autenticação.

Uma implementação de chave de acesso consiste em duas funcionalidades:

  1. Registro de chave de acesso. Use a API WebAuthn ou a API Credential Manager para permitir que o usuário crie uma chave de acesso. Armazenar a chave pública associada no servidor.
  2. Autenticação com uma chave de acesso. Receba um desafio de autenticação no servidor e use a API WebAuthn ou a API Credential Manager para permitir que o usuário assine esse desafio com a chave de acesso. Verificar a assinatura no servidor. Se a assinatura for válida, autentique o usuário.

Bibliotecas do lado do servidor

Embora seja possível implementar a funcionalidade de chaves de acesso do lado do servidor do zero, recomendamos que você use uma biblioteca.

Um servidor compatível com a criação e autenticação de chaves de acesso é chamado de servidor FIDO2 ou servidor FID. Por extensão, vamos nos referir aqui às bibliotecas do lado do servidor que implementam o suporte a chaves de acesso como bibliotecas do lado do servidor FIDO.

Por que usar uma biblioteca?

O uso de uma biblioteca FIDO do lado do servidor tem várias vantagens:

  • Tempo e experiência do desenvolvedor. A especificação WebAuthn é complexa. As bibliotecas do lado do servidor FIDO podem fornecer APIs simples para implementar chaves de acesso, o que pode economizar tempo e recursos de desenvolvimento.
  • Capacidade de manutenção. A especificação do WebAuthn ainda está sujeita a mudanças. Usar a versão mais recente de uma biblioteca mantida ativamente ajuda a manter sua implementação atualizada.
  • Segurança e compliance. Você quer que a implementação da chave de acesso esteja em conformidade com a especificação WebAuthn e os requisitos de segurança dela. As bibliotecas do lado do servidor FIDO podem ajudar a manter sua implementação segura e em conformidade com a especificação. Dependendo do produto e do setor, a implementação também pode estar sujeita a regulamentações que exigem o uso de padrões de segurança específicos para autenticação.

Se possível, considere financiar os projetos de código aberto de que seu produto se baseia.

Bibliotecas

A seguir