PDF p.108
In progress
Security Assertion Markup Language (SAML)
Summary
PDF p.108Security Assertion Markup Language (SAML) is a protocol used in federated networks to implement user identity assertions and transmit claims between the principal, the relying party, and the identity provider. SAML assertions are written in XML and use digital signatures to ensure trust.
In plain words
Supplementary — not from your PDFSAML is a federation standard where the identity provider sends a signed XML assertion saying who you are. The service provider checks the signature to trust it. It's common for enterprise web single sign-on.
Detailed explanation
PDF p.108-
Federated Network Requirements
- Purpose: Implement user identity assertions and transmit claims.
- Protocol: SAML is used to achieve this.
-
SAML Assertions
- Format: Written in eXtensible Markup Language (XML).
- Communication: Established using HTTP/HTTPS and Simple Object Access Protocol (SOAP).
- Security: Tokens are signed using the XML signature specification, allowing the relying party to trust the identity provider.
-
Example Implementation
- Amazon Web Services (AWS): Functions as a SAML service provider, enabling companies to manage user identities and permissions without creating direct accounts on AWS.
- SAML Response Example
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="200" Version="2.0"
IssueInstant="2020-01-01T20:00:10Z" Destination="https://sp.foo/saml/acs" InResponseTo="100">
<saml:Issuer>https://idp.foo/sso</saml:Issuer>
<ds:Signature>...</ds:Signature>
<samlp:Status>...(success)...</samlp:Status>
<saml:Assertion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema" ID="2000" Version="2.0"
IssueInstant="2020-01-01T20:00:09Z">
<saml:Issuer>https://idp.foo/sso</saml:Issuer>
<ds:Signature>...</ds:Signature>
<saml:Subject>...
<saml:Conditions>...
<saml:AudienceRestriction>...
<saml:AuthnStatement>...
<saml:AttributeStatement>
<saml:Attribute>...
<saml:Attribute>...
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
Important terms
taken from the text above- Protocol
- SAML is used to achieve this.
- Amazon Web Services (AWS)
- Functions as a SAML service provider, enabling companies to manage user identities and permissions without creating direct accounts on AWS.
SAML Security Assertion Markup Language
SOAP Simple Object Access Protocol
AWS Amazon Web Services
Examples & real-world scenarios
Supplementary — not from your PDF- Company SSO into a cloud console using SAML.
- An XML assertion with the issuer, subject and signature.
- SAML exchanged over HTTPS.
Scenario
A company connects its identity provider to a cloud platform using SAML. Staff sign in with company credentials, and permissions come from attributes in the assertion.
Common mistakes
Supplementary — not from your PDF- Mixing up SAML (XML, enterprise SSO) with OAuth (authorization tokens for APIs).
- Forgetting that the XML signature is what creates trust.
Practical skills
Supplementary — not from your PDF- Name the main parts of a SAML response.
What I should remember
Key Points PDF p.108-
Federated Network Requirements
- User Identity Assertions: Implemented using SAML.
- Protocol: SAML for transmitting claims.
-
SAML Assertions
- XML Format: Written in XML.
- Communication: HTTP/HTTPS and SOAP.
- Security: Digital signatures for trust.
-
Example Implementation
- AWS: SAML service provider for managing user identities and permissions.
-
SAML Response Example
- Structure: XML format with elements like <samlp:Response>, <saml:Issuer>, <ds:Signature>, and <saml:Assertion>.