Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

La aserción y qué partes van firmadas

5 tareas · 40 min · Principiante

Que una respuesta SAML traiga una firma válida no basta: hay que saber qué cubre esa firma, con qué algoritmo se hizo y si lo que la aplicación lee después es justo lo que estaba firmado. Contratos Quenaré te entrega una respuesta de cada uno de sus tres proveedores de identidad, ya decodificada, el código con el que su servicio de consumo valida y lee, y el registro de lo que validó y leyó en tres días.

0 de 5 · 0%

Objetivo de la sala

Que una respuesta SAML traiga una firma válida no basta: hay que saber qué cubre esa firma, con qué algoritmo se hizo y si lo que la aplicación lee después es justo lo que estaba firmado. Contratos Quenaré te entrega una respuesta de cada uno de sus tres proveedores de identidad, ya decodificada, el código con el que su servicio de consumo valida y lee, y el registro de lo que validó y leyó en tres días.

Una respuesta SAML (samlp:Response) envuelve una o más aserciones (saml:Assertion). La aserción es la que dice quién es la persona: su identificador en Subject, las condiciones de uso en Conditions, cómo se autenticó en AuthnStatement y sus atributos en AttributeStatement. El estándar permite firmar la respuesta, la aserción o las dos.

La firma XML no cubre «el mensaje»: cubre el elemento al que apunta su Reference URI, con todo lo que ese elemento contiene. Si apunta al ID de la respuesta, queda protegida la respuesta entera, con la aserción dentro. Si apunta al ID de la aserción, queda protegida la aserción, pero no lo que esté fuera de ella. Por eso quien revisa un SP lee la referencia antes de leer nada más.

Responde para continuar

Si la única firma de una respuesta apunta al ID de la propia respuesta, ¿qué queda protegido?

Ver pista de ayuda

Una firma cubre el elemento referenciado y todo lo que contiene.

Abre las tres respuestas. En cada una, busca dónde está el elemento ds:Signature y a qué ID apunta su ds:Reference. Una empresa firma la aserción, otra firma la respuesta completa. Las dos formas son válidas siempre que el SP compruebe que lo que usa está dentro de lo firmado.

Responde para continuar

¿A qué ID apunta la firma de la respuesta de Laboratorios Yaguané?

El fallo clásico de un SP no está en la criptografía, sino en lo que hace alrededor. Si el código busca «una firma» en el documento, la valida, y después busca por separado «una aserción» para leer el usuario, nada garantiza que las dos sean la misma pieza. Un documento puede llevar una aserción firmada correctamente y otra distinta que es la que el código termina usando. La hoja de buenas prácticas de SAML de OWASP pide validar el XML contra el esquema antes de procesarlo, leer los elementos por su posición exacta en el documento y comprobar que la aserción que se usa es la cubierta por la firma validada.

Lee procesar_respuesta.py y la nota al final.

Responde para continuar

¿Qué le falta a procesar_respuesta?

Ver pista de ayuda

Compara los dos comentarios de buscar_primero.

La firma también se juzga por su algoritmo. SignatureMethod dice cómo se firmó y DigestMethod cómo se resumió el elemento antes de firmarlo. SHA-1 ya no se considera adecuado para firmas digitales, y NIST lo retiró para generarlas; la hoja de OWASP pide RSA con SHA-256 o más fuerte y rechazar SHA-1 tanto en la firma como en el resumen. Un SP que acepta cualquier algoritmo que le declare el mensaje hereda la debilidad del más viejo de sus clientes.

Responde para continuar

¿Qué inquilino de Quenaré firma sus aserciones con SHA-1? Escribe su identificador.

Desde el 5 de octubre el servicio de consumo anota dos datos de cada respuesta: el ID al que apuntaba la firma validada y el ID de la aserción que leyó. Cuando la firma cubre la respuesta entera, es normal que los dos difieran: la aserción está dentro. Cuando la firma cubre una aserción, los dos deben coincidir. Recorre registro-acs.txt con esa regla.

Responde para continuar

¿Qué respuesta aceptó el servicio de consumo leyendo una aserción que no era la cubierta por la firma?

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

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