Für ein bestmögliches Web-Erlebnis verwenden Sie IE11+, Chrome, Firefox oder Safari.

SAML einfach erklärt

Was ist SAML?

SAML steht für Security Assertion Markup Language. Die Hauptrolle von SAML bei der Online-Sicherheit besteht darin, den Zugriff auf mehrere Webanwendungen mit einem einzigen Satz von Anmeldedaten zu ermöglichen. Dazu werden Authentifizierungsinformationen in einem bestimmten Format zwischen zwei Parteien, in der Regel einem Identitätsanbieter (Identity Provider, idP) und einer Webanwendung, übermittelt.

Was ist SAML und wie funktioniert es?

SAML ist ein offener Standard, der für die Authentifizierung verwendet wird. Es basiert auf dem XML-Format (Extensible Markup Language) und wird von Webanwendungen verwendet, um Authentifizierungsdaten zwischen zwei Parteien zu übertragen: dem Identitätsanbieter (Identity Provider, IdP) und dem Serviceanbieter (Service Provider, SP).

SAML wurde entwickelt, um den Authentifizierungsprozess zu vereinfachen, wenn Benutzer auf mehrere voneinander unabhängige Webanwendungen in verschiedenen Domänen zugreifen müssen. Vor SAML war Single Sign-On (SSO) zwar möglich, aber auf Cookies angewiesen, die nur innerhalb derselben Domäne verwendet werden konnten. Heute wird dieser Zweck durch die Zentralisierung der Benutzerauthentifizierung bei einem Identitätsanbieter erreicht. Webanwendungen können dann SAML über den Identitätsanbieter nutzen, um ihren Benutzern Zugriff zu gewähren. Durch diesen SAML-Authentifizierungsansatz müssen sich Benutzer nicht mehrere Benutzernamen und Kennwörter merken. Auch die Serviceanbieter profitieren davon, da sie die Sicherheit ihrer eigenen Plattform erhöhen, vor allem, weil sie keine (oft schwachen und unsicheren) Kennwörter speichern und sich nicht um vergessene Kennwörter kümmern müssen.

Vorteile von SAML

SAML ist eine weit verbreitete Unternehmenslösung, die zahlreiche Vorteile bietet. Erstens verbessert es die Benutzerfreundlichkeit, da man sich nur einmal anmelden muss, um auf mehrere Webanwendungen zuzugreifen. Dies beschleunigt nicht nur den Authentifizierungsprozess, sondern bedeutet auch, dass Sie sich nur einen Satz von Anmeldedaten merken müssen. Auch das Unternehmen profitiert von dieser Funktion, da es weniger Helpdesk-Anrufe wegen Kennwortzurücksetzungen gibt.

SAML erhöht nicht nur die Benutzerfreundlichkeit, sondern auch die Sicherheit. Da der Identitätsanbieter alle Anmeldeinformationen speichert, muss der Serviceanbieter keine Benutzeranmeldeinformationen in seinem System speichern. Außerdem ist der Identitätsanbieter auf die Bereitstellung einer sicheren SAML-Authentifizierung spezialisiert, sodass er ausreichend Zeit und Ressourcen in die Implementierung mehrerer Sicherheitsebenen investieren kann. IdPs verfügen beispielsweise über umfassende Identitätssicherheitslösungen mit integrierten Funktionen wie der Multi-Faktor-Authentifizierung (MFA), die vor gängigen Kennwortangriffen schützen.

Wie funktioniert SAML?

SAML funktioniert durch den Austausch von Benutzerinformationen wie Anmeldungen, Authentifizierungsstatus, Kennungen und anderen relevanten Attributen zwischen dem Identitätsanbieter und dem Serviceanbieter. Dadurch wird der Authentifizierungsprozess einfacher und sicherer, da sich der Benutzer nur einmal mit einem einzigen Satz von Authentifizierungsdaten anmelden muss. Wenn der Benutzer also versucht, auf eine Website zuzugreifen, gibt der Identitätsanbieter die SAML-Authentifizierung an den Serviceanbieter weiter, der dem Benutzer dann Zugriff gewährt. Veranschaulichen wir uns dieses Konzept anhand eines Beispiels.

