¿Es seguro compartir un código QR 2FA?

No, y lo más útil es saber por qué: quién ve un código QR compartido, qué puede hacer con él, y si una filtración merece un restablecimiento.

No. Un código QR 2FA es el segundo factor de la cuenta bajo una forma que una cámara sabe leer: compartir uno equivale a distribuir una copia permanente de la credencial, que nadie puede contar y que nadie puede recuperar. Existen dos situaciones estrechas donde hacerlo deliberadamente se defiende, y están hacia el final de este artículo, pero la respuesta por defecto se sostiene.

Lo que contiene la imagen y si una segunda aplicación la aceptará se trata en ¿se puede compartir un código QR de Google Authenticator?. Este artículo habla de aquello sobre lo que la decisión descansa de verdad: quién acaba viendo un código QR compartido, qué puede hacer con él, y cómo juzgar si una filtración concreta merece que se actúe. Si lo que necesitas sobre todo es una forma de hacer llegar códigos a tus compañeros sin pasar por la imagen, empieza por compartir los códigos de Google Authenticator en equipo.

Quién ve un código QR compartido, en la práctica

El problema no es que un compañero no sea digno de confianza. Es que un código QR es una imagen, y que las herramientas sobre las que funciona una organización están hechas para almacenar, indexar y reenviar imágenes. Cada uno de los casos siguientes tiene una audiencia real, rara vez la que tenías en mente.

  • Un canal de conversación. La audiencia es todo el canal más todos los que se añadan después, porque el historial es buscable. Alguien que llegue dentro de catorce meses lo encuentra escribiendo el nombre de la cuenta.
  • Un carrete de fotos sincronizado. Alguien captura la pantalla de inscripción para escanearla más tarde. La audiencia son todos los dispositivos conectados a esa cuenta de fotos.
  • Una pantalla compartida durante una reunión de incorporación. La audiencia son los participantes, y después todos los que tienen acceso a la grabación y al archivo de esa serie de reuniones.
  • Una pizarra fotografiada. Una inscripción presencial da sensación de circuito cerrado; la foto que se hizo para que cada uno pudiera escanearla, no, y anda por un carrete sin nada que diga lo que es.
  • Un ticket de soporte. Pegado para mostrar lo que se configuró. La audiencia es una cola de agentes que rota, más lo que la herramienta de tickets conserve.
  • Una exportación de caja fuerte. Entradas y adjuntos exportados antes de una migración. La audiencia es allí donde fue ese archivo, normalmente un portátil.
  • Un puesto de trabajo desbloqueado. Audiencia pequeña, ventana corta, y merece citarse porque es el único caso que la gente nota de verdad cuando ocurre.

Ninguno de estos casos supone que alguien se porte mal, y ninguno deja rastro en los ajustes de seguridad de la cuenta. Es esa segunda propiedad la que hace necesario el resto de este artículo.

Lo que puede hacer de verdad quien lo tiene

Seamos precisos, porque exagerar es la mejor forma de dejar de ser escuchado.

Cualquiera que tenga la imagen puede generar códigos válidos indefinidamente, en su propio dispositivo, y sus códigos son indistinguibles de los tuyos: las mismas cifras, el mismo ritmo. Es una propiedad del protocolo más que un defecto, y es la misma mecánica que explora ¿pueden varias personas usar el mismo TOTP?.

Lo que no puede hacer es conectarse. Sigue necesitando la contraseña.

La descripción exacta de un código QR expuesto es, pues, que la cuenta ha perdido su segundo factor frente a un grupo concreto de personas, no que la cuenta esté comprometida. Para todos los demás, la 2FA funciona como estaba previsto y una contraseña robada no deja entrar a nadie. Para quienes tienen la imagen, la cuenta ha vuelto a la contraseña sola.

Esa distinción se derrumba en unos cuantos casos corrientes, que conviene comprobar antes de concluir que una filtración fue menor:

  • La contraseña pasó por el mismo canal. Un código QR y una contraseña en el mismo hilo son una credencial, no dos.
  • La contraseña está reutilizada o es adivinable, o vive en una caja fuerte que las mismas personas pueden alcanzar.
  • El restablecimiento de la contraseña pasa por un buzón que esas personas pueden leer, lo que convierte al segundo factor en lo único que hay entre ellas y un restablecimiento.

Por qué ese riesgo es incómodo

Una contraseña filtrada es desagradable pero tratable: se cambia, la antigua muere, y la mayoría de los servicios anotan su última modificación. Una sesión robada caduca o se puede cerrar. Un código QR expuesto no ofrece nada de eso.

Nada en la cuenta parece distinto después. Ninguna lista de dispositivos, ningún registro de inscripción, ningún evento que diga que una segunda aplicación se ha puesto a generar códigos.

El secreto detrás de la imagen tampoco tiene vida útil. Deja de funcionar cuando la 2FA se reconfigura en la cuenta, y en ningún otro momento.

Y las copias no se cuentan. Sabes a quién le enseñaste la imagen; cuántas copias siguieron después, y dónde están, no hay ningún sitio donde comprobarlo.

La comparación cotidiana más cercana es una llave copiada sin registro. La cerradura sigue funcionando y la llave sigue girando, y no tienes forma de establecer cuántas hay en circulación. El único remedio es cambiar la cerradura, y por eso la respuesta a un código QR expuesto es una reinscripción y no una limpieza. Las propiedades del secreto subyacente, y por qué no se pueden esquivar, se exponen en cómo funcionan los secretos TOTP (y por qué no hay que compartirlos).

