WebAuthn e Chave de Acesso 101
Obtenha uma compreensão abrangente do WebAuthn, incluindo o seu conceito, fluxo de trabalho, razões da sua popularidade e os desafios associados.
WebAuthn está entre os autenticações mais seguras nos padrões NIST AAL. Introduzido em 2013, é agora a escolha preferida das empresas para autenticação. No entanto, a sua adoção ainda não é generalizada, levando a muitas perguntas sobre WebAuthn e Chaves de Acesso. Vamos mergulhar no que deves saber.
Conceito: Qual é a relação entre WebAuthn, Chave de Acesso 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 | O FIDO2 é um conjunto de padrões para autenticação online segura, desenvolvido pela FIDO Alliance. FIDO2 compreende dois componentes principais: WebAuthn para logins sem senha e CTAP para comunicação segura de dispositivos. |
Chave de Acesso | Uma chave de acesso é uma credencial à prova de phishing baseada em FIDO para substituir senhas.
|
WebAuthn | WebAuthn, uma API em JavaScript desenvolvida pela W3C e FIDO Alliance, capacita aplicações web a autênticar com padrões FIDO2. A chave de acesso é um dos métodos de autenticação suportados por WebAuthn. |
Fluxo: Como funciona o WebAuthn?
4 entidades principais do WebAuthn
Basicamente, podes conhecer as 4 entidades principais envolvidas no fluxo de WebAuthn.
-
Utilizador: A pessoa que se inscreve ou autentica na aplicação web usando WebAuthn.
-
Agente do Utilizador: O navegador web que lida com as chamadas da API WebAuthn, e gere o processo de autenticação entre todas as partes confiáveis e autenticadores diferentes.
-
Parte Confiável: O teu serviço web ou aplicação que o utilizador está a tentar aceder. O utilizador interage com a Parte Confiável através do Agente do Utilizador.
-
Autenticador: O componente de hardware que o utilizador possui para verificar a identidade do mesmo. Pode assumir várias formas com base na capacidade da plataforma ou navegador, como chaves de segurança (como Yubikeys), telemóveis ou tablets (conectados por Bluetooth, NFC ou USB), biometria baseada em dispositivo ou PINs, etc.
Fluxos de Trabalho do WebAuthn
A criptografia assimétrica de chave pública é o processo central.
- Geração de par de chaves: O Agente do Utilizador gera um par de chaves pública-privada. A chave pública é compartilhada com a Parte Confiável, enquanto a chave privada permanece armazenada de forma segura no Autenticador do utilizador.
- Desafio de autenticação: Quando o utilizador tenta entrar, a Parte Confiável envia um desafio de autenticação ao Agente do Utilizador.
- Verificação do Utilizador: O Agente do Utilizador envia o desafio ao Autenticador, que interage com o utilizador para verificação (por exemplo, biometria ou um pressionar de botão).
- Assinatura criptográfica: O Autenticador usa sua chave privada para assinar o desafio, criando uma assinatura criptográfica.
- Verificação e Acesso: O Agente do Utilizador verifica a assinatura usando a chave pública e informa a Parte Confiável de uma autenticação bem-sucedida. O acesso é concedido.
Para elaborar, divide-se em fases de inscrição e autenticação.
O fluxo de inscrição do WebAuthn:
O fluxo de autenticação do WebAuthn:
Vantagens: Por que o WebAuthn está a tornar-se uma tendência?
Autenticadores múltiplos
Tens a opção de escolher entre múltiplos autenticadores para uma flexibilidade adicional. Estes autenticadores vêm em dois tipos, para uso tanto local quanto na cloud, e podes habilitar um ou ambos para o teu serviço.
Autenticador de plataforma (Autenticador interno)
O autenticador de plataforma está vinculado a um único e específico sistema operativo do dispositivo, como um computador, laptop, telefone ou tablet, com o qual o utilizador faz login. 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 digitação manual de senhas. No entanto, se o utilizador perder o dispositivo, pode se tornar uma barreira de acesso. Por exemplo:
- MacOS e iOS: Chaveiro do iCloud 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 pré-preencher senhas para autorizar dispositivos.
Autenticador itinerante (Autenticador externo, Autenticador multiplataforma)
O autenticador itinerante é um dispositivo ou aplicação de software separado e portátil, como uma chave de segurança de hardware ou um smartphone. Deve ligar o dispositivo usando USB ou manter NFC ou Bluetooth ativo. 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.
- Telemóvel: como usar uma conta do Google baseada na cloud no Android, ou uma conta do iCloud no iPhone. Importante ressaltar que a autenticação entre dispositivos também precisa conectar-se por Bluetooth, NFC, ou USB para garantir que o autenticador do utilizador esteja nas proximidades. Os autenticadores móveis geralmente requerem a leitura de código QR para os ligar a dispositivos de desktop. (Os telefones Android, em particular, podem usar Ligação Persistente para se ligar sem problemas ao navegador Chrome para autorização com um clique, sem a necessidade de leitura de código QR.)
Segurança de alta garantia
Segurança de alta garantia é essencial para proteger recursos empresariais. Isto é alcançado através das seguintes medidas:
- Proteção das chaves de privacidade: As chaves de privacidade nunca são compartilhadas com websites de terceiros (Parte Confiável), o que ajuda a proteger contra violações de senhas e tentativas de phishing.
- Requisito de proximidade de dispositivo: Dispositivos requerem "Autenticação de plataforma para um único dispositivo" ou "Autenticador itinerante limitado por USB, Bluetooth ou NFC" para estar próximo do utilizador, evitando ataques remotos.
- Ligação ao Domínio: WebAuthn está estritamente vinculado ao domínio específico do website inscrito pelo utilizador, proporcionando proteção contra ataques de phishing de websites não autorizados.
Experiência de utilizador sem atritos para MFA&1FA
WebAuthn melhora a segurança enquanto eleva a experiência de verificação sem senha do utilizador:
- Experiência nativa e eficiência biométrica: WebAuthn adota métodos de autenticação específicos adaptados a várias plataformas e dispositivos, alinhados com os hábitos dos utilizadores. A autenticação biométrica elimina a necessidade de entrada manual, acelerando significativamente o processo de verificação.
- MFA direto pulando 1FA: WebAuthn é comumente usado para MFA (Autenticação Multifatorial). Devido à sua robusta segurança, se a parte confiável já tiver registrado o uso de WebAuthn no navegador, os utilizadores podem pular a etapa de 1FA (Autenticação de Fator Único) e fazer login diretamente através da verificação de chave de acesso.
- Chave de acesso substituindo a senha: As chaves de acesso também podem servir como uma alternativa a senhas tradicionais para o 1FA. Os utilizadores podem fornecer a sua chave de acesso antes ou depois de inserir a sua conta, com a verificação de senha apenas necessária quando a autenticação de chave de acesso não estiver disponível.
Desafio: Por que o WebAuthn não é amplamente adotado pelos utilizadores?
Limitações do navegador ou plataforma
Alguns navegadores ou plataformas não suportam WebAuthn de todo ou não têm suporte para autenticadores itinerantes. Embora as estatísticas atuais do Caniuse mostrem um bom suporte, com uma cobertura de 97,37% em plataformas de desktop e 96,3% em plataformas móveis, ainda existem variações em diferentes versões de navegadores e sistemas operativos. Por exemplo, o Linux Desktop não suporta autenticadores de plataforma, o Android suporta WebAuthn apenas no Chrome, e o Internet Explorer no MacOS não suporta WebAuthn. Isto obriga os administradores a pedirem aos membros para usarem escolhas específicas de navegador ou SO, ou configurar outros métodos alternatives de MFA.
Risco de perda de dispositivo
Particularmente para utilizadores que dependem de "Este dispositivo" autenticadores de plataforma, a perda do dispositivo pode resultar na perda de acesso às suas contas. A recuperação de conta pode ser um processo trabalhoso. Para mitigar este risco, é aconselhável que os utilizadores vinculem simultaneamente outros métodos de autenticação de backup ao configurar WebAuthn.
Suporte limitado de websites e aplicativos
Muitos serviços e aplicações ainda não oferecem suporte para chaves de acesso. Os utilizadores muitas vezes não têm familiaridade com vários métodos de autenticação e podem não compreender plenamente as distinções e limitações entre Autenticadores de Plataforma e Autenticadores Itinerantes. No entanto, os principais sistemas, navegadores e serviços SaaS estão a adotar cada vez mais o WebAuthn, tornando-se uma tendência crescente que tanto empresas quanto utilizadores estão começando a adotar.
Conclusão
Logto está a preparar-se para lançar a MFA (Autenticação Multifatorial) em novembro. A fase inicial suportará três métodos de verificação: Aplicativo autenticador TOTP, WebAuthn(Chave de Acesso), e códigos de backup, oferecendo uma solução abrangente de login e inscrição. Continuaremos a desenvolver recursos avançados relacionados ao WebAuthn. Esperamos pela sua experiência e convidamos-te a ficar atento no Product Hunt para o lançamento do próximo MFA.