Google Authenticator explicado: cómo funcionan sus códigos 2FA
Cada 30 segundos más o menos, cambia un número corto en tu teléfono y un sitio web al que nunca le has mostrado ese teléfono sabe de algún modo cuál debería ser el nuevo número. Parece magia, pero es un sencillo truco basado en un secreto compartido.
Así funcionan Google Authenticator y otras aplicaciones similares. A continuación explicamos cómo se generan los códigos, por qué funcionan sin conexión a Internet, qué relación tiene la aplicación con la propia Verificación en dos pasos de Google y qué puede y qué no puede proteger.
Cómo se generan los códigos
Cuando añades una cuenta a una aplicación de autenticación, el servicio te proporciona un secreto, normalmente mediante un código QR o una clave de configuración, y la aplicación lo guarda. A partir de ese momento, tanto el servicio como tu teléfono tienen el mismo secreto. Para generar un código, la aplicación combina ese secreto con la hora actual, y el servicio realiza el mismo cálculo por su parte. Si los dos resultados coinciden, se acepta el código.
Este método es un estándar publicado llamado TOTP, siglas de contraseña de un solo uso basada en el tiempo, definido en IETF RFC 6238. Se basa en un método anterior basado en un contador, al que sustituye por un valor derivado de la hora. El estándar establece que la aplicación y el servicio deben usar el mismo intervalo temporal y recomienda un valor predeterminado de 30 segundos; por eso, el código suele actualizarse aproximadamente dos veces por minuto.
Por qué funciona sin conexión a Internet
El código se calcula en tu teléfono a partir del secreto guardado y de su reloj, así que no es necesario enviar nada al teléfono. La propia ficha de la aplicación de Google indica que se pueden generar códigos incluso sin conexión a Internet ni a una red móvil. El servicio solo tiene que realizar el mismo cálculo cuando introduces el código.
Esto significa que la hora es importante. Si la hora de tu teléfono se aleja mucho de la hora real, los dos cálculos no coincidirán y se rechazará el código, aunque la aplicación esté funcionando según lo previsto.
Qué relación tiene con la Verificación en dos pasos de Google
Es fácil confundir ambas cosas. La Verificación en dos pasos es la función de una cuenta de Google que solicita un segundo paso al iniciar sesión. Google Authenticator es una aplicación que puede proporcionar ese paso y, según Google, también puede generar códigos para otros sitios y aplicaciones compatibles con la verificación mediante aplicaciones de autenticación. Otras aplicaciones de autenticación siguen el mismo estándar, por lo que los códigos no están vinculados a una sola empresa.
Puedes usar la aplicación con o sin una cuenta de Google. Al iniciar sesión, tus códigos se sincronizan entre tus dispositivos, y Google afirma que, incluso sin una cuenta, puedes transferirlos manualmente a un dispositivo nuevo. Los códigos sincronizados dependen de esa cuenta de Google, por lo que es más importante protegerla. Google también recomienda configurar otros métodos de Verificación en dos pasos para que no te quedes sin acceso a tu cuenta.
Qué protege y qué no
Según CISA, los códigos de una aplicación de autenticación son mejores que los mensajes de texto, pero siguen siendo vulnerables al phishing. Una página de inicio de sesión falsa y convincente puede capturar el código cuando lo escribes y usarlo de inmediato; solo los métodos basados en FIDO, como las llaves de seguridad y las claves de acceso, resisten este tipo de ataque. Comprobar la dirección de un sitio antes de introducir un código también forma parte de la protección.
El secreto que hay detrás de tus códigos también es confidencial. Cualquiera que tenga el código QR o la clave de configuración puede generar los mismos códigos, así que debes tratar una captura de pantalla como si fuera una contraseña. Además, una aplicación de autenticación protege las cuentas a las que se inicia sesión a través de un servicio. No puede proteger la frase semilla ni la clave privada de un monedero.
Recordatorio de WEEX: trata la clave de configuración como una contraseña
WEEX recuerda a los usuarios que nunca compartan un código de un solo uso, un código QR ni una clave de configuración con nadie, incluidas las personas que afirman ser del servicio de asistencia, ya que un servicio legítimo nunca los necesita. Comprueba la dirección de un sitio antes de introducir un código y guarda cualquier clave de respaldo o código de recuperación en un lugar seguro y sin conexión, no en una captura de pantalla ni en una nota en la nube. Nada de lo aquí expuesto constituye asesoramiento financiero.
Conclusión
Google Authenticator genera un código de corta duración a partir de un secreto compartido con el servicio y de la hora actual; por eso funciona sin conexión y la hora es importante. Es una de varias aplicaciones que utilizan el mismo estándar, ofrece más seguridad que los mensajes de texto, pero sigue siendo vulnerable al phishing, y su secreto de configuración merece el mismo cuidado que una contraseña. Si se utiliza junto con contraseñas seguras y hábitos prudentes, dificulta que alguien se apropie de una cuenta.
Preguntas frecuentes
1. ¿Qué es Google Authenticator?
Es una aplicación que genera códigos de un solo uso utilizados como segundo paso al iniciar sesión, tanto en cuentas de Google como en otros sitios y aplicaciones compatibles con la verificación mediante aplicaciones de autenticación.
2. ¿Cómo genera códigos Google Authenticator sin Internet?
Los calcula en tu teléfono a partir de un secreto guardado y de la hora actual. El servicio realiza el mismo cálculo para comprobar el código, así que no es necesario enviar nada al teléfono.
3. ¿Necesito una cuenta de Google para usar Google Authenticator?
No. Google afirma que puedes usarlo sin una cuenta. Al iniciar sesión, tus códigos se sincronizan entre dispositivos y, si no tienes una cuenta, puedes transferirlos manualmente a un dispositivo nuevo.
4. ¿Google Authenticator es lo mismo que la Verificación en dos pasos de Google?
No. La Verificación en dos pasos es una función de una cuenta de Google, y la aplicación es una de las formas de proporcionar el segundo paso. También funciona con otros sitios compatibles con los códigos de aplicaciones de autenticación.
5. ¿Google Authenticator es más seguro que los códigos SMS?
Según CISA, los códigos de las aplicaciones de autenticación son mejores que los mensajes de texto, pero aún pueden ser objeto de phishing. Las llaves de seguridad y las claves de acceso ofrecen una mayor protección contra el phishing.