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 Benutzerauthentifizierung 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:
- Ein Benutzer versucht, auf eine Anwendung oder einen Dienst zuzugreifen.
- Der Dienstanbieter leitet den Benutzer zur Authentifizierung an den Identitätsanbieter weiter.
- 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.
- 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:
- Ein Benutzer möchte einer Client-Anwendung Zugriff auf bestimmte Daten gewähren, die beim Ressourcenbesitzer liegen.
- Der Client fordert die Autorisierung vom zuständigen Autorisierungsserver an.
- Der Autorisierungsserver authentifiziert den Client, holt die Zustimmung des Ressourcenbesitzers ein und sendet ein Zugriffstoken an den Client.
- 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.
Zukünftige Trends und Entwicklungen
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
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.
Erfahren Sie mehr zu diesem Thema
Die nächsten fünf Minuten der Compliance: Aufbau einer identitätsorientierten Datensicherheit in der APAC-Region
Datenschutzgesetze der Bundesstaaten: Unterschiedliche Ansätze zum Datenschutz
Das CIA-Dreieck und seine Anwendung in der realen Welt
Was ist elektronisches Records Management?
Erstellen Sie AD-Benutzer in Massen und senden Sie deren Anmeldeinformationen per E-Mail mit PowerShell