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
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.
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:
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.
Recent Articles
📖
Capacidades de cliente de WebAuthn
📖
API Signal de WebAuthn: Actualizar y eliminar passkeys en el lado del cliente
🔑
Passkeys y la extensión PRF de WebAuthn para el cifrado de extremo a extremo (2025)
📖
Protocolo de Intercambio de Credenciales (CXP) y Formato (CXF) de WebAuthn
📖
WebAuthn pubKeyCredParams y credentialPublicKey: CBOR y COSE
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.
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.
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:
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.
Ahora echemos un vistazo a los inicios 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.
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.
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.
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.
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.
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ística | Inicio de sesión con código QR a través de apps nativas | Inicio de sesión con código QR a través de passkeys |
---|---|---|
Requiere aplicación | Sí, requiere una aplicación nativa | No |
Requiere despliegue de passkeys | No, es independiente | Sí, los usuarios deben optar por las passkeys |
Esfuerzo de implementación | Alto | Alto |
Resistencia al phishing (MFA) | No | Sí (resistente al phishing y MFA) |
Comprobación de proximidad | No | Sí |
Experiencia de usuario | Fluida si la app está instalada | Fluida si existe la passkey |
Nivel de seguridad | Medio | Muy 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.
Como se describió en la introducción, hemos analizado los dos escenarios más comunes de autenticación entre dispositivos. Resumámoslos brevemente:
Para responder a nuestras preguntas de la introducción:
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.
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
Table of Contents