Tradicionalmente, cuando se desea iniciar sesión en un sitio web, tienes que proporcionar tu nombre de usuario y tu contraseña para identificarte ante el sistema. El mayor problema con este enfoque es que tu nombre de usuario y contraseña pueden ser robados o adivinados. Por ejemplo, si tu equipo está infectado con malware o intentas obtener acceso a tu sitio desde una red de confianza, tales como una conexión de wi-fi pública, es posible que alguien pueda interceptar tu nombre de usuario y contraseña. Esto significa que puede iniciar sesión en tu sitio con tus credenciales. Ya que tu nombre de usuario y contraseña se ve comprometidas, tu acceso puede ser suplantado.
La Autenticación de doble factor asegura el inicio de sesión con un código secreto secundario de un solo uso. Esto en ingles se llama "Two-Factor Authentication o 2FA" (wikipedia).
El funcionamiento es simple. un dispositivo (aplicación en el móvil, llave de protección usb, etc.) te proporciona el código secreto y tu lo añades en el formulario de inicio de sesión (ahora tendrás usuario, contraseña y código secreto), este código secreto se renueva cada 30 segundos. Nuestro sistema de acceso verifica que el usuario esta registrado, que la contraseña es correcta y que el código secreto para ese instante dado, es el correcto, tras lo cual inicia sesión.
Evidentemente el control de acceso debe de conocer que aplicación o llave de protección genera ese número secreto para poder deducirlo (caso de la aplicación) o leerlo (caso de la llave usb). Aquí admitimos dos métodos de autentificación de doble factor: la aplicación Google Authenticator y la llave úsb de protección Yubikey. Veamoslos.
Autentificación mediante Google Authenticator
Accedemos a la web de TheosForce, iniciamos sesión y editamos el perfil: