Was ist SAML und wie funktioniert es?

SAML ist ein offenes Standard-Authentifizierungsprotokoll, das den Authentifizierungsprozess vereinfachen soll, indem es als Vermittler zwischen Diensteanbietern und Identitätsanbietern dient.

SAML

SAML (Security Assertion Markup Language)

Im Jahr 2001 versuchte der Technologiesektor, ein XML-Framework (Extensible Markup Language) zu entwickeln, das für die Übertragung von Authentifizierungs- und Autorisierungsinformationen verwendet werden konnte. Das Ergebnis dieser Bemühungen war die Security Assertion Markup Language (SAML), ein offenes Standard-Authentifizierungsprotokoll, das die Übertragung von Authentifizierungsdaten zwischen Identitätsanbietern (Identity Providers, IdP) und Diensteanbietern (Service Providers, SP) vereinfacht.

SAML hat einen Standard definiert, der es externen Anwendungen und Diensten ermöglicht, die Identität der Benutzer zu bestätigen. So können Benutzer mit einem einzigen Satz von Anmeldeinformationen, oder besser gesagt mit Hilfe der Single Sign-on (SSO) Technologie, auf mehrere Webanwendungen zugreifen. SAML vereinfacht diesen Anmeldevorgang, weil es die Möglichkeit bietet, einen Benutzer einmal zu authentifizieren und diese Authentifizierung dann mit mehreren Anwendungen zu teilen.

Vor SAML funktionierte SSO nur mit Cookies in derselben Domäne. SAML ermöglichte die Abschaffung des zwischengeschalteten Cookies durch die Zentralisierung der Benutzerauthentifizierungsdaten bei einem Identitätsanbieter. Wenn eine Anwendung SAML aktiviert hat, kann eine Kommunikationsverbindung zwischen dem SP und dem IdP hergestellt werden, wenn ein Benutzer einen Anmeldeversuch unternimmt, wodurch ein nahtloser Authentifizierungs- und Autorisierungsprozess möglich wird. Das bedeutet, dass sich die Benutzer bei diesem Verfahren weder mehrere Benutzernamen noch Passwörter merken müssen.

Die aktuellste Version von SAML ist SAML 2.0 (seit 2005), in der mehrere Vorgängerversionen von SAML zusammengeführt wurden. Obwohl viele Systeme frühere Versionen unterstützen, gilt SAML 2.0 weiterhin als der modernste Standard.

Vorteile von SAML

SAML hat sich als Unternehmenslösung weitgehend durchgesetzt. Das liegt vor allem an ihren zahlreichen Vorteilen. Dazu gehören:

  • Ein verbessertes Benutzererlebnis: Wie bereits erwähnt, wird SSO durch SAML unterstützt, was bedeutet, dass sich Benutzer nur einmal anmelden müssen, um Zugang zu mehreren Webanwendungen zu erhalten. Das heisst, sie müssen sich nur einen Satz von Anmeldedaten merken und der Autorisierungsprozess vereinfacht sich erheblich.
  • Ein sichereres Plattform-Erlebnis: Da Diensteanbieter keine Passwörter mehr speichern müssen, sind sie weniger anfällig für die vielen Risiken, die mit Datenpannen verbunden sind. Auch die Benutzerdaten sind sicherer, da sie den IdP und den Schutz der Firewalls nicht verlassen. Da die IdPs auf die Erstellung einer absolut sicheren SAML-Authentifizierung spezialisiert sind, investieren sie ausserdem viel Zeit und Ressourcen in mehrere Sicherheitsebenen wie die Multi-Faktor-Authentifizierung (MFA) und andere. Ausserdem stützt sich SAML auf die Public-Key-Infrastruktur (PKI), die zusätzlichen Schutz vor potenziellen Angriffen bietet.
  • Geringere Beanspruchung des Kundendienstes: Da Passwörter nicht mehr benötigt werden, muss der Kundendienst weniger Zeit für das Zurücksetzen von Passwörtern aufwenden und kann sich mehr um die Kundenzufriedenheit kümmern.
  • Besser angepasste Benutzererfahrung: SAML ermöglicht die föderierte Identitätsverwaltung – die Verknüpfung mehrerer Identitäten. Dadurch wird die Benutzererfahrung optimiert und gleichzeitig der Datenschutz gefördert.
  • Stärker standardisierter Ansatz: SAML kann mit jedem System interagieren. Dies führt zu weniger Interoperabilitätsproblemen im Zusammenhang mit herstellerspezifischen Lösungen, unabhängig von der Systemarchitektur.

