Get your free and exclusive 80-page Banking Passkey Report
qr code login methods authentication cover

Métodos de inicio de sesión con código QR y autenticación

Compara el inicio de sesión con código QR a través de aplicaciones nativas y passkeys para una autenticación segura y cómoda. Descubre el mejor método para tu organización.

Vincent Delitz

Vincent

Created: August 8, 2025

Updated: August 8, 2025


See the original blog version in English here.

Our mission is to make the Internet a safer place and passkeys provide a superior solution to achieve that. That's why we want to keep you updated with the latest industry insights here.

1. Introducción: Autenticación con códigos QR#

Los métodos de autenticación seguros y cómodos son más cruciales que nunca. Con el creciente número de servicios en línea a los que accedemos a diario en diferentes dispositivos, los sistemas tradicionales basados en contraseñas son cada vez menos eficaces y más engorrosos. Especialmente para las empresas con un gran número de usuarios en sus aplicaciones nativas (iOS o Android), esto ha llevado a una creciente demanda de inicios de sesión basados en códigos QR, que ofrecen una forma rápida y sencilla de autenticar a los usuarios sin necesidad de teclear contraseñas complejas o incluso nombres de usuario.

En este contexto, surgen preguntas como las siguientes:

  • ¿Cómo funciona la autenticación basada en códigos QR con aplicaciones nativas?
  • ¿Cómo se compara con la autenticación basada en códigos QR con passkeys?

Native QR Code Revolut Passkeys QR Code Apple

Ejemplos destacados de códigos QR en inicios de sesión de aplicaciones nativas son servicios que priorizan la app, como WhatsApp, TikTok o Revolut. Al mismo tiempo, hay una lista de empresas que admiten el inicio de sesión con passkeys que crece rápidamente.

En este artículo, exploraremos las técnicas de autenticación basadas en códigos QR. No nos centraremos en los códigos QR TOTP utilizados para la inicialización del segundo factor (con aplicaciones adicionales como Authy o Google Authenticator).

También compararemos diferentes métodos de autenticación basados en QR, examinando sus puntos fuertes, débiles y posibles vulnerabilidades.

Al final, tendrás una idea más clara de si la autenticación basada en códigos QR es la opción adecuada para tus necesidades de seguridad.

2. ¿Qué son los códigos QR?#

Los códigos QR, o códigos de respuesta rápida, son códigos de barras bidimensionales que pueden almacenar una gran variedad de información, desde URL hasta texto sin formato. Desarrollados originalmente en 1994 por Denso Wave, una filial del Grupo Toyota, los códigos QR se diseñaron para realizar un seguimiento rápido y eficaz de las piezas de automoción. Desde entonces, los códigos QR han evolucionado y se han hecho un hueco en diversas industrias gracias a su capacidad para almacenar una gran cantidad de datos en un pequeño cuadrado escaneable.

El término «código QR» es en realidad una marca registrada de Denso Wave, aunque la tecnología en sí se ha adoptado ampliamente y no está restringida por la marca. Los códigos QR se caracterizan por sus patrones cuadrados en blanco y negro, que pueden escanearse con un smartphone o un dispositivo de escaneo específico (escáner QR) para acceder a la información codificada.

La compatibilidad con los códigos QR se ha integrado en los sistemas operativos móviles como iOS y Android desde hace varios años. Ambas plataformas admiten de forma nativa el escaneo de códigos QR a través de sus respectivas aplicaciones de cámara, lo que facilita a los usuarios la interacción con los códigos QR sin necesidad de software adicional.

Substack Icon

Subscribe to our Passkeys Substack for the latest news.

Subscribe

Generalmente, los códigos QR utilizados junto con aplicaciones aprovechan URL personalizadas o enlaces de aplicaciones. Estos enlaces pueden hacer que la aplicación se abra automáticamente si está instalada en el dispositivo. Si la aplicación no está instalada, el código QR puede dirigir al usuario a la tienda de aplicaciones correspondiente para que la descargue e instale, facilitando así una experiencia de usuario fluida. Aquí puedes ver una lista de rutas que Revolut ha registrado para la gestión de la aplicación:

