OIDC und OAuth: Kürzel für weitreichende Sicherheitskonzepte

oauth-oidc

Viele Kürzel und Namen kursieren seit einigen Wochen bei uns. Von OIDC und OAuth wird gesprochen, Keycloak und Azure werden genannt, wobei letzteres im Gespräch zu „Äscher“ wird und so ganz nichts mit dem azurblauen Himmel zu tun hat. Höchste Zeit also, diese Begriffe und das dahinter stehende Konzept so zu erklären, dass es auch Nicht-Entwickler verstehen. Denn sobald letztere mit der Einrichtung fertig sind, werden die Benutzer der betroffenen Anwendungen merken, dass sich auch für sie etwas geändert hat. Viel ist es aber für sie nicht, und nach einer kurzen Umgewöhnung werden die Erleichterungen und Vorteile überwiegen.

Unser erfahrener Mitarbeiter in der DEV-Ops, der sich schon lange mit dem Thema beschäftigt, bringt es wie folgt auf den Punkt:

OIDC ermöglicht eine einfache, vertrauenswürdige und sichere Anmeldung, die Passwörter minimiert und Komfort maximiert.“

Anmelden mit Microsoft oder Google

Für manche Benutzer ist das Verfahren gar nicht so neu. Denn in etlichen privat und auch beruflich zu nutzenden Anwendungen wie beispielsweise dem Test-Tool Katalon, von dem der Screenshot rechts stammt, stehen inzwischen schon mehrere Möglichkeiten zum Login zur Verfügung. Und genau das ist der Kern von OIDC.

loginmöglichkeiten

Der Zugang zu einer Anwendung kann über das Login bei einem weit verbreiteten Dienst erfolgen. Ein neuer Nutzer ist nicht gezwungen, sich ein neues Login für eine einzelne Anwendung anzulegen, sondern erhält mit seinen Logindaten von beispielsweise Google oder Microsoft sofort Zugang. Ob man deren Dienste auch in dieser Form nutzen möchte, muss jeder für sich entscheiden, denn es wäre durchaus vorstellbar, dass diese Unternehmen die Daten zur Erstellung von Nutzerprofilen verwenden.

Dieses Grundprinzip, dass die Anmeldung bei einer Anwendung über einen anderen Anbieter erfolgt, der die Identität des Benutzers bestätigt, ist aber nur der einfachste Teil des Konzepts. Im beruflichen Kontext kommen selbstverständlich weitere Aufgaben dazu, die mit einem privaten Google-Account nicht mehr zu bewältigen sind.

Das Grundkonzept

OIDC ist die Abkürzung für OpenID Connect und steht für ein Authentifizierungsprotokoll. OAuth ist die Abkürzung für Open Authorization und steht für ein Framework zur Autorisierung. Dabei kann OAuth als Grundlage und OIDC als Aufbau betrachtet werden. 

In diesen Erklärungen stecken die beiden zentralen Begriffe Authentifizierung und Autorisierung, die bekannt sein und auseinander gehalten werden müssen:

Authentifizierung

Hier wird geprüft, ob jemand tatsächlich der ist, der er zu sein vorgibt.

In einem praktischen Beispiel prüft der Türsteher beispielsweise, ob ich berechtigt bin, ins Gebäude einzutreten und in der Eingangshalle zu warten. Er verlangt meinen Personalausweis und prüft an Hand der Daten und des Bildes, ob Person und Ausweis zusammen passen, ob die Person also die ist, die sie an Hand des Ausweises zu sein vorgibt.

Übertragen auf den Cartago Designer gelangt man nach erfolgreicher Authentifizierung an Hand der Logindaten auf die Startseite der Anwendung.

Autorisierung

Hier wird geprüft, was der Benutzer nach der erfolgreichen Authentifizierung tun darf.

In unserem Praxisbeispiel stehe ich nun in der Eingangshalle vor vielen weiteren verschlossenen Türen. Aber alleine dafür bin ich natürlich nicht gekommen, sondern hoffe, schnell Zutritt zu einem der Räume zu bekommen, um etwas zu erleben oder zu erledigen.

Übertragen auf den Cartago Designer verfügt man nach erfolgreicher Authentifizierung über die individuell zugewiesenen Rechte seiner Benutzerrolle, darf bestimmte Ordner öffnen, Dokumente bearbeiten, speichern, nur lesen oder auch gar nicht sehen und diverse weitere Aufgaben übernehmen.

Diese Benutzer und Rollen für den Designer müssen vom Administrator im jeweiligen OIDC-System und im Admin-Tool hinterlegt werden. Da beim oben genannten Login über Microsoft oder Google keine Rollen vorhanden sind, funktioniert dieser Login nur für Anwendungen ohne Rollen, d.h. es wird nur die Autorisierung abgedeckt.

IAM

Die Abkürzung steht für Identity and Acess Management und fasst Authentifizierung und Autorisierung zusammen. 

