SAML (Security Assertion Markup Language) ist ein XML-basierter Standard zum Austausch von Authentifizierungs- und Autorisierungsinformationen. Besonders verbreitet ist SAML 2.0 für Single Sign-on zwischen einem Identity Provider (IdP) und einem Service Provider (SP). Der IdP authentifiziert den Nutzer; der SP vertraut auf eine signierte Assertion und erstellt eine lokale Sitzung.
Welche Rollen und Nachrichten gibt es?
| Element | Aufgabe |
|---|---|
| Identity Provider | Authentifiziert Benutzer und stellt signierte Assertions aus. |
| Service Provider | Betreibt die Zielanwendung und prüft die SAML-Antwort. |
| AuthnRequest | Anfrage des SP an den IdP, häufig mit Rücksprungziel und Request-ID. |
| Response/Assertion | XML-Dokument mit Identität, Bedingungen, Zielgruppe und optionalen Attributen. |
| Metadata | Beschreibt Endpunkte, Entity IDs, Rollen und vertrauenswürdige Zertifikate. |
Vereinfachte SAML-Assertion
<saml:Assertion ID="_a123">
<saml:Issuer>https://idp.example.test</saml:Issuer>
<ds:Signature>...</ds:Signature>
<saml:Subject>
<saml:NameID>alice@example.test</saml:NameID>
</saml:Subject>
<saml:Conditions NotBefore="..." NotOnOrAfter="...">
<saml:AudienceRestriction>
<saml:Audience>https://app.example.test</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
</saml:Assertion>
Was muss ein Service Provider prüfen?
- Signatur:
Mit einem explizit vertrauenswürdigen Zertifikat, sicherem Algorithmus und über genau dem Element, das verarbeitet wird. - Issuer und Audience:
Die Antwort stammt vom erwarteten IdP und ist für diesen SP bestimmt. - Recipient und Destination:
Antwort und SubjectConfirmation zeigen auf den tatsächlichen Assertion Consumer Service. - Zeit:
NotBefore und NotOnOrAfter mit kleiner, definierter Uhrtoleranz prüfen. - Request-Bindung:
InResponseTo muss zur zuvor erzeugten, noch nicht verwendeten Anfrage passen. - Replay-Schutz:
Response- und Assertion-IDs bis zum Ablauf nur einmal akzeptieren.
Häufige SAML-Schwachstellen
Zu den typischen Fehlern gehören fehlende Signaturprüfung, Vertrauen in Zertifikate aus der eingehenden Nachricht, offene RelayState-Weiterleitungen, Replay, zu großzügige Zeitfenster und falsche Attributzuordnung. Besonders subtil ist XML Signature Wrapping: Die Bibliothek validiert ein signiertes Element, während die Anwendung ein anderes verarbeitet. Da SAML XML nutzt, sind außerdem sichere Parser-Einstellungen gegen XXE erforderlich.
SAML, OAuth 2.0 und OpenID Connect
SAML ist stark auf browserbasiertes Enterprise-SSO und XML ausgerichtet. OAuth 2.0 delegiert Zugriff auf Ressourcen; OpenID Connect ergänzt darauf eine Identitätsschicht mit JSON Web Tokens. Die Standards sind nicht austauschbar, können aber in derselben Organisation parallel vorkommen. Details erklärt der Artikel zu OAuth 2.0 und OpenID Connect.
Nützliche Open-Source-Werkzeuge
SAML Raider unterstützt beim Dekodieren, Bearbeiten und kontrollierten Prüfen von SAML-Nachrichten. Mit OWASP ZAP lassen sich Redirects, Cookies und POST-Bindings nachvollziehen. Für Bibliotheken und SAML-Konfigurationen sind außerdem projektspezifische Integrationstests entscheidend; ein Scanner kennt weder die erwartete Audience noch die korrekte Attributzuordnung.
Vielen Dank für dein Feedback! Wir werden es prüfen und unseren Artikel anpassen.
Hast du Feedback zum Thema SAML? Schreib uns!
Weitere Dienstleistungen
Zusätzliche IT-Sicherheitslösungen für umfassenden Schutz
Red Teaming
Simulation echter Angriffe auf Ihr Unternehmen inklusive Personen, Infrastruktur und Prozesse. Ein umfassender Ansatz zur Überprüfung Ihrer gesamten Sicherheitsstrategie.
Mehr erfahrenPhishing-Übungen
Praxisnahe Phishing-Simulationen zur Sensibilisierung Ihrer Mitarbeiter. Erhöhen Sie die Awareness und reduzieren Sie das Risiko erfolgreicher E-Mail-basierter Angriffe.
Mehr erfahren