IAM dank Blockstack

Identitäten verwalten mit Blockchain

19.10.2016
Von 


Dr. Thomas Kaltofen ist Diplom-Chemiker und promovierte mit einem biophysikalischen Thema an der Ruprecht-Karls-Universität Heidelberg. Neben einem Forschungsaufenthalt an der Chalmers Universität Göteborg beschäftigte er sich intensiv mit Datenbanken und C#-Programmierung am Fraunhofer Institut IPA in Stuttgart. Dr. Kaltofen ist freiberuflicher Experte für Blockchain-Anwendungen in der Chemie- und Pharmabranche.
Die Blockchain-Technologie nützt auch dem Identitäts-Management. Ausschlaggebend sind ihre Schutzmechanismen gegen die Fälschung und den Diebstahl von Daten.

Die Blockchain (deutsch: Block-Kette) ist eine Technik zum Speichern von Daten und erlaubt das sichere Management von Informationen jeglicher Art. Elementare Einheiten dieser Technologie sind Transaktionen, die verifiziert, validiert und zu Blöcken zusammengefasst werden. Diese Blöcke werden anschließend verkettet und die Datenbank wächst somit linear weiter. Die Blockchain-Datenbank kann als absolut manipulationssicher angesehen werden, da die Blöcke mit einer Hash-Funktion aufwendig verschlüsselt und viele Kopien der Datei im Internet verteilt werden.

Das Identitätsmanagement (IAM = Identity- & Access-Management) ist der zielgerichtete und bewusste Umgang mit Identität, Anonymität und Pseudoanonymität. Durch die Vernetzung über das Internet hat die Frage von bewusster Anonymität beziehungsweise bewusstem Umgang mit Teilen der eigenen Identität eine neue und zuvor nie gekannte Komplexitätsstufe erreicht.

Der Schutz von Identitäten wird in unserem digitalisierten Zeitalter immer wichtiger. Täglich werden rund eine Million Bürger auf der Welt Opfer von Internetkriminalität. Pro Jahr entstehen weltweit Kosten in Höhe von 290 Milliarden Euro - Tendenz steigend.

Identitäten schützen, Internetkriminalität eindämmen - dank Blockchain-Technik gibt es hier ganz neue Möglichkeiten.
Identitäten schützen, Internetkriminalität eindämmen - dank Blockchain-Technik gibt es hier ganz neue Möglichkeiten.
Foto: KOSKA ill - www.shutterstock.com

Unknackbar ist nichts

Blockchain-basiertes Identitätsmanagement kreist genau wie jede andere IAM-Methode um die Frage, wie der Schlüssel für den Zugang zum System verwaltet wird. Es ist schwierig, ein Verfahren zu finden, dass einen hundertprozentigen Schutz vor einen Diebstahl der Zugangsdaten und damit der Identität gewährleistet. Das Verwenden von Passwörtern ist wahrscheinlich das unsicherste Verfahren. Sie können bei der Eingabe von einer weiteren Person oder einer Schadsoftware mitgelesen werden. Häufig kommen aus Bequemlichkeitsgründen unsichere Passwörter zum Einsatz, die sich leicht knacken lassen. Bleiben als sicherere Alternative Smartcards in Kombination mit einer PIN - aber auch die können gestohlen oder kopiert werden.

Um IAM tatsächlich sicher zu bekommen, sind biometrische Methoden derzeit stark in der Diskussion - diese stellen eine höhere Hürde als die oben erwähnten dar, absolut sicher sind sie aber auch nicht. Einen Fingerabdruck kann mit einer Folie aufgenommen und kopiert werden. Die Gesichts- und Iriserkennung lässt sich mittels von Fotos überlisten und manipulieren. Die Erkennung der Ohren ist im Zeitalter des 3D-Drucks ebenfalls nicht manipulationssicher.

Identitäten mittels Blockchain zu verwalten, ist sinnvoll und erhöht die Sicherheit der personenbezogenen Daten. Das Prinzip funktioniert aber nur insoweit, als keine fremde Person den Schlüssel der Blockchain-ID bekommen kann. Eine höhere Sicherheit lässt sich durch die Kombination verschiedener Techniken (beispielsweise Iris-Erkennung und Smartcard mit Passwort) erzielen.

Die Lösung: Blockstack

Ein erstes funktionierendes Identitätsmanagement mit Blockchain ist die Blockstack. Dieser Dienst implementiert eine dezentrale, Blockchain-basierte Datenbank für alle Anwendungen im Bereich Identität, Namensgebung und Authentifizierung. Im Juli 2016 hatte der Dienst nach eigenen Angaben etwa 60.000 Nutzer. Mit der Blockstack-Software wird ein Netzwerk von Computern realisiert, die eine globale Registrierung von Identitäten, öffentliche Schlüssel und Namen regelt. Jeder, der sich an Blockstack beteiligt, wird in das Netzwerk eingebunden. Ziel des Ganzen ist es, nur einen Zugang für alle Services zu haben. Somit würde das Anlegen von Benutzerkonten für jede Applikation wie zum Beispiel bei Facebook, Twitter, Spotify und Instagram entfallen.

