SAML – Passwort III

SAML 2.0 (vgl.: Security Assertion Markup Language) ist ein offener Standard, um über Anwendungsgrenzen hinweg, sich mit nur einer Anmeldung überall zu identifizieren. Damit ist die klassische Einmalanmeldung, häufig bekannt als Single Sign On (vgl.: SSO), gemeint. Konkret heisst das, dass man sich als Benutzer nur mehr einmal anmelden muss. Alle weiteren Überprüfungen der Identität des Benutzers erfolgen im Hintergrund. Es muss somit kein weiteres mal irgendeine Benutzernamen und Passwortkombination durch den Benutzer eingeben werden.

Zusammenfassung

SAML als offenen Standard gibt es seit 2005. Die meisten Anwendungsfälle sind im Bereich Geschäftsanwendungen – geschäftliche Zusammenarbeit, meist über Unternehmensgrenzen hinweg – (vgl.: B2B – business to business und B2E – business to employee) zu finden. Vor allem der Zugewinn im Bereich Benutzerergonomie bewirkt eine indirekt hohe Akzeptanz einer solchen Lösung. Indirekt, weil die Lösung keine Interaktion erfordert und somit auch nicht direkt wahrgenommen werden kann, sondern bestehende Komplexität und Unterbrechung von Arbeitsabläufen auflöst. Der Benutzer wird in seinem Arbeitsfluss nicht mehr unterbrochen um sich bei einer Anwendung anzumelden, wenn er sich bereits einmal angemeldet hat. Das führt zu einer breiten Akzeptanz, die aber aktiv kommuniziert werden muss. Im Allgemeinen muss man, wenn man nahtloses SSO zwischen Unternehmen und Unternehmen bereitstellen möchte, in der Lage sein, mit SAML umzugehen. Das Protokoll liegt jetzt in Version 2.0 vor.

SAML verwendet XML (vgl.: extended markup language) als Auszeichnungssprache, um die Identitätsdaten des Benutzers darzustellen, und einfaches HTTP (vgl.: Hyper Text Transport Protocol) für Datentransportmechanismus.

In diesem Artikel beschreibe ich SAML ist und was der Unterschied zu anderen Identitätsstandards ist.

Wie funktioniert SAML?

SAML ist ein XML-basiertes Authentifizierungsprotokoll, in dem Identitätsanbieter (vgl.: IdP – Identity Provider) – Entitäten, die Benutzeranmeldeinformationen verwalten und speichern – digital signierte XML-Dokumente (SAML Assertions, SAML Zusicherungen) austauschen, so dass ein Endbenutzer auf einen beliebigen Dienstanbieter (vgl.: SP – Service Provider) in diesem Verbund zugreifen kann.

Der Dienst – die Anwendung – der Daten von dem IdP anfordert und empfängt, wird als vertrauende Partei (vgl.: RP – Relying Party) bezeichnet, und die Benutzeridentitätsdaten, die in der SAML-Zusicherung (Vgl.: SAML Assertion) gekapselt sind, erfolgen in Form von Attributen, wie E-Mail-Adresse, Benutzername, Telefonnummer, Personalnummer usw.

Beispiel

Es gibt eine Analogie in unserer realen Welt dazu. Denken wir an den Ablauf eines Grenzübertritts – ausserhalb des Schengenraumes. Wenn ich fremdes Land reise, dann werde ich an der Grenze nach meinem Pass gefragt, um meine Identität nachzuweisen. Wenn ich keinen Pass habe, dann muss ich mir einen neuen Ausweis zu Hause holen. Habe ich aber einen Ausweis, dann wird die Gültigkeit überprüft. Ist mein Ausweis gültig, dann werde ich mit den Merkmalen, die im Ausweis stehen, identifiziert. Die Identifikation ist die Zuordnung von Namen zu Bild in dem Fall. Das setzt Vertrauen in meinen Heimatstaat voraus nur korrekte Ausweise auszustellen.

Nach der Gültigkeitsprüfung und Vertrauen auf die Richtigkeit der Angaben in meinem Ausweisdokument hat der Zoll aber noch eigene Regeln, wenn er alle überhaupt reinlässt. Das kann der Einreisestaat selbst festlegen, wie er will.

Ausprägung

  • Die Behörde in meinem Heimatland ist der IdP
  • Die Kontrolle an der Grenze ist die vertrauende Partei (vgl. RP)
  • Das Land der Einreise ist der Dienst(Anbieter), die Anwendung
  • Mein Reisedokument ist meine SAML-Zusicherung

Gehen wir mal davon aus, dass das Land für die Einreise nur Ausweise akzeptiert von Ländern mit denen es bilaterale Abkommen gibt. Genauso werden nämlich auch die Vertrauensstellung zwischen teilnehmenden Systemen umgesetzt.

Dieses Szenario kann man direkt als Vorbild nehmen und umsetzen.

