Voltar ao Blog
    Segurança
    Backend
    Frontend

    Passkeys e WebAuthn: autenticação segura além da senha

    Veja como cadastro, desafio, verificação no servidor e recuperação de conta se encaixam em uma implementação de passkeys.

    Publicado em ·5 min de leitura·por Bernardo Gomes

    Passkeys usam criptografia de chave pública para autenticar uma pessoa sem enviar uma senha ao servidor. A credencial fica com o autenticador ou provedor de passkeys; o servidor guarda a chave pública e dados da credencial. O navegador vincula a operação ao domínio, o que ajuda a resistir a phishing. Isso não elimina o risco de uma sessão roubada ou de um fluxo fraco de recuperação.

    Cadastro: vincular uma credencial à conta

    Depois de autenticar a pessoa com o método existente, o servidor cria um desafio aleatório e opções de registro. O navegador chama WebAuthn e devolve a resposta. Uma biblioteca confiável no servidor verifica desafio, origem, RP ID e os demais requisitos do registro; só então a credencial é associada à conta. Guarde o identificador da credencial, chave pública e metadados exigidos pela biblioteca, não uma chave privada.

    Login: um desafio novo a cada tentativa

    O servidor gera um desafio criptograficamente seguro, único por tentativa e vinculado à sessão. Após a interação com o autenticador, ele verifica a resposta: desafio esperado, origem e RP ID, presença do usuário, verificação do usuário quando exigida e assinatura com a chave pública cadastrada. Expire e invalide desafios após o uso; não confie em um booleano vindo do navegador.

    ⚠️

    Não implemente o protocolo criptográfico por conta própria. Use uma biblioteca WebAuthn mantida e siga suas orientações para validação de registro, autenticação e contadores, considerando autenticadores sincronizados.

    Recuperação é parte do produto

    Planeje perda de dispositivo, troca de provedor e inclusão de uma segunda passkey antes de desativar senhas. Ofereça gerenciamento de credenciais e notificações quando uma nova for adicionada. O método alternativo precisa ser proporcional ao risco: uma recuperação facilmente sequestrável pode anular a proteção do login principal.

    • Teste cadastro e login nos navegadores e dispositivos que seu público usa, inclusive com gerenciadores de senhas.
    • Proteja sessões com cookies Secure e HttpOnly, política SameSite adequada e renovação após autenticação.
    • Limite tentativas e monitore falhas sem registrar desafios ou informações pessoais desnecessariamente.
    • Teste cancelamento, autenticador indisponível, credencial revogada e recuperação acessível.

    Fontes