¿Código de Google Authenticator inválido? Por qué importa la hora de tu teléfono
Un código que funcionaba hace un minuto puede ser rechazado la próxima vez que lo escribas, y normalmente la aplicación no está fallando. Estos códigos se calculan según la hora actual, así que una pequeña diferencia entre la hora de tu teléfono y la del servicio basta para que no funcionen.
Aquí te explicamos por qué importa la hora, qué margen de error tolera un servicio, cuáles son otros motivos comunes por los que se rechaza un código y qué debes revisar antes de cambiar algo.
Por qué la hora determina si se acepta un código
Una aplicación de autenticación no recibe el código del servicio. Lo calcula a partir de un secreto que compartiste durante la configuración y de la hora actual. Según el estándar TOTP, IETF RFC 6238, el tiempo se divide en intervalos, con una duración predeterminada recomendada de 30 segundos, y tanto la aplicación como el servicio deben conocer la hora actual y usar la misma duración de intervalo. El servicio realiza el mismo cálculo cuando envías un código, y los dos resultados solo coinciden si ambas partes concuerdan en cuál es el intervalo vigente.
Por eso un código puede parecer perfectamente válido y aun así ser rechazado. Si el reloj de tu teléfono indica un momento distinto al del servicio, los dos cálculos producen números diferentes.
Qué margen de error de hora tolera un servicio
Los servicios permiten un pequeño margen, porque toma tiempo escribir y enviar un código. El estándar recomienda que un servicio acepte como máximo un intervalo de retraso y que establezca un límite para la cantidad de intervalos que un dispositivo puede estar desincronizado antes de que se rechace el código. Una ventana más amplia también le da más tiempo a un atacante para usar un código robado, por eso el margen es reducido. Cada servicio define su propia política, así que no hay una cifra única en la que puedas confiar.
En la práctica, un teléfono que ajusta la hora automáticamente casi nunca causa problemas, mientras que uno configurado manualmente o con una zona horaria incorrecta puede tener una diferencia de minutos o incluso de horas y fallará constantemente. La página de ayuda de Google incluye entre las primeras cosas que hay que revisar que la hora del dispositivo esté sincronizada y sea correcta para tu zona horaria local.
Otros motivos comunes por los que se rechaza un código
El reloj no es la única causa. La lista de verificación de Google también pregunta si ingresaste el código antes de que venciera, si corresponde a la aplicación o al servicio correcto y si es de la cuenta adecuada. Quienes tienen varias entradas en la aplicación suelen elegir la incorrecta, ya que muchas se parecen.
Reutilizar un código es otro motivo. El estándar indica que un servicio no debe aceptar un código por segunda vez después de que se haya usado correctamente, así que si intentas volver a usar un código que acabas de ingresar con éxito, será rechazado y tendrás que esperar al siguiente. Un cambio de teléfono también puede ser la causa: si una entrada no se transfirió o el servicio generó un secreto nuevo desde entonces, la entrada anterior ya no producirá códigos coincidentes.
Qué revisar antes de cambiar algo
Empieza por el teléfono. Configura la fecha, la hora y la zona horaria para que se ajusten automáticamente, espera a que aparezca un código nuevo e ingrésalo enseguida. Algunas guías antiguas mencionan una opción para corregir la hora dentro de la aplicación, pero la página de ayuda de Google señala que esa opción ya no está disponible en la versión 7.0, así que debes revisar el reloj del propio teléfono.
Después, confirma que estés usando la entrada correcta para la cuenta adecuada y que estés en el sitio auténtico. Ten cuidado con eliminar una entrada y volver a agregarla como primer paso. Si la eliminas, podrías perder la única copia del secreto y, si los códigos no están sincronizados, Google señala que quizá tengas que volver a vincular todos los sitios. Asegúrate de tener códigos de respaldo u otra forma de acceder antes de intentar algo drástico.
Recordatorio de WEEX: nunca compartas un código para solucionar un problema con un código
WEEX recuerda a los usuarios que, cuando un código sigue fallando, puede ser tentador aceptar la ayuda de cualquiera que la ofrezca, y es precisamente en esos momentos cuando aparecen las estafas. Nunca envíes a nadie un código de un solo uso, un código QR ni una clave de configuración, ni siquiera a personas que digan trabajar en soporte, ya que un servicio legítimo nunca los necesita. Revisa la dirección de un sitio antes de ingresar un código y guarda los códigos de respaldo sin conexión. Nada de lo aquí expuesto constituye asesoramiento financiero.
Conclusión
La mayoría de las veces, el rechazo de un código de Google Authenticator se debe a la hora: la aplicación lo calcula según el reloj y el servicio debe obtener el mismo resultado. Configurar la fecha, la hora y la zona horaria del teléfono para que se ajusten automáticamente resuelve la mayoría de los casos; un código vencido, una entrada incorrecta o un código reutilizado explican gran parte del resto. Antes de eliminar algo, asegúrate de tener una forma de volver a acceder.
Preguntas frecuentes
1. ¿Por qué mi código de Google Authenticator es inválido?
Las causas más comunes son que el código haya vencido, que hayas elegido la entrada de la aplicación o de la cuenta equivocada, o que la fecha y la hora del teléfono estén desincronizadas. Revisa primero estos aspectos.
2. ¿Qué tan precisa debe ser la hora del reloj de mi teléfono?
Los servicios solo aceptan un margen pequeño. El estándar recomienda permitir como máximo un intervalo de retraso, y cada servicio define su propia política, así que lo más seguro es configurar la hora automática.
3. ¿Importa la zona horaria?
Google incluye entre las primeras verificaciones que la hora del dispositivo esté sincronizada y sea correcta para tu zona horaria local. Configurar la fecha, la hora y la zona horaria para que se ajusten automáticamente evita errores manuales.
4. ¿Por qué se rechazó un código la segunda vez que lo usé?
El estándar indica que un servicio no debe volver a aceptar un código después de que se haya usado correctamente. Espera al siguiente código e inténtalo con ese.
5. ¿Debería eliminar la cuenta de la aplicación y volver a agregarla?
No como primer paso. Eliminar una entrada puede borrar la única copia del secreto de configuración, y para volver a agregarla el servicio debe emitir uno nuevo. Por eso, primero revisa el reloj y la entrada, y asegúrate de tener códigos de respaldo.