Banner Aktuelle IT-Sicherheit Online-Schulungen Rabatt
Artikel kostenlos lesen

Blockchain : Sicherheit der Blockchain-Technologie

Blockchain ist in aller Munde – spätestens, seitdem die Kryptowährung Bitcoin immer neue Rekorde bricht. Die praktische Anwendung der Blockchain-Technologie stellt den Nutzer vor eine Reihe von Entscheidungen, die von der geplanten Verwendung über Sicherheitsaspekte bis hin zum Datenschutz und juristischen Fragestellungen reichen.

Lesezeit 10 Min.

Von Dr. Manfred Lochter und Dr. Sarah Maßberg, BSI

Die Grundidee der Blockchain-Technologie basiert auf der allgemeineren Konstruktion der sogenannten „Distributed Ledger Technologies“ (distributed ledger = verteiltes digitales Analogon zum klassischen Journal der Buchführung). Sie beschreibt eine verteilte, synchronisierte, dezentrale und konsensuale Datenhaltung, bei der es keine zentrale Administrationsstelle und keine zentrale Datenspeicherung gibt.

Anstelle der zentralen Verwaltung treten vielmehr ein Peer-to-Peer-Netzwerk sowie ein Konsensmechanismus, um eine valide Verteilung der Daten auf alle Netzwerkknoten und die Integrität der verteilten Daten zu garantieren. Bei der Blockchain-Technologie wird ein einmal erreichter Konsens über die Korrektheit der Daten durch eine kryptografische Verkettung von Datenblöcken abgesichert, wobei die Blöcke die Transaktionen als Grundbausteine des Systems enthalten (vgl. Abb. 1). Damit ermöglicht die Blockchain Technologie eine sichere, unumkehrbare und transparente Abwicklung von Transaktionen zwischen unbekannten Parteien ohne eine vertrauenswürdige zentrale Vermittlungsinstanz.

Die Blockchain-Technologie bedient sich dabei eines neuartigen Ansatzes für das Vertrauensmodell: Das Vertrauen in die Integrität und Sicherheit der Datenhaltung entsteht nicht mehr (allein) aus dem Vertrauen auf eine zentrale Instanz, sondern wird mithilfe von kryptografischen Mechanismen im Konsens hergestellt.

Die Geschäftslogik in einer Blockchain sowie alle Transaktionsregeln werden intrinsisch im System durch sogenannten Chaincode verankert und automatisch mit den Transaktionen ausgeführt. Dadurch kann der Betrieb einer Blockchain unabhängig von zentralen Strukturen realisiert werden.

Abbildung 1: Blockchain-Prinzip

Der berühmteste Vertreter und Namensgeber der Blockchain-Technologie ist die Kryptowährung Bitcoin, die seit 2009 verfügbar ist und auch als Reaktion auf die globale Banken- und Finanzkrise ab 2007 gesehen wird. Viele Begriffe der Blockchain-Technologie – wie „Transaktion“ oder „Wallet“ – stammen ursprünglich aus der Bitcoinwelt und werden heute oft in einer erweiterten Bedeutung verwendet. Auch wenn für Viele Bitcoin die „reine Lehre“ der Blockchain-Idee verkörpert, so ist es doch nur ein spezieller Blockchain Ansatz unter vielen möglichen Ausgestaltungen der Technologie, der überdies für viele Anwendungen nicht geeignet erscheint.

Gestaltungsmöglichkeiten

Die Auswahl und das Design eines passenden Blockchain-Modells sind entscheidend für die Erreichung der funktionalen und sicherheitstechnischen Ziele jeder Blockchain-Anwendung. Die Blockchain-Technologie darf dabei nicht als starres Konstrukt gesehen werden, sondern vielmehr als Baukastensystem mit vielen verschiedenen Möglichkeiten zur Zusammenstellung der strukturellen Bausteine.

