Contraseña de un solo uso
Una contraseña de un solo uso (OTP) es una contraseña desechable que deja de ser válida una vez utilizada. Mientras que una contraseña fija, si se filtra, se aprovecha de forma repetida, con la OTP no se puede reutilizar un código ya usado, por lo que aumenta la resistencia a los ataques de relleno de credenciales y al phishing.
A grandes rasgos, la OTP tiene dos métodos. TOTP (Time-based One-Time Password) genera un código de 6 dígitos cada 30 segundos a partir de una clave secreta y la hora actual. HOTP (HMAC-based One-Time Password) genera el código a partir de una clave secreta y un valor de contador. Hoy en día el método predominante es TOTP, que adoptan aplicaciones de autenticación como Google Authenticator y Microsoft Authenticator.
El código QR desempeña un papel imprescindible en la configuración inicial de TOTP. Que el usuario introduzca a mano la clave secreta generada por el servicio supone teclear una cadena Base32 de 32 caracteres, lo cual no es realista. Por eso, la clave secreta se codifica en un URI con el formato otpauth://totp/... y se muestra como código QR. Con solo escanear el código QR con la aplicación de autenticación, la clave secreta queda registrada de forma segura en la aplicación.
Este mecanismo impulsó en gran medida la difusión de la autenticación de dos factores (2FA). Sin la configuración en un solo paso mediante código QR, la barrera para que los usuarios en general adoptaran TOTP probablemente habría sido mucho más alta. Es un buen ejemplo de cómo compaginar seguridad y comodidad.