Guías

¿Qué es la autenticación en dos pasos? Guía en lenguaje sencillo

La autenticación en dos pasos (2FA) es un inicio de sesión que pide dos tipos distintos de prueba de que eres quien dices ser: normalmente algo que sabes, como una contraseña, más algo que tienes, como tu teléfono o una llave de seguridad. Si un delincuente roba o adivina tu contraseña, seguirá sin poder entrar sin el segundo factor. Es una de las formas más sencillas de proteger las cuentas que importan.

Por qué importa cuando creas con IA

Cuando pides a un creador con IA un «inicio de sesión», normalmente obtienes correo y contraseña. Es un buen comienzo, pero las contraseñas se reutilizan, sufren phishing y se filtran. Si tu app guarda algo valioso (registros de clientes, facturas, controles de administración o ajustes de pagos), una sola contraseña robada podría exponerlo todo.

La 2FA también afecta a decisiones que quizá no pienses al principio:

  • Quién debe usarla. ¿Opcional para todos, obligatoria para los administradores o para todos?
  • Qué métodos admites. Códigos de una app, mensajes de texto, passkeys, llaves de seguridad.
  • Qué pasa cuando alguien se queda bloqueado. Los teléfonos perdidos son la solicitud de soporte más habitual de cualquier app con 2FA.
  • Dónde se aplica. La comprobación tiene que hacerse en el servidor. Una pantalla de 2FA que solo oculta la página en el navegador puede saltarse.

No tienes que construir tú la criptografía: las bibliotecas bien probadas y los proveedores de autenticación se encargan de eso. Pero sí necesitas saber qué pedir.

Una analogía cotidiana

Piensa en una caja de seguridad de un banco. Para abrirla necesitas tu documento de identidad (algo que el banco comprueba que eres o que sabes) y la llave física (algo que tienes). Un ladrón que copie tu firma aún no tiene la llave. Un ladrón que robe la llave todavía no pasa el control de identidad.

La 2FA funciona igual. La contraseña es la firma; el teléfono o la llave de seguridad son la llave física. Cada uno por separado no basta.

Los tres tipos de factores

Los estándares de seguridad, como las directrices de identidad digital del Instituto Nacional de Estándares y Tecnología (NIST) de Estados Unidos, agrupan los factores en tres tipos:

FactorEjemplos
Algo que sabesContraseña, PIN
Algo que tienesTeléfono con una app de autenticación, una llave de seguridad, un dispositivo con una passkey
Algo que eresHuella dactilar, rostro; normalmente se usan para desbloquear un dispositivo que luego hace la comprobación real

La palabra clave es distinto. Una contraseña más una pregunta de seguridad son dos cosas que sabes, así que no es una autenticación en dos pasos de verdad. Si una sola filtración puede revelar ambas, cuenta como una.

Los métodos de 2FA más comunes, comparados

MétodoCómo funcionaFortalezaNotas
Código SMSSe envía un código por mensaje de texto a tu número de teléfonoLa más débilVulnerable al cambio de SIM y al phishing, pero mucho mejor que no tener 2FA
Código por correoSe envía un código por correo electrónicoDébilSolo es tan segura como la cuenta de correo
App de autenticación (TOTP)Una app como Google Authenticator genera un código nuevo de 6 dígitos, normalmente cada 30 segundosBuenaFunciona sin conexión; sigue siendo vulnerable al phishing si una web falsa pide el código
Aprobación por notificaciónUna app pregunta «¿Eres tú?» y tú pulsas aprobarBuenaCuidado con la «fatiga de aprobación», cuando los usuarios pulsan sí para dejar de recibir avisos repetidos
Passkey o llave de seguridadUna clave criptográfica en un dispositivo demuestra que estás en la web realLa más fuerteResistente al phishing porque no responde a un dominio parecido

Las directrices del NIST consideran que los métodos en los que escribes un código (SMS, correo, apps de autenticación) no son resistentes al phishing, y marcan el envío de códigos por la red telefónica como «restringido». Las passkeys y las llaves de seguridad físicas, basadas en los estándares WebAuthn/FIDO2, son las que considera resistentes al phishing.

