Share
Beitragsbild zu Platform Security: Sicherheit braucht starke Authentifizierung

Platform Security: Sicherheit braucht starke Authentifizierung

Digitale Plattformen spielen eine wichtige Rolle für die Geschäftstätigkeit von Unternehmen. Dabei wächst auch die Datenmenge, die unternehmensübergreifend übertragen wird und damit auch die Anforderungen an sichere und zeitgemäße Technologien zur Authentifizierung. Was ist heute bereits Standard – und welche Entwicklungen sind in den kommenden Jahren zu erwarten?

Die Einsatzgebiete digitaler B2B-Plattformen sind breit gefächert: Neben den weit verbreiteten E-Commerce-Plattformen werden beispielsweise auch Procurement-Systeme zur Effizienzsteigerung von Einkaufsprozessen oder Supply Chain-Infrastrukturen immer stärker digitalisiert. Eine komplexe Herausforderung ist die Absicherung der Zugänge zu solchen Systemen, insbesondere wenn man externen Nutzer:innen, Drittsystemen oder neuen Dienstleistern Zugang zur Plattform ermöglichen will. Nur die stärksten Authentifizierungs-Mechanismen können vor unbefugtem Zugriff, Identitätsdiebstahl und unsicheren Passwörtern schützen. Welche Technologien sind dazu aktuell im Einsatz?

Single Sign-on im Web durch das OAuth-Protokoll

Für eine sichere, passwortlose Authentifizierung von Nutzern auf digitalen Plattformen haben sich Protokolle der OAuth-Familie etabliert. Zur Anmeldung können Nutzer einen vorhandenen Account nutzen, den sie beispielsweise bei Google oder Apple eingerichtet haben. Während des Anmeldeprozesses gibt der Identitätsanbieter einen Authentifizierung-Token heraus, der die Identität der Nutzer gegenüber der anfragenden Plattform nachweist. Separate, plattformspezifische Accounts werden nicht mehr benötigt, vielmehr übernehmen OAuth-kompatible Anbieter die Authentifizierung und Absicherung der Profile.

Ein solcher Single-Sign-on über das OAuth-Protokoll ist nutzerfreundlich, da kein neuer Account angelegt oder ein eindeutiges Passwort erzeugt und aufbewahrt werden muss. Gleichzeitig müssen Plattformbetreiber keinerlei Informationen zu Login-Daten vorhalten und können sie somit auch nicht an Hacker “verlieren”. Zudem können die Security-Level durch den Anmeldedienst noch weiter erhöht werden, beispielsweise durch 2-Faktor-Authentifizierung.

Der große Nachteil dieser föderalisierten Authentifizierungsmethoden ist ihre Korrelierbarkeit. Ein Plattformbetreiber erhält zwar keine Login-Daten, sehr wohl aber Zugriff auf den öffentlichen Teil des Nutzerprofils und gegebenenfalls auf weitere Informationen, wie etwa Kontaktlisten oder E-Mail-Adressen. Authentifizierungsdienste können ihrerseits unbemerkt die Nutzeraktivität protokollieren und daraus ungefragt Nutzerprofile erstellen. Anwender sollten bei der Authentifizierung gründlich prüfen, welche Freigaben sie für ihre Profildaten erteilen. Nicht zuletzt hat ein Angreifer, der sich Zugang zur zentralen Identität eines Nutzers verschafft, Zugriff auf alle verbundenen externen Anwendungen.

JWT: signierte Anmeldetokens

Aus den Bedürfnissen verteilter Systemlandschaften ging vor einigen Jahren die Spezifikation von JSON Web Tokens (JWT) hervor: eine binärkodierte JSON-Struktur, die alle zur Authentifizierung relevanten Informationen selbst enthält, z.B. Nutzer-IDs, ihre Herkunft, die eingeräumten Rollen oder Zugriffsrechte und einen von ihrem Herausgeber geführten kryptografischen Nachweis über die Integrität aller Informationen zu einem bestimmten Zeitpunkt.