Unternehmen müssen oft Ihre Identität bestätigen, bevor sie Ihnen Zugriff gewähren. Ein gutes Beispiel dafür ist die Luftfahrtbranche. Bevor Sie ein Flugzeug besteigen, muss die Fluggesellschaft bestätigen, dass Sie derjenige sind, für den Sie sich ausgeben, um die Sicherheit der anderen Fluggäste zu gewährleisten. Daher wird Ihre Identität anhand eines amtlichen Lichtbildausweises überprüft. Sobald bestätigt ist, dass Ihr Name auf Ihrem Ausweis mit dem Namen auf Ihrem Flugticket übereinstimmt, dürfen Sie das Flugzeug betreten.

Im diesem Beispiel ist der Staat der Identitätsanbieter und die Fluggesellschaft der Serviceanbieter. Ihr amtlicher Ausweis ist die SAML-Assertion. Wenn Sie einen Personalausweis beantragen, müssen Sie in der Regel ein Formular ausfüllen, ein Foto machen lassen und unter Umständen auch Ihre Fingerabdrücke abgeben. Der Staat (der Serviceanbieter) speichert dann diese identifizierenden Attribute in seiner Datenbank und stellt Ihnen einen physischen Ausweis aus, der mit Ihrer Identität verbunden ist. Im Flug-Beispiel prüft die Fluggesellschaft (der Serviceanbieter) bei Ihrer Ankunft am Gate Ihre Identitätsbestätigung (SAML). Die Fluggesellschaft akzeptiert Ihren Personalausweis oder Reisepass, da er Ihre Angaben enthält und als gültiges Dokument erachtet wird. Nach erfolgreicher Authentifizierung erlaubt Ihnen die Fluggesellschaft dann, das Flugzeug zu betreten.

SAML mobil

Was ist SAML SSO?

SAML Single Sign-On ist ein Mechanismus, der SAML nutzt und es Benutzern ermöglicht, sich bei mehreren Webanwendungen anzumelden, nachdem sie sich beim Identitätsanbieter angemeldet haben. Da sich der Benutzer nur einmal anmelden muss, bietet SAML SSO eine schnellere, nahtlose Benutzererfahrung.

SAML SSO ist einfach zu verwenden und aus Sicht der Benutzer sicherer, da sie sich nur einen Satz von Anmeldeinformationen merken müssen. Außerdem bietet es einen schnellen und nahtlosen Zugriff, da Benutzer nicht bei jeder Anwendung, auf die sie zugreifen, aufgefordert werden, einen Benutzernamen und ein Kennwort einzugeben. Stattdessen meldet sich der Benutzer beim Identitätsanbieter an und greift dann auf die betreffende Webanwendung zu, indem er auf ihr Symbol klickt oder über ihre URL zur Website navigiert.

SAML SSO bietet neben einer höheren Benutzerfreundlichkeit noch weitere Vorteile. Es verbessert die Produktivität sowohl für den Benutzer als auch für den Helpdesk. Benutzer müssen keine Zeit mehr darauf aufwenden, sich bei mehreren Webanwendungen mit jeweils eigenen Daten anzumelden. Folglich wird der Helpdesk nicht mit Anfragen zum Zurücksetzen von Kennwörtern überschwemmt, sodass sich das Serviceteam um andere servicebezogene Fragen kümmern kann.

SAML SSO erhöht nicht nur die Benutzerzufriedenheit und die Produktivität, sondern trägt auch zur Kostensenkung bei. Die Helpdesks müssen beispielsweise weniger Anrufe bearbeiten. Anstatt eine lokale Authentifizierungsimplementierung für ihre Lösung zu erstellen, können sie sich bei einem Identitätsanbieter anmelden und so die Arbeitskosten für den Aufbau und die Pflege der Lösung im eigenen Unternehmen reduzieren.

IAM mobil

Wie lässt sich OAuth mit SAML vergleichen?

OAuth und SAML sind beides Protokolle, die wir für die Zugriffserlaubnis verwenden. Der Hauptunterschied zwischen den beiden ist jedoch, dass wir SAML für die Authentifizierung und OAuth für die Autorisierung verwenden.

