SAML 2.0 – sicherer Login-Standard für Single-Sign-on

SAML steht für Security Assertion Markup Language und bietet eine sichere Möglichkeit, SSO-Lösungen in hybriden Arbeitsumgebungen zu implementieren.

Nov 29, 2022 - 3 Min.

Die Security Assertion Markup Language oder auch kurz SAML genannt, ist grundlegend ein offener Sicherheitsstandard, mit dem Zugriff auf mehrere Webanwendungen mit einem singulären Satz von Login-Daten ermöglicht wird. So können Autorisierungsdaten von einem Identity Provider (IdP) an einen Service Provider (SP) übergeben werden. So können sich User bei vielen verschiedenen Webseiten anmelden. Der Login-Prozess wird also vereinfacht, da nur eine Anmeldung pro Benutzer verwaltet werden muss. Dadurch ist SAML perfekt für eine Single-Sign-on-Lösung (SSO) und kann zumeist in Identity- und Access-Management (IAM)-Lösungen integriert werden. Zudem lassen sich auch erhöhte Sicherheitsstandards – wie eine Multifaktor-Authentifizierung – ermöglichen. Welche weiteren Vorteile SAML bietet und wo der Unterschied zu Open Authorization (OAuth) und OpenID Connect (OIDC) liegt, lesen Sie hier. 

Einsatzgebiet und Funktionsweise von SAML

Durch Security Assertion Markup Language (kurz: SAML) wird es mehreren Rechnern innerhalb eines Netzwerks ermöglicht, Authentifizierungsnachweise zu teilen. Dabei ist die SAML das Framework, dass es einem Device erlaubt, Sicherheitsfunktionen auch im Namen Dritter auszuführen. Dabei spielt aber nicht nur die Authentifizierung eine Rolle, sondern auch die Autorisierung. Das bedeutet, dass durch den Einsatz von SAML automatisch geprüft wird, ob der Nutzer überhaupt die Berichtigungen hat, auf bestimmte Anwendungen und Inhalte zuzugreifen. 

Die aktuelle Version ist SAML 2.0, die im Jahr 2005 über das OASIS Consortium freigegeben wurde. Da es hier einige Veränderungen zu der Vorgängerversion SAML 1.1 gab, sind beide Versionen nicht mehr kompatibel. Der Einsatz von SAML ist sehr flexibel, da die Informationsübertragung auf der Extensible Markup Language (XML) beruht. 

Bei der Übertragung der Entitäten wird zwischen einem Identitätsprovider (IdP) und einem Service Provider (SP) unterschieden. 

  • Der IdP ist ein Cloud-Dienst, der die Identität sowie die Befugnisse des Users überprüft, speichert und bestätigt. Dies erfolgt oft beim Anmeldevorgang.
  • Der SP ist der Dienst, der die Anwendung hostet, auf die der User zugreifen möchte, beispielsweise eine Application des Microsoft Office 365-Dienstes. Anstatt sich nun bei Microsoft selbst für die verschiedenen Anwendungen anzumelden, meldet sich der User durch SSO an. Das SAML gewährleistet ihm dann Zugang zu all den Anwendungen. 

SSO stellt auch den häufigsten Anwendungsfall für die Security Assertion Markup Language dar. User können sich einmalig über eine Single-Sign-on-Lösung bei einem Identitätsprovider anmelden. Anschließend kann dieser die Login-Attribute an den Service Provider weitergeben, wenn der User sich in ein System oder bei einer Anwendung anmelden will. Dadurch, dass der Standard SAML etabliert ist und beide Provider ihn nutzen, muss sich der User nur einmal anmelden. 

Wie sich User durch SAML authentifizieren – ein Beispiel 

Zunächst versucht ein User sich bei einer Anwendung anzumelden, der ein Service-Provider ist – beispielsweise ein E-Mail-Account. Das Programm überprüft im nächsten Schritt, ob der Benutzer bereits im System authentifiziert ist und initiiert den Authentifizierungsprozess. Der SP überprüft den geeigneten Identity Provider und leitet die Anfrage entsprechend an einen SSO-Service weiter, der dem User eine Authentifizierungsanfrage sendet. Identifiziert sich der Benutzer erfolgreich, wird ein XHTML-Dokument an den SP mit den benötigten Authentifizierungsinformationen in Form eines SAMLResponse-Parameters zurückgesendet. Dieser wird an den SP weitergegeben, der die Antwort verarbeitet. Anschliessend erstellt der SP einen Sicherheitskontext, meldet den User an und teilt ihm mit, wo sich die angeforderte Anwendung befindet. So kann der Benutzer die gewünschte Anwendung erneut anfordern – diese steht ihm dann zur Verfügung.

 

SAML2 (1)

 

Zero-Trust mit SAML

Um die Datensicherheit in Unternehmen zu gewährleisten, wird von Experten die Sicherheitsstrategie Zero-Trust empfohlen. Das Sicherheitskonzept basiert auf dem Grundsatz, dass keinem Gerät, keinem Nutzer oder einem Dienst innerhalb und ausserhalb des Unternehmensnetzwerkes vertraut wird. So erfordert es umfangreiche Massnahmen zur Authentifizierung aller Benutzer und aller Dienste sowie die ganzheitliche Überprüfung des Netzwerkverkehrs. 

An dieser Stelle kann SAML für die IT-Teams einen wertvollen Dienst bieten. Sie können es verwenden, um die Zero-Trust-Richtlinien wie zum Beispiel die Multi-Faktor-Authentifizierung (MFA) umzusetzen. Zudem sind auch strengere Sicherheitsmassnahmen möglich: So können Passwörter zurückgesetzt werden, wenn ein Benutzer sich von einem unbekannten Gerät oder Standort anmeldet und so ein erhöhtes Sicherheitsrisiko darstellt. 

Der Unterschied zu OAuth und OIDC

Auch wenn SAML und OAuth oft in einem Satz zusammen erwähnt werden, gibt es doch grundlegende Unterschiede. OAuth wurde 2006 gemeinsam von Google und Twitter entwickelt und ist somit jünger als SAML. Zudem basiert der Standard nicht auf XML, sondern auf JavaScript Object Notation (JSON). OAuth sollte Lücken von SAML auf mobilen Plattformen ausgleichen. Deswegen wird es mehr für mobile Endgeräte und Anwendungen eingesetzt. Während SAML zwar in erster Linie für Webanwendungen entwickelt wurde, wird es in der Praxis zumeist für SSO-Funktionalitäten in Unternehmen eingesetzt. 

OAuth hingegen wird zumeist für Anwendungen im Internet genutzt. 

Zudem befasst sich OAuth grundlegend nur mit der Autorisierung und anders als SAML nicht mit der Authentifizierung.

SAML – ein sicherer und flexibler Standard

Gerade in einer hybriden Arbeitsumgebung können Unternehmen dank SAML nicht nur effizienter und produktiver werden, sondern auch die Herausforderungen bei Sicherheitsfragen bewältigen. Zudem lassen sich Anmeldeverfahren für User deutlich vereinfachen und Sicherheitsmassnahmen wie die MFA implementiert werden.

Durch die XML-Basis ist der Standard flexibel einsetzbar und kann jede Art von Daten übertragen. Die einzige Voraussetzung ist, dass das Dokument im XML-Format gerendert ist.

 

Effiziente und sichere Benutzer-authentifizierung mit Single Sign-on