Conclusión práctica: una app de autenticación es un valor predeterminado sólido y fácil para la mayoría de las apps, y las passkeys merecen ofrecerse si tus usuarios se sienten cómodos con ellas.

Un ejemplo práctico: 2FA para un portal de clientes

Supón que has creado un portal donde un pequeño despacho de contabilidad comparte documentos fiscales con sus clientes. Así funciona una configuración sensata de 2FA, paso a paso.

Activarla (registro). Priya, una clienta, abre Ajustes y pulsa «Activar la autenticación en dos pasos». La app genera un secreto y lo muestra como código QR. Ella lo escanea con su app de autenticación, que empieza a mostrar códigos de seis dígitos. Escribe en el portal el código actual para comprobar que la configuración funciona. La app muestra diez códigos de recuperación y le pide que los guarde en un lugar seguro.

Iniciar sesión después.

  1. Priya introduce su correo y su contraseña. El servidor los comprueba.
  2. En lugar de dejarla entrar directamente, el servidor marca la sesión como «contraseña correcta, segundo factor pendiente» y muestra la pantalla del código.
  3. Ella escribe el código de su app. El servidor lo compara con su secreto almacenado, admitiendo un pequeño desfase del reloj.
  4. Solo entonces el servidor crea una sesión completa y le permite ver los documentos.

Lo que ve un atacante. Si la contraseña de Priya se filtró desde otra web, el atacante se queda atascado en el paso 3. Cada intento fallido de código se cuenta, y tras varios intentos erróneos la cuenta se bloquea temporalmente y Priya recibe un correo.

Perder el teléfono. Priya usa uno de sus códigos de recuperación para entrar, desactiva la 2FA y la vuelve a activar con su nuevo teléfono, y obtiene códigos de recuperación nuevos. El código usado ya nunca podrá volver a utilizarse.

Para el personal. Los contables del despacho pueden ver todos los archivos de cada cliente, así que el portal exige 2FA a las cuentas del personal; no pueden acceder al panel hasta que la hayan activado.

Términos comunes explicados

TérminoQué significa
2FA / MFAAutenticación en dos pasos / multifactor: iniciar sesión con más de un tipo de prueba.
FactorUn tipo de prueba: algo que sabes, tienes o eres.
TOTPContraseña de un solo uso basada en el tiempo: los códigos rotativos de las apps de autenticación.
Secreto compartidoEl valor oculto, configurado mediante código QR, que tanto la app como tu teléfono usan para generar códigos iguales.
Códigos de recuperación (de respaldo)Códigos de un solo uso para entrar cuando has perdido el segundo factor.
PasskeyUna credencial de inicio de sesión guardada en tu dispositivo que usa criptografía de clave pública en lugar de una contraseña.
Llave de seguridadUn pequeño dispositivo físico (USB o NFC) que hace el mismo trabajo que una passkey.
Cambio de SIM (SIM swapping)Engañar a una operadora para pasar el número de alguien a una SIM nueva, de modo que los mensajes llegan al atacante.
PhishingUna web o un mensaje falso que engaña a la gente para que entregue contraseñas o códigos.
Autenticación reforzada (step-up)Pedir de nuevo el segundo factor antes de una acción sensible, como cambiar los datos de cobro.

Errores comunes y falsas creencias

  • «La 2FA hace que una cuenta no se pueda hackear». Lo hace mucho más difícil. Las webs de phishing aún pueden capturar los códigos escritos en tiempo real, por eso existen las passkeys.
  • Comprobar el código solo en el navegador. Si el servidor emite una sesión completa tras la contraseña, la pantalla del código es pura decoración. El servidor debe negar el acceso hasta que pase el segundo factor.
  • Sin límite de intentos de código. Un código de seis dígitos tiene un millón de combinaciones. Sin limitación de peticiones y bloqueos, un atacante puede seguir probando.
  • Olvidarse de la recuperación. Sin códigos de recuperación, cada teléfono perdido se convierte en un ticket de soporte o en un cliente bloqueado.
  • Guardar el secreto TOTP sin cuidado. El secreto compartido debe cifrarse en la base de datos y no mostrarse nunca más después de la configuración.
  • Dejar que los usuarios desactiven la 2FA sin volver a comprobar. Desactivar la 2FA o cambiar el correo de la cuenta debería exigir la contraseña y un código actual.
  • Una contraseña más una pregunta de seguridad cuenta como 2FA. No es así: ambas son cosas que sabes.

