Português (Brasil)
  • webauthn
  • passkey
  • authentication
  • MFA

WebAuthn e Passkey 101

Obtenha uma compreensão abrangente sobre WebAuthn, incluindo seu conceito, fluxo de trabalho, razões para sua popularidade e desafios associados.

Ran
Ran
Product & Design

WebAuthn está entre os autenticadores mais seguros nos padrões NIST AAL. Introduzido em 2013, é a escolha preferida das empresas para autenticação atualmente. No entanto, sua adoção ainda não é ampla, levando a muitas perguntas sobre WebAuthn e Passkeys. Vamos mergulhar no que você deve saber.

Conceito: Qual é a relação entre WebAuthn, Passkey e FIDO?

FIDO Alliance

A FIDO Alliance é uma organização que fornece padrões de autenticação sem senha, seguros e de código aberto, incluindo UAF, U2F e FIDO2.

FIDO2

FIDO2 é um conjunto de padrões para autenticação online segura desenvolvidos pela FIDO Allianc巍️ē. FIDO2 compreende dois principais componentes: WebAuthn para logins sem senha e CTAP para comunicação segura entre dispositivos.

Passkey

Um passkey é uma credencial resistente ao phishing baseada em FIDO para substituir senhas.

  1. Pode ser tokens de hardware ou chaves de segurança, como dispositivos USB ou Bluetooth.
  2. Utiliza criptografia assimétrica de chave pública para segurança aprimorada.
  3. É flexível para se conectar com plataformas, chaves de segurança, ou sincronizar entre dispositivos.
WebAuthn

WebAuthn, uma API JavaScript desenvolvida pelo W3C e a FIDO Alliance, capacita aplicações web com padrões FIDO2 para autenticação. Passkey é um dos métodos de autenticação que WebAuthn suporta.

Fluxo: Como o WebAuthn funciona?

4 principais entidades do WebAuthn

Basicamente, você pode conhecer as 4 principais entidades envolvidas no fluxo do WebAuthn.

  1. Usuário: A pessoa que se inscreve ou autentica na aplicação web usando o WebAuthn.

  2. Agente do Usuário: O navegador web que gerencia as chamadas à API WebAuthn e gerencia o processo de autenticação entre todas as diferentes partes confiadoras e autenticadores.

  3. Parte Confiadora: Seu serviço ou aplicativo web ao qual o usuário está tentando acessar. O usuário interage com a Parte Confiadora através do Agente do Usuário.

  4. Autenticador: O componente de hardware que o usuário possui para verificar sua identidade. Pode tomar várias formas com base na capacidade da plataforma ou navegador, como chaves de segurança (como Yubikeys), telefones ou tablets (conectados por Bluetooth, NFC ou USB), biometria baseada em dispositivo ou PINs, etc.

principais entidades

Fluxos de trabalho do WebAuthn

A criptografia assimétrica de chave pública é o processo central.

  1. Geração de par de chaves: O Agente do Usuário gera um par de chaves pública-privada. A chave pública é compartilhada com a Parte Confiadora, enquanto a chave privada permanece armazenada de forma segura no Autenticador do usuário.
  2. Desafio de Autenticação: Quando o usuário tenta fazer login, a Parte Confiadora envia um desafio de autenticação ao Agente do Usuário.
  3. Verificação do Usuário: O Agente do Usuário envia o desafio ao Autenticador, que interage com o usuário para verificação (por exemplo, biometria ou um pressionamento de botão).
  4. Assinatura Criptográfica: O Autenticador usa sua chave privada para assinar o desafio, criando uma assinatura criptográfica.
  5. Verificação e Acesso: O Agente do Usuário verifica a assinatura usando a chave pública e informa à Parte Confiadora sobre uma autenticação bem-sucedida. O acesso é concedido.

Para elaborar, divida em fases de inscrição e autenticação.

O fluxo de inscrição no WebAuthn: fluxo de inscrição

O fluxo de autenticação no WebAuthn: fluxo de autenticação

Vantagens: Por que o WebAuthn está se tornando uma tendência?

Múltiplos autenticadores

Você tem a opção de escolher entre múltiplos autenticadores para maior flexibilidade. Esses autenticadores vêm em dois tipos, para uso local e em nuvem, e você pode ativar um ou ambos para seu serviço.

Autenticador de Plataforma (Autenticador Interno)

O autenticador de plataforma está vinculado a um único e específico sistema operacional do dispositivo, como um computador, laptop, telefone ou tablet, com o qual o usuário faz login. Ele funciona exclusivamente no dispositivo para autorização usando métodos como biometria ou um código de acesso do dispositivo. É uma maneira rápida de autenticar, especialmente com biometria, e pode substituir a necessidade de entrada manual de senha. No entanto, se o usuário perder o dispositivo, pode se tornar uma barreira para o acesso. Por exemplo:

  • macOS e iOS: iCloud Keychain verificado por Touch ID, Face ID ou código de acesso do dispositivo.
  • Windows: Windows Hello verificado por reconhecimento facial, impressão digital ou PIN amigável.
  • Android: O Gerenciador de Senhas do Google também suporta reconhecimento facial ou impressão digital para preencher automaticamente senhas para autorizar dispositivos.

