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 ideal 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, also nicht jemand 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.
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 dieses TRhema (Authentification) haben 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 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 missten digitalen Einbrüche sind auf unzureichende Prüfung der digitalen Identität zurück zu führen. Eine Blockchain kann nichts 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 oft 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 Authentikatoren, 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 digitalem 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 DIGIR´TALEN IDENTITÄT, ALSO DIE REGISTRATUR, IST MIT EINIGEM AUFWAND VERBUNDEN. ZUDEM MUSS dieser Vorgang auch wiederholt werden, Rezertifizierung. Die NIST schlägt dazu folgenden exemplarischen Prozess vor:
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 grundsätzlich nicht unbedingt vertrauen in Ihren Prozessen. 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 im 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. Das es die gibt, habe ich bereist angeführt.