Traditionell erfolgt die Speicherung der Zugangsdaten lokal in Dateien oder Datenbanken der jeweiligen Anwendung. Moderne IAM-Systeme übernehmen beides zentral mit hohen Sicherheitsstandards. Dafür kann entweder ein eigener Server mit dem Open Source Tool Keycloak verwendet oder auf die Dienste von Anbietern wie Microsoft mit Entra ID oder anderen zurückgegriffen werden, die hohe Sicherheitsstandards und eine zentralisierte Verwaltung bieten.

Token

Damit werden die Informationen zwischen den Anwendungen ausgetauscht. Analog zur Authentifizierung und Autorisierung gibt es ID- und Zugangstokens. In endlos langen Zeichenketten verbergen sich die Informationen zum Nutzer, zu seinen Rechten sowie über die Eigenschaften des Tokens selbst.

Token werden durch spezielle  Maßnahmen geschützt, um Manipulationen zu verhindern. Sie haben eine begrenzte Gültigkeitsdauer, können aber auch aktualisiert werden.

Der Ablauf

Der Benutzer ruft die gewünschte Anwendung in seinem Client auf. Dieser kommuniziert zunächst mit dem OAuth-Server und fordert für das übergebene Passwort ein Zugangstoken an. Hat der Client dieses Token erhalten, sendet er es an den Ressource Server, der den Zugriff auf die Ressource gewährt.

Der Ressource Server kann zusätzlich direkt mit dem OAuth Server kommunizieren, um die Prüfung eines Token anzufordern oder ein abgelaufenes Token zu erneuern.

oauth ablaufbild

Systemvoraussetzungen

Eine solche übergreifende Lösung erfordert natürlich geeignete Systeme. Wenn die Benutzerverwaltung für alle Systeme eines Unternehmens zentralisiert wird, muss die Ausfallsicherheit gewährleistet werden. Würde nur ein Server dafür zur Verfügung stehen, ginge bei dessen Ausfall nichts mehr. Also braucht es ein ausgeklügeltes Backup-System, das aus bis zu 6 Servern bestehen kann.

Die Vorteile

Mehr Sicherheit

Passwörter und Zugriffsrechte werden nicht mehr in der jeweiligen Anwendung und folglich bei n Anwendungen an n Stellen gespeichert, sondern zentral an einer Stelle. Diese Stelle, der OIDC-Provider, ist auf dieses Geschäft spezialisiert und sorgt mit den höchsten Standards für Sicherheit.

Der Zugang erfolgt dabei in einem mehrstufigen Prozess, der Missbrauch wirkungsvoll verhindern soll. Am Anfang steht zwar meist nach wie vor das Passwort. Es wird aber durch weitere Faktoren ergänzt, z.B. ein Token, das an das Smartphone gesendet wird, den Fingerabdruck oder eine Gesichtserkennung.

Die Verwendung von leicht merkbaren und ebenso leicht knackbaren Standardpasswörtern wird also zunehmend verschwinden.

Single Sign On

Wer sich im Büro morgens mit den zentralen Zugangsdaten beim OIDC-Provider, z.B. seinem Microsoft-Konto anmeldet, hat danach automatisch Zugang zu anderen Anwendungen, die diesen Provider nutzen. Eine separate Anmeldung am Cartago Designer oder Workspace kann also entfallen.

Einfachere Benutzerverwaltung

Wenn ein Unternehmen alle intern genutzten Anwendungen über einen OIDC-Anbieter bündelt, müssen für neue Mitarbeiter zwar die Rollen für jedes System angelegt werden. Wenn jedoch ein Mitarbeiter ausscheidet, muss er nur im OIDC-System deaktiviert werden und verliert damit automatisch alle Zugangsmöglichkeiten zu den verbundenen Anwendungen. Wenn jeder Zugang einzeln gesperrt werden muss, besteht doch immer die Gefahr, dass zumindest einer versehentlich vergessen wird.

Standardisierung

Die Akteure sind zwar Unternehmen wie Microsoft, Amazon oder Google. Sie gehören aber zur OpenID-Foundation, die für Plattform und System übergreifende Standards sorgt.

Umsetzung

Wir haben OIDC und OAuth inzwischen für mehrere Kunden umgesetzt. Einige Schritte sind dabei stets gleich, andere unterscheiden sich in Abhängigkeit vom gewählten Provider und der individuellen Umsetzung von Rechte- und Rollenkonzepten.

Insgesamt ist die Einführung von OAuth und OIDC der richtige Schritt zu mehr Sicherheit und Benutzerfreundlichkeit.

„Es ist eine Investition in die Zukunft – sowohl für unsere Kunden als auch für uns selbst“,

so unser Geschäftsführer Manuel Niemeyer.

Gerne stellen wir auch weitere Kunden auf dieses Mehr an Sicherheit und Komfort um. Sprechen Sie uns gerne an.

oauth-oidc
Cookie Consent mit Real Cookie Banner