Para las organizaciones que operan bajo el marco regulatorio español, la Gestión de Identidades y Accesos (IAM) no es opcional, es una pieza clave para la certificación en el Esquema Nacional de Seguridad (ENS).
El rol de soluciones de gestión de identidad en la arquitectura de seguridad
Existen varias soluciones como Authentik, Authelia o Microsoft Entra ID, pero en este artículo quiero centrarme en Keycloak.
Keycloak se ha consolidado como la solución open-source de referencia para la gestión de identidades. Al actuar como un broker de identidad, permite centralizar la autenticación, eliminando silos de datos y reduciendo la superficie de ataque.
Sus capacidades principales incluyen:
- Single Sign-On (SSO): Una única sesión para múltiples aplicaciones.
- Federación de identidades: Conexión con directorios activos (LDAP/AD) o proveedores sociales.
- Autenticación multifactor (MFA): Crítico para cumplir con los niveles de seguridad "Medio" y "Alto" del ENS.
- Soporte de protocolos estándar: Implementación nativa de OpenID Connect (OIDC), SAML 2.0 y OAuth 2.0.
La conexión con el Esquema Nacional de Seguridad (ENS)
El ENS (Real Decreto 311/2022) exige que las administraciones públicas y sus proveedores tecnológicos garanticen la integridad, confidencialidad y disponibilidad de la información. La gestión de identidades impacta directamente en varias familias de medidas de seguridad:
Implementar Keycloak no garantiza el cumplimiento por sí solo, pero proporciona las evidencias técnicas necesarias para superar una auditoría del ENS, especialmente en lo que respecta a la trazabilidad y la gestión del ciclo de vida del usuario.
Protocolos Estándar: ¿Cuál elegir y cuándo?
No todos los protocolos sirven para lo mismo. En el marco del ENS, la elección del protocolo afecta directamente a la trazabilidad y la robustez del intercambio de datos.
1. OpenID Connect (OIDC)
Es una capa de identidad sobre el protocolo OAuth 2.0. Es el estándar moderno por excelencia para aplicaciones web y móviles.
Se utiliza principalmente para aplicaciones modernas (SPAs, React, Angular) y microservicios y permite el uso de ID Tokens firmados, lo que garantiza que la identidad del usuario no ha sido manipulada durante el tránsito, indispensable en ENS.
2. SAML 2.0 (Security Assertion Markup Language)
Un estándar basado en XML, más veterano pero extremadamente robusto. Es utilizado para aplicaciones corporativas "legacy" o integraciones con administraciones públicas (donde SAML sigue siendo el rey). Muy estricto en la validación de certificados de firma y cifrado, ideal para niveles de seguridad ENS Alto.
3. OAuth 2.0
No es un protocolo de identidad per se, sino de autorización. Sive para dar permisos a una aplicación para acceder a recursos en nombre del usuario (por ejemplo, que una app de terceros lea el calendario de Google).
Caso Práctico: Organización Híbrida (Windows, Mac y Google Workspace)
Imagina una organización que utiliza Google Workspace para el correo, pero sus empleados trabajan con Windows y macOS, y necesitan acceder a aplicaciones internas que deben cumplir con el ENS. Aquí es donde soluciones como Keycloak actúa como el "cerebro de identidad":
El flujo de trabajo sería:
- Identity raiz (Google): Configuramos Google Workspace como el Identity Provider (IdP) externo en Keycloak. Los usuarios no tienen una contraseña distinta para las apps internas; usan su cuenta de Google corporativa.
- Ordenadores (Windows/Mac): En Windows, se puede integrar mediante Kerberos/LDAP para un inicio de sesión silencioso y en macOS, los usuarios acceden a través del navegador utilizando el flujo de OIDC gestionado por Keycloak, utilizando las mismas credenciales que Google.
- Refuerzo de seguridad (MFA): Aunque Google tenga su propio MFA, el ENS puede exigir que para ciertas aplicaciones críticas (de nivel Medio o Alto), Keycloak solicite un segundo factor adicional (como un token TOTP o WebAuthn/Biometría), independientemente de lo que haga Google.
Los beneficios de este modelo són la centralización y la auditoría unificada. Si un empleado deja la empresa, basta con desactivar su cuenta en Google Workspace. Automáticamente, pierde el acceso a Keycloak y a todas las aplicaciones conectadas. Y además los logs de Keycloak registrarán quién entró, desde dónde y a qué aplicación, facilitando el informe de cumplimiento para la auditoría del ENS.
Conclusión
La implementación de una estrategia de identidad moderna bajo el ENS transforma la seguridad de ser una "lista de tareas" a ser una capacidad estratégica. Permite a los equipos de IT delegar la responsabilidad de la autenticación en un sistema probado, permitiendo que los desarrolladores se centren en la lógica de negocio.
Referencias:
- Documentación Oficial de Keycloak: keycloak.org/documentation
- Portal del CCN-CERT (ENS): ccn-cert.cni.es
- OIDC Foundation: openid.net
