Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
SAML vs OAuth: Wichtige Unterschiede und Top-Anwendungsfälle

SAML vs OAuth: Wichtige Unterschiede und Top-Anwendungsfälle

Oct 30, 2024

SAML (Security Assertion Markup Language) und OAuth (Open Authorization) gehören zu den am häufigsten verwendeten Protokollen für Benutzer­authentifizierung und -autorisierung. Beide helfen, Identität und Zugriff mithilfe von Tokens zu verwalten, dienen jedoch unterschiedlichen Zwecken und werden in verschiedenen Kontexten eingesetzt. Dieser Blog erläutert die wichtigsten Gemeinsamkeiten und Unterschiede zwischen SAML und OAuth sowie die spezifischen Anwendungsfälle, in denen sie am häufigsten verwendet werden.

Einstieg: Eine Hilfreiche Analogie

Der grundlegende Unterschied zwischen SAML und OAuth liegt in der Art der Tokens, die sie verwenden. SAML überreicht dir ein großes, offiziell aussehendes XML-Token – gestempelt, beglaubigt und mit dem Duft von Bürokratie. OAuth hingegen wirft dir ein kleines JWT-Token zu und sagt: „Hier, damit kommst du für ein paar Stunden in den VIP-Bereich. Verlier es nur nicht!“

So kannst du dir den Unterschied besser vorstellen: SAML ist wie der Besuch einer exklusiven Party, bei der du dich fragst, ob du überhaupt hineinkommst. Zum Glück taucht ein Freund an der Tür auf und sagt: „Die Person ist mit mir, alles gut“, woraufhin der Gastgeber dich ohne Fragen einlässt – und du bleiben kannst, so lange du willst.

OAuth ist eher so, als würde dir jemand sein Auto leihen. Er gibt dir keinen Zugang zu seinem Haus, seinem Bankkonto oder seinem Fahrrad – nur zu seinem Auto. Ähnlich autorisiert OAuth bestimmte Dinge, ohne alle deine Informationen preiszugeben. Du hast das sicher schon gesehen, wenn du auf „Mit Facebook anmelden“ oder „Mit Google anmelden“ klickst. Facebook oder Google geben der App nur die nötigsten Informationen – etwa deinen Namen und deine E-Mail-Adresse – aber nicht dein ganzes Leben. Vor allem teilt OAuth dein Passwort nicht mit der App, sondern gibt stattdessen ein spezielles Web-Token aus, das sagt: „Diese Person darf X, Y und Z tun.“

Vertiefter Einblick: SAML (Security Assertion Markup Language)

Wir haben gesagt, SAML ist wie ein Freund, der für dich bürgt, damit du auf eine Party darfst. Bei SAML bittest du jedoch nicht um Zugang zu einer Party, sondern zu einer Anwendung oder einem Dienst. Der Freund in diesem Fall ist ein Identitätsanbieter (wie Google oder das interne System deines Unternehmens), der dem Dienst mitteilt, dass du bereits authentifiziert wurdest – und daher Zugriff erhalten solltest.

Hauptanwendungsfall

Der Hauptvorteil von SAML besteht darin, Single Sign-On (SSO) zu ermöglichen – also Nutzern die einmalige Authentifizierung zu erlauben, sodass sie anschließend auf mehrere Systeme zugreifen können, ohne sich erneut anmelden oder separate Konten verwenden zu müssen.

Daher ist SAML ideal für Umgebungen, in denen SSO entscheidend ist, etwa in Unternehmen der Bildungs-, Gesundheits- und Regierungsbranche. Wenn du Benutzer über mehrere Anwendungen in verschiedenen Domains verwaltest und die Authentifizierung vereinfachen möchtest, ohne mehrfaches Einloggen zu erzwingen, ist SAML das Protokoll der Wahl.

Wie SAML Funktioniert

SAML umfasst drei Hauptkomponenten:

  • Benutzer — Die Person, die Zugriff erhalten möchte
  • Dienstanbieter — Der Host der Anwendung oder des Dienstes, auf den der Benutzer zugreifen möchte
  • Identitätsanbieter — Die Instanz, die den Benutzer authentifiziert

Diese Komponenten interagieren wie folgt:

  1. Ein Benutzer versucht, auf eine Anwendung oder einen Dienst zuzugreifen.
  2. Der Dienstanbieter leitet den Benutzer zur Authentifizierung an den Identitätsanbieter weiter.
  3. Der Identitätsanbieter prüft, ob der Benutzer bereits authentifiziert wurde (und führt gegebenenfalls die Authentifizierung durch) und sendet ein XML-Token zurück, das für den Benutzer bürgt.
  4. Auf Grundlage des XML-Tokens gewährt der Dienstanbieter dem Benutzer Zugriff auf die Anwendung oder den Dienst.

