OIDC
Was ist OIDC?
OIDC (OpenID Connect) ist ein alternatives Login-Protokoll, bei dem der Dienst oder die Anwendung einen Drittanbieterdienst zur Authentifizierung des Benutzers nutzt. OIDC wird auch für Anwendungen mit Einmalanmeldung (SSO) verwendet, die es einem Benutzer ermöglichen, sich einmal anzumelden, um auf mehrere verwandte Anwendungen zuzugreifen. Für den Benutzer kann OIDC eine bessere Sicherheit bieten und gleichzeitig den Anmeldeprozess vereinfachen. Es kann auch die Dienste und Anwendungen unterstützen, die OIDC den Benutzern anbieten, indem Sicherheitsverantwortung und Programmieraufwand auf den Drittanbieter verschoben werden.
OIDC kann die Online-Sicherheit für eine Einzelperson verbessern, indem die Anzahl der erforderlichen Anmeldungen reduziert wird. Weniger Anmeldeinformationen zu haben kann zu besseren Passwortgewohnheiten und weniger Datenbanken mit gespeicherten Anmeldeinformationen führen, was wiederum die mit Datenenteignungen verbundenen Risiken verringern kann. Weniger Anmeldungen im Auge behalten zu müssen, kann auch das allgemeine Online-Erlebnis verbessern.
Unternehmen bieten oft Drittanbieter-Logins als Anreiz zur Einrichtung eines Kontos an—die Nutzung eines bestehenden Logins zur Erstellung eines Kontos ist einfacher, als eine neue Benutzer-ID und ein neues Passwort auszuwählen, sodass ein Benutzer eher ein neues Konto erstellt. Drittanbieter-Logins können auch verlorene Geschäfte reduzieren, die durch Benutzer verursacht werden, die ihr Passwort für eine Seite vergessen und einen vollen Warenkorb zurücklassen. Einmalanmeldungen werden allgemein als Vorteil sowohl für Benutzer als auch für Unternehmen angesehen—SSO kann die Frustration und Wiederholung von mehreren unterschiedlichen Anmeldevorgängen reduzieren.
Wie sieht OIDC aus?
Ein häufiges OIDC-Anwendungsbeispiel ist, wenn Ihnen die Option gegeben wird, sich bei einem bestimmten Dienst (wie einer Nachrichtenwebsite) mit Zugangsdaten aus einer anderen Quelle (wie Facebook oder Google) anzumelden. Ein weiterer häufiger Gebrauch, genannt Einmalanmeldung oder SSO, ist, wenn eine einzige Anmeldung einem Benutzer Zugang zu mehreren Diensten verschafft. Wenn du dich beispielsweise in deinem Browser bei Gmail angemeldet hast, musst du dich nicht separat bei YouTube anmelden. Google erkennt, dass du dich über Gmail authentifiziert hast, und fordert dich nicht auf, deine Identität ein zweites Mal zu beweisen. SSO wird oft in Arbeitsumgebungen verwendet. Ein Arbeitgeber kann einen Vertrag mit einem Drittanbieter abschließen, um ein Anmeldesystem zu etablieren, das es einem Mitarbeiter ermöglicht, sich einmal anzumelden und vollen Zugang zu mehreren Anwendungen zu erhalten, wie die Microsoft-Suite, Zoom und eine Gehaltsschnittstelle.
Wie funktioniert OIDC?
OIDC ist ein umfassendes Framework mit unterschiedlichen Prozessen je nach Situation. Im Allgemeinen dient OIDC dazu, Anmeldungen zu vereinfachen, sei es, um ein Login zu nutzen, um auf einen anderen Dienst zuzugreifen, oder um eine einzige Anmeldung zu verwenden, um gleichzeitig auf mehrere Anwendungen zuzugreifen. Im Folgenden findest du ein allgemeines Beispiel für einen OIDC-Ablauf, bei dem Google zur Anmeldung bei Spotify verwendet wird.
Die beteiligten Parteien
- Benutzer: Die Person, die sich bei einem Dienst anmelden möchte.
- Vertrauenswürdige Anwendung: Der Hauptdienst (wie eine Web-App), auf den der Benutzer zugreift. Eine vertrauenswürdige Anwendung bietet dem Benutzer die Möglichkeit, ein Drittanbieter-Login zu verwenden. (In unserem Beispiel ist Spotify die vertrauenswürdige Anwendung.)
- Identitätsanbieter: Der Drittanbieter, der die Benutzeranmeldung verarbeitet und den Benutzer authentifiziert. (In unserem Beispiel ist dies Google.)
Die Schritte eines OIDC-Drittanbieter-Login-Prozesses
- Du besuchst die Spotify-Website (oder öffnest die Spotify-App) und entscheidest dich mit deinen Google-Zugangsdaten dich anzumelden.
- Benutzer besucht eine von einer vertrauenswürdigen Anwendung gehostete Website, die Drittanbieter-Login mit einem Identitätsanbieter anbietet.
- Spotify pings Google und bittet Google, dich zu authentifizieren.
- Die relying party sendet eine Anfrage zur Authentifizierung an den Identity Provider.
- Du loggst dich bei Google ein und stimmst zu, dass Google grundlegende Identifikationsinformationen mit Spotify teilt.
- Dem Benutzer wird ein Login-Bildschirm oder eine andere Aufforderung angezeigt, um sich beim Identity Provider einzuloggen. Die genaue Methode zur Authentifizierung des Benutzers liegt im Ermessen des Identity Providers—es kann sich um Benutzer-ID und Passwort, ein Biometrics wie z. B. einen Fingerabdruck, einen einmaligen Passcode, der per Textnachricht gesendet wird, oder eine Kombination dieser Methoden handeln.
- Google verifiziert, dass du es bist, der sich einloggt und erstellt ein Token, das einige Informationen über dich und Details über den Login enthält. Dieses Token wird an Spotify gesendet, um einen erfolgreichen Login zu bestätigen.
- Der Identity Provider validiert den Benutzer und erstellt ein Identitätstoken. Das Identitätstoken enthält Benutzerinformationen wie Benutzernamen, echten Namen und möglicherweise andere Identifikationsdaten. Das Token gibt auch die Zeit der Authentifizierung und das Ablaufdatum der Authentifizierung an.
- Spotify erhält das Identitätstoken, bestätigt, dass das Token von Google stammt, und gewährt dir Zugriff auf die Inhalte von Spotify.
- Die relying party erhält das Identitätstoken und überprüft, dass alles in Ordnung ist und dass das Token von der richtigen Quelle stammt. Wenn der Authentifizierungsprozess als erfolgreich angesehen wurde, erhält der Benutzer Zugriff auf die Inhalte der relying party.
OIDC vs. OAuth
Sowohl OIDC als auch OAuth sollen den Vorgang vereinfachen, einen Online-Zugang zu einer Site, einer App oder einem Dienst zu erhalten. Obwohl OIDC auf dem OAuth-Framework aufbaut, dient OIDC einem anderen Zweck als der ursprüngliche Zweck von OAuth. Der Hauptunterschied zwischen OIDC und OAuth ist Authentifizierung vs. Autorisierung. OIDC hilft einer Entität, eine Person zu authentifizieren—das heißt zu überprüfen, dass eine Person die Person ist, die sie vorgibt zu sein. Ein OIDC-Prozess resultiert in einem Identitätstoken, das den Verifizierungsstatus der Benutzerauthentifizierung und möglicherweise einige Informationen über den Benutzer enthält.
Der Kernzweck von OAuth ist es, die Übertragung der Daten einer Person von einer Entität zur anderen zu erleichtern. Ein OAuth-Prozess resultiert in einem Zugangstoken, das Details darüber enthält, welche Daten zugänglich sind und welche Berechtigungen die zugreifende Partei in Bezug auf diese Daten hat. Beispiele für OAuth in der Praxis sind das Teilen Ihres Adressbuchs von Gmail mit LinkedIn, um Verbindungen zu finden, oder einem nicht verwandten App zu erlauben, ein Update auf Ihrer Facebook-Seite zu posten.
Sicherheits- und Datenschutzrisiken bei OIDC und OAuth
OAuth und OIDC bieten beide eine verbesserte Sicherheit. The benefit to using a third-party login (i.e. OIDC) when it’s available is that it reduces the number of logins you need to keep track of, which in turn can translate to improved security habits (such as using strong, unique passwords). OAuth protocols result in not having to share credentials among services, and less exposure to data breaches; they also give the individual more refined control of how others use their data. Aber wie bei allen Fortschritten in der Sicherheit, entwickeln sich auch die Risiken entsprechend weiter.
But as with any advancements in security, the risks also evolve in response. Die Hacker können dann die entführten Tokens verwenden, um illegal auf die Daten eines Benutzers zuzugreifen. Deshalb ist es wichtig, Zwei-Faktor-Authentifizierung zu verwenden, um diese Phishing-Versuche zu erkennen und zu verhindern. In Bezug auf Privatsphäre gibt ein Drittanbieter-Login Google oder Facebook mehr Daten zu sammeln über Ihre Aktivitäten, da sie es verwenden können, um Ihre Nutzung der Apps und Websites, in die Sie sich einloggen und wie häufig Sie diese besuchen, zu überwachen. (Aus diesem Grund hat Brave Google Sign-in Permission.)
Mit dem OAuth-Prozess können Hacker mit gestohlenen Login-Daten eine falsche URL in den Prozess einfügen, wodurch Zugriffstokens, die für den Client bestimmt sind, auf die Websites der Hacker umgeleitet werden. Die Hacker können dann die gekaperten Tokens verwenden, um illegal auf die Daten eines Benutzers zuzugreifen.