Blockchain – Das Datenschutzproblem
Daten innerhalb eines Blockchain- Netzwerkes sind zunächst nie privat, sondern für andere Teilnehmer des Netzwerkes lesbar. Mit Trusted Computing Appliances lässt sich diesem substanziellen Problem begegnen.
Es gibt Anwendungsfälle, bei denen die vertrauenswürdige Verarbeitung privater Daten mit den heutigen Blockchains nicht möglich ist. Sehr problematisch ist dies vor allem, wenn geistiges Eigentum bei einer gleichzeitigen Beschleunigung bestehender, durch Gutachter und Notare begleiteter manueller Prozesse geschützt werden soll.
Beispiele für solche Prozesse sind die Kommunikation regulierter Lebensmittelzusatzstoffe in der Konsumgüterindustrie oder die Substanzkontrolle im Rahmen der Arzneimittelzulassung. Doch weshalb können Blockchains heute nicht zur vertrauenswürdigen Verarbeitung privater Daten eingesetzt werden?
Immerhin steht doch der Punkt „Vertrauenswürdigkeit“ ganz oben auf der Vorteilsliste dieser Technologie. Der Knackpunkt liegt in der Eigenschaft „privat“ der zu verarbeitenden Daten.
Im klassischen Sinne sind Daten innerhalb einer Blockchain niemals privat, also immer lesbar für andere Teilnehmer des Netzwerkes. Werden die Daten verschlüsselt, bevor sie an die Blockchain gesendet werden, so lassen sie sich nicht mehr mittels Smart Contracts verarbeiten.
Es sei denn, der Smart Contract würde diese wiederum entschlüsseln. Allerdings wäre der dazu benötigte Decodierungsschlüssel dann wieder von allen Teilnehmern einsehbar.
Die Hyperledger-Technologie versucht die Sichtbarkeit von Daten durch sogenannte Channels zu lösen, die sich bestimmte Teilnehmer eines Blockchain-Netzwerkes teilen können. Je nach Komplexität der Beziehungsgeflechte wird dieser Ansatz aber schnell unübersichtlich und unwirtschaftlich.
Auch gibt es gerade in der produzierenden Industrie sehr stark geschütztes geistiges Eigentum, welches das Unternehmensnetzwerk niemals verlassen darf – erst recht nicht in Richtung eines dezentralen Systems, über das der Eigentümer nicht die vollständige Kontrolle besitzt. Eine mögliche Lösung, um für mehr Datenschutz zu sorgen, bietet Camelot ITLab mit den Trusted Computing Appliances.
Zusatzservices Trusted Computing Appliances
Das Konzept funktioniert wie folgt: Die geheimen Daten werden vom Besitzer lediglich lokal gespeichert, aber per Hashwert auf der Blockchain registriert. Somit ist zu jeder Zeit ausgeschlossen, dass der Besitzer die Daten zu seinen Gunsten manipuliert.
Alle Parteien einigen sich auf einen Algorithmus (Programm), dem es erlaubt ist, die privaten Daten zu verarbeiten, zum Beispiel ein simpler Abgleich zweier Listen sowie die Rückgabe der Intersektion (Schnittmenge).
Optimalerweise erfolgt die Verteilung des Programms an die beteiligten Parteien auch über Blockchain-Mechanismen. Nach Ausführung des Programms darf der Rückgabewert (die Schnittmenge) über die Blockchain an die betreffenden Gegenstellen verteilt werden.
Nun birgt dieser Ansatz folgende Gefahr: Da das Programm auf der Infrastruktur – dem PC oder Server – des Datenbesitzers läuft, könnte dieser das Programm selbst manipulieren und somit den Rückgabewert, welcher die Blockchain erreicht, zu seinen Gunsten verfälschen.
An dieser Stelle tritt das Trusted Computing in Kraft: Es verhindert die Manipulation von lokalen Programmen sowie die Beeinflussung laufender Prozesse dieser Programme durch fest im Prozessor verankerte Maßnahmen.
Damit ermöglicht die Trusted Computing Appliance den Betrieb von „Off-Chain Smart Contracts“, da sie zwar lokal, aber trotzdem in einer vertrauenswürdigen Umgebung laufen. Die zuvor genannten Programme, auf die sich alle Teilnehmer des Netzwerkes einigen, heißen bei Camelot „Trustlets“, die vertrauenswürdige Umgebung in der aktuellen Service-Version ist Intel SGX (Software Guard Extension).
Die größte Herausforderung bei der Entwicklung des Trusted-Computing-Services war es, den unsicheren Bereich zwischen der Blockchain und den Trustlets abzusichern. Das gelang mithilfe eines schlüssigen Konzepts, welches Onboarding-Mechanismen beschreibt, die mittels Voting-Maschinen und Datenintegrität durch digitale Signaturen funktionieren.
Die zum Einsatz kommende Blockchain ist dabei prinzipiell frei wählbar. Die Referenz-Implementierung von Camelot nutzt Hyperledger Fabric innerhalb des SAP-Blockchain-as-a-Service-Angebots.
Die technischen Anwendungsfälle umfassen neben der Verarbeitung geschützter Daten beispielsweise auch den sogenannten Inter-Blockchain-Datenaustausch, also das sichere Übertragen von Transaktionen einer Blockchain-Technologie in eine andere sowie das Einfügen von Daten aus sicheren Datenquellen in ein Blockchain-Netzwerk.
Bei den Trustlets handelt es sich ausschließlich um bei Camelot kompilierten Code. Für die nächste Version des Trusted Computing sind jedoch auch Skriptsprachen-Interpreter vorgesehen, um die Verteilung der Algorithmen in Echtzeit vornehmen zu können.
Dies zeigt, dass dieses Umfeld noch ein hohes Optimierungs- und Weiterentwicklungs-Potenzial birgt, das im Markt auf einen großen Bedarf trifft.