Bezüglich der Ausgestaltung des Netzwerks und der grundlegenden Datenstruktur hat sich eine Unterscheidung zwischen „public“ (alle Daten sind öffentlich einsehbar) und „private“ (der Zugriff auf die Daten ist beschränkt) Blockchainsbeziehungsweise „unpermissioned“ (jeder kann in jeder Funktion am Netzwerk teilnehmen) und „permissioned“ (Konsensbildung und Validierung von Transaktionen sind bestimmten Knoten vorbehalten) Blockchains eingebürgert, die das Rollen- und Rechtemanagement beschreibt.

Nur „unpermissioned public“ Blockchains wie Bitcoin kommen wirklich ganz ohne eine zentrale Instanz aus; bei den anderen Modellen müssen die entsprechenden Einschränkungen mehr oder weniger zentral vorgegeben und durchgesetzt werden.

Die theoretische Sicherheit einer Blockchain wird durch kryptografische Verfahren sichergestellt, deren Wahl von den angestrebten Sicherheitszielen und den beschriebenen Designentscheidungen für das Blockchain-Modell abhängt. Bei typischen Anwendungen sind dies heute Signaturverfahren und Hashfunktionen. Daneben gibt es in Blockchains viele weitere mehr oder weniger effiziente kryptografische Alternativen wie Ringsignaturen oder Zero-Knowledge-Verfahren, mit denen auch höhere sicherheitstechnische Anforderungen erfüllt werden können. Anwendungsspezifisch können auch Verschlüsselungsmechanismen eine Rolle spielen.

Als zentraler Vertrauensanker einer Blockchain dienen Konsensmechanismen, die es ermöglichen, innerhalb einer Nutzergruppe Konsens über neu hinzugefügte Blöcke und die Gültigkeit der Kette zu erreichen. Am bekanntesten ist sicherlich der auch bei Bitcoin verwendete sogenannte Proof-of-Work-(PoW)-Konsens, der darauf beruht, für die Teilnahme am Konsens und an der Bildung neuer Blöcke dem Blockchain-System eine bestimmte Arbeitsleistung nachzuweisen. Normalerweise wird dies mit dem Anreiz verbunden, dass die schnellsten „Arbeitsnachweise“ (z. B. Hashberechnungen in der Bitcoin-Blockchain) mit „Token“ (z. B. Bitcoins in der Bitcoin-Blockchain) belohnt werden (Mining). Daneben gibt es viele andere Konsensansätze, die mathematisch durchaus sehr anspruchsvoll sind und deren Eignung vom gewählten Blockchain-Modell abhängig und fallweise zu beurteilen ist.

Sicherheitsziele

Die klassischen Schutzziele der IT-Sicherheit wie Vertraulichkeit, Integrität und Authentizität spielen auch beim Einsatz der Blockchain-Technologie eine wichtige Rolle. Dabei muss zunächst die theoretische Sicherheit der Blockchains, die durch die Konstruktion der verketteten Datenstruktur, die kryptografischen Mechanismen und das gewählte Konsensverfahren geprägt wird, untersucht und bewertet werde.

In Blockchain-Systemen kann die Integrität sowohl der Transaktionsdaten als auch der gesamten Blockkette durch kryptografische Verfahren sehr zuverlässig sichergestellt werden. Dabei kommen oft kryptografische Hashfunktionen und Merkle-Bäume zum Einsatz. Auch die Authentizität der Transaktionen kann kryptografisch, zum Beispiel durch Signaturen, garantiert werden. Die bei Bitcoin verwendeten Kryptoverfahren wie ECDSA oder SHA-2 sind Standardalgorithmen und aus kryptografischer Sicht gegenwärtig als sicher anzusehen.

Durch die verteilte Datenhaltung und die permanente Synchronisation im gesamten Netzwerk ist auch eine hohe Verfügbarkeit zu erreichen, einzelne Knoten können im laufenden Betrieb sowohl beitreten als auch ausscheiden. Und auch das Ziel der Nichtabstreitbarkeit kann kanonisch beispielsweise durch Signaturen und Hashverkettung erfüllt werden. Schwierig gestaltet sich dagegen, Vertraulichkeit in der Blockchain herzustellen, da dies dem wichtigen intrinsischen Blockchainmerkmal der Transparenz widerspricht.