Dank des solide spezifizierten Aufbaus von JWTs können sie über Systemgrenzen hinweg sichere Auskunft über ihre Nutzer:innen und ihre Zugriffsrechte geben. Anwender kommen selbst nur indirekt mit den Tokens in Kontakt, da sie von einem Authentifizierungssystem signiert und herausgegeben werden. JWTs eignen sich besonders gut zur service-übergreifenden Authentifizierung in Microservice-Umgebungen. Dort ist die konsequente Authentifizierung und Autorisierung von Usern schwieriger zu lösen als in monolithischen Backend-Umgebungen: ohne den Einsatz von JWTs müsste jeder Microservice stets Informationen über eine/n Nutzer bei einem Authentication Service erfragen. Da JWTs alle relevanten Informationen selbst enthalten und ihre Authentizität und Integrität dank der in ihnen enthaltenen Signatur sehr leicht nachgewiesen werden kann, sind sie eine ideale Lösung für den Einsatz in interoperablen, verteilten Systemen.

Selbstverantwortete Identität

Ein noch ziemlich junges Verfahren für sichere, eindeutig über Plattformgrenzen hinweg nachweisbare Identitäten sind Self-Sovereign Identities (SSI). Sie geben den Nutzern die vollständige Kontrolle über ihre Authentifizierungsmerkmale und Profildaten zurück und können nicht von zentralisierten Konsortien kontrolliert und unmittelbar korreliert werden.

Eine SSI-Identität fußt auf einem sogenannten Decentralized Identifier (DID), der sich je nach Verfahren relativ leicht zu einer Sammlung öffentlicher Schlüssel einer Identität für diverse Einsatzzwecke auflösen lässt. Viele SSI-Protokolle nutzen Blockchain-Technologien oder selbstsignierte, verkettete “Mikro-Ledger” zur Verankerung und Auflösung der DID-Dokumente, sodass sie ohne Single Point of Failure les- und überprüfbar sind. Das zur Kontrolle der DIDs notwendige private Schlüsselmaterial wird nutzerseitig aufbewahrt, etwa in Wallet-Applikationen auf den Smartphones der Nutzer oder bei entsprechend zertifizierten SaaS-Anbietern, denen Nutzer:innen ihre Schlüssel zur Verwahrung anvertrauen können. Der klare Vorteil: es existieren keine Datenbanken mit Passwörtern oder Profildaten mehr, die cloudbasierte Anbieter an Angreifer verlieren könnten. Alle sensiblen Daten liegen unter vollständiger Kontrolle ihrer Besitzer.

Die Vision eines autonomen Nutzerprofils macht das Konzept SSI zukunftsfähig und zahlreiche Unternehmen und Organisation treiben sie voran. Darunter die „ID2020“, eine Allianz von Microsoft mit Unterstützung der US-Regierung zur Erarbeitung einer transnationalen digitalen Identität. Auch auf EU-Ebene gibt es vergleichbare Projekte, wie das »European Self-Sovereign Identity framework« (ESSIF). Ziel des ESSIF ist es, bis 2022 eine blockchain-basierte Identität für EU-Bürger:innen zu entwickeln.

Viele Möglichkeiten für sichere Authentifizierung

Die technischen Möglichkeiten für die systemübergreifende Authentifizierung von Nutzern auf digitalen Plattformen sind vielfältig. Plattformen müssen abwägen, wie sie das Dilemma zwischen DSGVO-konformer Datensicherheit und -sparsamkeit, praktischer Umsetzbarkeit und Nutzerfreundlichkeit bestmöglich auflösen. Aus Sicht der digitalen Autonomie sind vollständig von Nutzer:innen selbst kontrollierte Identitäten wünschenswert, und die Ausgestaltung und Adaption der SSI-Spezifikation schreitet schnell voran. Sie könnten schon bald dafür sorgen, dass Nutzer ihre Identität, Rollen und Zugangsberechtigungen gegenüber beliebigen Applikationen sicher nachweisen können.

Über Stefan Adolf

Stefan Adolf ist Developer Ambassador bei Turbine Kreuzberg. Seine primäre Aufgabe ist die Kommunikation mit der Developer-Community. Der Fullstack-Entwickler mit Schwerpunkt auf Applikationen, IoT und Integration ist Organisator und Speaker auf Meetups und Konferenzen über entwicklernahe Themen. Zudem agiert er durch seine Expertise in dezentraler Technologie und dem Web3 als Tech Lead in Innovationsprojekten und als technologischer “Vordenker” von Turbine Kreuzberg.