paint-brush
Adeus senhas, olá chaves de acesso: o futuro da autenticaçãopor@radioactive
3,081 leituras
3,081 leituras

Adeus senhas, olá chaves de acesso: o futuro da autenticação

por Varun Sharma6m2024/12/17
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Passkeys são um método de autenticação sem senha usando criptografia de chave pública. Elas aumentam a segurança, reduzem riscos como phishing e simplificam o processo de login.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Adeus senhas, olá chaves de acesso: o futuro da autenticação
Varun Sharma HackerNoon profile picture
0-item

Introdução às chaves de acesso

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.

Como funcionam as chaves de acesso?

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

  • O dispositivo do usuário gera um par de chaves pública/privada vinculado ao serviço web.
  • A chave pública é enviada ao serviço Web e a chave privada é armazenada no dispositivo do usuário.
  • O serviço web armazena a chave pública do usuário em seu banco de dados.


Fluxo de autenticação

  • O serviço da Web envia um desafio nonce ao Cliente.
  • Os usuários se autenticam localmente usando qualquer método, como biometria, PIN, etc., para acessar a chave privada.
  • O dispositivo do usuário assina o desafio usando a chave privada daquele serviço Web específico.
  • O serviço da Web recebe o desafio assinado e o verifica usando a chave pública. Isso garante que o dispositivo cliente realmente tenha acesso à chave privada.
  • Após a verificação bem-sucedida, o serviço Web autentica o usuário.


Pontos a serem observados

  • O par de chaves pública/privada é exclusivo para cada serviço/site.
  • A chave pública é transmitida ao serviço web pela rede apenas uma vez durante o registro.
  • A chave privada permanece no dispositivo do usuário o tempo todo e nunca é transmitida pela rede. (Exceção é quando você sincroniza as chaves de acesso usando um gerenciador de senhas)
  • A carga assinada gerada pelo dispositivo do usuário é transmitida pela rede, é específica da sessão e muda toda vez que o usuário é autenticado.

Quão seguros eles são e como podem oferecer uma alternativa melhor do que senhas?

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
  • Ataques de phishing


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.

Tipos de chaves de acesso

  • Dispositivo único ou vinculado a um dispositivo
    • A chave privada nunca sai do dispositivo.
    • A autenticação pode ser feita somente em um dispositivo específico no qual as chaves privadas existam.
    • Como a chave existe apenas em um único dispositivo, o caminho de recuperação precisa ser acionado caso o acesso ao dispositivo seja perdido.
  • Multi-dispositivo ou sincronizado
    • A chave privada é sincronizada entre os dispositivos do usuário.
    • As opções comuns incluem usar o gerenciador de senhas do Google, o iCloud Keychain etc.
    • As chaves são criptografadas de ponta a ponta, o que significa que o provedor não pode ver ou usar suas chaves, mesmo que elas estejam armazenadas.
    • Isso melhora a usabilidade, pois os usuários precisam registrar apenas um dispositivo e podem reutilizar as mesmas chaves em todos os seus dispositivos.

Portabilidade de chaves de acesso

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.


  • Você abre um site xyz.com em um desktop onde não tem uma senha.
  • Você pode usar a opção de fazer login com senhas em um dispositivo diferente.
  • O Desktop mostrará opções de dispositivos próximos disponíveis ou um código QR.
  • Você pode selecionar o dispositivo ou escanear o QR.
  • Depois disso, você pode usar seu dispositivo móvel para se autenticar e permitir que o desktop use a senha do seu celular.
  • Após autenticado, você também tem a opção de criar uma senha no desktop sem passar pelo processo de registro. Se optar, você não precisará do dispositivo móvel na próxima vez e um novo conjunto de senhas será criado para o desktop.
  • Se você optar por usar apenas uma vez, nenhuma nova chave de acesso será criada.


Lições sobre adoção

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.

Conclusão

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.






**