Grenzen von Blockchains

Für eine Gesamtbewertung der Blockchaintechnologie aus Sicht der IT-Sicherheit muss neben der theoretischen Betrachtung von Sicherheitszielen und Sicherheitsniveaus auch die praktische Sicherheit untersucht werden, die Blockchain im Kontext eines Gesamtsystems und seiner Rahmenbedingungen betrachtet (vgl. Kasten „Sicherheitsprobleme bei Bitcoin“).

Konsens

Das dezentrale, im Konsens hergestellte Vertrauen gilt als eine der entscheidenden Errungenschaften der Blockchain-Technologie. In Bereichen jedoch, in denen eine zentrale Instanz aus rechtlichen Gründen vorgeschrieben oder aus Anwendungssicht erwünscht ist, kann der Einsatz von Blockchains schwierig sein. Staatliche Blockchain-Anwendungen müssten besonders umsichtig und mit einem speziellen Konsensmechanismus modelliert werden, um die hoheitlichen Aufgaben des Staates angemessen abzubilden.

Der Konsensmechanismus als Vertrauensanker im Blockchain-System ist neben der passenden konzeptionellen Aufstellung auf eine korrekte und sichere Implementierung angewiesen und trotzdem durch praktische Angriffe bedroht, wenn die theoretischen Voraussetzungen in den zugrunde liegenden mathematischen Modellen nicht zutreffen. So basiert beispielsweise die Sicherheit beim PoW-Konsens in Bitcoin auf der Bedingung, dass kein Teilnehmer im System mehr als 50 % der Rechenleistung zur Verfügung haben darf.

Zudem beruht die Sicherheit der Konsensverfahren häufig zusätzlich auf dem Einsatz ökonomischer Anreize (z. B. Bitcoin-Mining), deren Sicherheitseigenschaften im Gegensatz zu klassischen kryptografischen Problemen schlecht eingeschätzt werden können.

Die Eigenschaft der Dezentralität kann bei Sicherheitsvorfällen problematisch sein, wenn eine schnelle und koordinierte Reaktion erforderlich wäre, um Fehler im System zu beseitigen.

Privatsphäre

Die Blockchain-Technologie eignet sich besonders dazu, öffentlich (oder zumindest teil-öffentlich) einsehbare und verifizierbare Daten manipulationssicher zu registrieren. Eine Ablage von sensitiven Inhalten ist deshalb schwierig – das Sicherheitsziel der Vertraulichkeit ist in Blockchain-Systemen nur mit zusätzlichen Maßnahmen realisierbar.

Beispielsweise könnten Daten in der Blockchain verschlüsselt abgelegt werden, was aber ein zusätzliches Schlüsselmanagement nötig macht und Probleme der Langzeitsicherheit mit sich bringt. Alternativ könnten in der Blockchain nur Verweise auf die eigentlichen Daten abgelegt und die Blockchain nur zur Zugangskontrolle verwendet werden. Dann müsste zur Speicherung und Verwaltung der Daten zusätzlich ein gut gesichertes anderes System (z. B. eine zentrale Datenbank) betrieben und sichergestellt werden, dass die Verweise in der Blockchain keine Informationen über die sensitiven Daten verraten. Außerdem können „private“ und/oder „permissioned“ Blockchains verwendet werden, welche die Leserechte stark einschränken, oder externe Datenkanäle für die Verteilung sensitiver Daten genutzt werden.

Das Thema Vertraulichkeit in Blockchain-Anwendungen bedarf allgemein noch einer tiefer gehenden Analyse und in jedem Anwendungsfall einer einsatzspezifischen Bewertung.

