Sicherheit

SAML vs. OAUTH

SAML vs. OAUTH
SAML und OAUTH sind technische Standards für die Autorisierung von Benutzern. Diese Standards werden von Webanwendungsentwicklern, Sicherheitsexperten und Systemadministratoren verwendet, die ihren Identitätsverwaltungsdienst verbessern und Methoden verbessern möchten, mit denen Clients mit einer Reihe von Anmeldeinformationen auf Ressourcen zugreifen können. In Fällen, in denen der Zugriff auf eine Anwendung über ein Portal erforderlich ist, ist eine zentrale Identitätsquelle oder Enterprise Single Sign On erforderlich. In solchen Fällen ist SAML vorzuziehen. In Fällen, in denen temporärer Zugriff auf Ressourcen wie Konten oder Dateien erforderlich ist, gilt OAUTH als die bessere Wahl. In mobilen Anwendungsfällen wird meist OAUTH verwendet. Sowohl SAML (Security Assertion and Markup Language) als auch OAUTH (Open Authorization) werden für Web-Single-Sign-On verwendet und bieten die Option für Single-Sign-On für mehrere Webanwendungen.

SAML

SAML wird verwendet, um es SSO-Anbietern von Webanwendungen zu ermöglichen, Anmeldeinformationen zwischen dem Identitätsanbieter (IDP), der die Anmeldeinformationen enthält, und dem Service Provider (SP), der die Ressource, die diese Anmeldeinformationen benötigt, zu übertragen und zu verschieben. SAML ist eine Standardsprache für Autorisierungs- und Authentifizierungsprotokolle, die hauptsächlich für die Verwaltung von Föderationen und Identitäten sowie für die Verwaltung von Single Sign-On verwendet wird. Im SAML, XML-Metadatendokumente werden als Token für die Übermittlung der Identität des Kunden verwendet. Der Authentifizierungs- und Autorisierungsprozess von SAML ist wie folgt:

  1. Der Benutzer fordert die Anmeldung beim Dienst über den Browser an.
  2. Der Dienst teilt dem Browser mit, dass er sich bei einem bestimmten beim Dienst registrierten Identitätsanbieter (IdP) authentifiziert.
  3. Der Browser leitet die Authentifizierungsanfrage an die registrierten Identitätsanbieter zur Anmeldung und Authentifizierung weiter.
  4. Nach erfolgreicher Berechtigungs-/Authentifizierungsprüfung generiert der IdP ein XML-basiertes Bestätigungsdokument, das die Identität des Benutzers verifiziert und an den Browser weiterleitet.
  5. Der Browser leitet die Behauptung an den Dienstanbieter weiter.
  6. Der Service Provider (SP) nimmt die Geltendmachung zur Eintragung an und ermöglicht dem Nutzer den Zugang zum Service durch Einloggen.

Schauen wir uns nun ein reales Beispiel an. Angenommen, ein Benutzer klickt auf das Anmeldung Option zum Bildfreigabedienst auf der Website abc.com. Um den Benutzer zu authentifizieren, wird von abc . eine verschlüsselte SAML-Authentifizierungsanfrage gestellt.com. Die Anfrage wird von der Website direkt an den Autorisierungsserver (IdP) gesendet. Hier leitet der Dienstanbieter den Benutzer zur Autorisierung an den IdP weiter. Der IdP überprüft die empfangene SAML-Authentifizierungsanfrage und zeigt dem Benutzer, wenn sich die Anfrage als gültig herausstellt, ein Anmeldeformular zur Eingabe der Anmeldeinformationen an. Nachdem der Benutzer die Anmeldeinformationen eingegeben hat, generiert der IdP eine SAML-Assertion oder ein SAML-Token mit den Daten und der Identität des Benutzers und sendet es an den Dienstanbieter. Der Service Provider (SP) überprüft die SAML-Assertion und extrahiert die Daten und die Identität des Benutzers, weist dem Benutzer die richtigen Berechtigungen zu und meldet den Benutzer beim Dienst an.

