🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónSAML, aserciones, proveedores y firmas
5 tareas · 40 min · Principiante
Antes de OIDC existía SAML 2.0, y sigue siendo el idioma de muchas aplicaciones empresariales: nómina, compras, portales de proveedores. Habla de aserciones en XML en lugar de tokens JWT, pero las preguntas son las mismas: quién la emitió, para quién es, hasta cuándo vale y si alguien puede comprobar que no se alteró. Terracota Logística recibió cinco aserciones en su aplicación de nómina esta mañana y todas fueron aceptadas, aunque no todas debían serlo. Lees sus campos ya decodificados.
Objetivo de la sala
Antes de OIDC existía SAML 2.0, y sigue siendo el idioma de muchas aplicaciones empresariales: nómina, compras, portales de proveedores. Habla de aserciones en XML en lugar de tokens JWT, pero las preguntas son las mismas: quién la emitió, para quién es, hasta cuándo vale y si alguien puede comprobar que no se alteró. Terracota Logística recibió cinco aserciones en su aplicación de nómina esta mañana y todas fueron aceptadas, aunque no todas debían serlo. Lees sus campos ya decodificados.En SAML 2.0 (OASIS) el proveedor de identidad (IdP) autentica a la persona y emite una aserción: una afirmación firmada sobre ella, con su identificador, cuándo se autenticó y a veces atributos como el grupo o el correo. El proveedor de servicio (SP) es la aplicación que quiere saber quién es la persona, recibe la aserción y decide si la acepta. La aserción llega al SP por el navegador de la persona, a una dirección propia, el servicio de consumo de aserciones (ACS).
Lo importante para quien revisa es que el SP no «confía en la aserción» sino en sus comprobaciones: que venga de su proveedor de identidad, que esté firmada, que sea para él y que esté vigente. Abre el laboratorio y lee la configuración del proveedor de servicio de nómina.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
En el intercambio de SAML, ¿quién emite la aserción y quién la recibe?
La firma digital XML sobre la aserción (o sobre la respuesta que la contiene) permite al SP comprobar dos cosas: que la emitió quien tiene la clave del proveedor de identidad, y que nadie la cambió por el camino. Como llega por el navegador de la persona, que no es de confianza, la firma es lo único que sostiene su autenticidad. El SP conoce la clave pública del proveedor de identidad por su metadato, que se intercambia de antemano, y no por lo que diga la propia aserción.
En la tabla aserciones_recibidas la columna firma dice dónde venía firmada cada una: en la aserción, en la respuesta o en ninguna parte.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Qué demuestra la firma de una aserción SAML al proveedor de servicio?
Una aserción sin firma es un papel que cualquiera puede haber escrito. Un proveedor de servicio que la acepta ha dejado de comprobar quién habla. En la tabla hay una aserción que llegó sin firma y que, aun así, tiene decisión «aceptada».
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Qué aserción fue aceptada sin ninguna firma?
Dentro de la aserción, la condición de audiencia (AudienceRestriction) dice para qué proveedor de servicio se emitió. Cada SP debe comprobar que su propio identificador (entityID, en la tabla de configuración) está ahí. Si no lo hace, una aserción pensada para otra aplicación sirve para entrar en la suya. El campo recipient es parecido pero distinto: dice a qué dirección de consumo debía entregarse.
Compara la columna audiencia de cada aserción con el entityID que figura en la configuración.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Qué aserción fue aceptada aunque su audiencia era otro proveedor de servicio?
Una aserción lleva su ventana de validez, NotBefore y NotOnOrAfter: fuera de ese intervalo no debe aceptarse. Es lo que limita que una aserción copiada se use días después. En la configuración de nómina el reloj está sincronizado y no hay margen configurado, así que el límite se aplica tal cual.
Busca la aserción que llegó después de su not_on_or_after y calcula cuántos minutos tarde fue, comparando llego_a_las con ese límite.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Cuántos minutos después de su límite de validez llegó la aserción vencida?
Conectando con la base…
Tablas
config_proveedor_de_servicio
- parametro
- valor
aserciones_recibidas
- id
- emisor
- audiencia
- recipient
- in_response_to
- not_before
- not_on_or_after
- firma
- llego_a_las
- decision
El resultado aparece aquí.
fila(s)
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.