Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

SAML, 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.

0 de 5 · 0%

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.

Conectando con la base…

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.

Conectando con la base…

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.

Conectando con la base…

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.

Conectando con la base…

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.

Conectando con la base…

Responde para continuar

¿Cuántos minutos después de su límite de validez llegó la aserción vencida?

Inicia sesión para registrar tus puntos y progreso en el ranking.

Conectando con la base…

Aserciones SAML recibidas · Terracota Logística
Consulta del registro del proveedor de servicio de nómina y de su configuración · solo lectura · valores ficticios

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
Ctrl + Enter
Consola de consultas v1.0 · build b77233

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