Signed Assertion
A signed assertion is a message from an identity provider that carries information about a user, such as who they are and what they are allowed to access, with a digital signature attached to prove it is genuine and unaltered. The signature lets the receiving application confirm the message truly came from the trusted identity provider and was not tampered with in transit. In practice this term most often refers to SAML assertions, where the assertion portion of a login message is digitally signed.
In SAML 2.0, a signed assertion is an <Assertion> element that carries a digital signature (typically an XML Signature) applied specifically to the assertion, as distinct from signing the enclosing SAML <Response>. The assertion conveys authentication and/or attribute claims from an identity provider (IdP) to a service provider (SP), and the signature allows the SP to verify the assertion's integrity and origin authenticity against the IdP's trusted key. Signing the assertion is often described as a more lightweight option than signing the full response, as only the assertion itself is covered; some deployments sign the response, the assertion, or both, and this is frequently configurable on a per-SP basis or per binding. Note that signing establishes integrity and authenticity but is not the same as encryption, which would be required to protect confidentiality of assertion contents. The specific coverage, canonicalization, and algorithm details depend on the SAML profile, binding, and vendor configuration in use.
Why it matters
In federated single sign-on, the service provider (SP) has no direct visibility into how the identity provider (IdP) authenticated the user; it must rely entirely on the assertion it receives. A signed assertion is what makes that trust enforceable. Without a valid signature over the assertion, an SP cannot reliably distinguish a genuine authentication statement from a forged or tampered one, since the assertion travels through the user's browser and other intermediaries in many SAML bindings. The signature gives the SP a cryptographic basis to confirm both the origin (the assertion came from the expected IdP's key) and the integrity (the claims were not altered in transit) of the message before it acts on the identity and attribute claims inside.
The distinction between signing the assertion, signing the enclosing SAML <Response>, or signing both is not merely a configuration detail; it directly affects the security posture of a federation. Depending on the deployment, an SP may accept a signed response, a signed assertion, or require both, and misalignment between what the IdP produces and what the SP actually validates has historically been a source of SAML processing weaknesses. Because signing coverage is frequently configurable on a per-SP basis or per binding, architects and engineers need to be explicit about exactly which element is signed and which signatures the SP verifies, rather than assuming a signature anywhere in the message is sufficient.
It is equally important to remember what a signed assertion does not provide. Signing establishes integrity and origin authenticity, but it does not protect the confidentiality of the assertion's contents. Any attribute or identity data carried in a signed-but-unencrypted assertion may be readable by parties that handle the message in transit. Where confidentiality of assertion claims matters, encryption of the assertion is a separate control that must be applied in addition to signing.
Who it's relevant to
Inside Signed Assertion
Common questions
Answers to the questions practitioners most commonly ask about Signed Assertion.
