IT-Sicherheit Glossar

Was ist SAML?

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?

ElementAufgabe
Identity ProviderAuthentifiziert Benutzer und stellt signierte Assertions aus.
Service ProviderBetreibt die Zielanwendung und prüft die SAML-Antwort.
AuthnRequestAnfrage des SP an den IdP, häufig mit Rücksprungziel und Request-ID.
Response/AssertionXML-Dokument mit Identität, Bedingungen, Zielgruppe und optionalen Attributen.
MetadataBeschreibt 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?

  1. Signatur:
    Mit einem explizit vertrauenswürdigen Zertifikat, sicherem Algorithmus und über genau dem Element, das verarbeitet wird.
  2. Issuer und Audience:
    Die Antwort stammt vom erwarteten IdP und ist für diesen SP bestimmt.
  3. Recipient und Destination:
    Antwort und SubjectConfirmation zeigen auf den tatsächlichen Assertion Consumer Service.
  4. Zeit:
    NotBefore und NotOnOrAfter mit kleiner, definierter Uhrtoleranz prüfen.
  5. Request-Bindung:
    InResponseTo muss zur zuvor erzeugten, noch nicht verwendeten Anfrage passen.
  6. 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.

Penetrationstests

Sicherheitslücken aufdecken

Professionelle Penetrationstests für Ihr Unternehmen

Web Apps
Netzwerke
Mobile Apps
10% Neukunden-Rabatt
Jetzt planen

Mehr Informationsmaterial

Vielen Dank für dein Feedback! Wir werden es prüfen und unseren Artikel anpassen.

Hast du Feedback zum Thema SAML? Schreib uns!