Cada vez mais vemos discussões sobre segurança na internet, e um termo recorrente nessas discussões é o 2FA, também conhecido como “autenticação de dois fatores”. Mas você sabe exatamente o que é isto?
A história deste método de segurança é um pouco incerta, mas existe uma patente datada de 1984 citando um “aparato para geração e comparação de códigos não-previsíveis”.
A autenticação de dois fatores existe em diversos formatos diferentes, alguns muito seguros e outros nem tanto.
Autenticação via SMS
Este é um método muito popular, relativamente prático, porém pouco seguro. A autenticação via SMS consiste em receber um código único e aleatório através de SMS para utilização em algum serviço. É muito utilizado por bancos, diversos serviços online e até o próprio auxílio emergencial da Caixa.
Apesar de ser amplamente utilizado, sempre que possível, evite este método pelos seguintes motivos:
- Seu cartão SIM pode ser facilmente instalado em outro aparelho e assim acessar os códigos;
- Criminosos podem conseguir um cartão SIM com o seu número nas lojas das operadoras através de técnicas de persuasão ou suborno;
- SMS podem ser interceptados utilizando uma falha no protocolo SS7.
2FA via aplicativos
Uma das maneiras mais simples de utilizar o 2FA de maneira segura é através de aplicativos de autenticação. Existem diversos aplicativos que fazem este trabalho, e entre os mais conhecidos estão: Authy, Google Authenticator, Microsoft Authenticator, além dos gerenciadores de senha como 1Password, Dashlane, Bitwarden e diversos outros.
O procedimento em todos esses aplicativos funcionam de maneira parecida, onde é necessário escanear um QR code, ou inserir um código manualmente, e cada vez que o serviço pedir o código de 2FA, basta copiar o que for informado no aplicativo escolhido.
Para a geração deste código, é utilizado um algoritmo chamado TOTP (Time-based One-time Password algorithm, ou em português, Algoritmo de Senhas Únicas com base no Tempo). Este algoritmo combina uma chave privada com o horário atual do dispositivo, assim gerando um código único aleatório. Ou seja, é necessário que os dois dispositivos estejam com o horário sincronizado.
Autenticação via hardware
Um método menos comum, porém muito mais seguro é através da autenticação via hardware. Neste formato, é utilizado um dispositivo similar à um pendrive, onde cada vez que um serviço requisitar o código, será necessário inserir o dispositivo manualmente no seu aparelho.
Este método utiliza um padrão U2F (Universal Second Factor, ou em português, Segundo Fator Universal) e os dispositivos mais populares são os da Yubico.
Autenticação via e-mail
Outro método que alguns serviços utilizam é através da autenticação via e-mail. Bem similar à autenticação via SMS, a única diferença é que ao invés de receber o código através de uma mensagem, ele será enviado para o seu endereço de e-mail.
O nível de segurança deste método depende do serviço de e-mail utilizado, que pode ser mais ou menos seguro no caso de utilizar criptografia, ou outros mecanismos de segurança.
Qual método escolher
A resposta para esta pergunta pode variar muito. Alguns serviços podem suportar apenas a autenticação através de SMS, como é o caso do Pinterest. Nestas situações, não há muito o que ser feito.
Se o serviço suportar outros métodos, no caso de preferir por facilidade, opte pela autenticação através de aplicativos. Apenas verifique se o aplicativo que irá utilizar possui alguma funcionalidade de backup, no caso do seu aparelho ser perdido, ou parar de funcionar, para não correr o risco de perder o acesso à todas as suas contas.
Se você for daquelas pessoas que querem o máximo de segurança, a autenticação via hardware é a solução ideal. Geralmente os dispositivos são vendidos em dólar, então esta brincadeira pode sair um pouco cara, mas vale a pena.
Até a próxima!