Un certificado de navegador es un documento firmado y con la clave pública de la CA, mi agente de usuario puede validarlo.
En el archivo de metadatos de SAML, también hay un certificado, pero parece ser otra cosa. ¿Qué es y para qué sirve exactamente?
Respuesta1
esta acostumbrado aproducirun documento firmado. El certificado que se encuentra en los metadatos del IdP se utiliza para firmar los tokens SAML ("afirmaciones") que emite el proveedor de identidad (IdP) y se transfiere al proveedor de servicios (SP).
Como la afirmación se transfiere a través del navegador web del usuario, debe protegerse contra la manipulación por parte del usuario (por ejemplo, para que el usuario no pueda agregar más grupos u otros atributos), por lo que se firma digitalmente utilizando la clave privada del IdP. y el SP verifica esa firma antes de permitirle iniciar sesión.
En otras palabras, si las afirmaciones SAML son aproximadamente equivalentes a los tokens JWT firmados en OIDC, entonces los certificados se utilizan como claves de firma JWT.
(En realidad, quizás se podría llamar a la afirmación SAML un "certificado" y al IdP emisor una "autoridad de certificación"...)
Además, el SP también podría tener su propio certificado, que el IdP podría utilizar paracifrarla afirmación (por ejemplo, si contiene datos internos que no deberían filtrarse al usuario, como el estado de la prohibición de sombra, o simplemente para minimizar la exposición, como los SSN). Esto es opcional.
Otra razón para que los SP tengan sus propios certificados es para poder firmarsolicitudes de cierre de sesiónque se envían de vuelta al IdP. El protocolo SAML2 admite el "cierre de sesión único", en el que cerrar sesión en un SP lo desconecta de todos los demás, así como del propio IdP, pero este protocolo implica una larga cadena de redireccionamientos a través de ubicaciones que no necesariamente confían entre sí.
Nota al margen: aunque los certificados en SAML son el mismo tipo de "documento firmado" que en TLS, una gran diferencia es que en la mayoría de los casos, los certificados SAML están autofirmados y el SP solo se preocupa por la clave pública exacta, ignorando todas las demás. campos. (Realmente, la razón principal por la que se usan los certificados X.509 es porque SAML usa el estándar XML-DSig preexistente, y todas las herramientas/bibliotecas esperan manejar certificados). Aunque esto no quiere decir queno pudeser emitido por una CA; eso es compatible pero rara vez es necesario.