2 Fatores de Autenticação
Desde sempre diversos sistemas web implementam ao menos um fator de autenticação para validar se o usuário que está acessando determinada área restrita é quem ele realmente afirma ser, mas que outros fatores podem ser implementados para tornar esse processo ainda mais preciso e seguro?
Antes de mais nada, vamos rever os três fatores de autenticação para humanos:
- o que o usuário conhece (ex: senha, PIN, etc)
- o que o usuário tem (ex: token, cartão de senhas, celular, etc)
- o que o usuário é (ex: impressão digital, padrão de retina, padrão de voz, etc)
Obs: como o foco deste artigo está relacionado a sistemas web e implementar o fator que valida o que o usuário é ser algo complexo nesse contexto, não entrarei neste item. Na verdade, nunca vi esse fator em sistemas web, mas vi no caixa eletrônico do Bradesco onde o usuário necessita apenas da digital para efetuar um saque, por exemplo.
Agora que revisamos os conceitos, vamos conhecer o que é aplicado na prática em termos de sistemas web:
1) Google Authenticator
Você provavelmente deve ter uma conta do Google, e o Google fornece a verificação em duas etapas utilizando o Google Authenticator, um projeto de código aberto que gera senhas únicas e seguras (secure OTP). Basta ativá-lo em https://www.google.com/settings/security e instalar o aplicativo em seu dispositivo móvel.
O que nem todos sabem é que este projeto pode ser estendido para o seu próprio website, veja alguns exemplos:
- Plugin para WordPress
- Plugin para PAM Modules, no caso SSH
- Implementação do Google Authenticator em sites PHP
2) Yubico
Esse assunto é tão sério que o Google declarou guerra ao uso exclusivo de senhas para o processo de autenticação, como afirmaram na matéria da Wired. No artigo, comentam sobre um dispositivo USB chamado Yubikey, que também possui plugin para o WordPress.
3) Facebook
Sim, o Facebook também utiliza dois fatores de autenticação, mas apenas para autenticações partidas de dispositivos não cadastrados previamente. Você precisa configurar em "Account Settings -> Security -> Login Approvals", ou acesse https://www.facebook.com/settings?tab=security.
4) Dropbox
Depois de um incidente de segurança, a empresa decidiu implementar os dois fatores de autenticação. Se você é usuário do Dropbox, aprenda como proteger sua conta.
5) Taferno
O projeto Taferno é outra solução de código aberto para secure OTP em VPN, SSH, SSO, etc.
Conclusão
Em poucas palavras, pode-se dizer que a implementação de fatores de autenticação evitará uma série de invasões, pois obter a senha do usuário não será mais suficiente, resguardando assim o usuário, as informações e a imagem da empresa, tornando-se mais do que uma opção, uma necessidade.