1. Por qué conocer tu contraseña no siempre basta para entrar en tu cuenta
Si alguien sabe tu usuario y contraseña, en la pantalla no puede distinguirse de ti. Una puerta que solo usa contraseña se abre en cuanto la conocen. Por eso se añade una segunda llave. La IPA explica que, aunque se usen indebidamente el ID y la primera contraseña, no se puede iniciar sesión, lo que ayuda a prevenir accesos no autorizados [2]. La CISA de Estados Unidos también indica que los usuarios con autenticación de múltiples factores son más difíciles de hackear; si no cumplen la segunda condición, se detiene la intrusión aunque roben la contraseña [3]. Sin embargo, si la segunda llave es muy parecida a la contraseña, podría robarse junto con ella. ¿Qué tipos de llaves se combinan?
2. Los tres tipos de elementos de autenticación: lo que sabes, lo que tienes y lo que eres
Según el Ministerio de Asuntos Internos y Comunicaciones, hay tres tipos de elementos para la autenticación [1]. El primero es lo que «sabes», como la contraseña. El segundo es lo que «tienes», como un teléfono inteligente. El tercero es lo que «eres», como la huella digital, las venas, la cara o el iris. Usar dos o más de estos elementos es la autenticación de múltiples factores. Puede ser contraseña y huella, o contraseña y teléfono. NIST también define la autenticación de múltiples factores como la posesión y gestión de dos elementos de autenticación diferentes [4]. «Introducir la contraseña dos veces» no cuenta, porque repites el mismo tipo. NIST SP 800-63B requiere que, para el nivel AAL2, se demuestre la posesión y gestión de dos elementos diferentes mediante un protocolo seguro [4]. ¿Cómo genera números el teléfono que «tienes»?
3. Cómo el teléfono y el servidor calculan el mismo número usando el reloj, sin enviarlo
El número de la aplicación no llega por internet. Se calcula dentro del teléfono. El método HOTP, definido en diciembre de 2005, fue la base para el sistema actual. Usa HMAC para crear contraseñas de un solo uso, permitiendo autenticar con lo que «sabes» y lo que «tienes» (un token). HOTP usa el contador de usos como material [5]. TOTP, de mayo de 2011, usa el tiempo en lugar del contador. Toma el tiempo UNIX actual, resta una hora base y divide por intervalos, por ejemplo, de 30 segundos para obtener el valor de HOTP. El teléfono y el servidor tienen una clave secreta compartida previamente y calculan el valor con la misma fórmula para compararlos [6]. Solo se transmite el número que tú escribes. Con intervalos de 30 segundos, hay 2880 intervalos al día (86400 ÷ 30). Como el número cambia cada intervalo, si ven un número anterior, no sirve para el siguiente. ¿Qué pasa si el reloj del teléfono está desajustado? El RFC seleccionó los 30 segundos como un equilibrio entre seguridad y facilidad de uso [6].
4. Por qué el código funciona aunque el reloj del teléfono tenga una pequeña diferencia
El reloj del teléfono puede desajustarse ligeramente. Para permitir el acceso aunque no coincida exactamente con el servidor, el RFC recomienda que el lado que verifica acepte valores desplazados hasta un intervalo como máximo, para tener en cuenta el retraso de la comunicación [6]. Si el intervalo es de 30 segundos, se acepta un valor desplazado como máximo un intervalo. Algunas implementaciones permiten también intervalos anteriores y siguientes. Si el desfase persiste, se puede registrar para futuras verificaciones. Ampliar el margen aumenta los números válidos, lo que beneficia a los atacantes. Según el RFC, los 30 segundos estándar se eligieron por el equilibrio entre seguridad y usabilidad [6]. Hasta ahora hablamos de lo que «tienes». ¿Dónde se ubica la huella o la cara, que son parte de «ser»?
5. Por qué la huella y la cara no son secretos y se usan junto con el dispositivo
La huella y la cara parecen seguras porque no se olvidan ni se pierden. Pero NIST indica que las características biométricas no son secretas. Las fotos de tu cara pueden encontrarse en línea o tomarse sin tu consentimiento con teléfonos con cámara [4]. La contraseña está en tu cabeza, pero tu cara está a la vista. Por eso, NIST pide no usar la biometría sola, sino como parte de la autenticación de múltiples factores junto con un dispositivo físico (lo que «tienes») [4]. Esto no significa que la biometría sea peligrosa, sino que no debe ser la única llave. De hecho, al desbloquear el teléfono con la huella, se usa junto con «tener ese teléfono». ¿Qué tipos de segunda llave son más efectivos?
6. Comparación de la segunda llave: códigos SMS, confirmación en el dispositivo y llaves de seguridad
Un estudio de un año (publicado en mayo de 2019) por Google, NYU y UCSD mostró diferencias en la efectividad según el tipo de segunda llave. Fue una investigación sobre cuentas de Google, midiendo la «tasa de prevención» [7]. Los códigos SMS enviados al teléfono de recuperación previnieron el 100% de bots automáticos, el 96% de phishing masivo y el 76% de ataques dirigidos. La confirmación en el dispositivo previno el 100%, 99% y 90%, respectivamente. Los usuarios que solo usaban llaves de seguridad no sufrieron ningún ataque de phishing dirigido durante el estudio [7]. Aunque ambas son «segundas llaves», el SMS tiene un 76% contra ataques dirigidos, mientras que la confirmación en el dispositivo tiene un 90%. NIST trata la verificación por líneas telefónicas (como SMS) como «limitada» y sujeta a revisión según las amenazas; no está prohibida, pero tiene condiciones [4]. Todas estas llaves implican «escribir y enviar». ¿Hay una forma de no enviar secretos?
7. Qué envían las llaves de acceso (passkeys) si no mandan ningún secreto
Las llaves de acceso (passkeys) se basan en el estándar FIDO. La información de autenticación se guarda en el dispositivo o en una llave de seguridad [8]. Usan criptografía de clave pública, por lo que al servidor se le entrega una «firma que solo el usuario puede crear», no la contraseña o el secreto en sí. Además, la información de la huella o la cara permanece en el dispositivo y no se envía al servidor. El servidor solo recibe información que indica que la verificación de identidad en el dispositivo fue exitosa [8]. Aplicando los tres tipos de llaves, las passkeys combinan el dispositivo (lo que «tienes») y la verificación de identidad dentro del dispositivo (biometría o PIN) sin enviar secretos.
8. Actividad: busca la autenticación en dos pasos o las passkeys en los ajustes de tus servicios
Junto con un adulto, busca en los ajustes de servicios que uses frecuentemente las opciones de «autenticación en dos pasos» o «passkeys». Solo míralas, no cambies la configuración. Si las encuentras, piensa si esa segunda llave es algo que sabes, tienes o eres. Aunque uses SMS o una aplicación de autenticación, ambas son «lo que tienes», pero el número se genera en lugares distintos. Si usas una aplicación de autenticación, mide con un reloj cuánto tarda en cambiar el número. Puedes verificar si cambia cada 30 segundos aproximadamente mirando la pantalla. No muestres el número a otras personas. Si quieres saber más, el sitio de ciberseguridad del Ministerio de Asuntos Internos y Comunicaciones está en japonés [1]. Si deseas leer el original en inglés, puedes consultar el RFC 6238 sobre TOTP [6].