Juzgar si una filtración merece un restablecimiento

La mayoría de los equipos que se hacen la pregunta ya han compartido un código QR en algún sitio y quieren saber si es grave. Cinco preguntas llevan a una respuesta honesta.

¿Era privado el canal, y cuánto tiempo guarda las cosas? Un mensaje directo que se borra solo entre dos personas no es el mismo objeto que un canal con historial buscable y cuarenta miembros.

¿Quién ha podido leerlo desde entonces? No quién estaba presente en el momento de la publicación: quién se ha añadido desde entonces, quién puede abrir la exportación o la grabación, quién administra la plataforma.

¿Tomó la contraseña el mismo camino? Si es así, deja de contar puntos y trata esto como una exposición de la cuenta y no del segundo factor.

¿Qué hay detrás de la cuenta? El dinero, los dominios, los datos de clientes, los derechos de publicación y la infraestructura cloud van en una misma cesta. Un panel de informes de solo lectura va en otra.

¿Cuesta un restablecimiento una hora o un día? Cuenta las personas que necesitarán acceso a los códigos después, la presencia de los códigos de recuperación, y la existencia de un automatismo que se conecte con esa cuenta.

Dos respuestas deciden por sí solas. Si la contraseña pasó por el mismo camino, restablece. Si la cuenta guarda dinero, infraestructura o datos de clientes, restablece incluso cuando la filtración parezca contenida, porque el coste de equivocarse no es simétrico. Si no, estás poniendo en la balanza un riesgo pequeño y no medible frente a trabajo real, y aceptarlo es un desenlace legítimo. Anotar que lo has aceptado es lo que separa una decisión de algo que nadie tuvo tiempo de hacer.

Cuando «sí, pero» es la respuesta honesta

Dos casos en los que compartir la imagen es un compromiso razonable.

Dos administradores inscribiendo sus propios dispositivos desde una sola pantalla. Comprueba primero si el proveedor acepta varias aplicaciones de autenticación: si es así, cada uno se inscribe por separado y no hay ningún código QR que compartir. Allí donde solo se permite una inscripción y la cuenta no puede depender de un solo teléfono, mostrar el código a un compañero con nombre, en la sala, sin capturar ni enviar nada, compra disponibilidad al precio del recuento de copias. Anota quién lo tiene: es esa nota la que convertirá su salida en un restablecimiento programado y no en una copia olvidada.

Una cuenta sin nada detrás. Una herramienta en plan gratuito, sin datos bancarios ni datos de clientes. El coste del restablecimiento supera al de la filtración, y pretender lo contrario gasta atención donde no sirve de nada.

Ninguno de los dos se extiende a publicar la imagen en un canal, y ninguno es una política. Son excepciones que se justifican una a una.

Si ya ha salido

Versión corta, el procedimiento completo vive en otro sitio.

  1. Pasa por las cinco preguntas de arriba y decide si esa cuenta va en la cesta de «restablecimiento».
  2. Si es así, ten los códigos de recuperación a mano antes de tocar nada, después desactiva y vuelve a inscribir la 2FA para que cada copia existente deje de funcionar, y después concede el acceso a los códigos sin distribuir el nuevo secreto. La versión ordenada, con las sesiones, tokens y aplicaciones conectadas que un restablecimiento de la 2FA deja funcionando, está en cómo funcionan los secretos TOTP (y por qué no hay que compartirlos).
  3. Borra la imagen allí donde puedas alcanzarla, considerándolo orden y no remediación. Las copias que cuentan se hicieron en el momento del escaneo.
  4. Escribe una línea diciendo dónde vive el nuevo secreto y quién puede alcanzarlo.

Evitar la reincidencia supone que la imagen deje de ser el mecanismo de distribución, que es el tema de compartir códigos TOTP sin compartir el secreto.

Dónde se sitúa Share Auth

Share Auth existe para que el código QR se escanee una vez, por la caja fuerte, y no tenga que volver a mostrarse nunca. El secreto se introduce una sola vez y se cifra en reposo; los miembros invitados ven el código vigente y su cuenta atrás en lugar del secreto de detrás. Los permisos se ajustan por miembro y por cuenta, cada consulta se escribe en un registro de accesos, y retirar a un miembro retira su acceso en todas partes de golpe. Hay una API para las cuentas a las que se conecta un automatismo.

El plan gratuito cubre tres secretos y tres miembros sin tarjeta bancaria, lo justo para mover las cuentas compartidas cuyo código QR anda ahora mismo por un canal de conversación.

En resumen

  • Un código QR compartido es una copia permanente e incontable del segundo factor.
  • Su audiencia real es un índice de búsqueda, un carrete sincronizado o una cola de soporte, no la persona a la que querías ayudar.
  • Quien lo tiene te cuesta el segundo factor, no la cuenta, salvo que la contraseña haya viajado con él.
  • El riesgo es inobservable, sin caducidad e incontable: la reinscripción es el único remedio.
  • Decide cuenta por cuenta, restablece sin dudar cuando hay dinero o datos de clientes detrás, y anota lo que has decidido.

Preguntas frecuentes

La confianza no es realmente la variable. La imagen sobrevive a la relación laboral en la que se compartió, no se puede contar, y no se puede retirar sin reconfigurar la 2FA de la cuenta. No apuestas por el buen comportamiento de una persona, apuestas por que cada copia de esa imagen se quede donde la viste por última vez.

Sigue leyendo · Aplicaciones de autenticación