Auf technischer Ebene wird das Blockstack Domain Name System (DNS) durch ein Netzwerk von Knoten unterstützt. Das DNS ist einer der wichtigsten Dienste in vielen IP-basierten Netzwerken und funktioniert ähnlich wie eine Telefonauskunft. Der Benutzer gibt eine Domain (URL) in das Browserfenster ein und wird auf die zugehörige IP-Adresse umgeleitet. Jeder dieser Knoten besitzt eine Datenbank von Domain-Namen, welche durch ein kryptografisches Schlüsselpaar aus Namen und Nutzerdaten repräsentiert werden. Die Blockstack-Knoten werden kontinuierlich aufgebaut, erweitert und aktualisiert.

Die Blockstack-Namensoperationen werden in Transaktionen gebündelt und in die zugrunde liegende Blockchain eingetragen. Sind die Daten in den Block eingepflegt, können diese in die Blockstack-Knoten eingelesen und verarbeitet werden. Dabei wird jeder Knoten aktualisiert und eine lokale Kopie in der Namensdatenbank gesichert. Im Moment gibt es nur ein Netzwerk von Blockstack-Knoten, welches auf der Bitcoin-Blockchain aufsetzt. Die folgende Abbildung verdeutlicht das Prinzip:

Im Bitcoin-Netzwerk existieren eine Reihe von Blockstack-Knoten.
Im Bitcoin-Netzwerk existieren eine Reihe von Blockstack-Knoten.
Foto: faizod GmbH

Ein strenges Regelwerk

Bevor eine Datenfolge als Transaktion in die Blockstack wandert, müssen die Informationen gegliedert und validiert werden. Dabei ist darauf zu achten, dass die Daten die richtige Form haben und nicht gegen bestehende Regeln verstoßen. Regelkonforme Transaktionen werden als valide Operation in den Block eingetragen, nicht regelkonforme Transaktionen verworfen und gelöscht. Die integrierte Folge von gültigen Blockstack-Operationen bildet eine Architektur, die als "virtuelle Blockchain" bezeichnet wird. Dabei werden die Transaktionen der zugrunde liegenden Blockchain gefiltert und interpretiert. Blockstack gibt den Transaktionen eine zusätzliche Bedeutung, andernfalls sehen sie wie normale Vorgänge aus und werden entsprechend als Bitcoin-Transaktionen in die Knoten geschrieben.

Zentraler Baustein der Blockstack ist die sogenannte Namensdatenbank, in der die Identitäten verwaltet werden. Die Namensregistrierung ist ein zweistufiger Prozess, bei welchen die folgenden Operationen ausgeführt werden:

  1. die sogenannte Vorbestellung (preorder) und

  2. die Namensregistrierung selbst.

Bei der preorder kündigt der Sender an, dass er in Zukunft seinen Namen in geheimer Art und Weise registrieren möchte. Der Teilnehmer möchte sich nicht zum gegenwärtigen Zeitpunkt registrieren, da eine dritte Person diesen Vorgang abhören und den Namen stehlen kann.

Der zweite Schritt ist die Namensregistrierung selbst, wobei der Teilnehmer einen bestimmten Namen anmeldet. Dabei muss er beweisen, dass der Name in einer vorhergehenden Transaktion vorbestellt wurde. Zusammen werden diese beiden Operationen als "kryptographische Zwei-Phasen-Bindung" beschrieben. Nach dem Anlegen einer neuen Identität gibt es noch die Vorgänge des Namentransfers und des Namensupdate. Im Transfer werden die Namensinhalte zwischen zwei Systemen ausgetauscht, wobei der Identitätsinhaber ankündigt, den Inhalt zu einem anderen kryptographischen Schlüsselpaar zu verschieben. Im Update werden mit der Blockstack-ID verknüpften Daten geändert.

Abgleich mit der Hashtabelle

