A autenticação de dois factores (2FA), por vezes referida como verificação em duas etapas ou autenticação de duplo factor, é um processo de segurança em que os utilizadores fornecem dois factores de autenticação diferentes para se verificarem a si próprios. Este processo é feito para proteger melhor tanto as credenciais do usuário quanto os recursos que o usuário pode acessar. A autenticação de dois fatores fornece um nível de segurança maior do que os métodos de autenticação que dependem da autenticação de fator único (SFA), no qual o usuário fornece apenas um fator — tipicamente, uma senha ou código de acesso. Métodos de autenticação de dois fatores dependem de um usuário fornecendo uma senha, bem como um segundo fator, geralmente um token de segurança ou um fator biométrico, como uma impressão digital ou varredura facial.
A autenticação de dois fatores adiciona uma camada adicional de segurança ao processo de autenticação, dificultando o acesso dos atacantes aos dispositivos ou contas online de uma pessoa, pois conhecer a senha da vítima por si só não é suficiente para passar na verificação de autenticação. A autenticação de dois fatores tem sido usada há muito tempo para controlar o acesso a sistemas e dados confidenciais, e os provedores de serviços online estão usando cada vez mais o 2FA para proteger as credenciais de seus usuários de serem usadas por hackers que roubaram um banco de dados de senhas ou usaram campanhas de phishing para obter senhas de usuários.
- Quais são os fatores de autenticação?
- O que é gerenciamento de identidade e acesso? Guia do IAM
- Como funciona a autenticação de dois fatores?
- Elementos de autenticação de dois fatores
- Tipos de produtos de autenticação de dois fatores
- Como os tokens de hardware 2FA funcionam
- Autenticação de dois fatores para autenticação de dispositivos móveis
- É a autenticação de dois fatores segura?
- Níveis mais elevados de autenticação
- Notificações push para 2FA
- Futuro de autenticação
Quais são os fatores de autenticação?
Existem várias maneiras diferentes de autenticar alguém usando mais de um método de autenticação. Atualmente, a maioria dos métodos de autenticação depende de fatores de conhecimento, como uma senha tradicional, enquanto métodos de autenticação com dois fatores adicionam um fator de posse ou um fator de herança.
Os fatores de autenticação, listados em ordem aproximada de adoção para computação, incluem o seguinte:
- Um fator de conhecimento é algo que o usuário sabe, como uma senha, um PIN (número de identificação pessoal) ou algum outro tipo de segredo compartilhado.
- Um fator de posse é algo que o usuário tem, como um cartão de identificação, um token de segurança, um celular, um dispositivo móvel ou um aplicativo para smartphone, para aprovar pedidos de autenticação.
- Um fator de herança, mais comumente chamado de fator biométrico, é algo inerente ao eu físico do usuário. Estes podem ser atributos pessoais mapeados a partir de características físicas, tais como impressões digitais autenticadas através de um leitor de impressões digitais. Outros factores de herança comummente utilizados incluem o reconhecimento facial e de voz. Eles também incluem biometria comportamental, como dinâmica de teclas, padrões de marcha ou fala.
- Um fator de localização, normalmente denotado pelo local a partir do qual uma tentativa de autenticação está sendo feita, pode ser aplicado limitando as tentativas de autenticação a dispositivos específicos em um determinado local ou, mais comumente, rastreando a fonte geográfica de uma tentativa de autenticação com base no endereço IP (Internet Protocol) de origem ou alguma outra informação de geolocalização, como dados do Sistema de Posicionamento Global (GPS), derivados do telefone celular do usuário ou de outro dispositivo.
- Um fator de tempo restringe a autenticação do usuário a uma janela de tempo específica na qual o logon é permitido e restringe o acesso ao sistema fora dessa janela.
Deve ser notado que a grande maioria dos métodos de autenticação de dois fatores dependem dos três primeiros fatores de autenticação, embora sistemas que requerem maior segurança possam usá-los para implementar autenticação multifatorial (MFA), que pode depender de duas ou mais credenciais independentes para autenticação mais segura.
Este artigo faz parte de
O que é gerenciamento de identidade e acesso? Guia do IAM
- Que também inclui:
- Como construir uma arquitetura IAM eficaz
- 4 melhores práticas de gerenciamento de identidade e acesso essenciais
- 5 tendências do IAM moldando o futuro da segurança
Como funciona a autenticação de dois fatores?
Aqui está como funciona a autenticação de dois fatores:
- O usuário é solicitado a entrar pela aplicação ou pelo website.
- O usuário entra com o que sabe — normalmente, nome de usuário e senha. Então, o servidor do site encontra uma correspondência e reconhece o usuário.
- Para processos que não requerem senhas, o site gera uma chave de segurança única para o usuário. A ferramenta de autenticação processa a chave, e o servidor do site a valida.
- O site então solicita que o usuário inicie a segunda etapa de login. Embora esta etapa possa tomar várias formas, os usuários têm de provar que têm algo que só eles teriam, como um token de segurança, cartão de identificação, smartphone ou outro dispositivo móvel. Este é o fator de posse.
- Então, o usuário digita um código único que foi gerado durante o passo quatro.
- Após fornecer ambos os fatores, o usuário é autenticado e tem acesso garantido ao aplicativo ou website.
Elementos de autenticação de dois fatores
A autenticação de dois fatores é uma forma de AMF. Tecnicamente, ela está em uso a qualquer momento dois fatores de autenticação são necessários para obter acesso a um sistema ou serviço. Entretanto, usar dois fatores da mesma categoria não constitui 2FA; por exemplo, requerer uma senha e um segredo compartilhado ainda é considerado SFA, pois ambos pertencem ao mesmo tipo de fator de autenticação: knowledge.
No que diz respeito aos serviços SFA, o ID do usuário e a senha não são os mais seguros. Um problema com a autenticação baseada em senha é que ela requer conhecimento e diligência para criar e lembrar senhas fortes. As senhas exigem proteção contra muitas ameaças internas, como anotações pegajosas armazenadas descuidadamente com credenciais de login, discos rígidos antigos e explorações de engenharia social. As senhas também são presas de ameaças externas, como hackers usando força bruta, dicionário ou ataques à tabela arco-íris.
Dado tempo e recursos suficientes, um atacante pode normalmente violar sistemas de segurança baseados em senha e roubar dados corporativos, incluindo as informações pessoais dos usuários. As senhas têm permanecido a forma mais comum de SFA devido ao seu baixo custo, facilidade de implementação e familiaridade. Múltiplas perguntas de resposta a desafios podem fornecer mais segurança, dependendo de como elas são implementadas, e métodos de verificação biométrica independentes também podem fornecer um método mais seguro de SFA.
Tipos de produtos de autenticação de dois fatores
Existem muitos dispositivos e serviços diferentes para a implementação do 2FA — desde tokens a cartões de identificação por radiofreqüência (RFID) e aplicativos para smartphones.
Os produtos de autenticação de dois fatores podem ser divididos em duas categorias: tokens que são dados aos usuários para uso ao fazer login e infra-estrutura ou software que reconhece e autentica o acesso para usuários que estão usando seus tokens corretamente.
Os tokens de autenticação podem ser dispositivos físicos, como fobs de chave ou cartões inteligentes, ou podem existir em software como aplicativos móveis ou de desktop que geram códigos PIN para autenticação. Esses códigos de autenticação, também conhecidos como senhas únicas (OTPs), são geralmente gerados por um servidor e podem ser reconhecidos como autênticos por um dispositivo ou aplicativo de autenticação. O código de autenticação é uma pequena sequência ligada a um determinado dispositivo, usuário ou conta e pode ser usado uma vez como parte de um processo de autenticação.
As organizações precisam implantar um sistema para aceitar, processar e permitir — ou negar — o acesso aos usuários que se autenticam com seus tokens. Isto pode ser implementado na forma de software de servidor, um servidor de hardware dedicado ou fornecido como serviço por um fornecedor terceirizado.
Um aspecto importante do 2FA é garantir que o usuário autenticado tenha acesso a todos os recursos para os quais o usuário foi aprovado — e somente a esses recursos. Como resultado, uma função chave do 2FA é ligar o sistema de autenticação com os dados de autenticação de uma organização. A Microsoft fornece alguma da infraestrutura necessária para as organizações suportarem o 2FA no Windows 10 através do Windows Hello, que pode operar com contas Microsoft, bem como autenticar usuários através do Microsoft Active Directory, Azure AD ou Fast IDentity Online (FIDO 2.0).
Como os tokens de hardware 2FA funcionam
Tipes de hardware para 2FA estão disponíveis suportando diferentes abordagens de autenticação. Um token de hardware popular é o YubiKey, um pequeno dispositivo Universal Serial Bus (USB) que suporta OTPs, criptografia e autenticação de chave pública, e o protocolo Universal 2nd Factor (U2F) desenvolvido pela FIDO Alliance. Os tokens YubiKey são vendidos pela Yubico Inc., sediada em Palo Alto, Califórnia.
Quando os usuários com um YubiKey fazem login em um serviço online que suporta OTPs — como Gmail, GitHub ou WordPress — eles inserem seu YubiKey na porta USB de seu dispositivo, digitam sua senha, clicam no campo YubiKey e tocam no botão YubiKey. O YubiKey gera um OTP e insere-o no campo.
O OTP é uma senha de 44 caracteres, de uso único; os primeiros 12 caracteres são uma identificação única que identifica a chave de segurança registrada com a conta. Os restantes 32 caracteres contêm informação que é encriptada utilizando uma chave conhecida apenas para o dispositivo e servidores Yubico, estabelecida durante o registo inicial da conta.
O OTP é enviado do serviço online para Yubico para verificação de autenticação. Uma vez validado o OTP, o servidor de autenticação Yubico envia de volta uma mensagem confirmando que este é o token certo para este utilizador. O 2FA está completo. O utilizador forneceu dois factores de autenticação: A senha é o fator de conhecimento, e o YubiKey é o fator de posse.
Autenticação de dois fatores para autenticação de dispositivos móveis
Smartphones oferecem uma variedade de possibilidades para o 2FA, permitindo que as empresas utilizem o que funciona melhor para eles. Alguns dispositivos são capazes de reconhecer impressões digitais, uma câmera embutida pode ser usada para reconhecimento facial ou digitalização da íris e o microfone pode ser usado para reconhecimento de voz. Smartphones equipados com GPS podem verificar a localização como um fator adicional. O Voice or Short Message Service (SMS) também pode ser usado como um canal para autenticação fora da banda.
Um número de telefone confiável pode ser usado para receber códigos de verificação por mensagem de texto ou chamada telefônica automatizada. Um usuário tem que verificar pelo menos um número de telefone confiável para se inscrever em 2FA.
Apple iOS, Google Android e Windows 10 todos têm aplicativos que suportam 2FA, permitindo que o próprio telefone sirva como o dispositivo físico para satisfazer o fator de posse. Duo Security, baseado em Ann Arbor, Michigan, e comprado pela Cisco em 2018 por $2,35 bilhões, é um fornecedor de plataforma 2FA cujo produto permite aos clientes usar seus dispositivos confiáveis para o 2FA. A plataforma Duo primeiro estabelece que um usuário é confiável antes de verificar se o dispositivo móvel também pode ser confiável para autenticar o usuário.
Aplicações Autenticator substituem a necessidade de obter um código de verificação via texto, chamada de voz ou e-mail. Por exemplo, para acessar um site ou serviço baseado na web que suporte o Google Authenticator, os usuários digitam seu nome de usuário e senha — um fator de conhecimento. Os usuários são então solicitados a digitar um número de seis dígitos. Em vez de ter de esperar alguns segundos para receber uma mensagem de texto, um Autenticador gera o número para eles. Estes números mudam a cada 30 segundos e são diferentes para cada login. Ao inserir o número correto, os usuários completam o processo de verificação e provam a posse do dispositivo correto — um fator de propriedade.
Estes e outros produtos 2FA oferecem informações sobre os requisitos mínimos de sistema necessários para implementar 2FA.
É a autenticação de dois fatores segura?
Embora a autenticação de dois fatores melhore a segurança — porque o direito de acesso não depende mais apenas da força de uma senha — esquemas de autenticação de dois fatores são apenas tão seguros quanto o seu componente mais fraco. Por exemplo, os tokens de hardware dependem da segurança do emissor ou do fabricante. Um dos casos mais importantes de um sistema de dois fatores comprometido ocorreu em 2011 quando a empresa de segurança RSA Security relatou que seus tokens de autenticação SecurID haviam sido invadidos.
O próprio processo de recuperação de conta também pode ser subvertido quando é usado para derrotar a autenticação de dois fatores, pois muitas vezes redefine a senha atual de um usuário e envia por e-mail uma senha temporária para permitir que o usuário faça o login novamente, contornando o processo 2FA. As contas de negócios Gmail do chefe executivo do Cloudflare foram invadidas desta forma.
Embora o 2FA baseado em SMS seja barato, fácil de implementar e considerado de fácil utilização, ele é vulnerável a inúmeros ataques. O National Institute of Standards and Technology (NIST) desencorajou o uso de SMS nos serviços 2FA em sua Publicação Especial 800-63-3: Digital Identity Guidelines. O NIST concluiu que OTPs enviados via SMS são muito vulneráveis devido a ataques de portabilidade de números de telemóvel, como o hack do Sistema de Sinalização 7, contra a rede de telemóvel e malware, como o Eurograbber, que pode ser usado para interceptar ou redireccionar mensagens de texto.
Níveis mais elevados de autenticação
A maior parte dos ataques tem origem em ligações remotas à Internet, pelo que o 2FA torna estes ataques menos ameaçadores. A obtenção de senhas não é suficiente para acesso, e é improvável que um atacante também seja capaz de obter o segundo fator de autenticação associado a uma conta de usuário.
No entanto, os atacantes às vezes quebram um fator de autenticação no mundo físico. Por exemplo, uma busca persistente das premissas alvo pode render um ID de funcionário e senha no lixo, ou em dispositivos de armazenamento descartados descuidadamente contendo bancos de dados de senhas. No entanto, se fatores adicionais forem necessários para a autenticação, o atacante enfrentaria pelo menos mais um obstáculo. Como os fatores são independentes, o comprometimento de um não deve levar ao comprometimento de outros.
É por isso que alguns ambientes de alta segurança exigem uma forma mais exigente de AMF, como a autenticação de três fatores (3FA), que normalmente envolve a posse de um token físico e uma senha usada em conjunto com dados biométricos, como digitalizações de impressões digitais ou impressões de voz. Fatores como geolocalização, tipo de dispositivo e hora do dia também estão sendo usados para ajudar a determinar se um usuário deve ser autenticado ou bloqueado. Além disso, identificadores biométricos comportamentais, tais como o comprimento do teclado de um usuário, a velocidade de digitação e os movimentos do mouse, também podem ser discretamente monitorados em tempo real para fornecer autenticação contínua em vez de uma única verificação de autenticação única durante o login.
Notificações push para 2FA
Uma notificação push é uma autenticação sem senha que verifica um usuário enviando uma notificação diretamente para uma aplicação segura no dispositivo do usuário, alertando o usuário que uma tentativa de autenticação está acontecendo. O usuário pode ver detalhes da tentativa de autenticação e aprovar ou negar o acesso — normalmente, com um único toque. Se o usuário aprovar a solicitação de autenticação, o servidor recebe essa solicitação e registra o usuário no aplicativo web.
Notificações push autenticam o usuário confirmando que o dispositivo registrado no sistema de autenticação — normalmente, um dispositivo móvel — está em posse do usuário. Se um atacante comprometer o dispositivo, as notificações push também são comprometidas. As notificações push eliminam as oportunidades para ataques man-in-the-middle (MitM), acesso não autorizado e ataques de phishing e engenharia social.
Embora as notificações push sejam mais seguras do que outras formas de métodos de autenticação, ainda há riscos de segurança. Por exemplo, usuários poderiam aprovar acidentalmente um pedido de autenticação fraudulenta porque eles estão acostumados a usar tapping para aprovar quando recebem notificações push.
Futuro de autenticação
Confiar em senhas como o principal método de autenticação não oferece mais a segurança ou experiência do usuário (UX) que os usuários exigem. E, mesmo que ferramentas de segurança legadas, como um gerenciador de senhas e MFA, tentem lidar com os problemas de nomes de usuários e senhas, elas dependem de uma arquitetura essencialmente desatualizada: o banco de dados de senhas.
Consequentemente, organizações que buscam melhorar a segurança no futuro estão explorando o uso de tecnologias de autenticação sem senhas para melhorar o UX.
A autenticação sem senhas permite que os usuários se autentiquem em suas aplicações com segurança, sem a necessidade de digitar senhas. Nos negócios, isso significa que os funcionários podem acessar seu trabalho sem ter que digitar senhas — e a TI ainda mantém controle total em cada login.
Biometria e protocolos seguros são alguns exemplos de tecnologias de autenticação sem senha.
Usar biometria como método de autenticação sem senha a nível de usuário, aplicação e dispositivo pode garantir melhor às empresas que os funcionários que fazem login nos sistemas são quem dizem lá.
Protocolos são outro exemplo de tecnologias sem senha. Os protocolos são padrões que visam facilitar a comunicação entre um provedor de identidade e um provedor de serviços. Um funcionário que é autenticado no provedor de identidade também é autenticado nos provedores de serviços designados, sem a inserção de uma senha.
As organizações são beneficiadas pela ausência de senha, pois eliminar a senha resulta em melhor UX para seus funcionários. A autenticação sem senha introduz novas maneiras para que os funcionários possam entrar no seu trabalho com facilidade e segurança, sem ter que confiar em senhas. Isso elimina a necessidade de recuperação de conta, solicitações para redefinir senhas e o processo de rotação manual de senhas.