Wichtige Merkmale von SAML

  • Föderierte Identität — Ermöglicht das Teilen einer Identität über verschiedene Domains hinweg
  • SSO — Erlaubt nahtlose Authentifizierung über verschiedene Systeme
  • Unternehmensnutzung — Wird hauptsächlich in B2B-Umgebungen verwendet, in denen eine sichere Identitätsfreigabe zwischen internen und externen Anwendungen entscheidend ist
  • XML-basiert — Stützt sich stark auf XML für die Kommunikation zwischen den Parteien

Vorteile der Nutzung von SAML

  • Reduziertes Risiko einer Kontokomprimittierung — Da Benutzer nur ein einziges Set an Zugangsdaten benötigen, wählen sie eher starke Passwörter und können sich diese merken, ohne auf riskante Methoden wie das Aufschreiben zurückzugreifen.
  • Reduzierter IT-Aufwand — Weniger Passwortzurücksetzungen und Support-Tickets im Zusammenhang mit Login-Problemen sparen Zeit für Benutzer und IT-Mitarbeiter.
  • Reduziertes Risiko von Passwortdiebstahl — Passwörter werden nicht zwischen Benutzer und Dienstanbieter übertragen.

Vertiefter Einblick: OAuth

Wir haben gesagt, OAuth ist wie ein Freund, der dir sein Auto leiht, aber keine anderen Besitztümer. Ebenso autorisiert OAuth nur einen begrenzten Satz von Zugriffsrechten, ohne dein Passwort weiterzugeben. Zum Beispiel ermöglicht OAuth, dass eine Drittanbieter-App oder -Website auf deine Facebook-Fotos zugreifen kann — ohne andere Informationen preiszugeben, die Facebook über dich speichert, einschließlich deiner Anmeldedaten.

Wie OAuth Funktioniert

Die Hauptkomponenten von OAuth sind:

  • Client — Eine Anwendung, die im Auftrag eines Benutzers Zugriff auf eine Ressource anfordert
  • Ressourcenbesitzer — Der Benutzer oder das System, dem die angeforderten Daten oder die Anwendung gehören und der Zugriff gewähren kann
  • Autorisierungsserver — Der Server, der Tokens nach Zustimmung des Benutzers ausgibt
  • Ressourcenserver — Die API oder der Dienst, der die Ressource speichert

Der Ablauf ist wie folgt:

  1. Ein Benutzer möchte einer Client-Anwendung Zugriff auf bestimmte Daten gewähren, die beim Ressourcenbesitzer liegen.
  2. Der Client fordert die Autorisierung vom zuständigen Autorisierungsserver an.
  3. Der Autorisierungsserver authentifiziert den Client, holt die Zustimmung des Ressourcenbesitzers ein und sendet ein Zugriffstoken an den Client.
  4. Mit dem Zugriffstoken fordert der Client den Zugriff auf die gewünschte Ressource beim Ressourcenserver an.

Anwendungsfälle von OAuth

OAuth eignet sich am besten für verbraucherorientierte Anwendungen und Situationen, in denen Drittanbieter-Apps eingeschränkten Zugriff auf Benutzerdaten benötigen. Zum Beispiel, wenn Sie eine mobile App entwickeln, die auf Daten einer externen API zugreifen muss, bietet OAuth eine sichere und standardisierte Möglichkeit, diesen Zugriff zu gewähren, ohne die Anmeldedaten des Benutzers preiszugeben.

Wichtige Merkmale von OAuth

  • Fokus auf Autorisierung — Entwickelt, um Drittanbietern Zugriff zu gewähren, ohne Anmeldedaten zu teilen
  • API-zentriert — Weit verbreitet zur Sicherung des API-Zugriffs, insbesondere in mobilen, Web- und Cloud-Anwendungen
  • Token-basiert — Verwendet Zugriffstoken (meist im JSON-Format), um Zugriff zu gewähren oder zu verweigern
  • Verbraucherorientiert — Häufig in B2C-Anwendungen wie Facebook und Google verwendet

Vorteile der Verwendung von OAuth

  • Reduziertes Risiko von Sicherheitsverletzungen — OAuth verwendet Tokens, die nur für bestimmte Ressourcen und für begrenzte Zeit Zugriff gewähren
  • Flexibilität — OAuth kann mit mobilen Geräten, Desktops, Webbrowsern und IoT-Geräten verwendet werden
  • Erhöhte Kundenzufriedenheit — Organisationen können vertrauenswürdige Drittanbieter-Autorisierungssysteme wie Google oder Facebook nutzen, um Zugriff auf eigene Ressourcen zu gewähren und so das Kundenerlebnis zu vereinfachen

Vergleichsanalyse: SAML vs. OAuth

Ähnlichkeiten Zwischen SAML und OAuth

  • Sowohl OAuth als auch SAML ermöglichen Single Sign-On, sodass Benutzer sich einmal authentifizieren und auf mehrere Dienste zugreifen können.
  • Beide Protokolle ermöglichen die Weitergabe von Identitätsinformationen über mehrere Systeme, Anwendungen oder Organisationen hinweg.
  • Beide Protokolle erhöhen Benutzerkomfort und Sicherheit, indem sie die Notwendigkeit zur Weitergabe oder Speicherung von Zugangsdaten bei Drittanbietern eliminieren.

