Autenticação sem senha: WebAuthn e FIDO2
Explore o padrão WebAuthn do W3C e as chaves de acesso FIDO2 como o futuro da autenticação.
Autenticação sem senha: WebAuthn e FIDO2 é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
Arquitetura do FIDO2
FIDO2 é o termo abrangente para a especificação de Autenticação na Web do W3C (WebAuthn), combinada com o Protocolo de Cliente para Autenticador 2 (CTAP2) da Aliança FIDO. Juntos, eles definem um sistema completo de autenticação sem senha que usa criptografia de chave pública vinculada à origem da parte confiável.
Tipos de autenticadores
FIDO2 oferece suporte a duas categorias de autenticadores. Os autenticadores de plataforma são integrados ao dispositivo: Touch ID e Face ID em dispositivos Apple, e Windows Hello no Windows. Os autenticadores itinerantes são dispositivos de hardware externos: YubiKey, Google Titan Key e chaves Feitian. Todos usam criptografia de chave pública e geram declarações de atestação.
Registro: criação de credenciais
Durante o registro do WebAuthn, o autenticador gera um novo par de chaves assimétricas para a parte confiável. A chave pública é enviada ao servidor e armazenada. A chave privada nunca sai do autenticador. Uma declaração de atestação comprova o tipo do autenticador e que a chave foi gerada dentro do hardware do autenticador.
Autenticação: asserção de credencial
Durante a autenticação WebAuthn, o servidor envia um desafio ao cliente. O autenticador assina o desafio junto com o ID da parte confiável e os dados do cliente, usando a chave privada armazenada. O servidor verifica a assinatura com a chave pública armazenada. Nenhum segredo compartilhado é transmitido em momento algum.
A vinculação à origem impede o phishing
O ID da parte confiável em uma asserção WebAuthn é vinculado criptograficamente à origem (domínio) da página solicitante. Um autenticador se recusará a assinar uma asserção para uma origem diferente daquela com a qual foi registrado. Isso torna o WebAuthn resistente a phishing por construção: um site falso de phishing não pode concluir a autenticação.
Chaves residentes e verdadeira autenticação sem senha
As credenciais descobríveis (anteriormente chamadas de chaves residentes) são armazenadas no próprio autenticador e indexadas pelo ID da parte confiável. Isso permite fluxos realmente sem senha: o usuário apresenta seu autenticador, seleciona sua conta entre as credenciais armazenadas no dispositivo e se autentica sem informar um nome de usuário ou uma senha.
Verificação do usuário vs presença do usuário
WebAuthn distingue entre verificação do usuário (UV) e presença do usuário (UP). A presença do usuário exige apenas que o usuário toque no autenticador. A verificação do usuário exige adicionalmente um PIN ou uma verificação biométrica, comprovando que a pessoa específica está presente. Aplicações de alta segurança devem exigir UV para a autenticação.
Protocolo CTAP2
CTAP2 define o protocolo entre o cliente (navegador ou OS) e um autenticador itinerante externo por USB, NFC ou BLE. Ele especifica os comandos para criação de credenciais, geração de asserções e gerenciamento do autenticador. CTAP2.1 adiciona recursos como gerenciamento de credenciais e políticas de UV obrigatório.
Chaves de acesso: credenciais sincronizadas
As chaves de acesso são credenciais WebAuthn descobríveis que são sincronizadas entre os dispositivos do usuário por meio da nuvem criptografada do fornecedor da plataforma (Chaves do iCloud para a Apple, Gerenciador de senhas do Google e Windows Hello para Business). As chaves de acesso oferecem autenticação sem senha com disponibilidade entre dispositivos, combinando segurança com a conveniência que os usuários esperam das senhas.
Fluxo de experiência do usuário das chaves de acesso
Um fluxo típico de autenticação com chave de acesso: o usuário visita um site e clica em "Entrar com chave de acesso". O navegador exibe as chaves de acesso disponíveis para o site. O usuário se autentica com biometria (Face ID, Touch ID ou Windows Hello). O navegador assina o desafio e envia a asserção. Todo o fluxo leva alguns segundos, sem a necessidade de informar uma senha.
Comparação entre WebAuthn e autenticação tradicional
Senhas tradicionais: suscetíveis a phishing, reutilizáveis e passíveis de quebra em violações de bancos de dados. Códigos OTP (TOTP): suscetíveis a phishing em tempo real. Códigos SMS: vulneráveis à troca do SIM e a phishing. WebAuthn/chaves de acesso: resistentes a phishing por meio da vinculação à origem, sem segredo no lado do servidor para ser roubado, únicas por site e com chaves privadas protegidas por hardware. WebAuthn é o mecanismo de autenticação amplamente implantado mais forte disponível atualmente.
Verificação de WebAuthn vs senhas
Qual propriedade do WebAuthn o torna fundamentalmente resistente a ataques de phishing, ao contrário de senhas ou códigos TOTP?
Recapitulação da lição: FIDO2 e WebAuthn
FIDO2 combina WebAuthn (W3C) e CTAP2 (Aliança FIDO) para oferecer autenticação sem senha resistente a phishing. Autenticadores de plataforma (Touch ID, Face ID) e autenticadores itinerantes (YubiKey) usam criptografia de chave pública vinculada à origem da parte confiável. As chaves de acesso ampliam esse recurso com sincronização entre dispositivos. WebAuthn oferece atualmente a segurança de autenticação mais forte amplamente disponível.
Perguntas Frequentes
A aula “Autenticação sem senha: WebAuthn e FIDO2” é grátis?
Sim — o texto completo de “Autenticação sem senha: WebAuthn e FIDO2” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “Autenticação sem senha: WebAuthn e FIDO2”?
Explore o padrão WebAuthn do W3C e as chaves de acesso FIDO2 como o futuro da autenticação. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Autenticação sem senha: WebAuthn e FIDO2”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O problema fundamental da autenticação por senha
- SRP: protocolo de senha remota segura
- Protocolos PAKE e suas propriedades
- Autenticação sem senha: WebAuthn e FIDO2