In einer immer stärker digital vernetzten Welt ist die Frage „Wer bist du?“ nicht nur philosophisch spannend, sondern hat auch immense praktische Bedeutung. Wenn wir uns im Alltag begegnen, bedienen wir uns natürlicher Formen der Identifizierung, sei es durch Namen, Aussehen oder Ausweise wie den Führerschein. Doch wie funktioniert diese Identifizierung in der digitalen Welt, in der Menschen hinter Bildschirmen agieren und Informationen über das Internet ausgetauscht werden? Und was bedeutet es eigentlich, wenn eine Software oder ein Dienst sagt: „Ich weiß, wer du bist“? Dieser Text nimmt Sie mit auf eine Reise, die sich mit Identität, Authentifizierung und Autorisierung auseinandersetzt – drei zentrale Begriffe, die oft verwechselt werden, aber grundlegend für Sicherheit und Benutzerfreundlichkeit im Internet sind. Dabei bedienen wir uns praktischer Analogien aus dem Alltag, um komplexe technische Konzepte greifbar zu machen und die Bedeutung moderner Standards wie OpenID Connect (OIDC) und OAuth 2.0 zu verstehen.
Identität: Mehr als nur ein Name Identität ist vielschichtig. Laut dem Cambridge Dictionary bezeichnet Identität die „Name und andere Fakten über eine Person“. Doch tatsächlich umfasst Identität eine Reihe von Merkmalen oder Eigenschaften, die eine Entität einzigartig machen. Diese Entität muss nicht zwingend ein Mensch sein; es kann sich auch um eine Gruppe, ein Gerät oder eine abstrakte Idee handeln. In der Informatik und Digitaltechnik sprechen wir daher oft von einer Identität als einem Bündel von Merkmalen, die eine Entität in einem gegebenen Kontext eindeutig beschreibt.
Im Alltag tragen wir beispielsweise unseren Führerschein mit uns. Dieser enthält viele Informationen über uns: Name, Geburtsdatum, Aussehen, Augenfarbe, Größe und mehr. Somit ist der Führerschein nicht nur ein Name, sondern eine Sammlung von Fakten, die zusammen unsere Identität ausmachen. Digital übertragen wird dieses Konzept in Form von sogenannten Identitätsansprüchen (Claims), die innerhalb eines Authentifizierungsprozesses ausgetauscht und verifiziert werden. Der Unterschied zwischen Identität und Identifier Wichtig ist, Identität von Identifikatoren zu unterscheiden.
Ein Identifikator ist ein einziges, festgelegtes Merkmal oder eine Zahl, die eine Entität eindeutig bezeichnet. Beispielsweise ist eine Führerscheinnummer ein Identifier, der innerhalb eines Bundesstaates einzigartig ist. Zusammen mit einem zusätzlichen Merkmal wie dem Bundesstaat lässt sich ein eindeutiger, globaler Identifier konstruieren. Im digitalen Raum funktionieren Identifikatoren ähnlich. Nutzerkonten, E-Mail-Adressen oder Nutzer-IDs dienen dazu, eindeutig einen Benutzer zu kennzeichnen.
Doch Identität umfasst mehr als nur diese Zahlen oder Namen – sie besteht aus einer Vielzahl von überprüfbaren Angaben. Vertrauen und Authentifizierung: Wer sagt, dass du bist, wer du vorgibst zu sein? Wenn jemand behauptet, dass er „du“ ist, stellt sich automatisch die Frage: Kann ich dem auch vertrauen? Im echten Leben schaffen wir Vertrauen durch physische Dokumente, persönliche Begegnungen oder durch Ansehen von Personen. Im digitalen Raum ist das Problem komplexer, da alles in Form von Nachrichten und Datenpaketen über das Internet übertragen wird. Authentifizierung bedeutet ganz einfach: Es wird überprüft, ob die Person oder das System tatsächlich die ist, die sie behauptet zu sein. Technisch kann das durch das Signieren von Nachrichten mit geheimen Schlüsseln geschehen, wodurch sich mathematisch verifizieren lässt, dass nur der Besitzer des Schlüssels die Nachricht erzeugt haben kann und sie zudem unverändert blieb.
Trotzdem müssen wir auch die Glaubwürdigkeit der Rolle, welche diese Identität zuvor verifizierte, berücksichtigen. Im Fall unseres Führerscheins ist das das Straßenverkehrsamt, das attestiert, dass die Angaben stimmen. Digitale Identitätsnachweise und deren Herausforderungen Ein digitaler Führerschein – oder sachlicher ausgedrückt, ein digitaler Identitätsnachweis – ist oft ein sogenanntes JSON Web Token (JWT). Dieses Token enthält verschiedene Claims (Ansprüche), die über einen Benutzer oder eine Entität Aussagen treffen. Das Token wird von einer vertrauenswürdigen Stelle, dem Identity Provider (dem digitalen „Straßenverkehrsamt“), signiert.
Ein Relying Party (vertraute Anwendung oder Dienst – der „Barkeeper“) überprüft mittels öffentlicher Schlüssel die Echtheit und Unversehrtheit dieses Tokens. Dieses System führt uns zu den beiden heute wichtigen Protokollen im Bereich der Authentifizierung und Autorisierung im Internet: OpenID Connect und OAuth 2.0. OpenID Connect: Der digitale Führerschein OpenID Connect (OIDC) baut auf dem OAuth 2.0 Protokoll auf und dient dem Zweck der Authentifizierung.
Es ermöglicht einem Benutzer, sich mit einem einzigen Konto bei mehreren Diensten anzumelden, ohne für jede Anwendung ein neues Passwort verwenden zu müssen. OIDC ist dabei der Standard, mit dem eine Anwendung (Relying Party) sicher vom Identity Provider Bestätigung erhält, wer der Benutzer ist. Verglichen mit unserem Führerschein-Beispiel ist OpenID Connect das Format und Verfahren, wie der Führerschein aussieht und präsentiert wird. Google oder Microsoft können als Identity Provider fungieren und ein digitales Äquivalent zum Führerschein ausstellen. Der Benutzer zeigt dieses Dokument dann einer Webanwendung, die das Dokument auf Echtheit prüft und dem Benutzer, wenn alles passt, den Zugang gewährt.
So löst OpenID viele der Probleme, die mit klassischen Nutzernamen und Passwörtern existieren. Ein Nutzer muss sich nicht überall neu registrieren oder sein Passwort merken. Stattdessen reicht eine vertrauenswürdige zentrale Stelle, die seine Identität bestätigt. Dennoch löst OpenID allein nicht das Problem, Dritten Rechte zu erteilen, wie zum Beispiel einer App das Recht zu geben, in deinem Kalender Termine einzutragen. OAuth 2.
0: Die digitale Schlüsselübergabe Hier kommt OAuth 2.0 ins Spiel – ein Protokoll zur Autorisierung, also der Ermächtigung, dass eine Partei im Namen des Nutzers Aktionen durchführen darf. Dabei geht es nicht darum, wer du bist, sondern ob du etwas tun darfst. Ein einfaches Beispiel ist der Valet-Key beim Auto. Du gibst einem Parkservice nur einen besonderen Schlüssel, der das Auto starten und bewegen darf, aber nicht an das Handschuhfach oder das Fach im Kofferraum öffnen kann.
Überträgt man dieses Bild ins Digitale, so erteilst du einer Anwendung ein Token, das bestimmte Aktionen erlaubt, ohne dass diese App dein Passwort oder vollständige Zugriffsrechte erhält. OAuth 2.0 Tokens enthalten keine Identitätsinformationen. Das macht sie anders als OpenID Tokens. Sie sind reine Autorisierungsnachweise.
Interessanterweise kombinieren heute viele Web-Dienste OpenID Connect mit OAuth 2.0, sodass Apps sowohl eine eindeutige Identifikation des Nutzers bekommen als auch spezifische Zugriffsrechte. Das Zusammenspiel von OpenID Connect und OAuth 2.0 in der Praxis OAuth 2.0 und OpenID Connect ergänzen sich ideal.
OpenID Connect gibt dem Dienst die Sicherheit, dass die Person, die sich anmeldet, wirklich die ist, die sie behauptet zu sein. OAuth 2.0 hingegen regelt die Rechte, die der Dienst auf Nutzerdaten oder Funktionen hat. Dank dieses Zusammenspiels können Nutzer ihren Daten und Aktionen im Web sicherer kontrollieren. Allerdings ist es gerade bei OAuth wichtig, die Mindestrechte zu vergeben und die Lebensdauer von Autorisierungstoken zu begrenzen, um Missbrauch zu verhindern.
SpacetimeDB: OpenID Connect im Dienste moderner Anwendungen Ein konkretes Beispiel für die Umsetzung dieser Prinzipien ist SpacetimeDB, eine serverlose Datenbank, die OpenID Connect als „Relying Party“ nutzt. Wenn eine Anwendung auf SpacetimeDB läuft, muss jeder Nutzer sich identifizieren und authentifizieren. SpacetimeDB überprüft dabei die vom Identity Provider ausgestellten ID Tokens mathematisch auf Echtheit und Integrität. Dabei nutzt SpacetimeDB eine Art digitalen Identifikator, der sich aus dem Aussteller und dem Nutzer eindeutig berechnet und der dann verwendet wird, um Nutzer innerhalb der Datenbank zu referenzieren. So lässt sich sicherstellen, dass nur authentifizierte Nutzer auf sensible Datenzugriffe oder Funktionen zugreifen.
Die Vertrauenskette endet hier nicht: Nur ein vertrauenswürdiger Identity Provider darf solche ID Tokens ausstellen. Genauso wie man einem Führerschein von Tylerland wenig vertrauen würde, ist es wichtig, die Identitätsanbieter mit Bedacht auszuwählen. Passwortprobleme und der Wandel zu Token-basierten Systemen Lange Zeit war das Passwort das zentrale Mittel der Authentifizierung. Es ist einfach zu verstehen, doch weist viele Schwächen auf. Nutzer müssen unterschiedliche Passwörter für verschiedene Dienste verwalten – was selten klappt – oder dieselben unsicheren Passwörter mehrfach verwenden.
Außerdem erlauben Passwortsysteme selten, dass man einer externen App kontrollierten Zugriff gewährt, ohne das eigene Passwort preiszugeben. Hier kommen OpenID und OAuth ins Spiel, indem sie diese Schwächen mit einem Token-Ansatz überwinden. Anstatt Passwörter zu teilen, übergibt der Nutzer kontrollierte, zeitlich begrenzte und speziell gültige Token – den digitalen Führerschein oder gar nur den sportlichen Valet-Key. Eigene Identity Provider aufsetzen und die Zukunft der digitalen Identität Manche Unternehmen oder Entwickler wollen ihre Nutzeridentitäten selbst verwalten und nicht auf große Drittanbieter wie Google vertrauen. Dies erfordert eigene Identity Provider, virtuelle „DMVs“, die individuelle digitale Ausweise ausstellen.
Dies ist technisch aufwendig, da unter anderem sichere Schlüsselverwaltung, Signierung der Tokens und Bereitstellung öffentlicher Schlüssel zur Überprüfung notwendig sind. Doch mit zunehmender Verbreitung von OpenID-Connect-kompatiblen Serverlösungen wird es einfacher, komplett eigene, aber kompatible Identitätssysteme zu betreiben. Wie diese in SpacetimeDB oder anderen Plattformen genutzt werden können, beschreibt die Zukunftsvision eines vollständigen, serverlosen Authentifizierungs-Ökosystems, in dem Token unkompliziert ausgestellt, geprüft und verwendet werden können, ohne dass Entwickler den gesamten Sicherheitsaufwand selbst stemmen müssen. Fazit: Wer bist du – auch digital Die Fragen „Wer bist du?“ und „Wer bin ich für dich?“ haben im digitalen Zeitalter neue Bedeutungen erhalten. Identität wird zu einem Bündel von überprüfbaren, vertrauenswürdigen Angaben, die digital ausgetauscht und validiert werden.
Authentifizierung stellt sicher, dass diese Angaben echt und unverfälscht sind, Autorisierung regelt, was man mit ihnen tun darf. Durch Protokolle wie OpenID Connect und OAuth 2.0 sowie moderne Plattformen wie SpacetimeDB entstehen sichere und nutzerfreundliche Systeme, die das Passwortsorgen-Dilemma lösen und das Vertrauen in digitale Interaktionen erhöhen. Dennoch bleibt der digitale „Führerschein“ nur so gut wie der ausstellende „Zuständige“. Deshalb ist es essenziell, auf vertrauenswürdige Identity Provider zu setzen und sich der Komplexitäten hinter den Kulissen bewusst zu sein.
Nur so kann die digitale Welt ein Ort werden, an dem Identitäten sicher und einfach gehandhabt werden können. Mit diesem Wissen ausgerüstet, lässt sich der digitale Alltag sicherer und zugleich komfortabler gestalten. Wer kennt heute nicht den Standard „Mit Google anmelden“? Er steht beispielhaft dafür, wie nahtlose Identifizierung und Autorisierung in Zukunft aussehen können – verlässlich, flexibel und nutzerzentriert.