Como en cualquier otro ámbito dentro de una empresa, la ciberseguridad ha de ir de la mano de la usabilidad por parte del usuario. En el caso de cómo nuestros usuarios se autentican está claro que el multiple factor de autenticación ha supuesto un claro avance en ciberseguridad pero dentro de sus múltiples variantes debemos buscar aquella que sea menos intrusiva para el usuario a la vez que más segura. Afortunadamente tenemos un candidato claro en este sentido, las llaves de seguridad FIDO2.

FIDO Alliance Logo

El uso de contraseñas, debe ir gradualmente desapareciendo y el uso de MFA está muy bien pero no debemos quedarnos estancados en sistemas como el SMS sino que debemos intentar, de entre las opciones que tengamos disponibles avanzar a aquellas que sean a la vez más seguras y sencillas para los usuarios. Si nos referimos a Azure AD hablamos de opciones como Windows Hello, la app de autenticación o las llaves de seguridad FIDO2.

Que es FIDO2?

FIDO (Fast IDentity Online) es una organización que se dedica a promover estándares abiertos de autenticación a la vez que a la reducción del uso de contraseñas como métodos de autenticación. La última de las especificaciones de conoce como FIDO2, está incorpora la los protocolos de autenticación web (WebAuthn) cuya API se utilizan las aplicaciones web para acceder a años servicios de FIDO2 y el de cliente (CTAP) utilizado para los dispositivos de autenticación hardware.

En Azure, por ejemplo, los usuarios pueden registrar y luego utilizar una llave de seguridad FIDO2 como método principal de autenticación. Estás llaves pueden ser dispositivos USB, Bluetooth o NFC. En este caso tenemos un dispositivo hardware encargado de la autenticación por lo que no existe una contraseña que pueda ser robada, aumentando de esta manera enormemente nuestra seguridad.
En el caso que nos ocupa, podemos usar este tipo de llaves para loguearnos tanto en Azure AD vía aplicación o navegador como en los propios dispositivos ya de inicio.

Como funciona la autenticación con FIDO2?

  1. Durante el registro de nuestra llave de seguridad, el sistema crea un par de claves mediante el uso de criptografía de clave pública.
  2. La clave pública se registra en nuestra cuenta de usuario en Azure AD mientras que la privada se almacena en nuestra llave. Este par de claves es único para nuestra llave y nuestro usuario.
  3. En el momento de autenticar, Azure AD envía un desafío y el usuario realiza el gesto biométrico (pulsación, PIN..) para desbloquear la llave de seguridad y su clave privada.
  4. Está clave se encarga de verificar el desafío de Azure AD que se envía de vuelta.
  5. por último Azure AD verifica esto contra su clave pública almacenada y si todo es correcto loguea al usuario.

Activar FIDO2 en Azure AD

Vamos ahora a ver cómo con unos sencillos pasos podemos activar este método en nuestro tenant. Una vez en el portal de Azure, seguimos los siguientes pasos

  • Accedemos a Azure Active Directory
  • Clicamos en Security
  • Luego en Authentication methods
  • Y finalmente en Authentication methods policy
  • Una vez aquí, bajo el método FIDO2 podemos elegir si lo tenemos activado o no y a quién va dirigido si a todos los usuarios o solo a usuarios determinados.

Gestión de llaves y registros

Ahora que ya tenemos la primera parte lista vamos a ver cómo los usuarios pueden registrar sus llaves. Una vez logueados en el portal de Office 365, debemos acceder al perfil del usuario. Una vez allí a la sección de Security Info. En caso que el usuario ya tenga activado un método de MFA, puede registrar directamente una llave FIDO2, en caso que no deberá activarlo previamente. Para añadir una llave, clicamos en "añadir método" como cuando creamos app passwords por ejemplo y elegimos la opción de llave de seguridad. Elegimos si se trata de un dispositivo USB o NFC y teniendo nuestra llave a mano clicamos siguiente. En ese momento se nos presentará una pantalla para introducir un número PIN y se nos pedirá la acción para con la llave. Puede ser un gesto biométrico o una pulsación. Una vez hecho esto solo nos quedará asignar un nombre a la llave y finalizar el proceso.

Activar FIDO2 para el login en Windows

Para activar esta funcionalidad hay unos cuantos métodos pero vamos a ver un par el primero a través de Azure (Intune) y el segundo a través de GPO.

Intune Identity Protection

Una vez en el portal de Azure, vamos a Microsoft Intune>Device configuration>Profiles. Allí vamos a crear un perfil para habilitar la autenticación con llaves de seguridad. Seleccionamos las siguientes opciones:

  • Platform: Windows 10 and later
  • Profile: Identity Protection
  • Name: Security Keys for Sign-in (Identity Protection)
  • Description: Configure security keys as a sign-in option for Windows 10 devices.
  • Use security keys for sign-in: Enable
  • Assign to: Selected groups

Como indica al acabar el proceso se creará la siguiente entrada en el registro de los dispositivos

HKLM\SOFTWARE\Microsoft\Policies\PassportForWork\SecurityKey - UseSecurityKeyForSignIn (DWORD): 1

GPO

En segundo lugar, podemos gestionar esto mismo directamente a través de GPO. En este caso accedemos a la ruta Computer Configuration \ Administrative Templates \ System \ Logon \
Y allí marcamos como activa la opción Turn on security key sign-in. En este caso en los dispositivos se activará la siguiente entrada en el registro

HKLM\Software\Policies\Microsoft\FIDO – EnableFIDODeviceLogon (DWORD): 1

Posibles problemas

Tenemos que tener en cuenta que si modificamos el atributo UserPrincipalName el par de claves dejará de funcionar por lo que deberemos regenerarlo de nuevo.

Espero que os sea de utilidad.