ArtikelAuthentifizierung

Plattform-Security: Sichere Authentifizierung und selbstsouveräne Nutzerprofile

Das OAuth-Protokoll hat den Weg für föderalisierte Anmelde- und Authentifizierungsprotokolle geebnet, die Registrierung von Benutzerkonten revolutioniert und ist aus dem modernen Web nicht wegzudenken. Dabei hat es zwei entscheidende Nachteile: Zum einen erfährt der Authentifizierungsanbieter (“Google”) aus den Wechselbeziehungen der Metadaten viel über die Menschen, die es nutzen. Zum anderen sind solche Verfahren von den Anbietern abhängig. Verbraucher und Plattform-Betreiber müssen sich nicht nur darauf verlassen, dass Unternehmen wie Google und Facebook die Daten und die Kommunikation schützen, sondern auch, dass sie das Protokoll nicht einfach einstellen. In letzterem Fall hätten die Kunden keinen Zugriff mehr auf ihre Daten.

JSON Web Token (JWT)

JSON Web Tokens sind ein Authentifizierungsverfahren, das die Integrität beim Datenaustausch mit kryptographischen Signaturen absichert. JWTs bestehen aus drei Teilen: Header, Payload und Signature. Der Header erhält Informationen über die Art des Tokens sowie die Algorithmen, die für die Signatur verwendet werden. Der Payload enthält Lastinformationen über den Gegenstand des Tokens, zum Beispiel die Nutzer-ID oder eine Liste von Nutzerrollen sowie Ausstellungs- und Ablaufdatum. Der letzte Teil besteht aus der Signatur, die der Aussteller des Tokens mit Hilfe seines geheimen privaten Schlüssels aus Header aus Payload erstellt hat. Wer den öffentlichen Schlüssel kennt, kann überprüfen, dass ein ihm vorgelegter JWT von diesem Aussteller stammt und dass die Inhalte des JWTs nicht verändert wurden.

Das Verfahren hat den immensen Vorteil, dass JWTs ein sich selbst genügendes Format darstellen: Sobald man ein JWT für gültig befindet und seinem Herausgeber vertraut, kann man auch den im JWT präsentierten Informationen bedingungslos vertrauen. Unter anderem lässt sich mit JWTs serverseitig auch die Initialisierung eines Nutzerobjekts, einer Session und die erneute Überprüfung von Berechtigungen einsparen.

JWTs sind sicher, solange Nutzer ihre Tokens geheim halten und sie nicht auf dem Transportweg abgefangen werden; eine tokenbasierte Anmeldung setzt immer die Nutzung eines kryptographisch gesicherten Transportkanals wie TLS voraus. In der Regel verfügen JWTs als zusätzlichen Schutz über ein relativ kurzfristiges Ablaufdatum, nach dem sie als ungültig betrachtet werden müssen. Mit Hilfe von langlebigen Refresh-Tokens können sie Clients aber analog zu einer “Angemeldet bleiben”-Checkbox über längere Zeiträume vom Herausgeber erneuern lassen. JSON Web Tokens spielen ihre Stärken bei der Nutzerauthentifizierung in Microservice-Umgebungen aus: Einzelne Dienste müssen nicht einen zentralen Anmeldedienst nach der Richtigkeit eines Tokens befragen, sondern können anhand des öffentlichen Schlüssels selbst von seiner Richtigkeit ausgehen.

Selbstsouveräne Identitäten, DIDs und Verifiable Credentials

OAuth und JWT sind bewährte Standards für Platform-Security. Beide setzen aber auf einen zentralen Herausgeber von Identität und Rechten, der die Kontrolle über das Profil des Nutzers behält. Die moderne Alternative dazu sind Self-Sovereign-Identities (SSI). Hier verwalten Menschen ihre digitale Identität und ihre Profildaten vollkommen autonom und nutzen als Identifikationsmerkmale einen oder mehrere Schlüsselpaare, die sie zum Beispiel in einer Wallet auf ihrem mobilen Endgerät aufbewahren. SSIs machen die Nutzer tatsächlich unabhängig von zentralen Identitätsdienstleistern.

Die Grundlage einer SSI ist ein Decentralized Identifier (DID): eine global eindeutige Zeichenkette, die auf die gewählte DID-Methode und einen öffentlichen Schlüssel einer Identität hinweist. Derzeit werden über 120 verschiedene DID-Methoden erprobt, deren größte Gemeinsamkeit ihre universelle Auflösbarkeit ist: Jede Methode spezifiziert, wie man das dazugehörige DID-Dokument mit weiteren, zweckgebundenen Schlüsseln und Service-Links findet oder aus öffentlich sichtbaren Quellen oder der DID selbst herstellen kann. Viele DID-Methoden verankern das öffentliche Schlüsselmaterial auf öffentlich zugänglichen dezentralen Systemen wie Blockchains, andere leiten Schlüsselmaterial direkt aus dem DID ab oder setzen auf Drittsysteme wie DNS.

Die Schlüssel hinter den DID-Dokumenten ermöglichen es jedem, der eine DID kontrolliert, Aussagen über andere DIDs zu treffen und diese kryptografisch abzusichern. Solche sogenannten Verifiable Credentials folgen einem ähnlichen Datenschema wie JWTs, können aber wie eine Sammlung von Plastikkarten in der Wallet eines Nutzers aufbewahrt und auf Anfrage präsentiert werden. Dabei spielt es perspektivisch keine Rolle, welche DID-Methoden zum Einsatz kommen: Die Wahl des Verfahrens obliegt der jeweiligen Partei. Solange ein Resolver ein DID-Dokument und dessen öffentliche Schlüssel liefern kann, lässt sich die Herkunft und Integrität von Credentials verifizieren.

Je nach Applikation kann ein Nutzer mehrere DIDs für verschiedene Aspekte seiner digitalen Identität verwalten und so den Informationsfluss und die Korrelierbarkeit seiner Präsentationen kontrollieren. Entsprechende W3C-Standards schlagen darüber hinaus Verfahren vor, mit denen sich die schematische Interoperabilität von Credentials, selektive oder kombinierte Präsentationen oder die Kommunikation zwischen den Wallets realisieren lassen. 2021 befinden sich die meisten dieser Vorschläge aber noch weitestgehend in der Erprobung.

Der Preis der Souveränität ist die auf den Nutzer übergehende Verantwortung zur sicheren Verwahrung seiner geheimen privaten Schlüssel und der über ihn ausgestellten Credentials. Es gibt zwar Dienstleister, die mit sogenannten Custodial Wallets das Risiko für den Nutzer übernehmen, wer aber seine neu gewonnene Freiheit keinem Dritten überlassen möchte, sollte mit den geheimen Daten in seiner Wallet sehr sorgfältig umgehen.

Laut einer Studie von Nightfall waren bei den 100 größten Datenschutzverletzungen der letzten Jahre durchschnittlich 147,2 Millionen Personen pro Jahr betroffen. Insgesamt verursachten die Vorfälle Kosten in Höhe von mindestens 8,8 Milliarden Dollar und enthielten 51 Milliarden Datensätze. Wir brauchen bessere Möglichkeiten, Nutzerinformationen sicher und einfach auszutauschen. Nur so können wir uns von den Profilierungs- und Anmeldeservern föderalisierter Datenkraken auf Dauer endgültig befreien – als Kunde wie als Plattform-Betreiber.

Die mobile Version verlassen
%%footer%%