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 processam 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 os casos de uso de autenticação.

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

  1. Registro da 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: Receber um desafio de autenticação do servidor e usar a API WebAuthn ou a API Credential Manager para permitir que o usuário assine esse desafio com a chave de acesso. Verifique 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 FIDO. 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?

Usar 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 da FIDO podem oferecer APIs simples para implementar chaves de acesso, economizando tempo e recursos de desenvolvimento.
  • Capacidade de manutenção. A especificação WebAuthn ainda está sujeita a mudanças. O uso da versão mais recente de uma biblioteca mantida ativamente ajuda a manter sua implementação atualizada.
  • Segurança e conformidade. Você quer que a implementação da chave de acesso esteja em conformidade com a especificação WebAuthn e os requisitos de segurança. As bibliotecas FIDO do lado do servidor podem ajudar você a manter sua implementação segura e em conformidade com a especificação. Dependendo do produto e do setor, sua implementação também pode estar sujeita a regulamentos que exigem o uso de padrões de segurança específicos para a autenticação.

Se possível, apoie financeiramente os projetos de código aberto de que seu produto depende.

Bibliotecas

A seguir