Autenticação de dois fatores (2FA)
Aprenda sobre os diferentes tipos de autenticação de dois fatores e as vantagens e desvantagens de cada um.
O que é autenticação de dois fatores?
Autenticação de dois fatores (2FA ou TFA) é o termo técnico para o processo de exigir que um usuário verifique sua identidade de duas maneiras exclusivas antes de receber acesso ao sistema. Tradicionalmente, os usuários confiam e estão acostumados a sistemas de autenticação que exigem que eles forneçam um identificador exclusivo, como endereço de e-mail, nome de usuário ou número de telefone e uma senha ou pin correto para obter acesso ao sistema.
O 2FA estende esse paradigma adicionando mais uma etapa ao processo de autenticação, geralmente exigindo que o usuário insira um token único que é gerado dinamicamente e entregue por meio de um método ao qual somente o usuário tem acesso. Outro método comum é usar os dados biométricos do usuário, como impressões digitais ou retina, como um segundo fator.
Maior segurança e tranquilidade
A autenticação de dois fatores não é nova, na verdade, a tecnologia foi concebida em 1984. Ela é cada vez mais importante no mundo moderno, à medida que nossa vida pessoal e profissional cada vez mais depende das mídias digitais, e com isso as ameaças de hacking, roubo e perda de acesso podem ter consequências terríveis.
Durante anos, as empresas tentaram aumentar a segurança da autenticação do usuário, exigindo requisitos cada vez rígidos, como comprimento da senha, requisitos de caracteres especiais, alteração frequente de senha, algoritmos sofisticados de hash e salting que ocultam a senha real e muito mais. No final das contas, um sistema apenas de senha ainda é vulnerável, pois os usuários tendem a usar a mesma senha em vários sistemas. Além disso, phishing e técnicas de engenharia social que levam o usuário a revelar a senha sem saber são muito comuns, e muitos outros cenários podem levar ao comprometimento da senha.
A autenticação de dois fatores dá tranquilidade ao usuário e ao administrador do sistema, pois garante que, mesmo que a senha do usuário seja comprometida, a conta não pode ser acessada sem conhecer não apenas o método usado como segundo fator, mas também ter acesso ao segundo fator, como uma senha única gerada dinamicamente (OTP) ou token biológico.
Algo que você sabe, tem e é
Na autenticação de dois fatores, o usuário fornece duas das três “coisas” a seguir:
- Algo que você sabe – a senha ou pin de uma conta
- Algo que você tem – um dispositivo físico, como um telefone celular ou uma aplicação de software que pode gerar senhas únicas
- Algo que você é – uma característica biológica exclusiva sua, como suas impressões digitais, voz ou retinas
Descobrir a senha ou PIN de uma conta é o que a maioria dos hackers procura. Acessar um gerador de tokens físico ou obter características biológicas é mais difícil e a razão pela qual o 2FA é eficaz em fornecer maior segurança para as contas do usuário.
Dois tipos de autenticação de dois fatores
Há várias maneiras de implementar a 2FA. Todas têm vantagens e desvantagens, mas elas aumentam significativamente a segurança das contas de usuário quando implementadas. A principal conclusão de todos os métodos discutidos abaixo é que, uma vez que o usuário tenha verificado o nome de usuário e a senha, ele deverá inserir uma segunda senha que é gerada dinamicamente e muda constantemente antes de poder acessar o sistema.
As empresas geralmente implementam regras adicionais para quando e como a 2FA é usada. O usuário pode não precisar usar 2FA se estiver na intranet da empresa ou em um dispositivo que usou 2FA anteriormente para fazer login. Em outros casos, o usuário pode precisar usar 2FA toda vez que autenticar. A Auth0 oferece suporte a essas e outras regras de implementação personalizadas para atender às necessidades de negócios.
Token SMS
Talvez o método mais comum de implementação de 2FA. Este método envia ao usuário um token exclusivo via mensagem de texto SMS, normalmente um código de 5 a 10 dígitos, depois que ele digita com sucesso o nome de usuário e a senha. O usuário precisa fornecer esse token exclusivo antes de receber acesso.
Vantagens:
- Fácil de usar – a maioria dos usuários se sente à vontade para receber mensagens de texto
- Disponibilidade – a maioria dos telefones tem recursos de SMS
- Custo – barato para configurar e manter
Desvantagens:
- Conectividade – sinal e recepção de celular necessários para receber o token
- Segurança – As mensagens SMS podem ser interceptadas por terceiros
- Hardware – dispositivo físico necessário, portanto, se o telefone for perdido ou roubado, o usuário não poderá autenticar
Token de e-mail
Outro método bastante comum de autenticação de dois fatores. Este método é muito semelhante ao método SMS acima, mas as implementações comuns incluem que o usuário insira um token alfanumérico de 5 a 10 caracteres ou clique em um link fornecido no e-mail. Senhas únicas geradas dinamicamente também são usadas aqui.
Vantagens:
- Fácil de usar – os usuários podem receber e-mails em computadores e dispositivos móveis
- Custo – barato para configurar e manter
- Opções – pode dar ao usuário opções adicionais para verificar o token, como clicar em um link
Desvantagens:
- Entrega – o e-mail pode não ser entregue de várias maneiras, incluindo: o e-mail vai para a pasta de spam, é devolvido pelo servidor, ocorre um atraso na fila de entrega e posterior atraso na entrega, etc.
- Segurança – e-mails podem ser interceptados por terceiros e tokens comprometidos
- Redundância – se terceiros obtiverem acesso às credenciais dos usuários, é possível que eles também acessem o e-mail e, assim, obtenham facilmente o token
Token de hardware
Esse método é comum em ambientes corporativos, mas pode ser usado em qualquer sistema. A maneira como esse método funciona é que o usuário recebe um dispositivo físico, como uma chave com sensor magnético, dongle USB ou outro dispositivo que gera dinamicamente um token para o usuário. Esses tokens geralmente são válidos apenas por curtos períodos, alguns tão baixos quanto 30 segundos, e mudam constantemente.
Vantagens:
- Autonomia – não requer recepção, conectividade online ou outros fatores para gerar tokens
- Confiabilidade – tokens de hardware são criados especificamente para gerar apenas tokens
- Segurança – como esses dispositivos executam apenas uma tarefa, os possíveis vetores de exploração são bastante reduzidos
Desvantagens:
- Custo – caro para configurar e manter
- Hardware – os dispositivos podem ser facilmente extraviados, esquecidos e perdidos
- Dispositivos em excesso – ter um dispositivo de hardware para vários serviços pode fazer com que o usuário não queira usar 2FA
Token de software
Os tokens de software exigem que o usuário baixe e instale uma aplicação executada em computador ou dispositivo móvel que gere tokens dinamicamente para o usuário. Com o surgimento dos smartphones, esse método está ganhando popularidade. Os tokens de software funcionam de maneira semelhante aos tokens de hardware, pois são gerados aleatoriamente e têm breve duração, mas os desenvolvedores podem escolher várias implementações diferentes para atender às necessidades da empresa.
Vantagens:
- Fácil de usar – as aplicações geralmente têm interfaces simples que apenas exibem o token para o usuário
- Atualizações – é fácil atualizar o software e aplicar patches, quando necessário
- Extensibilidade – capacidade de adicionar recursos aprimorados, como exigir um PIN para acessar a aplicação ou usar uma única aplicação para várias contas
Desvantagens:
- Custo – caro para implementar e manter
- Software adicional – requer que o usuário baixe e instale software adicional em seus dispositivos
- Segurança – a aplicação usada para gerar tokens pode ser comprometida sem o conhecimento do usuário
Chamada telefônica
Este método de 2FA chama o usuário assim que ele autentica seu nome de usuário e senha e fornece o token. Este é talvez o método mais inconveniente para o usuário final, mas é um método viável e comum de entregar tokens dinâmicos ao usuário.
Vantagens:
- Fácil de usar – tão simples quanto receber um telefonema
- Custo – barato para configurar e implementar
- Confiabilidade – geralmente, receber voz/SMS requer menos largura de banda do que para receber dados, então essa pode ser uma boa alternativa para a verificação baseada em software ou e-mail, em que uma conexão de dados é necessária
Desvantagens:
- Segurança – chamadas podem ser interceptadas ou encaminhadas, e mensagens de voz podem ser hackeadas
- Conectividade – sinal e recepção de celular são necessários
- Hardware – requer um dispositivo físico para receber o token
Verificação biométrica
Este método de 2FA é único e diferente dos outros que mencionamos até agora. A verificação biométrica depende do próprio usuário ser o token. Uma característica única, como as impressões digitais ou a retina do usuário, é usada para verificar se o usuário é quem diz ser.
Vantagens:
- O usuário é o token – seja você mesmo!
- Opções – muitas opções diferentes para token, incluindo impressões digitais, retina, voz e reconhecimento facial
- Fácil de usar – conhecimento mínimo de como os sistemas funcionam exigido para o usuário final
Desvantagens:
- Privacidade – o armazenamento de dados biométricos traz preocupações de privacidade
- Segurança – impressões digitais e outros dados biométricos podem ser comprometidos; eles não podem ser alterados
- Hardware adicional – requer dispositivos especiais para verificar dados biométricos – câmeras, scanners, etc.
Implementação da autenticação de dois fatores com a Auth0
Implementar a 2FA com a Auth0 é fácil e simples. Você pode implementar a 2FA com nossa aplicação Guardian ou com provedores de 2FA terceirizados. Para uso imediato, fornecemos dois provedores de 2FA populares, o Google Authenticator e o Duo, que podem ser configurados com o mínimo de esforço em apenas alguns minutos.
Além disso, você pode implementar provedores e regras personalizados para aprimorar e ajustar o fluxo de trabalho da 2FA para atender às necessidades do seu negócio. Vamos ver como esse processo funciona com o Guardian.
Autenticação de dois fatores com Auth0 e Guardian
A implementação da 2FA com Auth0 e Guardian pode ser feita em apenas duas etapas.
- No painel de gerenciamento da Auth0, navegue até a seção Autenticação multifator (Multifactor Auth).
- Defina como você gostaria que seus usuários recebessem seus códigos 2FA. Você pode escolher notificações push, por SMS ou ambas.
- (Opcional) Configure para qual de suas aplicações Auth0 o 2FA deve ser habilitado e faça alterações de configuração adicionais conforme necessário.
Salve suas alterações, e a 2FA com Guardian será ativada para sua aplicação! Na próxima vez que um usuário tentar fazer login, ele será solicitado a configurar a 2FA antes de obter acesso à sua aplicação.
Multifator adaptável sensível ao contexto
Multifator adaptável sensível ao contexto permite aplicar 2FA ou camadas adicionais de autenticação com base em diferentes condições, como: localização geográfica, hora do dia/semana, tipo de rede, domínios personalizados, determinados IPs ou qualquer condição arbitrária que possa ser expressa em código na plataforma Auth0.
Por padrão, a 2FA é solicitada apenas uma vez por mês, mas você pode exigir que seja solicitada sempre que o usuário fizer logon ou até mesmo definir suas próprias regras para acionar a 2FA.
Você pode definir regras como ao acessar aplicações de missão crítica de fora da intranet da sua empresa, ao acessar de um dispositivo diferente ou de um novo local.
Inscreva-se gratuitamente
Comece a construir e proteja suas aplicações com a plataforma de identidade Auth0 hoje mesmo.