Authentifizierungsprotokolle: LDAP vs Kerberos vs OAuth2 vs SAML vs RADIUS

Okt 25, 2021
admin

Die Benutzerauthentifizierung in Anwendungen ist eine der größten aktuellen Herausforderungen für die IT-Abteilung. Es gibt viele verschiedene Systeme, auf die ein Benutzer Zugriff haben muss, und deshalb sind die meisten Authentifizierungsprotokolle in der Regel offene Standards.

Wenn man Fragen zu Authentifizierungsprotokollen auf Stack Overflow liest, wird ziemlich klar, dass dies ein verwirrendes und überwältigendes Thema sein kann.

In diesem Blogbeitrag stellen wir die fünf am häufigsten verwendeten Authentifizierungsprotokolle vor und erklären, wie sie funktionieren und welche Vorteile sie bieten.

LDAP

LDAP (Lightweight Directory Access Protocol) ist ein Softwareprotokoll, das es jedermann ermöglicht, Organisationen, Personen und andere Ressourcen wie Dateien und Geräte in einem Netzwerk zu lokalisieren, sei es im öffentlichen Internet oder in einem Firmenintranet.

Man kann mit Fug und Recht behaupten, dass LDAP ein beliebtes Programm geworden ist. Es diente als Grundlage, auf der Microsoft Active Directory aufbaute, und war maßgeblich an der Entwicklung der heutigen Cloud-basierten Verzeichnisse (auch bekannt als Directories-as-a-Service) beteiligt.

LDAP sendet Nachrichten zwischen Servern und Client-Anwendungen, die alles von Client-Anfragen bis hin zur Datenformatierung umfassen können.

Auf funktionaler Ebene funktioniert LDAP durch die Bindung eines LDAP-Benutzers an einen LDAP-Server. Der Client sendet eine Anfrage, die nach einer bestimmten Menge von Informationen fragt, wie z.B. Anmeldedaten oder andere organisatorische Daten. Der LDAP-Server verarbeitet dann die Anfrage auf der Grundlage seiner internen Sprache, kommuniziert bei Bedarf mit Verzeichnisdiensten und antwortet. Wenn der Client die Antwort erhält, löst er die Bindung an den Server und verarbeitet die Daten entsprechend.

Holen Sie sich unseren Leitfaden zur Lead-Generierung für MSPs

Lernen Sie mehr darüber, wie Sie erfolgreich Leads generieren und skalieren können

Gehen zum Leitfaden

Holen Sie sich unseren Leitfaden zur Lead-Generierung für MSPs

Kerberos

Kerberos ist ein Netzwerk-Authentifizierungsprotokoll. Es wurde entwickelt, um eine starke Authentifizierung für Client/Server-Anwendungen durch die Verwendung von Secret-Key-Kryptographie zu ermöglichen. Eine freie Implementierung dieses Protokolls ist vom Massachusetts Institute of Technology erhältlich. Kerberos ist auch in vielen kommerziellen Produkten verfügbar.

Nachfolgend die grundlegenden Schritte zur Authentifizierung in einer Kerber-Umgebung.

  1. Der Client fordert ein Authentifizierungsticket (TGT) vom Key Distribution Center (KDC) an.
  2. Das KDC prüft die Anmeldeinformationen und sendet ein verschlüsseltes TGT und einen Sitzungsschlüssel zurück.
  3. Der Client fordert den Zugriff auf eine Anwendung auf einem Server an. Eine Ticketanforderung für den Anwendungsserver wird an das KDC gesendet, das aus der TGT des Clients und einem Authentifikator besteht.
  4. Das KDC sendet ein Ticket und einen Sitzungsschlüssel an den Benutzer zurück.
  5. Das Ticket wird an den Anwendungsserver gesendet. Sobald das Ticket und der Authentifikator empfangen wurden, kann der Server den Client authentifizieren.
  6. Der Server antwortet dem Client mit einem weiteren Authentifikator. Nach Erhalt dieses Authentifikators kann der Client den Server authentifizieren.

Oauth 2

OAuth 2 ist ein Autorisierungs-Framework, das es Anwendungen ermöglicht, begrenzten Zugriff auf Benutzerkonten in einem HTTP-Dienst wie Facebook, GitHub und DigitalOcean zu erhalten.

Hier ist eine Beschreibung der grundlegenden Schritte im Autorisierungsprozess:

  1. Die Anwendung fordert vom Benutzer die Autorisierung für den Zugriff auf die Ressourcen des Dienstes an.
  2. Wenn der Benutzer zustimmt, erhält die Anwendung eine Autorisierungserlaubnis.
  3. Die Anwendung fordert ein Zugriffstoken vom Autorisierungsserver (API) an. Dazu legt sie ihre Identität und die Autorisierungserlaubnis vor.
  4. Wenn die Identität der Anwendung authentifiziert wird und die Autorisierungserlaubnis gültig ist, gibt die API ein Zugriffstoken an die Anwendung aus. Die Autorisierung ist abgeschlossen.
  5. Die Anwendung fordert die Ressource von der API an und legt das Zugriffstoken zur Authentifizierung vor.
  6. Wenn das Zugriffstoken gültig ist, stellt die API der Anwendung die Ressource bereit.
