A autenticação baseada em senha tem sido o modo padrão por muitos anos. Mas quem quer lembrar as senhas de todos os sites em que se registra? A maioria das pessoas usa a mesma senha em muitos lugares, algo fácil de lembrar. Os gerenciadores de senhas facilitam o preenchimento automático de credenciais, mas não conseguem superar as preocupações de segurança presentes no sistema de autenticação baseado em senha por design. Aí vêm as Passkeys. Elas são mais seguras e fáceis de usar, fornecendo autenticação sem senha com uma nova visão no espaço de autenticação que parece promissora.
Como tudo, as chaves de acesso também apresentam vantagens e desafios, que discutiremos neste artigo, juntamente com uma ideia de como esse modo de autenticação funciona, quão seguro ele é e muito mais.
As chaves de acesso utilizam criptografia de chave pública para gerar um fluxo de autenticação em vez de depender de uma única senha baseada em string. O dispositivo do usuário gera um par de chaves Pública/Privada e envia a chave pública para o servidor que a armazena e depois usa a chave para autenticar o usuário, a chave privada é armazenada no dispositivo do usuário.
Fluxo de registro
Fluxo de autenticação
Pontos a serem observados
Maior segurança geralmente significa menor facilidade de uso, mas isso não é verdade no caso de chaves de acesso. Elas são mais fáceis de usar quando a fase de registro é concluída. Não há ônus para lembrar as senhas, a autenticação é rápida, fácil e segura também.
As chaves de acesso reduzem a superfície de ataque e eliminam algumas ameaças comuns a senhas. As senhas geralmente são armazenadas em formato criptografado em um banco de dados. Quando você usa uma senha de texto simples para fazer login em um serviço da web, eles geram o mesmo texto criptografado e o comparam com o que já têm, é assim que os usuários são autenticados. Agora, isso nos deixa com duas ameaças mais comuns.
Violações de banco de dados são comuns e quando os dados de um serviço são roubados, eles geralmente são vendidos na dark web. Atores mal-intencionados que têm acesso aos dados podem tentar quebrar a criptografia offline, e com o poder de computação disponível hoje, isso pode levar de semanas a meses, dependendo da criptografia. As chaves de acesso eliminam essa ameaça, pois não há senhas para armazenar. Em caso de vazamento, apenas a chave pública é exposta, o que não é de muita utilidade para os atores mal-intencionados.
Em ataques de Phishing, um clone do site alvo é criado e o usuário é enganado a inserir suas credenciais, confundindo-o com um site genuíno. No entanto, isso também não funciona com Passkeys, pois não há credenciais para roubar. Ataques sofisticados de Phishing combinados com Man in the Middle ainda podem ser operáveis, mas a superfície de ataque é amplamente reduzida.
Como já aprendemos na última seção, as chaves de acesso podem ser sincronizadas entre dispositivos, então sabemos que elas são portáteis. Você pode usar as chaves de acesso em todos os seus dispositivos, desde que esteja conectado ao provedor (Google, iCloud). Isso nos leva à questão de como usaremos chaves de acesso em um dispositivo que não pertence a você, talvez o computador de um amigo ou a biblioteca, essencialmente qualquer dispositivo em que você queira usá-lo apenas uma vez. As chaves de acesso também cobrem esse caso, como isso funciona é que se dois sistemas suportam chaves de acesso, eles podem se comunicar entre si por Bluetooth para compartilhar o acesso. Vamos dar uma olhada no passo a passo de como isso funciona.
As chaves de acesso são baseadas nos padrões FIDO2 que combinam o Client to Authenticator Protocol (CTAP) com a Web Authentication API (WebAuthn) e é um projeto conjunto entre a aliança FIDO e o W3C. Esses esforços de padronização visam aumentar a adoção e a implementação adequada. O suporte nativo para chaves de acesso é adicionado por empresas como Google, Apple e Microsoft no nível do SO e do navegador, o que ajuda muito a encorajar a adoção de chaves de acesso.
Devido à longa dependência de senhas na indústria, adotar chaves de acesso não é apenas um desafio técnico, mas também psicológico. Usuários finais podem inicialmente se sentir desconfortáveis com chaves de acesso simplesmente porque estão acostumados com a familiaridade de sistemas baseados em senhas. Embora chaves de acesso sejam mais seguras e fáceis de usar do que senhas, o conforto com as opções conhecidas vence na maioria dos casos. A educação do usuário é necessária para que chaves de acesso sejam adotadas em larga escala, questões sobre recuperação e facilidade de uso estarão lá inicialmente.
Por outro lado, as empresas podem relutar em oferecer autenticação de senha se não virem adoção suficiente do usuário. No setor público, os governos podem encorajar a adoção por meio de mudanças de política.
As chaves de acesso têm o potencial de transformar o espaço de autenticação. Elas são seguras e fáceis de usar. Elas eliminam ameaças comuns que existem com autenticação baseada em senha, no entanto, elas também trazem seus desafios e limitações. Recuperação de contas e portabilidade de credenciais são algumas questões que precisam ser abordadas adequadamente. Eu sinto que o próximo passo é usar um modo híbrido de autenticação, ou seja, uso de chaves de acesso junto com as senhas. À medida que a adoção no mundo real aumenta, veremos mais argumentos sendo feitos sobre o que seria um ponto melhor para decidir para onde ir em seguida, antes de mudar para um futuro totalmente sem senha.
**