Kostenlose Demo Kontakt
Security Assertion Markup Language

Security Assertion Markup Language (SAML)

Was ist SAML und wie funktioniert es?

Die Abkürzung SAML bedeutet: Security Assertion Markup Language und ist eine Art Single Sign-On (SSO) Standard. Es definiert eine Reihe von Regeln/Protokollen, die es Mitarbeitern ermöglicht, mit nur einer einzigen Anmeldung auf Webanwendungen zuzugreifen. Möglich macht es die Verbindung und Kommunikation zwischen sog. „Service Provider“ und sog. „Identity Provider“.

SAML ist einer der dominierenden Standards in der Welt des Federated Identity Management (FIM) und bietet Single Sign-On (SSO) Funktionen im gesamten Web. Andere Standards sind OpenID, OAuth und JWT (JSON Web Tokens). Jede Norm wurde von getrennten Unternehmen erstellt und wird von diesen gepflegt. SAML wurde z.B. von OASIS1 erstellt. Diese Unternehmen haben unterschiedliche Vorstellungen davon, wie sie SSO am besten implementieren, welche Technologien und Sprachen sie verwenden sollen.

Trotz ihrer technischen Unterschiede haben all diese Normen mindestens zwei gemeinsame Ziele:

  1. Eine benutzerfreundliche Bedienung durch schnellen und einfachen Zugriff auf Anwendungen mit einem einzigen Login (Single Sign On: SSO)

  2. Erhöhte Sicherheit, da keine Kopien von Benutzeranmeldeinformationen in eigenen Datenbanken gespeichert werden.

Wie funktioniert ein SAML-Provider?

Um zu verstehen, wie SAML funktioniert, werden wir zunächst das Konzept eines SAML-Providers untersuchen. Ein SAML-Provider ist jeder Server, der an der Authentifizierung und Autorisierung eines Benutzers während einer SAML-Anfrage beteiligt ist. Genauer gesagt, es gibt zwei Arten von SAML-Providern: Service Provider (SP) und Identity Provider (IdP).

Service-Provider sind Systeme und Anwendungen, auf die Benutzer den ganzen Tag über zu greifen. Vor SSO würde jeder von ihnen seine eigene Datenbank mit Benutzernamen und Passwörtern pflegen. Je mehr Anwendungen eine Person verwendet, desto mehr Benutzernamen und Passwörter müssen sie sich merken und verwalten. Diese Zunahme von Anmeldedaten pro Benutzer führt zu unerwünschten Praktiken bei der Passwortverwaltung, wie z.B. die Verwendung desselben Passworts auf mehreren Websites und sogar das notieren von Passwörtern auf Post-its.

Mit der Einführung von SSO-Standards wie SAML müssen sich die Benutzer nicht mehr viele Passwörter merken. Sie müssen sich nur ein einziges Mal bei ihrem Identity Provider anmelden, und erhalten dann Zugriff auf ihre bevorzugten Anwendungen. Die Authentifizierung ab diesem Zeitpunkt erfolgt automatisch und für den Benutzer transparent.

Ein Identity Provider ist das System, das die Benutzerauthentifizierung durchführt. Dies ist der zentrale Ort, an dem die Benutzeranmeldeinformationen gespeichert und validiert werden. Sobald sich ein Benutzer bei seinem Identity Provider anmeldet, hat er Zugriff auf seine SSO-fähigen Anwendungen. Wenn ein Benutzer eine Anwendung öffnet, arbeiten der Identity Provider und der Service-Provider zusammen, um den Benutzer zu authentifizieren und zu autorisieren und ihm dann gegebenenfalls Zugriff zu gewähren.

Der Dialog, der zwischen der Identity und den Service-Providern stattfindet, wird durch eine Nachricht namens Assertion geführt. Dies ist ein XML-Dokument, das vom Identity Provider erstellt und vom Service-Provider verifiziert wird. Sie ist nach den SAML-Standards gebaut, die 2005 bei der Fertigstellung der SAML2-Norm durch das OASIS-Konsortium2 festgelegt wurden.

Was ist ein SAML-Assertion?

Eine SAML-Assertion ist die Nachricht, die der Identity Provider an den Service-Provider sendet. Es handelt sich um ein XML-Dokument, das alle relevanten Details des Endbenutzers enthält. Dazu gehört ihre eindeutige Kennung, ihr Name und alle zusätzlichen Attribute, die vom Service-Provider verlangt werden können. Diese Attribute werden manchmal als „Forderungen“ bezeichnet.

Alle Assertions werden vom Identity Provider mit einem X.509-Zertifikat signiert. Der Service-Provider hat eine Kopie des sogenannten Zertifikats, mit dem er die Echtheit der Behauptung überprüft. Dadurch wird verhindert, dass Hacker, die nicht über das Zertifikat verfügen, Assertions fälschen und sich unbefugten Zugriff verschaffen.

Nehmen wir ein Beispiel für eine SAML-Authentifizierung

Folgen wir dem Mitarbeiter, Bob von seinem ersten Tag auf der Arbeit bis zu seiner ersten SSO-fähigen Anwendung. Dies gibt uns eine gute Vorstellung davon, wie SAML und SSO im Alltag funktionieren.

Nachdem er seine morgendliche Tasse Kaffee getrunken hat, setzt sich Bob an seinen Schreibtisch und loggt sich in seinen Computer ein. Er öffnet seinen Browser, dessen Homepage auf das SSO-Portal seines Arbeitgebers eingestellt ist. Dieses Portal dient als Bobs Identity Provider. Auf dem Portal werden Bob die zahlreichen Anwendungen über ein benutzerfreundliches Dashboard angezeigt, worauf er Zugriff hat und die er für seine Arbeit benötigt.