Qué pedir a tu creador con IA

  • «Añade autenticación en dos pasos opcional con una app de autenticación (TOTP), con un código QR para configurarla y un código de confirmación antes de activarla».
  • «Muestra diez códigos de recuperación de un solo uso cuando la 2FA esté activada. Guárdalos cifrados (hash), igual que las contraseñas».
  • «Aplica la 2FA en el servidor: nada de sesión completa hasta que pase el segundo factor».
  • «Limita los intentos de código y bloquea el inicio de sesión durante 15 minutos tras varios fallos. Envía un correo al usuario cuando ocurra».
  • «Exige 2FA a las cuentas de administrador».
  • «Pide la contraseña y un código actual antes de desactivar la 2FA o cambiar el correo de la cuenta».
  • «Usa una biblioteca conocida o la 2FA integrada de nuestro proveedor de autenticación; no escribas la criptografía tú mismo».
  • «Explícame qué método has usado y dónde se guardan los secretos».

Si usas un proveedor de autenticación alojado, comprueba si ya ofrece 2FA o passkeys; activar una función integrada suele ser más seguro que el código a medida. La versión paso a paso está en cómo añadir la autenticación en dos pasos, y qué es la autenticación explica las bases del inicio de sesión que hay debajo.

La autenticación en dos pasos en Mythex

Mythex no incluye un sistema de inicio de sesión integrado para los usuarios de tu app, así que la 2FA forma parte del enfoque de autenticación que elijas: tu propio inicio de sesión con correo y contraseña respaldado por la base de datos del proyecto, o un proveedor alojado que ofrezca 2FA. Se lo pides al agente en el chat, y las claves del proveedor van en los secretos del proyecto, no en el propio chat. La receta de la documentación sobre añadir inicio de sesión a tu app tiene un prompt inicial que puedes adaptar, y la seguridad de las apps que creas explica los hábitos alrededor de las claves. Antes del lanzamiento, repasa la lista de comprobación de seguridad para apps creadas con IA.

Preguntas

¿Qué es la autenticación en dos pasos en términos sencillos?

La autenticación en dos pasos (2FA) significa que para iniciar sesión hacen falta dos tipos distintos de prueba, normalmente tu contraseña más un código de tu teléfono o una llave de seguridad. Quien solo robe tu contraseña seguirá sin poder entrar.

¿Es lo mismo 2FA que MFA?

Casi. La autenticación multifactor (MFA) implica dos o más factores; la autenticación en dos pasos es el caso más habitual, con exactamente dos. En el uso cotidiano los términos se usan indistintamente.

¿Es segura la autenticación en dos pasos por SMS?

Es mucho mejor que una contraseña sola, pero es la opción habitual más débil. Los mensajes de texto pueden interceptarse o desviarse mediante el cambio de SIM (SIM swapping), y una página de inicio falsa puede engañar a alguien para que escriba el código. Las apps de autenticación son más seguras, y las passkeys o las llaves de seguridad lo son todavía más.

¿Mi app necesita autenticación en dos pasos?

Si las cuentas manejan dinero, datos privados o poder de administración sobre otros usuarios, ofrecer 2FA es una buena idea, y exigirla a los administradores es habitual. Para una app de afición sencilla puede ser opcional o dejarse para más adelante.

¿Qué pasa si un usuario pierde su teléfono?

Para eso sirven los códigos de recuperación: una lista corta de códigos de respaldo de un solo uso que se muestra al activar la 2FA. Sin ellos, recuperar la cuenta suele requerir una verificación manual de identidad por parte del propietario de la app, así que conviene planificarlo antes del lanzamiento.

Mythex · Pricing · Crea lo que quieras con IA · Plantillas de sitios web y apps · Mythex comparado · Glosario de creación de apps con IA · Herramientas gratuitas para crear apps con IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)