Resumen
Muchas organizaciones han preguntado si es posible determinar si un usuario ha completado la autenticación multifactor (MFA) a partir de las notificaciones (claims) de un token de seguridad, como una respuesta SAML o un token OAuth. En este artículo, explicaré cómo Entra ID (antes Azure AD) incluye esta información en los tokens de seguridad y cómo puede verificarla para su caso de uso.
Comprender las notificaciones de autenticación
Notificaciones de autenticación SAML y OAuth
- Tokens SAML: Entra ID usa el nombre de notificación
http://schemas.microsoft.com/claims/authnmethodsreferencespara indicar el método de autenticación utilizado durante el proceso de inicio de sesión. - Tokens OAuth: el valor
amr(Authentication Methods References, referencias de métodos de autenticación) se usa para especificar el método de autenticación en los tokens OAuth.
Configuración de Entra ID
La buena noticia es que Entra ID incluye la notificación http://schemas.microsoft.com/claims/authnmethodsreferences de forma predeterminada para indicar si se completó la MFA. No se requiere ninguna configuración adicional en Entra ID.
Cómo comprobar las notificaciones de MFA en los tokens de seguridad
Caso 1: inicio de sesión solo con contraseña (sin MFA)
Si un usuario inicia sesión solo con su contraseña (sin MFA), la notificación http://schemas.microsoft.com/claims/authnmethodsreferences tendrá un único valor:
- Valor de la notificación:
http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password
Ejemplo de la notificación en el token:
<Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences">
<AttributeValue>http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue>
</Attribute>
Caso 2: inicio de sesión con contraseña y MFA
Si un usuario inicia sesión con contraseña y MFA (por ejemplo, una aplicación de autenticación u otro método de verificación), la notificación http://schemas.microsoft.com/claims/authnmethodsreferences incluirá dos valores:
- Valores de la notificación:
http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/passwordhttp://schemas.microsoft.com/claims/multipleauthn
Ejemplo de la notificación en el token:
<Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences">
<AttributeValue>http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue>
<AttributeValue>http://schemas.microsoft.com/claims/multipleauthn</AttributeValue>
</Attribute>
Cómo verificar que se completó la MFA
Para verificar si se completó la MFA, solo tiene que comprobar la presencia del valor http://schemas.microsoft.com/claims/multipleauthn en el nombre de notificación http://schemas.microsoft.com/claims/authnmethodsreferences.
- Si el valor está presente: se completó la MFA.
- Si el valor no está presente: el usuario inició sesión solo con su contraseña.
Por qué es importante
Al comprobar las notificaciones de los tokens de seguridad, puede confirmar mediante programación si la MFA se aplicó durante la autenticación. Esto es especialmente útil para las organizaciones que deben garantizar el cumplimiento de las políticas de seguridad o integrarse con proveedores externos que exigen la verificación de la MFA.
Conclusión
Entra ID facilita la verificación de las notificaciones de MFA en los tokens de seguridad al incluir la información necesaria de forma predeterminada. Tanto si trabaja con tokens SAML como OAuth, la notificación http://schemas.microsoft.com/claims/authnmethodsreferences proporciona los detalles necesarios para determinar si se completó la MFA durante el inicio de sesión de un usuario.
Si va a implementar esto en su organización o necesita compartirlo con un socio o proveedor, simplemente remítalos a los valores de notificación correspondientes indicados anteriormente.