Dieser Fall beschreibt eine Umsetzung im geschäftlichen Umfeld. Nehmen wir an, du arbeitest in einem Unternehmen, das mehrere Anwendungen hat, aber einen zentralen Punkt für die Benutzerauthentifizierung. (Anm.: In den meisten Fällen handelt es sich um eine zentrales Verzeichnis, wie Active Directory von Microsoft). Nehmen wir an, Partnerunternehmen haben eine ähnliche Organisation, und für ein bestimmtes Projekt müssen die Mitarbeiter einiger Partner auf eine oder mehrere der Anwendungen deines Unternehmens zugreifen. Mit SAML kannst du nach einer individuellen Konfiguration, die Vertrauen zwischen den Systemen herstellt, das internationale Reiseszenario als Blaupause benutzen.

Ein Mitarbeiter des Partners versucht, auf eine der Anwendungen deines Unternehmens zuzugreifen. Da dieser Benutzer nicht zu deinem Unternehmen gehört, leitet das System deines Unternehmens den Benutzer zum System des Partners um, um einen Identitätsnachweis zu erhalten. Das System des Partners authentifiziert den Benutzer und stellt ihm eine SAML-Zusicherung zur Verfügung. Das System deines Unternehmens überprüft diese Behauptung, stellt die Authentizität fest, und ermöglicht dem Benutzer den Zugriff auf deine definierten Ressourcen für diese Art von Benutzer und Rolle.

SAML und SSO

Entweder der Dienstanbieter oder der Identitätsanbieter können einen Authentifizerungsworkflow mit SAML anstoßen. Eine IdP-initiierte Authentifizierung erfolgt dann zum Beispiel, wenn ein Mitarbeiter in seinem Unternehmens-Dashboard angemeldet ist und ein vom Unternehmen verwendetes Tool auf einer externen Website verwenden möchte. In diesem Fall würde der IdP eine SAML-Assertion über den Webbrowser senden, um dich automatisch anzumelden.

Die SP-initiierte Authentifizierung erfolgt, wenn ein Mitarbeiter versucht, sich bei dieser externen Website anzumelden – der SP – und die Website leitet ihn auf seine SSO-Anmeldeseite (Single Sign On) um, um seine Anmeldeinformationen einzugeben und sich zu authentifizieren. Nach der Authentifizierung wird der Mitarbeiter mit einer SAML-Assertion, die seine Identität beweist, zurück zur externen Website weitergeleitet. In diesem Fall wird meist ein Social Media Dienst als IdP verwendet, damit entfällt vor allem die Benutzerregistrierung und der Benutzer kann den eigentlichen Dienst sofort verwenden.

SAML 2.0 – Neuerungen und Anwendungsfälle

  • Standardisierung:
    Als offener Standard ermöglicht SAML die Interoperabilität von Systemen.
  • Benutzerergonomie & -erfahrung:
    Benutzer können auf mehrere Dienstanbieter zugreifen, indem sie sich nur einmal anmelden, ohne sich jedes mal neu anmelden zu müssen – eine zusätzliche Authentifizierung pro Dienst entfällt. Das ermöglicht eine schnellere und bessere Erfahrung bei jedem Dienstanbieter. Dies zentralisiert auch Passwortverwaltungsprobleme wie Zurücksetzen und Wiederherstellung.
  • Verwendung unterschiedlicher Verzeichnissen:
    Mit SAML können verschiedene Verzeichnisse verwendet werden. Dazu müssen aber keine Benutzerinformationen zwischen Verzeichnissen gepflegt und synchronisiert werden. Die Datenhoheit und das führende System bezüglich personenbezogener Daten bleibt konsistent und autark.
  • Erhöhte Sicherheit:
    SAML bietet einen einzigen Authentifizierungspunkt, der bei einem sicheren IdP geschieht. Um die Replikation von Anmeldeinformationen (Schattenkonten) und die Synchronisierung zu vermeiden, reduziert SAML die Angriffspunkte für Identitätsdiebstahl. Es werden bei SAML und SSO keine Benutzerpasswörter übertragen. Die Kommunikation erfolgt verschlüsselt und die auszutauschenden sind digital signiert, um die Authentizität zu gewährleisten.
  • Reduzierte Kosten für Dienstanbieter:
    Mit SAML müssen Sie keine Kontoinformationen über mehrere Dienste hinweg verwalten. Der Identitätsanbieter trägt diese Last. Der IdP ist alleine für die Wahrnehmung der Betroffenenrechte im Sinne der DSGVO zuständig.
  • Erfüllung von Compliance:
    Im Zeitalter des Datenschutzes (vgl.: DSGVO) ist eine aktive Be- und Einschränkung von Möglichkeiten, personenbezogene Attribute zu verarbeiten eine aktive Haftungsminimierung des eigenen Unternehmens – vor allem, wenn damit keine Schattenkopien damit mehr geführt werden müssen.
Share on:

Schreibe einen Kommentar