O que é chave de acesso (passkey)?
Chave de Acesso (Passkey) é uma alternativa segura e conveniente baseada em FIDO às senhas tradicionais. Elas usam criptografia avançada para proteger suas contas contra ataques de phishing .
- Única para cada serviço: Quando você se registra em um serviço, seu dispositivo cria uma chave de acesso única vinculada ao domínio específico desse serviço.
- Vinculada ao dispositivo: As chaves de acesso são tipicamente vinculadas a um dispositivo, como um telefone, laptop, identificador biométrico ou chaves de segurança de hardware.
- Par de chaves pública-privada: O dispositivo mantém a chave privada, enquanto a chave pública é compartilhada com o serviço. Esses pares de chaves criptográficas são chamados de chaves de acesso. (Citado de FIDO )
- Múltiplos métodos de autenticação: Você pode usar uma digitalização de impressão digital, reconhecimento facial, PIN do dispositivo, escaneamento de QR code ou chaves de segurança para autenticar com uma chave de acesso.
- Sincronização entre dispositivos: As chaves de acesso podem ser sincronizadas entre dispositivos usando armazenamento em nuvem seguro (por exemplo, iCloud Keychain da Apple ou Gerenciador de Senhas do Google), permitindo que você faça login de qualquer dispositivo compatível.
Como é o fluxo de trabalho da chave de acesso (passkey)?
Aqui está um exemplo do mundo real para ajudar você a entender melhor. Você tem um serviço web MyApp que deseja implementar login com Chave de Acesso em vez de login baseado em senha. Os usuários selecionam o dispositivo atual com escaneamento de impressão digital como método de autenticação com Chave de Acesso.
Chaves de Acesso (Passkeys) funcionam utilizando criptografia de chave pública para fornecer credenciais seguras.
- Registro de Chave de Acesso
- Quando você se registra em um serviço, seu dispositivo gera um par de chaves criptográficas único vinculado a esse serviço.
- A chave privada permanece no seu dispositivo, enquanto a chave pública é compartilhada com o serviço.
- Autenticação de Chave de Acesso
- Quando você tenta fazer login, o serviço envia um desafio para o seu dispositivo.
- Seu dispositivo usa a chave privada para gerar uma assinatura criptográfica baseada no desafio.
- A assinatura é enviada de volta para o serviço, que a verifica usando a chave pública.
- Se a assinatura for válida, a autenticação é bem-sucedida.
Leia WebAuthn , uma API para implementar chaves de acesso, para aprender os detalhes.
Como é o fluxo do usuário final com chave de acesso (passkey)?
As chaves de acesso oferecem flexibilidade com dois tipos de autenticadores para uso local e em nuvem, e os usuários podem habilitar um ou ambos para o serviço.
- Autenticador de plataforma (Autenticador interno): Vinculado a um sistema operacional de dispositivo específico (por exemplo, telefone, laptop), usando biometria ou código de acesso do dispositivo para autorizar. É rápido e conveniente.
- Exemplos: iCloud Keychain em dispositivos Apple (verificação via Touch ID, Face ID ou código de acesso do dispositivo), Windows Hello, Gerenciador de Senhas do Google no Android.
- Autenticador itinerante (Autenticador externo): Dispositivos ou software portáteis, por exemplo, chaves de segurança, smartphones. Podem ser usados em vários dispositivos, mas podem exigir etapas adicionais, como escaneamento de QR code ou emparelhamento NFC/Bluetooth.
- Exemplos: YubiKey e contas baseadas em nuvem em smartphones. Autenticadores móveis geralmente exigem escaneamento de QR code para vincular com dispositivos de desktop, e a autenticação entre dispositivos precisa se conectar via Bluetooth, NFC ou USB para garantir que o autenticador esteja próximo.
Quando usar chave de acesso (passkey)?
As chaves de acesso são um fator de autenticação moderno que pode ser usado como primeiro ou segundo fator.
- Login com chave de acesso: As chaves de acesso oferecem um método de autenticação sem senha mais rápido e seguro em comparação com a senha tradicional.
- Aplicativos modernos geralmente apresentam um botão “Entrar com chave de acesso” na página de login, incentivando os usuários a tocar nessa opção proativamente.
- Além disso, a página de login pode automaticamente exibir um pop-up de login com chave de acesso se reconhecer que o usuário está acessando o mesmo dispositivo e navegador onde sua chave de acesso está registrada.
- Chave de acesso MFA: As chaves de acesso também podem servir como um segundo fator para MFA.
- Quando um usuário tenta fazer login, ele primeiro insere seu e-mail e senha (ou outros primeiros fatores), após o que o serviço solicita que ele complete a verificação em duas etapas usando uma chave de acesso.
- Se houver sessões existentes no navegador, o serviço pode solicitar diretamente que os usuários façam login com sua chave de acesso sem exigir que insiram sua senha novamente. Esse processo, conhecido como completar MFA, porque a chave de acesso é uma segurança de alto nível ao vincular ao dispositivo atual e verificar os usuários por meio de biometria, PINs ou outros métodos de hardware.
- Verificação de segurança: Em ambientes de alta segurança, as chaves de acesso são frequentemente usadas para verificar a identidade do usuário. Por exemplo, ao acessar informações financeiras sensíveis ou realizar operações críticas (bancárias, governamentais, sistema corporativo).
Por que as chaves de acesso são o método de autenticação mais seguro?
As chaves de acesso são uma das maneiras mais seguras para clientes comuns fazerem login porque usam criptografia de chave pública. Ao contrário de senhas ou códigos de uso único (TOTPs), sua chave privada nunca sai do seu dispositivo. Mesmo que um invasor roube a chave pública, que está livremente disponível, ele não pode forjar uma tentativa de login válida.
Aqui está uma comparação para ilustrar por que as chaves de acesso são significativamente mais seguras:
Ataques | Chaves de Acesso | Software TOTP (Autenticador) |
---|---|---|
Ataques de phishing | Altamente resistente a phishing, pois a chave privada nunca sai do dispositivo ou é inserida manualmente em qualquer lugar, tornando mais difícil de roubar. | Vulnerável a phishing, pois o Software TOTP é exibido na sua tela, então os atacantes podem enganá-lo para revelar em um site falso. |
Ataques man-in-the-middle (MitM) | Forte proteção contra MitM, pois protocolos criptográficos robustos fazem com que as chaves privadas permaneçam apenas no seu dispositivo. | Vulnerável a MitM, pois os TOTPs podem ser interceptados por um atacante MitM que poderia então usá-los para fazer login como você. |
Ataques de repetição | Forte proteção contra ataque de repetição, pois cada solicitação de chave de acesso é única, tornando inútil para um atacante capturar e repetir mais tarde. | Possível ataque de repetição, pois o TOTP muda periodicamente, mas se interceptado antes de expirar, eles poderiam ser reutilizados para acesso não autorizado. |