Unterschiede Zwischen SAML und OAuth

  • OAuth verwendet leichtgewichtige, auf JSON basierende Tokens, während SAML umfangreiche, auf XML basierende Tokens nutzt.
  • OAuth wird typischerweise für web- und mobile Apps für Verbraucher eingesetzt, während SAML hauptsächlich für unternehmensweites SSO und Identitätsföderation verwendet wird.
  • OAuth-Tokens dienen zur Autorisierung des Zugriffs auf APIs, während SAML-Assertions zur Authentifizierung zwischen Systemen verwendet werden.

Seiten-an-Seiten-Vergleich

Funktion

SAML

OAuth

Zweck

Authentifizierung

Passwortlose Autorisierung

Fokus

Einmalanmeldung

API-Zugriff

Token-Format

XML

JSON

Hauptanwendungsfall

Unternehmens- und B2B-Umgebungen

Verbraucher-Web- und Mobile-Apps

Komplexität

Komplexer

Leichter und flexibler

Protokoll-Koexistenz

SAML und OAuth können zusammen in Systemen arbeiten, die sowohl Authentifizierung als auch Autorisierung erfordern. Zum Beispiel könnte ein Mitarbeiter sich mit SAML bei einem Unternehmenssystem anmelden, und das System gibt anschließend ein OAuth-Zugriffstoken aus, um die Interaktion mit externen Diensten oder APIs wie Microsoft Graph oder Google Drive zu ermöglichen.

Sicherheitsbedenken und Best Practices

Token-Diebstahl und Replay-Angriffe

Da OAuth-Tokens normalerweise langlebig sind, sind sie anfällig für Diebstahl durch böswillige Akteure, die sie nutzen könnten, um auf kritische Daten oder Systeme zuzugreifen. OAuth-Tokens können beispielsweise durch Man-in-the-Middle-Angriffe abgefangen oder aus unzureichend gesichertem Speicher gestohlen werden.

Um diese Risiken zu minimieren, können Organisationen kurzlebige Zugriffstokens verwenden und stets HTTPS einsetzen, das TLS-Verschlüsselung bereitstellt.

XML-Signatur-Wrapping

Eine XML-Signatur ist eine digitale Signatur, die an ein XML-Dokument angehängt wird, wie z. B. ein SAML-Token. Eine gültige Signatur zeigt an, dass das Dokument aus einer vertrauenswürdigen Quelle stammt und nicht manipuliert wurde. Angreifer können diesen Verifizierungsmechanismus ausnutzen, indem sie bösartige Daten in ein SAML-Token einfügen und dennoch eine gültige Signatur beibehalten.

Zum Schutz vor solchen Angriffen können Organisationen starke digitale Signaturen verlangen und SAML-Tokens verschlüsseln, um deren Integrität und Vertraulichkeit zu gewährleisten.

Organisationen bewegen sich schnell weg von traditioneller passwortbasierter Authentifizierung hin zu Methoden wie Multi-Faktor-Authentifizierung (MFA) und passwortlosen Optionen wie Passkeys. Darüber hinaus übernehmen sie Zero-Trust-Sicherheitsmodelle, die das Prinzip „niemals vertrauen, immer überprüfen“ betonen. Außerdem setzen sie künstliche Intelligenz (KI) und maschinelles Lernen (ML) ein, um ihre Bedrohungserkennung zu verbessern.

Fazit

Obwohl SAML und OAuth beide eine entscheidende Rolle bei der Verwaltung des Zugriffs auf Anwendungen und Daten spielen, adressieren sie unterschiedliche Herausforderungen: SAML konzentriert sich auf die Bestätigung der Benutzeridentität und wird häufig für SSO in Unternehmensumgebungen verwendet, während OAuth für granulare, passwortlose Autorisierung konzipiert ist, um sicheren Zugriff auf APIs und Ressourcen in Web- und mobilen Anwendungen zu ermöglichen. Beide Protokolle unterstützen dabei, eine reibungslosere und einfachere Benutzererfahrung zu schaffen und gleichzeitig starke Sicherheit aufrechtzuerhalten.

Teilen auf

Erfahren Sie mehr

Über den Autor

Asset Not Found

Kent Tuominen

Solutions Engineer

Kent Tuominen ist derzeit Solutions Engineer bei Netwrix mit über 25 Jahren Erfahrung im Technologiebereich. Er hat sich durch das Erreichen umfangreicher Ergebnisse spezifischer Aufgaben in oft hochdruckbelasteten Umgebungen ausgezeichnet. Einige der Titel, die Kent in seiner Karriere innehatte, sind folgende: Microsoft Certified Trainer/Certified Novell Instructor, Senior Network Engineer, Director of IT und war als CEO seiner eigenen IT-Beratungsfirma tätig.