La pregunta de confianza
Cuando la gente escucha “generador de 2FA basado en navegador”, la primera reacción suele ser escepticismo. Y honestamente, ese es el instinto correcto. Si un sitio web está generando tus códigos de autenticación de dos factores, tus claves secretas están tocando una página web. Eso se siente riesgoso.
Pero “basado en navegador” no significa automáticamente “inseguro”. Depende enteramente de cómo está construida la herramienta. Algunos enfoques son genuinamente peligrosos. Otros son casi tan seguros como una aplicación nativa. La diferencia se reduce a dónde ocurre el procesamiento.
Lado del cliente vs lado del servidor
Esta es la distinción clave. Una herramienta TOTP web puede funcionar de dos maneras muy diferentes:
Procesamiento del lado del servidor significa que tu clave secreta se envía a un servidor remoto, que genera el código y te lo devuelve. Esto es malo. Tu secreto ahora está almacenado en o transmitido a la infraestructura de otra persona. Estás confiando en el operador del servidor, sus prácticas de seguridad, y cada pieza de software en el medio.
Procesamiento del lado del cliente significa que todo ocurre en tu navegador. El JavaScript se ejecuta localmente, genera el código en tu máquina, y tu clave secreta nunca deja tu dispositivo. La página web es solo un mecanismo de entrega para el código que corre en tu computadora.
Una herramienta TOTP de navegador bien construida usa procesamiento del lado del cliente exclusivamente. Tus secretos permanecen en la memoria de tu navegador, se usan para calcular un código, y eso es todo. No se envía nada a ningún lado.
Cómo verificar esto tú mismo
No tienes que tomar la palabra de nadie. Abre las herramientas de desarrollador de tu navegador (F12 en la mayoría de navegadores), ve a la pestaña de Red, y observa qué sucede cuando ingresas una clave secreta y generas un código. Si no salen solicitudes, la herramienta es del lado del cliente.
También puedes probar desconectándote completamente de internet. Carga la página, vete offline, luego ingresa un secreto y genera un código. Si funciona, no se está enviando nada a un servidor.
Para herramientas de código abierto, puedes leer el código fuente directamente. El algoritmo TOTP es corto y bien documentado (se basa en RFC 6238), así que no es difícil verificar que la implementación coincide con la especificación y no incluye ninguna exfiltración de datos.
La Web Crypto API
Los navegadores modernos incluyen la Web Crypto API, un conjunto integrado de funciones criptográficas que se ejecutan nativamente en el navegador. Esto significa que un generador TOTP web no necesita depender de bibliotecas de criptografía de terceros. Puede usar las mismas primitivas criptográficas probadas en batalla que el navegador mismo usa para conexiones HTTPS.
La Web Crypto API proporciona HMAC-SHA1 (la función hash que usa TOTP), y ejecuta operaciones de una manera diseñada para resistir ataques de temporización. Esta es la misma calidad de implementación criptográfica que encontrarías en una aplicación de escritorio nativa.
Compensaciones de seguridad comparadas con aplicaciones nativas
Seamos directos sobre qué es diferente entre una herramienta de navegador y una aplicación autenticadora dedicada.
Lo que las aplicaciones nativas hacen mejor
Almacenamiento seguro persistente. Las aplicaciones autenticadoras móviles almacenan tus secretos en el enclave seguro del sistema operativo o el llavero. Una pestaña de navegador no tiene acceso a ese nivel de protección respaldada por hardware. Cuando cierras la pestaña, los datos desaparecen (lo cual es realmente una característica en algunos contextos, pero significa que necesitarás volver a ingresar secretos).
Aislamiento. Una aplicación nativa se ejecuta en su propia sandbox. Una pestaña de navegador comparte el proceso del navegador con otras pestañas. Una extensión de navegador maliciosa, en teoría, podría acceder al contenido de la página. Esto es cierto para cualquier aplicación web, no específico para herramientas TOTP.
Disponibilidad offline. Siempre puedes abrir una aplicación móvil. Una herramienta web necesita cargarse primero, aunque muchas soportan uso offline a través de service workers después de la carga inicial.
Lo que las herramientas de navegador hacen bien
Sin instalación. No necesitas descargar una aplicación. Esto importa cuando estás en una computadora compartida, una máquina de trabajo donde no puedes instalar software, o un dispositivo temporal.
Transparencia. Con una herramienta web (especialmente las de código abierto), puedes inspeccionar exactamente qué código se está ejecutando, directamente en el navegador. Las aplicaciones nativas son binarios compilados. Estás confiando en el desarrollador de cualquier manera, pero las aplicaciones web son más fáciles de auditar.
Desechabilidad. Cierra la pestaña y los secretos desaparecen de la memoria. No hay nada persistido en disco, ninguna base de datos para que se robe si tu dispositivo se compromete más tarde. Para uso temporal o de una sola vez, esta es una ventaja genuina.
Multiplataforma. Funciona en cualquier dispositivo con un navegador. Sin preocupaciones de compatibilidad, sin restricciones de tiendas de aplicaciones.
Cuándo tiene sentido una herramienta basada en navegador
Un generador TOTP de navegador no está tratando de reemplazar tu aplicación autenticadora diaria. Llena diferentes vacíos:
- Estás en una computadora donde no puedes instalar aplicaciones y necesitas generar un código
- Estás configurando 2FA y quieres verificar que tu clave secreta produce los códigos correctos antes de comprometerte con una aplicación autenticadora específica
- Eres un desarrollador probando la integración TOTP en tu propia aplicación
- Tu teléfono murió y necesitas acceso a una cuenta usando una clave secreta de respaldo que guardaste de forma segura
- Quieres una forma rápida y sin compromiso de ver cómo funcionan los códigos TOTP
Para tus necesidades primarias de 2FA cotidianas, una aplicación autenticadora dedicada con respaldo cifrado sigue siendo la opción más práctica. Pero una herramienta de navegador del lado del cliente es una opción sólida para las situaciones anteriores.
Qué buscar en una herramienta TOTP basada en navegador
Si estás evaluando una, esto es lo que importa:
Solo lado del cliente. Sin solicitudes de red al generar códigos. Verifica esto con las herramientas de desarrollador.
Código abierto. Puedes leer el código. Otros pueden auditarlo. Los errores se encuentran y corrigen públicamente.
Dependencias mínimas. Menos bibliotecas significa una superficie de ataque más pequeña. El algoritmo TOTP es lo suficientemente simple como para implementarse con solo la Web Crypto API.
Sin cuentas ni registro. Si una herramienta TOTP te pide crear una cuenta, tus secretos probablemente se están almacenando del lado del servidor.
HTTPS. La página debería servirse sobre HTTPS para que el código no pueda ser alterado en tránsito.
Pruébalo tú mismo
2fa.zip es un generador TOTP basado en navegador que funciona completamente del lado del cliente. Sin cuentas, sin almacenamiento en servidor, código abierto. Ingresa una clave secreta, obtén un código. Puedes verificar la afirmación del lado del cliente tú mismo usando los métodos descritos arriba.