autenticador de plataforma

Autenticador Itinerante (Autenticador Externo, Autenticador Cross-platform)

O autenticador itinerante é um dispositivo ou aplicativo de software separado e portátil, como uma chave de segurança de hardware ou um smartphone. Deve conectar o dispositivo usando USB ou manter NFC ou Bluetooth ativado. O autenticador itinerante não se limita a um único dispositivo ou navegador, proporcionando maior flexibilidade. Por exemplo:

  • Chaves de segurança: também chamadas de tokens de hardware, como Yubikey.
  • Smartphone móvel: como usar uma conta do Google baseada em nuvem no Android, ou uma conta iCloud no iPhone. Importante, a autenticação cross-device também precisa se conectar com Bluetooth, NFC ou USB para garantir que o autenticador do usuário esteja por perto. Autenticadores móveis muitas vezes requerem a leitura de código QR para vinculá-los com dispositivos desktop. (Os telefones Android, em particular, podem usar a Conexão Persistente para vinculá-los perfeitamente com o navegador Chrome para autorização com um clique, sem necessidade de leitura de código QR.)

autenticador itinerante

Segurança de alta garantia

Segurança de alta garantia é essencial para proteger recursos empresariais. Isso é alcançado por meio das seguintes medidas:

  1. Proteção de chaves de privacidade: As chaves de privacidade nunca são compartilhadas com sites de terceiros (Parte Confiadora), o que ajuda a proteger contra violações de senhas e tentativas de phishing.
  2. Requisito de proximidade do dispositivo: Os dispositivos exigem "Autenticação de plataforma para um único dispositivo" ou "Autenticador itinerante limitado por USB, Bluetooth ou NFC" para estar em proximidade próxima ao usuário, prevenindo ataques remotos.
  3. Vinculação de Domínio: WebAuthn é estritamente vinculado ao domínio específico do site em que o usuário se inscreveu, fornecendo proteção contra ataques de phishing de sites não autorizados.

Experiência de usuário sem atritos para MFA & 1FA

WebAuthn melhora a segurança enquanto eleva a experiência de verificação sem senha do usuário:

  • Experiência nativa e eficiência biométrica: WebAuthn adota métodos de autenticação específicos adaptados a várias plataformas e dispositivos, alinhando-se com os hábitos dos usuários. A autenticação biométrica elimina a necessidade de entrada manual, acelerando significativamente o processo de verificação.
  • MFA direto ignorando 1FA: WebAuthn é comumente usado para MFA (Autenticação Multifator). Devido à sua robusta segurança, se a parte confiadora tiver registrado anteriormente o uso do WebAuthn no navegador, os usuários podem pular a etapa 1FA (Autenticação de Fator Único) e fazer o login diretamente através da verificação de passkey.
  • Passkey substituindo a senha: Passkeys também podem servir como uma alternativa às senhas tradicionais para o 1FA. Os usuários podem fornecer sua passkey, antes ou depois de inserir sua conta, com a verificação de senha sendo necessária apenas quando a autenticação de passkey não está disponível.

Desafio: Por que WebAuthn não é amplamente adotado pelos usuários?

Limitações do navegador ou plataforma

Alguns navegadores ou plataformas não suportam o WebAuthn ou não possuem suporte para autenticadores itinerantes. Embora as estatísticas atuais do Caniuse mostrem suporte decente, com 97,37% de cobertura de plataforma desktop e 96,3% de plataforma móvel, ainda existem variações entre diferentes versões de navegadores e sistemas operacionais. Por exemplo, o Linux para desktop não suporta autenticadores de plataforma, o Android suporta totalmente o WebAuthn apenas no Chrome, e o Internet Explorer no macOS não suporta WebAuthn. Isso requer que os administradores peçam aos membros para impor escolhas específicas de navegador ou sistema operacional, ou configurar outros métodos de MFA alternativos.

suporte ao navegador

Risco de perda de dispositivo

Particularmente para usuários que dependem de autenticadores de "Este dispositivo" de plataforma, perder o dispositivo pode resultar em perda de acesso a suas contas. A recuperação de conta pode ser um processo difícil. Para mitigar esse risco, é aconselhável que os usuários vinculem simultaneamente outros métodos de autenticação de backup ao configurar o WebAuthn.

Suporte limitado a sites e aplicativos

Muitos serviços e aplicativos ainda não oferecem suporte para passkeys. Os usuários muitas vezes carecem de familiaridade com vários métodos de autenticação e podem não entender completamente as distinções e limitações entre autenticadores de Plataforma e autenticadores Itinerantes. No entanto, grandes sistemas, navegadores e serviços SaaS estão adotando cada vez mais o WebAuthn, tornando-se uma tendência crescente que tanto as empresas quanto os usuários estão começando a abraçar.

Conclusão

Logto está se preparando para lançar o MFA (Autenticação Multifator) em novembro. A fase inicial suportará três métodos de verificação: app Autenticador TOTP, WebAuthn(Passkey) e Códigos de Backup, oferecendo uma solução completa de login e inscrição. Continuaremos a desenvolver recursos avançados relacionados ao WebAuthn. Estamos ansiosos por sua experiência e convidamos você a ficar atento no Product Hunt para o lançamento do próximo MFA.