Wie funktioniert SAML?

SAML fungiert als Zwischenglied zwischen einem Identitätsanbieter (IdP) und einem Diensteanbieter oder einer Webanwendung. Hierzu werden definierte föderierte Authentifizierungsabläufe verwendet, um Benutzerinformationen, einschliesslich Kennungen oder andere Attribute, zu übertragen. Wenn ein Benutzer versucht, auf eine Webanwendung oder einen Dienst zuzugreifen, wird dieser Prozess ausgelöst. Hier ein Beispiel:

  • Benutzeranfrage: Der Benutzer fordert den Zugriff auf eine Webanwendung oder einen Dienst an.
  • Anfrage des Diensteanbieters: Der Diensteanbieter, in diesem Fall der Dienst oder die Anwendung, die der Benutzer zu nutzen versucht (z. B. Google, Slack usw.), bittet den IdP, den Benutzer zu authentifizieren.
  • Antwort des IdP: Der IdP, eine Systemeinheit, die die Identität eines Benutzers speichert und authentifiziert, stellt dem Diensteanbieter die SAML-Authentifizierung zur Verfügung.
  • Zugriffsgewährung: Der Diensteanbieter gewährt dem Benutzer Zugriff, sobald die SAML-Authentifizierung erfolgreich ist.

FAQ zu SAML

Wie unterscheidet sich SAML von anderen Authentifizierungsprotokollen?

orange-plus orange-minus

Im Gegensatz zu anderen Authentifizierungsprotokollen wie OAuth und OpenID Connect, die hauptsächlich für die Autorisierung von APIs und Webanwendungen verwendet werden, ist SAML speziell für die Authentifizierung von Benutzern in Unternehmens- und Organisationsszenarien konzipiert.

Was sind die Hauptkomponenten von SAML?

orange-plus orange-minus

Identitätsanbieter (IdP): Eine Webanwendung oder ein System, das für die Authentifizierung von Benutzern und die Erstellung von SAML-Assertions zuständig ist.

Dienstanbieter (SP): Eine Webanwendung oder ein System, auf das Benutzer zugreifen und das SAML-Assertions empfängt und verifiziert.

SAML-Behauptung: Eine digitale Signatur mit Identitäts- und Attributinformationen über den Benutzer, die zwischen dem IdP und dem SP ausgetauscht wird.

Was ist die Rolle von IdP und SP bei der SAML?

orange-plus orange-minus

SAML funktioniert durch den Austausch von digital signierten SAML-Assertions zwischen einem Identitätsanbieter (IdP) und einem Dienstanbieter (SP). Der IdP authentifiziert den Benutzer und erstellt eine SAML-Assertion, die die Identität und Attribute des Benutzers enthält. Der SP empfängt diese SAML-Assertion, prüft ihre Gültigkeit und autorisiert den Benutzer entsprechend.

Welche Argumente sprechen für SAML?

orange-plus orange-minus

Einmalige Anmeldung (SSO): Benutzer können sich bei einer Anwendung anmelden und dann nahtlos auf andere Anwendungen zugreifen, ohne sich erneut anmelden zu müssen.

Sicherheit: SAML verwendet Verschlüsselung und digitale Signaturen, um die Sicherheit von Authentifizierungs- und Autorisierungsdaten zu gewährleisten.

Interoperabilität: SAML ist ein Standardprotokoll, das von einer Vielzahl von Anbietern unterstützt wird, was die Interoperabilität zwischen verschiedenen Anwendungen und Systemen erleichtert.