Um auf die Analogie mit der Fluggesellschaft zurückzukommen: Das Ausweisdokument des Passagiers ist die SAML-Assertion und das Ticket das OAuth-Token. Die Fluggesellschaft verwendet den Ausweis, um die Identität des Fluggastes zu überprüfen, bevor sie ihm erlaubt, das Flugzeug zu besteigen. Sobald die Passagiere jedoch im Flugzeug sind, verwenden die Flugbegleiter das Ticket, um den Status und die Berechtigung der Passagiere zu bestätigen. So können sie beispielsweise ein Ticket für die First Class haben, das ihnen Zugang zu Plätzen und Annehmlichkeiten verschafft, die Passagieren in der Economy Class nicht zugänglich sind.

SAML-Beispiel

SAML verwendet einen auf Ansprüchen basierenden Authentifizierungsablauf. Wenn ein Benutzer versucht, auf eine Website zuzugreifen, bittet der Serviceanbieter zunächst den Identitätsanbieter, den Benutzer zu authentifizieren. Anschließend verwendet der Serviceanbieter die vom Identitätsanbieter ausgestellte SAML-Assertion, um dem Benutzer Zugriff zu gewähren. Lassen Sie uns den Arbeitsablauf anhand eines Beispiels veranschaulichen.

  1. Der Benutzer öffnet seinen Browser und navigiert zur Webanwendung des Serviceanbieters, die einen Identitätsanbieter für die Authentifizierung verwendet.
  2. Die Webanwendung antwortet mit einer SAML-Anfrage.
  3. Der Browser leitet die SAML-Anfrage an den Identitätsanbieter weiter.
  4. Der Identitätsanbieter analysiert die SAML-Anfrage.
  5. Der Identitätsanbieter authentifiziert den Benutzer, indem er ihn zur Eingabe eines Benutzernamens und eines Kennworts oder eines anderen Authentifizierungsfaktors auffordert. HINWEIS: Der Identitätsanbieter überspringt diesen Schritt, wenn der Benutzer bereits authentifiziert ist.
  6. Der Identitätsanbieter generiert die SAML-Antwort und sendet sie an den Browser des Benutzers zurück.
  7. Der Browser sendet die generierte SAML-Antwort an die Webanwendung des Serviceanbieters, die sie verifiziert.
  8. Wenn die Überprüfung erfolgreich ist, gewährt die Webanwendung dem Benutzer Zugriff.

SAML-Tutorial

OneLogin bietet mehrere SAML-Toolkits an, mit denen Entwickler SSO für ihre Anwendung über einen Identitätsanbieter aktivieren können, der SAML-Authentifizierung anbietet. Darüber hinaus finden Sie hier Ressourcen zum Hinzufügen Ihrer Anwendung zum OneLogin Katalog, zum Codieren Ihrer Anwendung, um Ihren Benutzern SSO über OneLogin zu ermöglichen, sowie hilfreiche Best Practices und FAQs.

Das OneLogin SAML Toolkit bietet unter https://www.samltool.com auch Online-Tools. Sie können zum Beispiel ein selbstsigniertes X.509-Zertifikat erhalten, das Sie in einer Testumgebung verwenden können. Da SAML den Base64-Kodierungsalgorithmus verwendet, bieten die OneLogin Toolkit-Ressourcen außerdem einen Online-Service, mit dem Sie XML in Base64 kodieren und dekodieren können und umgekehrt. Das Toolkit stellt auch Ressourcen für die Verschlüsselung von Knoten aus XML, die Signierung von AuthNRequests und die Validierung Ihrer XML anhand des SAML-XSD-Schemas bereit.

Neben der Zertifikatsunterstützung und den XML-Kodierungs-, Dekodierungs-, Signierungs- und Validierungsservices bieten die OneLogin SAML-Online-Tools auch andere hilfreiche Entwicklungsressourcen. Sie können zum Beispiel die XML-Metadaten eines SAML-Identitätsanbieters erstellen. Außerdem gibt es ein Tool, das die NameID und andere relevante Attribute aus der Assertion einer SAML-Antwort extrahiert. Schließlich bieten die SAML-Online-Tools von OneLogin auch einen Service, der eine XML- oder SAML-Nachricht in ein für Menschen lesbares Format umwandelt.