https://revolut.com/.well-known/apple-app-site-association
{ "applinks": { "apps": [], "details": [ { "appID": "QUZEZSEARC.com.revolut.revolut", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.test", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.retail.india", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.retail.india-debug", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.invest", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.invest-debug", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.revolutx", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.revolutx-debug", "paths": ["/app/*"] } ] } }

Como puedes ver, todos los enlaces que empiezan por «/app/*» son gestionados. Verás un ejemplo en la siguiente sección. Al incrustar URL personalizadas y enlaces de aplicaciones en los códigos QR, las empresas y los desarrolladores pueden crear experiencias a medida que llevan a los usuarios directamente a la aplicación o servicio deseado, mejorando tanto la comodidad como la seguridad en las interacciones del usuario.

3. Inicio de sesión con código QR a través de aplicaciones nativas#

El inicio de sesión con código QR a través de aplicaciones nativas aprovecha la interacción fluida entre la cámara de un dispositivo móvil y las URL específicas incrustadas en los códigos QR. El proceso suele comenzar cuando un usuario escanea un código QR que se muestra en un sitio web u otro dispositivo utilizando la cámara de su smartphone. El código QR contiene una URL personalizada diseñada específicamente para interactuar con una aplicación nativa concreta, como las que se encuentran en los dispositivos iOS o Android.

Por ejemplo, un servicio como Revolut podría utilizar un código QR con una URL como https://revolut.com/app/challenges/qr/e2d78521-d38a-4773-b1b8-27a902a36b4b. Esta URL está diseñada para ser reconocida por la aplicación de Revolut instalada en el dispositivo del usuario.

Cuando se escanea el código QR, la aplicación detecta automáticamente este enlace, lo reconoce y muestra la aplicación correspondiente (en el ejemplo anterior, se ve que «Revolut» se identifica como la aplicación coincidente), y procede a gestionar el proceso de inicio de sesión internamente. Esta interacción se ve facilitada por los mecanismos de enlaces profundos (deep linking) que admiten tanto iOS como Android, que permiten que enlaces específicos se abran directamente en una aplicación instalada en lugar de en un navegador web:

Si la aplicación no está instalada en el dispositivo, el sistema operativo normalmente pide al usuario que la instale redirigiéndolo a la tienda de aplicaciones correspondiente, ya sea la App Store de Apple para dispositivos iOS o la Google Play Store para dispositivos Android.

Esto garantiza que, aunque el usuario no tenga la aplicación instalada inicialmente, pueda obtenerla rápida y fácilmente, y continuar el proceso tras la instalación.

En la mayoría de los casos, los clientes existentes que ya han instalado la aplicación experimentarán un proceso de inicio de sesión fluido. Escanean el código QR, la aplicación se abre automáticamente y la autenticación se completa sin necesidad de introducir un nombre de usuario o una contraseña. Este método proporciona principalmente comodidad a los usuarios, ya que no se transmite información sensible durante el proceso de escaneo del código QR.

Lo que ocurre técnicamente es que se utiliza una sesión ya iniciada en un teléfono móvil para autenticar una nueva sesión en el ordenador de sobremesa. Existen diferentes técnicas para ello. Una versión muy elaborada se publica en el Whitepaper de seguridad de WhatsApp en el apartado Registro de clientes à Registro de dispositivos asociados à Enlace mediante código QR.

Extraído de https://engineering.fb.com/2021/07/14/security/whatsapp-multi-device/

Como WhatsApp admite el acceso multidispositivo y el cifrado de extremo a extremo desde 2021, la arquitectura no es perfectamente adecuada para la autenticación, ya que el protocolo está diseñado principalmente para una aplicación de mensajería multidispositivo. Existen enfoques más sencillos para lograr un protocolo de enlace seguro, dependiendo de la implementación real de la autenticación. Lo que hay que tener en cuenta es que siempre se debe garantizar un manejo seguro de las sesiones de usuario y de los canales de comunicación entre el dispositivo y el servidor. Independientemente de la complejidad de la implementación del inicio de sesión con autenticación por código QR, siempre deben seguirse algunos principios de seguridad clave:

  1. Integridad de la sesión: La sesión existente iniciada en el teléfono móvil, utilizada para autenticar una nueva sesión en un ordenador de sobremesa u otro dispositivo, debe validarse de forma segura. Esto suele implicar la comprobación de la autenticidad de la sesión mediante tokens seguros u otros métodos criptográficos para evitar el secuestro de sesiones o los ataques de repetición.
  2. Comunicación cifrada: Toda la comunicación entre la aplicación móvil, el servidor y el dispositivo que solicita la autenticación debe estar cifrada mediante HTTPS. Esto ayuda a garantizar que la información sensible, incluidos los tokens de sesión y los datos de inicio de sesión, no pueda ser interceptada o manipulada durante la transmisión.
  3. Generación segura de tokens: Cualquier token o credencial generada para el proceso de autenticación con código QR debe generarse de forma segura. Esto podría incluir vincularlo al dispositivo solicitante para que no pueda ser utilizado en otros dispositivos como medida de precaución (por ejemplo, Browser-Agent).
  4. Inicio de sesión verificado por el usuario: Antes de finalizar el proceso de autenticación, se recomienda disponer de un paso en el que el usuario pueda verificar o confirmar el intento de inicio de sesión. Podría ser en forma de una notificación en el dispositivo móvil que requiera la aprobación del usuario y muestre los detalles de la autenticación, añadiendo una capa extra de seguridad (como se puede ver en la captura de pantalla anterior).
  5. Restricciones basadas en el tiempo: Implementa restricciones basadas en el tiempo sobre la validez del código QR para minimizar el riesgo de que el código QR se utilice para un acceso no autorizado si cae en las manos equivocadas. Limitar el periodo de tiempo en el que se puede utilizar un código QR ayuda a reducir las posibles amenazas a la seguridad. Debería actualizarse automáticamente y tener una validez máxima inferior a 120 segundos para evitar ataques de intermediario (man-in-the-middle).
  6. Restricción basada en la ubicación: Las limitaciones relativas a los intentos de inicio de sesión, como las detecciones de «viaje imposible», también deberían aplicarse con los códigos QR. Esto podría implicar la interceptación automática de los intentos de inicio de sesión basándose en inteligencia sospechosa basada en la IP, como la generación de un código QR en EE. UU. mientras la aplicación se abre para la autenticación en Europa.
  7. Limitación de velocidad, registro y monitorización: Implementa una limitación de velocidad, un registro y una monitorización adecuados para detectar y responder a cualquier actividad sospechosa asociada a los inicios de sesión con código QR. Esto ayuda a identificar posibles brechas de seguridad y a tomar medidas oportunas para proteger las cuentas de los usuarios.
  8. Notificación al usuario: Los intentos de inicio de sesión con éxito en un nuevo dispositivo deberían activar una notificación por correo electrónico al usuario con información importante (como cuándo y dónde se intentó el inicio de sesión, con qué dispositivo y dirección IP) e instrucciones sobre qué hacer si el inicio de sesión no fue activado por el usuario (como ponerse en contacto inmediatamente con el servicio, supervisar la cuenta o eliminar todos los dispositivos conectados si el sistema lo admite).

Siguiendo estas buenas prácticas, las empresas pueden implementar una autenticación basada en códigos QR que sea fácil de usar y segura, aprovechando la comodidad de los dispositivos móviles y manteniendo al mismo tiempo sólidas medidas de seguridad para proteger los datos y las sesiones de los usuarios.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

Ahora echemos un vistazo a los inicios de sesión con código QR a través de passkeys.

4. Inicio de sesión con código QR a través de passkeys#

La autenticación basada en passkeys ofrece un sistema de autenticación seguro y entre dispositivos que está integrado en los ecosistemas de iOS y Android y se especifica en el estándar WebAuthn. Actualmente, solo las passkeys creadas en iOS o Android pueden utilizarse para la autenticación entre dispositivos (CDA) a través de códigos QR.

4.1 ¿Cómo funcionan los inicios de sesión con código QR con passkeys?#

Analicemos cómo funciona el inicio de sesión con código QR con passkeys. El siguiente gráfico muestra una visión general de los diferentes pasos.

Tanto en iOS como en Android, las passkeys se almacenan en el autenticador nativo de la plataforma (por ejemplo, Face ID, Touch ID o Android Biometrics). Esto garantiza que las passkeys de un usuario estén disponibles en todos sus dispositivos conectados a la misma ID de Apple (para iOS) o cuenta de Google (para Android) en las versiones modernas del sistema operativo.

4.2 ¿Cuáles son los requisitos para la CDA basada en códigos QR?#

  • Ambos dispositivos necesitan una conexión a Internet activa: Ambos dispositivos implicados en el proceso de autenticación deben tener una conexión a Internet activa. Esto es crucial para sincronizar los datos y verificar las credenciales durante el proceso de autenticación.
  • Ambos dispositivos deben ser compatibles con Bluetooth: Ambos dispositivos deben ser compatibles con Bluetooth, y el Bluetooth debe estar activado. El Bluetooth se utiliza para establecer la proximidad entre los dispositivos, garantizando que los dispositivos estén cerca el uno del otro durante la autenticación, mitigando así el riesgo de phishing desde una ubicación remota.

4.3 Puntos débiles de los inicios de sesión con código QR a través de passkeys#

  • Passkeys de escritorio vinculadas a un dispositivo: Las passkeys que están vinculadas a un dispositivo y en ordenadores de sobremesa, por ejemplo, en plataformas Windows, no son elegibles para la CDA basada en códigos QR.
  • Dependencia de Bluetooth: Depender de Bluetooth a veces puede ser un inconveniente debido a posibles problemas de conectividad o a la configuración del dispositivo que podría interferir con la comprobación de proximidad de Bluetooth. Aunque establecer la proximidad puede mejorar la seguridad, también podría causar problemas de usabilidad si los dispositivos no logran conectarse a través de Bluetooth. Sin embargo, una vez que los dispositivos se emparejan con éxito, las conexiones posteriores suelen ser más sencillas.
Subreddit Icon

Discuss passkeys news and questions in r/passkey.

Join Subreddit

4.4 Puntos fuertes de los inicios de sesión con código QR a través de passkeys#

  • Sin ataques de phishing remotos: El uso de Bluetooth para las comprobaciones de proximidad garantiza que ambos dispositivos estén físicamente cerca el uno del otro durante el proceso de autenticación, lo que reduce el riesgo de ataques de phishing desde ubicaciones remotas.
  • Las passkeys sincronizadas ofrecen una mejor UX: La sincronización de passkeys entre dispositivos también proporciona una experiencia de usuario fluida, ya que los usuarios no necesitan gestionar múltiples conjuntos de credenciales.

4.5 Cómo mejorar la UX para los inicios de sesión con código QR a través de passkeys#

Al implementar la autenticación entre dispositivos (CDA) basada en passkeys, es crucial proporcionar una guía clara a los usuarios sobre el proceso. Se debe informar a los usuarios de que se mostrará un código QR y que necesitan usar su teléfono móvil para escanearlo.

En nuestra opinión, es importante asegurarse de que los códigos QR no se muestren si el usuario no tiene una passkey que pueda ser utilizada para la CDA. Además, es necesario verificar que el sistema operativo y el navegador actuales del usuario admiten la CDA antes de mostrar un código QR.

StateOfPasskeys Icon

Want to find out how many people use passkeys?

View Adoption Data

Para gestionar estos escenarios de forma eficaz, hemos descrito todos los casos críticos en este artículo, por lo que no entraremos en detalles aquí. Nuestro sistema de inteligencia de passkeys está diseñado para gestionar automáticamente estas situaciones, garantizando que los códigos QR solo se muestren cuando sea apropiado y guiando a los usuarios sin problemas a través del proceso de autenticación. Esto garantiza una experiencia fluida al tiempo que se mantiene una alta seguridad y compatibilidad en diversos dispositivos y sistemas operativos.

5. Comparación de los inicios de sesión basados en códigos QR#

En esta sección, resumiremos los dos principales métodos de inicio de sesión basados en códigos QR tratados en este artículo: el inicio de sesión con código QR a través de aplicaciones nativas y el inicio de sesión con código QR a través de passkeys. Cada método ofrece ventajas únicas y es adecuado para diferentes casos de uso en función de factores como la seguridad, la experiencia del usuario y la complejidad de la implementación.

  • El inicio de sesión con código QR a través de aplicaciones nativas aprovecha los enlaces profundos (deep linking) para conectar un código QR con una aplicación específica instalada en un dispositivo móvil. Cuando un usuario escanea el código QR, se activa la aplicación asociada, lo que facilita un proceso de inicio de sesión fluido y seguro. Este método se utiliza habitualmente en aplicaciones que priorizan la app, como WhatsApp, TikTok y Revolut, en las que los usuarios están familiarizados con el entorno de la aplicación y pueden autenticarse fácilmente sin necesidad de introducir una contraseña.
  • El inicio de sesión con código QR a través de passkeys utiliza un enfoque de autenticación entre dispositivos más avanzado que se integra directamente con los autenticadores de la plataforma del sistema operativo (no es necesario instalar ninguna aplicación nativa). Este método está diseñado para proporcionar un alto nivel de seguridad, utilizando passkeys sincronizadas y requiriendo que ambos dispositivos estén muy cerca (verificado a través de Bluetooth) durante el proceso de autenticación. Este método ofrece una fuerte protección contra los ataques de phishing y proporciona una experiencia de usuario optimizada en múltiples dispositivos.

Veamos cómo se comparan ambos métodos y sus diferentes características:

Tabla comparativa: Inicio de sesión con código QR a través de apps nativas vs. Inicio de sesión con código QR a través de passkeys

CaracterísticaInicio de sesión con código QR a través de apps nativasInicio de sesión con código QR a través de passkeys
Requiere aplicaciónSí, requiere una aplicación nativaNo
Requiere despliegue de passkeysNo, es independienteSí, los usuarios deben optar por las passkeys
Esfuerzo de implementaciónAltoAlto
Resistencia al phishing (MFA)NoSí (resistente al phishing y MFA)
Comprobación de proximidadNo
Experiencia de usuarioFluida si la app está instaladaFluida si existe la passkey
Nivel de seguridadMedioMuy alto

Nos hemos centrado en las características basadas en la autenticación en la tabla comparativa, y los requisitos circundantes descritos en la sección tres se aplican a ambas alternativas. Las restricciones basadas en la ubicación y en el tiempo no son necesarias con las passkeys, ya que emplean resistencia al phishing y comprobaciones de proximidad a través de WebAuthn.

Demo Icon

Want to try passkeys yourself in a passkeys demo?

Try Passkeys

6. Conclusión#

Como se describió en la introducción, hemos analizado los dos escenarios más comunes de autenticación entre dispositivos. Resumámoslos brevemente:

  • El inicio de sesión con código QR a través de aplicaciones nativas es ideal para empresas con una sólida base de usuarios en sus aplicaciones nativas, que aún no se plantean implementar passkeys y no están demasiado preocupadas por los ataques de phishing. Este método proporciona comodidad y seguridad al utilizar los mecanismos de autenticación existentes de la aplicación, reduciendo la fricción para los usuarios que la utilizan con frecuencia, pero no ayuda con los inicios de sesión poco frecuentes en la aplicación.
  • El inicio de sesión con código QR a través de passkeys ofrece una opción más segura y flexible, especialmente para entornos en los que la autenticación entre dispositivos es necesaria y las passkeys también se están considerando o ya se utilizan como factor de autenticación. Al aprovechar la autenticación a nivel de plataforma y las comprobaciones de proximidad basadas en Bluetooth, este método extiende el único método de autenticación multifactor resistente al phishing y preparado para el futuro a los casos de uso entre dispositivos.

Para responder a nuestras preguntas de la introducción:

  • ¿En qué se diferencian los dos enfoques? Cada organización debe elegir el método que mejor se adapte a sus necesidades, teniendo en cuenta factores como la base de usuarios, los requisitos de seguridad y la experiencia de usuario deseada. Para los servicios centrados en la aplicación, la integración del inicio de sesión con código QR a través de aplicaciones nativas puede ser suficiente. Sin embargo, para aquellos que priorizan la máxima seguridad y las capacidades entre dispositivos, el inicio de sesión con código QR a través de passkeys presenta una solución robusta.

Independientemente de la evaluación actual sobre qué solución se ajusta a la arquitectura de autenticación existente, hay que tener en cuenta que las passkeys son una inversión en el futuro de la autenticación, ya que el ecosistema se está moviendo claramente en esta dirección. Empezar pronto a recopilar passkeys puede combinarse con diferentes estrategias de CDA.

Learn more about our enterprise-grade passkey solution.

Learn more

Share this article


LinkedInTwitterFacebook

Enjoyed this read?

🤝 Join our Passkeys Community

Share passkeys implementation tips and get support to free the world from passwords.

🚀 Subscribe to Substack

Get the latest news, strategies, and insights about passkeys sent straight to your inbox.

Related Articles