Bob öffnet die Anwendung Salesforce, indem er auf das Symbol im Portal klickt. An dieser Stelle beginnt der SAML-Authentifizierungsprozess.

Zunächst wird Bobs Anfrage an Salesforce weitergeleitet. Salesforce antwortet und fordert vom Identitätsanbieter eine Authentifizierung an. Der Identity Provider erstellt dann eine SAML-Assertion, die die Benutzerinformationen von Bob enthält, wie beispielsweise seine E-Mail-Adresse und seinen Namen. Anschließend signiert er es mit einem Zertifikat, das er in der Datei hat, und sendet die Assertion an Salesforce.

Sobald Salesforce die SAML-Assertion erhält, verwendet es eine Kopie des „Fingerabdrucks“ aus dem Zertifikat, um zu überprüfen, ob die Assertion gültig ist. Wenn diese gültig ist und Bob ein aktives Konto hat, wird er bei Salesforce automatisch angemeldet.

Der Prozess der Identifizierung von Bobs digitaler Identität mit dem Identity Provider erfolgt im Hintergrund in wenigen Millisekunden. Dieser automatisierte Prozess ist für Bob benutzerfreund. Mit einem einzigen Klick kann er auf seine Anwendungen zugreifen und muss sich somit nicht viele verschiedene Benutzernamen und Passwörter merken.

Welche Vorteile hat SAML für Ihr Unternehmen?

SAML und jede andere Federated Identity-Technologie dient dazu, das Arbeitsleben der Benutzer einfacher und sicherer zu machen. Ohne sie sind Benutzer gezwungen, verschiedene Anmeldeinformationen für jede Website, die sie verwenden, zu verwalten. Diese Sammlung von Anmeldeinformationen ist schwer zu verwalten und ermöglicht es den Benutzern und ihren Unternehmen, böswillige Angriffe und Identitätsdiebstahl zu verhindern.

Durch die Einführung einer umfassenden Single Sign-On-Lösung in Ihrem Unternehmen erhalten die Endbenutzer einen optimierten Zugriff auf die Anwendungen, die sie täglich benötigen. Dies reduziert die Ausfallzeiten durch vergessene Passwörter und gesperrte Konten, was sich direkt in höherer Produktivität und erhöhter Motivation niederschlägt. All dies kann zu einem positiven Effekt auf das Ergebnis eines Unternehmens beitragen, so dass Investitionen in SSO-Technologien ein klarer Sieger in puncto ROI sind.

[1] https://www.oasis-open.org/

[2] https://www.oasis-open.org/standards#samlv2.0

[3] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.1633&rep=rep1&type=pdf

Verwandte Artikel

SAML, oder Security Assertion Markup Language, ist ein offener Standard, der Autorisierungsdaten zwischen Identitätsanbietern (IdPs) und Dienstanbietern (SPs) überträgt.

Es wird häufig verwendet, um Single Sign-On (SSO) zu implementieren, sodass Benutzer mit nur einem Satz Anmeldedaten auf mehrere Anwendungen oder Dienste zugreifen können.

SSO, oder Single Sign-On, ist eine Authentifizierungsmethode, die es Benutzern ermöglicht, mit einem einzigen Satz Anmeldedaten Zugriff auf mehrere Anwendungen oder Dienste zu erhalten.

SAML ist eine der Technologien, die zur Implementierung von SSO verwendet werden können. Es handelt sich dabei um ein Protokoll, das festlegt, wie Autorisierungsdaten zwischen dem IdP und dem SP ausgetauscht werden.

SSL, oder Secure Sockets Layer, ist eine Technologie, die die Verbindung zwischen dem Client und dem Server im Internet sichert. Sie stellt sicher, dass alle zwischen Client und Server ausgetauschten Daten verschlüsselt sind und nicht abgefangen werden können.

SAML hingegen ist ein Protokoll zum Austausch von Autorisierungsdaten zwischen dem IdP und dem SP. Es bezieht sich nicht direkt auf die Sicherung der Verbindung selbst, sondern auf die Art und Weise, wie die Identität eines Benutzers überprüft wird.

LDAP, oder Lightweight Directory Access Protocol, ist ein Protokoll zum Speichern und Abrufen von Informationen in einem Verzeichnisdienst, wie z. B. Benutzernamen und Passwörtern.

SAML hingegen ist ein Protokoll, das verwendet wird, um Autorisierungsdaten zwischen dem IdP und dem SP auszutauschen.

Obwohl beide Technologien im Rahmen der Authentifizierung und Autorisierung verwendet werden können, werden sie auf unterschiedliche Weise und für verschiedene Zwecke eingesetzt.

SAML wurde mit dem Fokus auf Sicherheit entwickelt und bietet verschiedene Mechanismen, um die Sicherheit der übertragenen Daten zu gewährleisten. Alle SAML-Nachrichten können verschlüsselt und digital signiert werden, um sicherzustellen, dass sie während der Übertragung weder abgefangen noch verändert werden können.

Zudem minimiert SAML die Menge an persönlichen Informationen, die zwischen dem Service Provider (SP) und dem Identitätsanbieter (IdP) geteilt werden, was zum Schutz der Privatsphäre des Benutzers beiträgt.

Wie bei jeder Technologie hängt die Sicherheit von SAML jedoch auch von der richtigen Implementierung und Konfiguration ab. Es ist wichtig, Best Practices zu befolgen und regelmäßig Sicherheitsprüfungen durchzuführen, um sicherzustellen, dass Ihre SAML-Implementierung sicher bleibt.