Standardmäßig werden Datensätze in Blockstack-Knoten gespeichert und mittels einer verteilten Hash-Tabelle (Distributed Hash Table - DHT) implementiert. Allen Blockstack-Knoten werden eigene DHT zugeordnet. Jeder Knoten prüft in der DHT den Hash-Wert seines Datensatzes. Die entsprechenden Daten werden nur gespeichert, wenn der Hash-Wert in der DHT übereinstimmt. Während die DHT der Hauptspeicherort für alle Datensätze ist, können andere Kopien der Datensätze an anderen Orten, den so genannten Datenspiegeln, gespeichert werden. Diese Datenspiegel werden kontinuierlich aufgebaut, in die DHT geschrieben und sämtliche Datensätze in deren eigenen Kopien gesichert. Für eine bessere Leistung und höhere Verfügbarkeit werden die Blockstack-Knoten so konfiguriert, dass sie zuerst in den Datenspiegel und erst danach in der DHT nachschauen.

Wenn ein Datensatz in die DHT mit dem Ziel der Speicherung gesendet wird, so werden die Knoten der DHT anhand ihres eigenen Routing-Algorithmus in einer Teilmenge der Knoten gespeichert. Die Anzahl der Knoten, in der die Datensätze gespeichert werden, wird durch einen sogenannten "Abgleichfaktor" festgelegt. Ein Abgleichfaktor von 20 bedeutet beispielsweise, dass mindestens 20 Knoten die Daten speichern.

Bring your own Identity

Die Blockstack-Technologie hat für das Identitätsmanagement einen mehrfachen Nutzen. Gehackte Benutzerkonten würden der Vergangenheit angehören. Darüber hinaus kann jeden Teilnehmer selbst seine Identität managen. Teilt er viele Informationen, so kann er einfach im Netz identifiziert werden. Werden nur wenige Daten veröffentlicht, so kann sich der Nutzer anonymer im Netz bewegen.

Jeder registrierter Nutzer erhält eine Blockstack-ID und kann eindeutig dem Eigentümer zugeordnet werden. Ein weiterer großer Vorteil von Blockstack ist, dass sich nicht nur Personen sondern auch Unternehmen, Webseiten und Applikationen registrieren können. Ferner wird bei Blockstack nicht zwischen beruflicher und privater Identität unterschieden. Wenn ein Mitarbeiter in eine Firma eintritt, so können seine Blockstack-Daten eingebracht werden und seine Zugriffsberechtigungen und Organisationszugehörigkeiten schnell angelegt werden ("Bring Your Own Identity", BYOI). Verlässt der Mitarbeiter das Unternehmen wieder, können alle Berechtigungen innerhalb von Minuten wieder entzogen werden.

Das BYOI-Prinzip existiert bereits, so wird beispielsweise der Facebook- oder Google-Account genutzt, um andere Webdienste in Anspruch zu nehmen. Nur sind diese Verfahren nicht manipulationssicher und die Daten können gestohlen werden. Somit ist es für das Identitätsmanagement unabdingbar, das Verfahren mittels einer Blockchain zu realisieren.

Sicherer als Single-Sign-on

Darüber hinaus ähnelt die Blockstack-Technik dem bekannten "Single-Sign-on". Dies funktioniert im Prinzip so, dass ein Benutzer nach einer einmaligen Authentifizierung an einem Arbeitsplatz auf alle Rechner und Dienste, für die er lokal berechtigt ist, am selben Arbeitsplatz zugreifen kann, ohne sich jedes Mal neu anmelden zu müssen. Die Blockstack geht aber noch einen Schritt weiter und umfasst mehr als den Zugriff von einzelnen Rechnern, sondern das gesamte Netz. Darüber hinaus ist das Verfahren sicherer als die einmalige Eingabe eines Passwortes.

Folgende Vorteile hat die Blockstack für das digitale Identitäts- und Berechtigungsmanagement:

  • Digitale Identitäten werden nur noch an einer Stelle verwaltet.

  • Der Eigentümer verwaltet seine Identität selbst und ist "Herr über seine Daten".

  • Eine Applikation muss selbst keine Berechtigungen mehr verwalten.

  • Die Berechtigungsadministration erfolgt für alle Anwendungen nur an einer Stelle.

  • Das Vertrauen in eine zentrale Instanz ist nicht erforderlich

Fazit

Das Blockchain-basierte Identitätsmanagement ist eine passende Antwort auf die Frage nach dem sicheren Umgang mit persönlichen Daten im Internet. Zu klären ist noch eine hundertprozentig diebstahlsichere Verwahrung des Schlüssels. Das Anlegen von Benutzerkonten für den jeweiligen (Web-)Service wird überflüssig und entlastet die Anbieter. Größter Vorteil für die Endkunden ist, dass sie selbst entscheiden, welche Daten im Netz geteilt werden möchten und welche nicht. Ferner wird bei Blockstack nicht mehr zwischen privater und beruflicher Identität unterschieden. Somit birgt die Anwendung von Blockchains im Bereich Identitätsmanagement ein großes Potenzial und wird den Umgang mit personenbezogenen Daten im Internet neu ordnen. (sh)