2FA (Two-Factor Authentication) o  Autenticación de dos factores (A2F), es un método que confirma que un usuario es quien dice ser, combinando dos componentes diferentes de validación de su identidad, de entre los siguientes:

  1. Algo que sabe: como por ejemplo una contraseña, una frase, un PIN o cualquier otro dato que sólo el usuario conoce.
  2. Algo que tiene: como por ejemplo una app en un dispositivo móvil smartphone (con Google Authenticator, Microsoft Authenticator, etc.), un correo electrónico, una tarjeta con un chip, el DNI electrónico, la tarjeta de crédito bancario, una tarjeta identificativa, un toquen en pendrive, etc.
  3. Algo que es: la voz, el iris, facial, la huella dactilar, etc.

La autenticación en dos factores será la que combine dos de los métodos anteriores, por ejemplo, la petición de usuario, contraseña y una clave adicional generada desde el dispositivo móvil del usuario (con Google Authenticator por ejemplo).

Es el método más extendido en la actualidad para acceder a cuentas de correo como GMail, o de WhatsApp, Facebook, Twitter, Instagram, etc.. Aunque generalmente se solicita que el usuario active voluntariamente esta capa de protección adicional.

La autenticación en dos pasos o verificación en dos pasos, habitualmente, es un método de confirmar la identidad de un usuario utilizando algo que conocen (contraseña) y un segundo factor distinto a lo que sean o posean. Un ejemplo de un segundo paso es que el usuario tenga que introducir algo que le sea enviado a través de un medio alternativo (como por correo electrónico) o bien, como hemos comentado anteriormente, a través de una clave generada en su móvil.

En el siguiente enlace se muestra un ejemplo en C# para dotar a una aplicación de 2FA con Google Authenticator: