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:
- Eine benutzerfreundliche Bedienung durch schnellen und einfachen Zugriff auf Anwendungen mit einem einzigen Login (Single Sign On: SSO)
- 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
Tools4ever Informatik GmbH
Hauptstraße 145-147
51465 Bergisch Gladbach
Deutschland
Phone: +49 2202 2859-0
Email: [email protected]