Entwickler von Webanwendungen können SAML-Plug-ins verwenden, um sicherzustellen, dass sowohl die App als auch die Ressource die erforderlichen Single Sign-On-Praktiken befolgen. Dies sorgt für eine bessere Benutzeranmeldung und effektivere Sicherheitspraktiken, die eine gemeinsame Identitätsstrategie nutzen. Wenn SAML vorhanden ist, können nur Benutzer mit der richtigen Identität und dem richtigen Assertionstoken auf die Ressource zugreifen.

OAUTH

OAUTH wird verwendet, wenn die Autorisierung von einem Dienst an einen anderen Dienst weitergegeben werden muss, ohne die tatsächlichen Zugangsdaten wie Passwort und Benutzername zu teilen. Verwenden von OAUTH, Benutzer können sich bei einem einzelnen Dienst anmelden, auf die Ressourcen anderer Dienste zugreifen und Aktionen für den Dienst ausführen. OAUTH ist die beste Methode, um die Autorisierung von einer Single-Sign-On-Plattform an einen anderen Dienst oder eine andere Plattform oder zwischen zwei beliebigen Webanwendungen zu übergeben. Das OAUTH Arbeitsablauf ist wie folgt:

  1. Der Benutzer klickt auf die Schaltfläche Anmelden eines Ressourcenfreigabedienstes.
  2. Der Ressourcenserver zeigt dem Benutzer eine Berechtigungserteilung an und leitet den Benutzer an den Berechtigungsserver weiter.
  3. Der Benutzer fordert mit dem Autorisierungserteilungscode ein Zugriffstoken vom Autorisierungsserver an.
  4. Wenn der Code nach der Anmeldung am Autorisierungsserver gültig ist, erhält der Benutzer ein Zugriffstoken, mit dem er eine geschützte Ressource vom Ressourcenserver abrufen oder darauf zugreifen kann.
  5. Beim Erhalt einer Anfrage für eine geschützte Ressource mit einem Access Grant Token wird die Gültigkeit des Access Tokens vom Ressourcenserver mit Hilfe des Autorisierungsservers überprüft.
  6. Wenn das Token gültig ist und alle Prüfungen besteht, wird die geschützte Ressource vom Ressourcenserver gewährt.

Eine häufige Verwendung von OAUTH besteht darin, einer Webanwendung den Zugriff auf eine Social-Media-Plattform oder ein anderes Online-Konto zu ermöglichen. Google-Benutzerkonten können aus verschiedenen Gründen mit vielen Verbraucheranwendungen verwendet werden, z. B. zum Bloggen, Online-Spielen, Anmelden mit Social-Media-Konten und Lesen von Artikeln auf Nachrichten-Websites. In diesen Fällen arbeitet OAUTH im Hintergrund, damit diese externen Entitäten angebunden werden und auf die notwendigen Daten zugreifen können.

OAUTH ist eine Notwendigkeit, da es eine Möglichkeit geben muss, Autorisierungsinformationen zwischen verschiedenen Anwendungen zu senden, ohne Benutzeranmeldeinformationen zu teilen oder offenzulegen. OAUTH wird auch in Unternehmen eingesetzt. Angenommen, ein Benutzer muss mit seinem Benutzernamen und Passwort auf das Single Sign-On-System eines Unternehmens zugreifen. Das SSO gewährt ihm Zugriff auf alle benötigten Ressourcen, indem es OAUTH-Autorisierungstoken an diese Apps oder Ressourcen weitergibt.

Fazit

OAUTH und SAML sind beide aus Sicht eines Webanwendungsentwicklers oder Systemadministrators sehr wichtig, während beide sehr unterschiedliche Tools mit unterschiedlichen Funktionen sind. OAUTH ist das Protokoll für die Zugangsberechtigung, während SAML ein sekundärer Ort ist, der die Eingaben analysiert und dem Benutzer die Berechtigung erteilt.

Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...
0 A.D. Lernprogramm
Von den vielen Strategiespielen da draußen, 0 A.D. schafft es, sich trotz Open Source als umfassender Titel und sehr tiefgehendes, taktisches Spiel ab...
Unity3D-Tutorial
Einführung in Unity 3D Unity 3D ist eine leistungsstarke Engine für die Spieleentwicklung. Es ist plattformübergreifend, das heißt, Sie können Spiele ...