Skip to Content

MFA adaptativo y puntuación de riesgo

El MFA tradicional es binario: o cada inicio de sesión requiere un segundo factor, o ninguno lo requiere. Esto crea una tensión entre seguridad (siempre requerir MFA) y experiencia de usuario (el MFA añade fricción). El MFA adaptativo resuelve esta tensión requiriendo autenticación adicional solo cuando el inicio de sesión parece arriesgado.

Auris implementa MFA adaptativo a través de un motor de puntuación de riesgo que evalúa cada intento de autenticación en cinco dimensiones. Cuando la puntuación de riesgo calculada supera un umbral configurable, Auris escala los requisitos de autenticación.

El modelo de puntuación de riesgo de 5 factores

Factor 1: Reputación de IP

El motor evalúa la reputación de la dirección IP de origen.

SeñalContribución al riesgo
IP residencial limpia0 (base)
Nodo de salida VPN conocido+10 a +25
Proxy o anonimizador+15 a +30
IP de centro de datos / cloud+10 a +20
IP en lista de bloqueo de abusos conocida+30 a +50
Nodo de salida Tor+25 a +40

Factor 2: Confianza del dispositivo

El motor compara la huella digital del dispositivo actual con las huellas digitales vistas anteriormente para este usuario.

SeñalContribución al riesgo
Dispositivo conocido (huella digital vista antes)0 (base)
Dispositivo nuevo (huella digital nunca vista)+15 a +25
Cálculo de huella digital fallido+10

Las huellas digitales de dispositivos se calculan como un hash SHA-256 de características del navegador (user agent, resolución de pantalla, zona horaria, idioma, plugins instalados).

Factor 3: Anomalía geográfica (viaje imposible)

El motor comprueba si la ubicación del inicio de sesión es físicamente plausible dada la historial de inicios de sesión recientes del usuario.

SeñalContribución al riesgo
Misma ciudad que el último inicio de sesión0 (base)
Mismo país, ciudad diferente+5
País diferente, tiempo de viaje plausible+10 a +15
País diferente, tiempo de viaje imposible+30 a +50

La velocidad máxima de viaje predeterminada es 900 km/h (velocidad aproximada de avión comercial). Si la velocidad requerida supera este umbral, el inicio de sesión se marca como viaje imposible.

La detección de viaje imposible considera el uso de VPN. Si la IP se identifica como un nodo de salida VPN, la puntuación de anomalía geográfica se reduce para prevenir falsos positivos en usuarios que cambian de servidor VPN entre inicios de sesión.

Factor 4: Señales de comportamiento

El motor analiza el comportamiento de inicio de sesión del usuario.

SeñalContribución al riesgo
Hora del día dentro del patrón normal del usuario0 (base)
Hora inusual (por ejemplo, 3 AM para un usuario que típicamente inicia sesión 9-5)+5 a +15
Múltiples intentos fallidos de contraseña antes de éxito+10 a +20
Escritura inusualmente rápida (posible bot)+5 a +15

Factor 5: Inteligencia de amenazas

El motor verifica si las credenciales del usuario aparecen en bases de datos de violaciones conocidas.

SeñalContribución al riesgo
Contraseña no encontrada en bases de datos de violaciones0 (base)
Contraseña encontrada en violación conocida+20 a +40
Dirección de email objetivo de phishing conocido+10 a +25

Umbrales y acciones

La puntuación combinada determina la acción:

Rango de puntuaciónAcción predeterminada
0–24Permitir (sin fricción adicional)
25–49Requerir MFA si no se completó en esta sesión
50–74Requerir MFA independientemente del estado de sesión
75–89Requerir MFA + notificar al usuario por email
90–100Bloquear inicio de sesión + notificar al usuario + alertar al admin

Los umbrales son configurables por tenant en Consola → Seguridad → MFA adaptativo.

Claims ACR y AMR

Después de la autenticación, el nivel de autenticación se registra en los tokens:

ACR (Authentication Context Class Reference): El nivel de autenticación alcanzado.

Valor ACRSignificado
urn:auris:loa:1Solo factor primario (contraseña, magic link)
urn:auris:loa:2Múltiples factores completados
urn:auris:loa:3Múltiples factores + hardware criptográfico (WebAuthn)

AMR (Authentication Methods Reference): Los métodos de autenticación específicos usados.

Valor AMRMétodo
pwdContraseña
otpContraseña de un solo uso (SMS o TOTP)
webauthnWebAuthn / FIDO2
magicMagic link
socialSocial login (Google, GitHub, etc.)

Tu API puede usar el claim ACR para aplicar políticas de acceso:

const session = await getSession() if (session.acr < 'urn:auris:loa:2') { // Requerir escalada de autenticación return redirect('/auth/step-up') }