Die Blockchain scheint momentan die ultimative Lösung zu sein. Das erinnert mich stark an die ultimative Antwort aus „per Anhalter durch die Galaxis“. Vielleicht sollten wir auch hier zunächst die Frage definieren, bevor wir versuchen ein Problem mit einer Technologie zu lösen.

Das WFP (World Food Programm) versorgt mittlerweile viele Flüchtlingscamps bzw. die Bedürftigen mittels einer privaten Etherum Blockchain und Smart Contracts (https://innovation.wfp.org/project/building-blocks). Dabei werden diverse Vorteile realisiert, die lokalen Märkte werden nicht zerstört, da die kostenlosen Lebensmittel nicht mit den lokal produzierten im Wettbewerb stehen, die Transaktions- und Logistik Kosten konnten um 98% gesenkt werden und die Hilfe kommt bei denen an, die auch die Empfänger sind.

In diesem Beispiel sind zwei entscheidende Punkte für den Erfolg ausschlaggebend: die private Blockchain und die digitale Identität.

Folgt man den Idealisten,  löst die Blockchain alle Identity Probleme aktueller, zentraler IDM Systeme. Dann dürfte der erste Faktor schon einmal nicht gegeben sein. Die Anhänger der „Identity on Blockchain löst Alles“ -Theorie in unserer immer dezentraler werdenden Welt propagieren eine public Blockchain für IDM. Nur diese könnte dem Ansatz einer „self Managed“, souveränen und sicheren Identity gerecht werden.

Forbes hat die Thesen in einem Artikel zusammengefasst (https://www.forbes.com/sites/forbestechcouncil/2018/07/27/how-blockchain-can-solve-identity-management-problems/#6388ccab13f5). Die Idee dahinter ist im Grunde nicht neu, schon Microsoft hatte den ID-Card Ansatz, Google und Facebook machten Identity Sharing mittels OAtuth und OIDC publik. Was hier neu ist: die Identität gehört keiner Institutuion mehr, sondern wird als Token (Hasch) in einer verteilten public Blockchain gespeichert. Das heißt, ein Angreifer könnte nicht mehr auf die Daten zugreifen, die Blockchain könnte aber anhand des Tokens die Identität prüfen. Entscheidend dabei ist, dass die Blockchain und damit die Daten keiner Organisation gehören, sondern nur dem Besitzer der Identität. Dieser kann als einziger Souverän über die Verwendung der Daten entscheiden. Transaktionen würden mit dem Hasch gekennzeichnet. Die persönlichen Daten würden nicht mehr von privaten Unternehmen verkauft werden können. Man könnte sogar ohne Passwort auskommen. Es gäbe nur noch eine Identität, die überall und von allen angeschlossenen Systemen geprüft werden könnte. Letzteres ist nun aber auch mit bereits existierenden SSO Konsortien, z.B. Verimi (https://verimi.de/) oder YES (https://www.yes.com/) sowie Facebook und Google problemlos realisierbar. Der einzige Unterschied ist, dass es sich hier wieder um private Unternehmen handelt, die dann über die Daten verfügen und diese auch, so zeigt es die Erfahrung, leaken.

Hört sich also gut an mit Identity on Blockchain, schauen wir in  einem der folgenden Blogs etwas hinter die Kulissen.

Blockchain unverwundbar?

Die Enthusiasten proagieren die Blockchain als ultimative Lösung der Herausforderungen des modernen, digitalen Identitätsmanagements. Schauen wir uns einmal die noch zu lösenden Themen an.

Das Miner Problem

Die Blockchain ist idealerweise eine öffentliche Einrichtung, die ein dezentrales Netzwerk von Peers nutzt, um die Integrität von Transaktionen zu sichern. Theoretisch (technologisch) kann so eine demokratischere Welt geschaffen werden, da man sich von zentralen Mechanismen befreit (Was ich bereits mehrfach angezweifelt habe). Eines der größten Probleme dabei ist, dass mit 51%  der Mining Kapazität die Blockchain praktisch übernommen werden kann (http://www.coindesk.com/blockchain-immutability-myth/). Als  Beispiel würde 400 Mio USD ausreichen um die Mining Kapazität der BitCoin Blockchain zu übernehmen. Für interessierte Staaten eher Spielgeld. Da Identitäten unter anderem bei der Bekämpfung von Geldwäsche eine große Rolle spielen, wäre es mehr als leichtsinnig einer öffentlichen Blockchain als Identitätsquelle zu vertrauen. In diesem Umfeld werden Milliarden Geschäfte getätigt, so dass die Übernahme der Blockchain ein leicht zu finanzierendes Vorhaben wäre. Mit privaten Blockchains (siehe WFP Beispiel) kann man dieses Problem umgehen. Dann aber haben wir wieder Firmen oder Organisationen, die die Transaktion kontrollieren, was kein Unterschied zur aktuellen Situation ist.

Digitale Identität

Das Kernproblem der digitalen Identität, was ich in diesem Blog schon mehrfach beleuchtet habe, ist, sicherzustellen, dass ID real und einmalig ist und sie auch mir gehört, somit niemand anderes dieses Nutzen kann.

Ob nun eine Identität real ist, kann die Blockchain nicht prüfen. Dazu wird eine externe, vertrauenswürdige Instanz benötigt (womit wir wieder beim Kernproblem, dem Trust sind). Kommen also falsche Daten in die Chain, bleiben diese dort gespeichert und können als wahre Identität genutzt werden. Dieses Problem mit Fake Identities existiert auch in allen anderen Systemen. Interessant in diesem Zusammenhang ist der Umfang des Problems mit Fake Identitäten, die laut FTC bei 80% des Kreditkartenbetrugs eine Rolle spielen (https://www.ftc.gov/sites/default/files/documents/public_comments/credit-report-freezes-534030-00033/534030-00033.pdf).

In Deutschland haben wir die Funktion des digitalen Personalausweises, womit wir das Problem angehen könnten. Die Verbreitung ist aber eher gering. In den USA könnte die SSA, die die Sozialversicherungsnummer ausgibt, eine ähnliche Instanz sein. Die API’s sind aber nicht für den privaten Sektor zugänglich. Weltweit ist ein einheitliches System nicht ansatzweise in Sicht. Die Blockchain hilft nicht das Problem zu lösen.

Bin ich es oder nicht?

Auch das Thema Authentification habe ich bereits in diesem Blog beleuchtet. Ist die Identität digital generiert und gespeichert, muss sichergestellt werden, dass der Nutzer auch die berechtigte natürliche Person ist. Die NIST hat dazu mit dem Standard 800-63 (https://pages.nist.gov/800-63-3/) eine Reihe von Vorschlägen unterbreitet, die zumindest eine hohe Wahrscheinlichkeit ermöglichen, dass die nutzende Person auch die berechtigte, natürliche ist. Dennoch besteht keine absolute Sicherheit, dass die digitale ID nicht missbraucht wird. Die missbrauchten digitalen Einbrüche sind auf unzureichende Prüfung der digitalen Identität zurück zu führen. Eine Blockchain kann nichts dazu beisteuern, um dieses Problem zu beheben. Auch die Antwort, man verlasse sich auf Public-Private-Key Mechanismen, die ich öfter gehört habe, ist kein Vorteil einer Blockchain, eher im Gegenteil. Die Chain würde ja mit auslaufenden Zertifikaten die gleichen Herausforderungen haben wie alle anderen Systeme auch. Demgegenüber werden mit SAML, OAuth und OIDC die PKI basierten Modelle schon lange eingesetzt, zugegeben mit gleichen Herausforderungen des Zertifikatsmanagements. In der Chain ist nun aber die Identität an den privaten Key gebunden und es muss ein Mechanismus gefunden werden, diese Identität wieder zugreifen zu können, auch wenn der Schlüssel verloren geht oder anders korrumpiert wird. Dieser Mechanismus eröffnet neue Angriffsmöglichkeiten.

Bei einem verteilten IDM muss zudem sichergestellt werden, dass auch mehrere Identity Provider und Identity Registrierungsstellen (siehe vorherigen Abschnitt) vorhanden sind. Dabei ist wichtig, dass alle den gleichen Methoden folgen und nicht der mit den schwächsten Mechanismen zur Prüfung einen Angriff ermöglicht, der alle anderen Maßnahmen aushebelt.

Millennials vs. Babyboomer

Die Überprüfung der Identität erfolgt auch anhand von Plausibilisierung gespeicherter Daten, wie Bank-Transaktionen, Schufa-Einträgen und anderen zugänglichen Daten. Bei jungen Personen gestaltet sich das schwierig. Oft werden sie noch von den Eltern finanziert, haben keine eigene Wohnung oder wohnen bei Freunden bzw. in einer WG. Ebenso sollten die vorliegenden Daten zu staatlichen Vorgängen (Ausweise, Pässe, Führerschein, andere aktenkundige Vorgänge) in der Anzahl gering sein. Das macht es schwieriger die Identität zu prüfen. Noch problematischer wird das z.B. bei Obdachlosen. Einer der Gründe, aus denen erfolgreiche Angriffe mit falschen oder künstlichen Identitäten oft mit den ID’s jüngerer Personen durchgeführt werden.
Dieser Personengruppe ist demgegenüber aber eine hohe Affinität zu biometrischen Faktoren zum Beispiel an Ihren Mobilgeräten zuzusprechen, die ebenfalls zur Identifikation genutzt werden können. Die Zuverlässigkeit dabei ist allerdings immer wieder zweifelhaft, wie ich schon in einem Blog zum Thema Biometrie und Authentifizierung berichtet hatte.

Sieht man sich nun die ältere Bevölkerung an, so haben diese zwar einen langen Trail an verifizierbaren Informationen, die zur Identitätsprüfung herangezogen werden können, jedoch oft wenig Bereitschaft sich mit Mobilgeräten oder anderen Authentifizierungssystemen auseinander zu setzen.

Diese grundsätzlichen Probleme werden von einer Blockchain nicht gelöst. Die Authentifizierung und Registrierung der Identität sind vorgelagerte Prozesse, bevor der Zugriff auf die Blockchain erfolgen kann. Wenn nun, wie bei der Authentifizierung mittels Smartphones, die biometrischen Faktoren auf dem Device und nicht zentral gespeichert werden, ergibt sich ein weiteres Problem. Was passiert, wenn das Device nicht nur von einer Person genutzt wird, sondern auch z.B. vom Rest des Haushaltes. Auch das ist eine Herausforderung, bei der die Blockchain nicht helfen kann.

Identity Federation adressiert diese Themen seit langem. Hier werden starke Authentifikatoren, wie z.B. Passwort mit Biometrie und einem Device nach dem Login zu einem Token mit Informationen über die authentifizierte Person gebunden und digital signiert, gegen Fälschung gesichert. Diesem Token wird in der Föderation als Repräsentation der Identität vertraut, nicht den statischen Informationen. Die Token haben üblicher Weise kurze Laufzeiten, um Ihren Missbrauch zu minimieren. Diese Token werden mit Protokollen wie SAML oder OIDC z.B. im SOAP oder auch JSON Format ausgetauscht. Über REST API lassen sich dann direkt von der Endstelle Claims prüfen, die eine Identität repräsentieren. Dabei müssen keine der eigentlichen Daten ausgetauscht werden. In einer Blockchain würde das einem digitalen Token gleichen, das dort einmalig hinterlegt ist und nicht jedes Mal erneut geprüft würde. Der Vorgang wäre damit viel unsicherer. Zudem müssten die eigentlichen Daten ausgetauscht werden, die sich nebenbei noch ändern können.

Einer für Alle

Schon der Blog zerrissene Identität zeigt das Problem auf, die Unternehmen vertrauen einander nicht. Warum sind zum Beispiel die Sparkassen mit YES am Start, während z.B. die VW Bank sich Verimi anschließt?

Eigentlich steckt das Problem aber tiefer, es hat einmal mehr nichts mit Technik zu tun. Am Beispiel von Banken und dem Gesundheitswesen lässt sich das recht gut nachvollziehen. Die Verifikation einer digitalen Identität, also die Registratur, ist mit einigem Aufwand verbunden. Zudem muss dieser Vorgang auch durch eine Rezertifizierung wiederholt werden. Die NIST schlägt dazu folgenden exemplarischen Prozess vor:

Blockchain_securtiyBlog

Je nach Anwendungsfall werden 3 Identity Assurance Level definiert, die jeweils eine entsprechend aufwändige Prüfung der Angaben bei der Registrierung erfordern. Bankgeschäfte erfordern eine Prüfung nach IAL3, dem höchsten Level und damit der aufwändigsten Prüfung.

Nun stellt sich die Frage, warum sollte Bank A, die die Identität Ihren Prozessen gemäß als verifiziert festgestellt hat, diese Daten Bank B zur Verfügung stellen, damit der Besitzer der Identität dort Geschäfte tätigen kann. Das wäre aus Geschäftssicht sicher nicht unbedingt die beste Idee. Hinzu kommt, dass sich Unternehmen in ihren Prozessen grundsätzlich nicht unbedingt vertrauen. Das Problem dahinter ist u.a., dass eventuelle Compliance-Verstöße nicht dem registrierenden Unternehmen, sondern dem, bei dem der Schaden entstanden ist, angelastet werden. Wie man in letzter Zeit sieht, kann das teuer werden.

Ein Manager wird selten dafür gefeuert nichts zu tun, oft aber, wenn er Risiken auf sich nimmt, die dann zu Schaden für das Unternehmen führen. Was würde passieren, wenn ein Krankenhaus sensible Gesundheitsdaten auf Basis einer durch einen anderen Provider verifizierten ID herausgibt?

Die Vorteile eines gemeinsamen Verifizierungssystems liegen auf der Hand. Momentan sind aber die Nachteile, insbesondere finanzieller Art, noch so gravierend, dass sich zumindest kommerzielle Unternehmen kaum dazu durchringen können ein gemeinsames, unabhängiges System zu betreiben. Diese Tatsache hat, wie ausgeführt keinen technischen Hintergrund. Daher ist es auch irrelevant, ob nun mit oder ohne Blockchain. Die Technik existiert bereits und wird auch eingesetzt, siehe OAuth, SAML und OIDC. Die Blockchain würde wenig ändern.

Zusammenfassend lässt sich in Bezug auf Identitäten und Authentifizierung feststellen, dass die Blockchain hier eher ein nachgelagertes System ist. Die Stärken einer Blockchain liegen in Use Cases rund um (virtuelle) Assets, Besitz oder Verwendung dieser Assets und sicher im Umfeld von Cryptowährungen. Ich denke es ist wichtig diese Information im Kopf zu behalten um eine Diskussion abseits des Hype führen zu können und wirkliche valide Use Cases für die Blockchain zu finden. Dass es die gibt, habe ich bereist aufgeführt.