Oauth2
Quelle: Digital Ocean

SAML

Security Assertion Markup Language (SAML) ist ein XML-basiertes, offenes Standard-Datenformat für den Austausch von Authentifizierungs- und Autorisierungsdaten zwischen Parteien, insbesondere zwischen einem Identitätsanbieter und einem Dienstanbieter. SAML ist ein Produkt des OASIS Security Services Technical Committee.

JumpCloud ist einer der besten Single Sign-On (SSO) Anbieter, der SAML-Authentifizierungsprotokolle unterstützt. Das SSO von JumpCloud bietet SAML-Integrationen mit 700 beliebten Geschäftsanwendungen (einschließlich Kisi) und automatisierte Funktionen für das Benutzerlebenszyklusmanagement wie Just-in-Time (JIT) Provisioning und SCIM Provisioning/Deprovisioning.

Hier eine Beschreibung der typischen Schritte im Authentifizierungsprozess:

  1. Der Benutzer greift über einen Link in einem Intranet o.ä. auf eine Remote-Anwendung zu und die Anwendung wird geladen.
  2. Die Anwendung identifiziert die Herkunft des Benutzers (anhand der Subdomäne der Anwendung, der IP-Adresse des Benutzers o.ä.). Sie leitet den Benutzer zurück zum Identitätsprovider und bittet ihn um Authentifizierung.
  3. Der Benutzer hat entweder eine bestehende aktive Browsersitzung mit dem Identitätsprovider oder baut eine solche auf, indem er sich beim Identitätsprovider anmeldet.
  4. Der Identitätsprovider erstellt eine Authentifizierungsantwort in Form eines XML-Dokuments, das den Benutzernamen oder die E-Mail-Adresse des Benutzers enthält. Dieses wird dann mit einem X.509 Zertifikat signiert und dann an den Dienstanbieter gesendet.
  5. Der Dienstanbieter (der den Identitätsanbieter bereits kennt und über einen Zertifikatsfingerabdruck verfügt) ruft die Authentifizierungsantwort ab und validiert sie anhand des Zertifikatsfingerabdrucks.
  6. Die Identität des Benutzers wird festgestellt, und der Benutzer erhält Zugang zur Anwendung.

RADIUS

Remote Authentication Dial-In User Service (RADIUS) ist ein Netzwerkprotokoll, das eine zentralisierte Authentifizierungs-, Autorisierungs- und Abrechnungsverwaltung (AAA oder Triple A) für Benutzer bereitstellt, die eine Verbindung zu einem Netzwerkdienst herstellen und diesen nutzen.

Die RADIUS-Authentifizierung beginnt, wenn der Benutzer über den Remote Access Server (RAS) Zugriff auf eine Netzwerkressource anfordert. Der Benutzer gibt einen Benutzernamen und ein Kennwort ein, die vom RADIUS-Server verschlüsselt werden, bevor sie den Authentifizierungsprozess durchlaufen.

Dann prüft der RADIUS-Server die Richtigkeit der Informationen, indem er Authentifizierungsverfahren zur Verifizierung der Daten einsetzt. Dies geschieht durch den Vergleich der vom Benutzer bereitgestellten Informationen mit einer lokal gespeicherten Datenbank oder mit externen Quellen wie Active Directory-Servern.

Der RADIUS-Server antwortet dann, indem er den Benutzer akzeptiert, herausfordert oder ablehnt. Einzelnen Benutzern kann ein eingeschränkter Zugang gewährt werden, ohne dass andere Benutzer davon betroffen sind. Bei einer Ablehnung fordert der RADIUS-Server zusätzliche Informationen vom Benutzer an, um seine Benutzerkennung zu verifizieren, z. B. eine PIN oder ein zweites Kennwort. Im Falle einer Ablehnung wird dem Benutzer bedingungslos jeglicher Zugriff auf das RADIUS-Protokoll verweigert.

Welches also wählen?

LDAP, Kerberos, OAuth2, SAML und RADIUS sind alle für verschiedene Autorisierungs- und Authentifizierungszwecke nützlich und werden häufig mit SSO verwendet.

Das von Ihnen gewählte Protokoll sollte Ihre Anwendungsanforderungen und die vorhandene Infrastruktur widerspiegeln. Es ist hilfreich, eine einfache und standardisierte Lösung zu wählen, die die Verwendung von Workarounds für die Interoperabilität mit nativen Anwendungen vermeidet. Aus diesem Grund ist SAML eine gute Wahl, da es sich in das SSO von JumpCloud und in 700 gängige Geschäftsanwendungen integrieren lässt.

Wenn Sie nach weiteren SSO-bezogenen Inhalten suchen, können Sie sich unseren Leitfaden ansehen, wie Sie entscheiden, welche Art von Single Sign-on Sie verwenden können.

Relevante Links

  • Physikalische Sicherheitsbewertung | Best Practices & Audit-Prozess
  • Was ist IoT – Definitionen von Branchenexperten
  • Werkzeuge für das Identitätszugangsmanagement (IAM)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.