Die Blockchain-Technologie gilt durch den Einsatz kryptografischer Verfahren als sicher und vertrauenswürdig. Informationen werden dabei in einer Kette von Blöcken gesichert. Aus jedem dieser Blöcke wird ein eindeutiger Fingerabdruck ("Hash") erzeugt, der in den jeweils folgenden Datenblock übernommen wird. Das schließt Manipulationen zwar nicht grundsätzlich aus, macht sie aber aufwändig und leicht erkennbar.
Dazu trägt auch die Transparenz der Blockchain bei: Mehrere bis alle Teilnehmer besitzen eine Instanz, so dass alle Transaktionen für diese sichtbar und nachvollziehbar sind. Schließlich gilt das Konsensprinzip. Transaktionen werden nur dann als valide akzeptiert, wenn die im gewählten Konsensmechanismus festgelegten Kriterien zutreffen.
Tatsächlich gilt für die Blockchain aber das, was für jedes beliebige IT-System gilt: hundertprozentige Sicherheit bietet auch sie nicht. Wer nun aber den fertigen Projektplan für die Blockchain im eigenen Unternehmen gleich wieder in der Schublade verschwinden lassen möchte, sollte wissen: Ein Hindernis ist das nicht.
Kryptografie bietet Sicherheit und Angriffsfläche zugleich
Die zur Sicherung der Integrität einzelner Blöcke gebildeten Hashes werden über kryptografische Funktionen berechnet. Rein theoretisch, entweder durch die Verwendung ungeeigneter Algorithmen oder durch Fehler in der Implementierung der Hashbildung oder -prüfung, können so genannte Kollisionen auftreten. Das bedeutet, dass ein veränderter Block einen unveränderten Hash aufweist. Eine Manipulation des Blocks würde in diesem Falle nicht bemerkt werden. Die Gefahr ist prinzipiell vorhanden, aber sie tritt unwahrscheinlicher ein, als beim Einlösen eines Lottoscheins mit Millionengewinn vom Blitz getroffen zu werden.
Kryptografie wird auch bei der Identifizierung und Authentifizierung der Teilnehmer verwendet – unter Nutzung von öffentlichen und privaten Schlüsseln. Von Bitcoin – der Applikation, die der Blockchain-Technologie zum Durchbruch verhalf - wissen wir, dass Angriffe häufig auf die Entwendung des privaten Schlüssels in Wallets oder Keystores zielen. Wer über den privaten Schlüssel eines anderen Teilnehmers verfügt, kann damit Transaktionen in dessen Namen durchführen. Dieses Risiko besteht bei anderen Systemen aber ebenfalls, wenn die Login-Informationen von Usern entwendet werden.
Social Engineering ist eines der größten Sicherheitsprobleme in der IT. Hier werden persönliche Kontakte missbraucht, um an vertrauliche Firmeninformationen oder Passwörter zu kommen. Hier wie dort (in der Blockchain) ist es wichtig, die Aufmerksamkeit von Nutzern für solche Versuche zu schärfen und geeignete Sicherheitsmaßnahmen zu ergreifen, um das Entwenden von Passwörtern so schwer wie möglich zu machen.
Transparenz: Fluch und Segen in einem
Die Transparenz von Transaktionen ist eine der unbedingten Stärken der Blockchain. Sie entsteht, weil alle Aktivitäten auf allen Knoten für die Teilnehmer der Blockchain nachvollziehbar sind und sich die Kontrollmöglichkeit eben nicht auf eine singuläre Instanz beschränkt.
Aber dieses so genannte verteilte Register erzeugt neue Herausforderungen: Der Rundumschutz einer Blockchain in Form eines klassischen Perimeterschutzes, wie er zum Beispiel in einem geschlossenen Firmennetz besteht, ist nicht möglich. Die Dezentralität der Datenhaltung schafft zudem neue Angriffsflächen: die Netzwerkkommunikation und die Zugriffsmöglichkeiten der Knoten untereinander. Damit weist die Blockchain ähnlich kritische Punkte auf, wie jede Internet- oder WAN-Verbindung auch.
Letztlich lassen sich in verteilten Umgebungen weder die Vertraulichkeit der Daten noch – so gefordert – die Anonymität der Teilnehmer hundertprozentig sicherstellen. Daher sollten Geschäftsanwendungen, wenn es der Anwendungsfall zulässt, in einer so genannten Permissioned Blockchain realisiert werden. Das ist eine Art private Blockchain mit begrenztem Teilnehmerkreis. In diesem Modell lassen sich technisch und organisatorisch umfassende Sicherheitsmaßnahmen einfacher implementieren, umsetzen und kontrollieren.
Auch das Konsensprinzip lässt sich aushebeln
Der durch die Teilnehmer gebildete Konsens über die Rechtmäßigkeit und die tatsächliche Abwicklung einer Transaktion ist ein weiteres Grundprinzip der Blockchain, das Missbrauch und Betrug ausschließen soll. Doch der Konsensmechanismus selbst könnte durch betrügerische Handlungen der Teilnehmer seine Wirksamkeit verlieren. Jeder Konsensmechanismus hat hier sicherlich seine spezifischen Stärken und Schwächen, die je nach Anwendungsfall und Nutzerkreis an Relevanz gewinnen oder verlieren.
In diesem Zusammenhang ist häufig von der "51-Prozent-Attacke" die Rede, bei der sich mehrere Teilnehmer einer Blockchain konspirativ zusammenschließen, um Transaktionen in ihrem Sinne durchzuführen oder zu manipulieren. Eine solche Konzentration auf wenige Mining-Pools hat sich bei Bitcoin tatsächlich bereits vollzogen. Allerdings ist das Mining für geschäftliche genutzte Blockchains kein Thema. Zudem sinkt die Wahrscheinlichkeit solcher Attacken auf Konsortial-, also gemeinschaftlich genutzte Blockchains mit der Zahl der Teilnehmer. Hat diese Zahl eine kritische Masse erreicht, ist die Blockchain vor konspirativen Attacken sicher. Der Vorteil der Blockchain ist, dass alles transparent und nachvollziehbar ist.
Geschäftslogik in der Blockchain: Bugs und Software-Fehler können Probleme verursachen
Der konkrete Geschäftszweck lässt sich in Form von Anwendungen direkt in der Blockchain abbilden. Gängige Plattformen unterstützen dies mit spezifischen Skript- oder Programmiersprachen sowie Laufzeitumgebungen für die Ausführung.
Anwendungskomponenten können aber auch – mit entsprechenden Schnittstellen zur Blockchain – außerhalb der Blockchain realisiert werden. Nicht nur Entwickler wissen: Eine Anwendung gänzlich ohne Bugs und Software-Fehler ist praktisch unmöglich. Je komplexer eine Anwendung und je umfassender ein Programmcode ist, desto größer die Wahrscheinlichkeit für das Auftreten von Fehlern.
Schwachstellen im Code, der in der Blockchain gespeichert ist, sind wegen der Verteiltheit für Angreifer erkenn- und damit für Attacken nutzbar. Eine mögliche Angriffsform ist das Provozieren und Ausnutzen so genannter Race Conditions, bei denen bedingt durch die zeitliche Abhängigkeit von Einzeloperationen der Programmablauf gestört und damit das Ergebnis manipuliert werden kann.
Das zweite Problem: Einmal in der Blockchain abgelegter Programmcode kann nicht korrigiert, ein Angriffspunkt also nicht nachträglich einfach geändert werden. Diese Einschränkung kann man allerdings umgehen – durch eine Versionierung und eine Anweisung im Code, bei der Ausführung jeweils die aktuelle Version heranzuziehen.
Blockchain ist IT, und Sicherheit ist möglich
Am Ende – und wenig überraschend – basiert die Blockchain auf IT. Damit unterliegt sie denselben Herausforderungen an die Sicherheit wie jede andere IT-Anwendung und -Infrastruktur auch. Eine absolute Sicherheit gibt es also weder hier noch da.
Im Umkehrschluss bedeutet das aber auch: Gängige Sicherheitsmaßnahmen und Richtlinien für angemessenes Verhalten können viele dieser latent vorhandenen Gefahren auch bei Blockchain-Anwendungen verhindern. Dazu bieten sich für jede dieser potenziellen Schwachstellen spezifische Handlungsoptionen an, die die Gefahren auf das in der IT erträgliche Maß reduzieren. Danach gilt ein IT-System durchaus als hinreichend sicher, wenn die Eintrittswahrscheinlichkeit eines Angriffs durch die ergriffenen Maßnahmen das verbleibende Restrisiko vertretbar macht.