Erklärtes Ziel vieler Blockchain-Anwendungen ist die Pseudonymität der Teilnehmer. Diese soll zum Beispiel dadurch garantiert werden, dass die Teilnehmer nur über einen kryptografischen Schlüssel (und damit eine zufällige Bitfolge) adressiert werden. Über die Sammlung und Analyse von Metadaten können Nutzer dennoch häufig identifiziert werden, sodass eine sichere Pseudonymisierung in der Praxis nicht unbedingt gegeben ist.

Andererseits gibt es Ansätze für Anonymität in Blockchains, die sowohl die Herkunft als auch den Inhalt von Transaktionen verbergen. Diese beruhen allerdings auf relativ komplexen kryptografischen Mechanismen mit entsprechend fehleranfälliger Umsetzung und sind zurzeit ineffizient.

Lebenszeit

Daten in einer Blockchain haben typischerweise eine lange Lebensdauer. Einmal in die Blockchain eingefügt, werden sie dort für die gesamte Laufzeit der Blockchain unveränderbar verfügbar sein. Um die Sicherheit der gespeicherten Daten dauerhaft garantieren zu können, muss für alle verwendeten Kryptoalgorithmen auf die langfristige Sicherheit und die Gefährdung durch mathematische und technische Fortschritte geachtet werden – besonders vor dem Hintergrund, dass bereits potenzielle Quantencomputer diskutiert werden, die Teile der heute verwendeten Kryptografie gefährden.

Um Langzeitsicherheit gewährleisten zu können, muss die Blockchain so aufgesetzt werden, dass ein Austausch von Kryptoverfahren zur Laufzeit möglich ist (Kryptoagilität). Eine besondere Herausforderung bedeutet dies für die Integritätssicherung. Im Falle von verschlüsselten Daten auf der Blockchain kann ein Kryptowechsel zudem nur die neu hinzugefügten Daten schützen. Langzeitsicherheit sollte daher keine Kernanforderung für eine Blockchain-Anwendung sein und Blockchains sind nicht unmittelbar zur Lösung von Fragen der Langzeitarchivierung geeignet.

Einige der auch in der neuen europäischen Datenschutzgrundverordnung (DSGVO) beschriebenen Datenschutzziele sind in Blockchain-Anwendungen nur schwer umzusetzen: Dazu gehört das „Recht auf Vergessenwerden“, dessen Umsetzung eine Löschung von Daten in der Blockchain erfordern würde – das widerspricht aber der Grundeigenschaft der Manipulationssicherheit von Blockchains. Eine mögliche Lösung wäre in diesem Fall (ähnlich wie beim Problem der Vertraulichkeit), nicht die Daten selbst, sondern nur Verweise auf die Daten in der Blockchain zu speichern.

Inwieweit das dem Datenschutzrecht entsprechen würde, kann hier nicht abschließend beurteilt werden und ist noch Gegenstand der rechtswissenschaftlichen Diskussion. Zusätzlich gibt es bereits Ansätze zu sogenannten „Mutable Blockchains“, bei denen eine „Löschung“ kryptografisch durch Verschlüsselung realisiert werden könnte.

Eine Blockchain kann also nicht ohne Weiteres als datenschutzfreundliche Technologie (Privacy-Enhancing-Technology) verstanden werden und Blockchain-Anwendungen sollten nicht den Anspruch haben, generell Datenschutzprobleme zu lösen.

Praktische Sicherheit

Durch den hohen Grad an Automatisierung (Konsens, Synchronisation, Chaincode) in Blockchains ist die Sicherheit von Blockchain Systemen in hohem Maße abhängig von einer korrekten und sicheren Implementierung der Steuerungsmechanismen. Viele Blockchains werden Open Source entwickelt, was einerseits die Möglichkeit zur Kontrolle des Programmcodes eröffnet, andererseits aber auch neue Abhängigkeiten von einer oft schwer zu überschauenden und zu kontrollierenden Entwicklercommunity schafft.

Außerdem kann keine Blockchain für sich alleine den vollen Anwendungsumfang in ihrem Einsatzbereich bieten: Es ist immer ein zugrunde liegendes Netzwerk zur Kommunikation und Synchronisation notwendig – außerdem Schnittstellen zur Außenwelt sowie Peripheriegeräte beim Endnutzer. Alle diese Komponenten haben in der Vergangenheit bei Blockchain-Anwendungen bereits Schwächen offenbart, die in eine Sicherheitsbetrachtung mit einbezogen werden müssen.

Rolle des BSI

Das BSI als Gestalter und Bewerter für IT-Sicherheit in Deutschland setzt sich mit den Sicherheitsaspekten der Blockchain auseinander – insbesondere vor dem Hintergrund möglicher Anwendungen in staatlichen oder kritischen Infrastrukturen.

Wichtige Handlungsoptionen für das BSI sind in diesem Zusammenhang zum Beispiel die tiefer gehende Untersuchung verschiedener Blockchain-Konzepte, die sicherheitstechnische Evaluierung bereits existierender Blockchain-Lösungen und die Beschäftigung mit grundlegenden kryptografischen Fragen (z. B. der Eignung von Konsensmodellen, der Vertraulichkeit in Blockchains, des sicheren Löschens oder der Langzeitsicherheit). Außerdem müssen Anwendungsoptionen im Bereich der Digitalisierung weiter ausgelotet und bewertet sowie Pilotprojekte – vor allem im staatlichen Verantwortungs-oder Einflussbereich – von Anfang an sicherheitstechnisch begleitet werden.

Das Interesse an Blockchain ist groß und es gibt eine Vielzahl beteiligter Akteure aus Wirtschaft, Wissenschaft und Verwaltung, die sich mit dem Thema beschäftigen. Es ist Aufgabe des BSI, das Thema IT-Sicherheit in den Fokus der Blockchain-Diskussionen zu rücken und für die vielen unterschiedlichen Herausforderungen in diesem Bereich zu sensibilisieren. Viele der genannten Handlungsoptionen können nur im Austausch mit anderen Betroffenen realisiert werden.

Das BSI hat bereits ein Eckpunktepapier [1] mit seinen Kernbotschaften zum Thema IT-Sicherheit in der Blockchain veröffentlicht. Dieses Papier soll als Diskussionsgrundlage dienen und Ausgangspunkt für eine intensive Beschäftigung mit Sicherheitsfragen im Blockchain-Umfeld sein.

Sicherheitsprobleme bei Bitcoin

Der Einschätzung, dass die Blockchain-Technologie per Definition sicher ist, stehen beispielhaft die realen Probleme im Bitcoin-System entgegen: Die meisten der bei Bitcoin bisher bekannt gewordenen Probleme und Angriffe sind auf praktische Schwächen des Systems zurückzuführen. Es sind zum Beispiel Fälle bekannt geworden, in denen die Schlüsselerzeugung der Bitcoin-Wallets sehr schwach war und zu massenhaften Diebstählen von Bitcoins führte. Auch sind bereits Hintertüren in der Mining-Hardware für Bitcoin gefunden worden, die Remote-Angriffe ermöglichen könnten.

Außerdem könnten Hijacking-Angriffe auf das Border-Gateway-Protokoll (BGP) die Synchronisation im Bitcoin-Protokoll stören. Einen direkten Angriff auf die Dezentralisierung in Bitcoin stellt das „Selfish Mining“ dar, bei dem neue Blöcke der öffentlichen Blockchain zunächst bewusst vorenthalten werden, um bei einer späteren kumulierten Veröffentlichung den Gewinn zu maximieren. Hierbei reicht es, wenn 33 % der Rechenleistung von unehrlichen Minern kontrolliert wird.

Literatur

[1] Bundesamt für Sicherheit in der Informationstechnik (BSI), Blockchain sicher gestalten – Eckpunkte des BSI, 2018, www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Krypto/Blockchain_Eckpunktepapier.pdf

Diesen Beitrag teilen: