slider

Blockchain Sicherheit - Prof. Dr. Norbert Pohlmann

Blockchain Sicherheit

Blockchain Sicherheit

Wie kann die Blockchain Sicherheit diskutiert und bewertet werden?


Blockchain Sicherheit: Damit eine Blockchain sicher und vertrauenswürdig genutzt werden kann, müssen Kommunikations-, Sicherheits- und Vertrauenswürdigkeitsaspekte berücksichtigt werden.

Um die Sicherheitsaspekte besser diskutieren zu können, wird die „Blockchain“ in die Blockchain-Infrastruktur und die Blockchain-Anwendung unterteilt.

Blockchain Sicherheit - Sicherheit und Vertrauenswürdigkeit einer Blockchain
Abbildung: Sicherheit und Vertrauenswürdigkeit einer Blockchain © Copyright-Vermerk

Auf der linken Seite sind die Blockchain-Infrastruktur mit dem Peer-to-Peer-Netzwerk, die Nodes mit allen Kommunikations- und Sicherheitsfunktionen und die Blockchain als Datenstruktur. Auf der rechten Seite sind die Blockchain-Anwendung, eine mögliche Blockchain-App, eine Wallet mit dem Schlüssel und die eigentliche Anwendung. Die Transaktionen werden als Schnittstelle zwischen der Blockchain-Infrastruktur und der Blockchain-Anwendung betrachtet.

Sicherheit der Blockchain-Infrastruktur

Grundsätzlich wird mit der Blockchain-Technologie eine Blockchain erzeugt, in der fälschungssichere verteilte / redundante Datenstrukturen, in denen Transaktionen in der Zeitfolge protokolliert, nachvollziehbar, unveränderlich und ohne zentrale Instanz abgebildet sind. Die Cyber-Sicherheitseigenschaften und die dazu notwendigen Cyber-Sicherheitsmechanismen, die für die Wirksamkeit und Robustheit der Blockchain-Infrastruktur eine wichtige Rolle spielen, sind:

Cyber-Sichersicherheitseigenschaft: Verfügbarkeit der Daten

Cyber-Sicherheitsattribut einer Blockchain: „verteilt“ und „redundant”
Mithilfe des Peer-to-Peer-Netzwerks der Blockchain-Infrastruktur werden die Daten in der Blockchain auf den Nodes verteilt, redundant gespeichert und dadurch eine hohe Verfügbarkeit der Daten erzielt. Das Peer-to-Peer-Netzwerk muss dafür robust sein, um zuverlässig die Verfügbarkeit der Daten und die Vertrauensdienste erbringen zu können. Auch DDoS-Angriffe auf eine Blockchain sollten keinen nachhaltigen Einfluss auf die Funktionalität der Blockchain-Technologie haben.

Aspekte, die bei der Robustheit eine Rolle spielen sind:

  • Anzahl und Ort der Nodes
    (nicht alle Nodes bei einem Cloud-Anbieter wie AWS – Amazon Web Services)
  • Bandbreite zwischen den Nodes
  • Speicherplatz- und Rechnerkapazität (CPU, RAM …) auf der Node
    (eine Bitcoin-Blockchain ist zum Beispiel größer als 390 GByte)
  • Verteilfunktion von neuen Transaktionen und Blöcken muss robust sein, damit alle Elemente immer vollständig auf allen Nodes verteilt werden

Cyber-Sichersicherheitseigenschaft: Integrität und Authentizität der Daten in den Transaktionen

Cyber-Sicherheitsattribut einer Blockchain: „fälschungssicher/unveränderlich“
Die Integrität und Authentizität der Daten in den Transaktionen ist eine wichtige Cyber-Sicherheitseigenschaft, um die Cyber-Sicherheitsattribute fälschungssicher und unveränderlich umsetzen zu können. Dazu spielt die Krypto-Agilität der Blockchain-Technologie eine besondere Rolle.

Kryptografie-Agilität der Blockchain-Infrastruktur

Eine Blockchain-Technologie nutzt ein Public Key-Verfahren für die Signierung und Verifikationen von Transaktionen, um die Echtheit, den Ursprung und die Unversehrtheit der Daten überprüfen zu können.

Hashfunktionen dienen der Blockchain-Adresserzeugung, der notwendigen Verkettung der Blöcke (HashPrev) und der Berechnung des Merkle-Hash-Werts zur Integritätsüberprüfung aller Transaktionen in einem Block.

Für eine sichere und vertrauenswürdige Nutzung einer Blockchain-Technologie müssen das verwendete Public Key-Verfahren und die Hashfunktionen dem Stand der Technik genügen. Außerdem müssen die passenden Schlüssellängen verwendet werden. Der Stand der Technik kann aus der Technischen Richtlinie des BSI: „Kryptographische Verfahren: Empfehlungen und Schlüssellängen“ entnommen werden.

In der BSI – Technische Richtlinie „Kryptographische Verfahren: Empfehlungen und Schlüssellängen“ steht beschrieben, welche kryptografischen Verfahren und Schlüssellängen genutzt werden sollten, damit sie für die nächsten zehn Jahre als sicher gelten: Hashfunktionen müssen ein Mindesthashwertlänge von 256 Bit haben, das RSA eine Schlüssellänge von mindestens 3000 Bit und für elliptische Kurven gilt eine Mindestschlüssellänge von 256 Bit.

Außerdem müssen langfristig Post-Quantum-Kryptoverfahren berücksichtigt und genutzt werden.

Daher muss die Lebensdauer einer Blockchain-Technologie von Anfang an berücksichtigt werden, damit die Werte in einer Blockchain auch langfristig geschützt werden können (zum Beispiel wenn die Lebensdauer länger als zehn Jahre ist).

Bei den Kryptografie-Verfahren spielt aber auch die Schüssel- und Zufallszahlengenerierung eine sicherheitsrelevante Bedeutung. Bei der Erzeugung der Schlüssel besteht das Risiko, dass der Anwender einen zu einfachen Schlüssel wählt. Wird zum Beispiel der eigene Vorname als Schlüssel verwendet, können selbst ungeübte Angreifer diesen leicht erraten. Aus diesem Grund sollten die Schlüssel immer mithilfe von echten Zufallszahlengeneratoren berechnet und der vollständige Schlüsselraum ausgenutzt werden. Darüber hinaus sind Aspekte wie Streuung, Periodizität und Gleichverteilung zu beachten.

Wenn es notwendig wird, ein Update mit neuen kryptografischen Verfahren umzusetzen, wird eine Hard Fork notwendig. Die Blockchain-Teilnehmer müssen dann neue Blockchain-Adressen generieren und ihre „Werte“ dahin transferieren.

Cyber-Sicherheitseigenschaften: Integrität der Blockchain

Cyber-Sicherheitsattribut einer Blockchain: „in der Zeitfolge protokolliert nachvollziehbar“
Die Cyber-Sicherheitseigenschaft Integrität der Blockchain ist wichtig, um die Abläufe der Transaktionen in der Zeitfolge nachvollziehen zu können. Für diese Cyber-Sicherheitseigenschaft wird zusätzlich noch eine geschickte Verwendung der Hash-Funktionen (Transaktionen, Blockverkettung) genutzt.

Mithilfe des Hashwerts „HashPrev“ im Block Header wird die Blockverkettung der Blockchain sichergestellt. „HashPrev“ ist das Ergebnis der Hash-Funktion (H), die als Input den letzten Block Header nutzt.

Die Blockverkettung ist ein wichtiger Aspekt für die Überprüfbarkeit der Reihenfolge der Blöcke, aber sie macht es unmöglich, die Daten in der Blockchain zu löschen. Dies kann wiederum zu Datenschutzproblemen oder Problemen mit unerwünschten Inhalten führen.

Cyber-Sicherheitseigenschaften: „ohne zentrale Instanz“

Cyber-Sicherheitsattribut einer Blockchain: Vertrauen durch „Security-by-Design“
Die Blockchain-Technologie bietet „programmiertes Vertrauen“ mithilfe verschiedener Cyber-Sicherheits– und Vertrauensmechanismen. Alle Cyber-Sicherheits- und Vertrauensfunktionen sind inhärent als „Security-by-Design“ in die Blockchain-Technologie integriert.

Vertrauenswürdigkeitsmechanismen der Blockchain-Infrastruktur

Für die Blockchain-Anwendung muss ein passendes Konsensfindungsverfahren, auch in Abhängigkeit der ausgewählten Berechtigungsarchitektur, ausgewählt und genutzt werden, um sicher und vertrauenswürdig arbeiten zu können.

Ein Validierungsalgorithmus überprüft die Hashwerte und Signaturen der Transaktionen und auch neue Blöcke, die von der ausgewählten Node erstellt und verteilt worden sind. Zusätzlich werden aber auch die Syntax und Semantik der Elemente überprüft: Stimmt die Blockchain-Adresse? Sind genug Coins vorhanden? usw.

Ein Risiko ist die Fremdnutzung von Elementen, wie sie bei Bitcoin festgestellt worden ist.

Es wurde wissenschaftlich aufgezeigt, dass in Blockchain-Technologien wie Bitcoin auch Daten in eine Transaktion eingebracht werden können, die mit der Bitcoin-Blockchain nichts zu tun haben. Diese Fremdnutzung ist nicht neu und schon seit 2013 bekannt. Das können zum Beispiel 80 Byte in einem fehlerhaften Output-Daten-String (OP_RETURN) sein. In einem solchen Feld können URLs abgelegt werden, die auf Inhalte anderer Server verweisen. Bilder können in diesem Feld nicht gespeichert werden. Bei dieser Fremdnutzung bleibt die eigentliche Transaktion gültig und wird richtig umgesetzt.

Es könnte aber auch zum Beispiel das Feld für die Bitcoin-Adresse des Empfängers oder ein Hashwert sein. Dann liegt die Größenordnung bis zu 92 KByte. Wenn in diesen Feldern andere Daten gespeichert werden, gehen die angegebenen Bitcoins im Input verloren.

In 92 KBytes können Bilder untergebracht werden. Diese sind zwar nicht hochauflösend, aber die Inhalte sind gut erkennbar.

Bei 0,0007 % wurde eine Fremdnutzung der Transaktionsdaten identifiziert. Das ist wie Steganografie: Daten werden in der Masse von Informationen versteckt. Ein normaler Blockchain-Teilnehmer wird diese Daten nicht sehen, weil er nicht auf Transaktionen zugreift, mit denen er nichts zu tun hat. Diese Daten zu finden bedeutet, dass entsprechende Tools programmiert werden müssen, um die Inhalte für die Fremdnutzung zu finden.

Aus diesem Grund sollte als Schutz für die Fremdnutzung die Validierung der Syntax und Semantik so genau wie möglich umgesetzt werden. Eine bessere Möglichkeit ist die Löschung einer gezielten Transaktion, die nur im Konsens durchgeführt werden darf.

Sicherheit und Zuverlässigkeit der Software

Da die Blockchain-Technologie einen Vertrauensdienst anbietet, spielt die Sicherheit und Zuverlässigkeit der Software eine entscheidende Rolle. Es muss sichergestellt werden, dass die Peer-to-Peer-Mechanismen, die Vertrauenswürdigkeitsmechanismen, die verwendete Kryptografie, die Smart-Contract-Umsetzung usw. keine Schwachstellen enthalten und nur das tun, war erwartet wird.

Sicherheit der Blockchain-Anwendung

Die Blockchain-Anwendung kann aus einer Blockchain-App bestehen, die Daten von der Anwendung in Transaktionen vom Blockchain-Teilnehmer mit seiner Wallet signiert und in der Blockchain verstetigt.

Außerdem werden Transaktionen in der Blockchain-App verifiziert und die Daten von der Anwendung „verarbeitet“. Die Blockchain-App nutzt die Wallet des Blockchain-Teilnehmers, die als Hardware-Sicherheitsmodul (USB-, NFC-Token, …) realisiert ist und in der die Schlüssel gespeichert sind. Die eigentliche Anwendung nutzt die Blockchain-Technologie.

Geheimhaltung des gemeinen Schlüssels des Public Key-Verfahrens

Die Sicherheit der Blockchain-Technologie hängt auch von der Geheimhaltung der geheimen Schlüssel der Public Key-Verfahren in der Wallet ab. Der geheime Schlüssel muss immer geheim bleiben. Wer den geheimen Schlüssel einer Wallet besitzt, ist in der Lage, über die gesamten Transaktionen der Wallet zu verfügen. Ein Verlust des geheimen Schlüssels bedeutet, dass sämtliche in der Blockchain-Adresse gespeicherten Transaktionen für immer „verloren“ sind.

Gefahren bei nicht ausreichendem Schutz des geheimen Schlüssels sind zum Beispiel:

  • Das private IT-System des Blockchain-Teilnehmers wird mithilfe von Malware ausgespäht.
  • Bei einem IoT-Device, zum Beispiel Auto (Light Node) wird der geheime Schlüssel ausgelesen.
  • Die Website der Online-Wallet (Service Node) wird gehackt.
  • Ein nicht ausreichend gesichertes Smartphone wird gestohlen (Light Node) und genutzt.

Der Schutz des geheimen Schlüssels in der Wallet sollte mithilfe von Hardware-Security-Modulen realisiert werden (SmartCards, Sec-Token, High-Level-Sicherheitsmodule). Außerdem muss eine unberechtigte Nutzung aktiv verhindert werden.

Angreifer erstellt unberechtigt echte Transaktionen

Im folgenden Bild wird dargestellt, wie der Angreifer mit dem Besitz der Wallet oder dem unerlaubten Zugriff auf die Wallet des Teilnehmers A echte Transaktionen erstellen und damit manipulieren kann.
Der Angreifer ist in der Lage, valide Transaktionen für den entsprechenden Teilnehmer A zu erstellen und dadurch die Blockchain und die Blockchain-Anwendung zu manipulieren. Daher ist es besonders sicherheitsrelevant, dass die Wallet nicht gestohlen oder unberechtigt genutzt werden kann.

Schutz der Blockchain-Anwendung

Wenn die Blockchain-Technologie auf der Node an sich eine hohe Sicherheit bietet, werden die Angreifer über die eigentliche Anwendung, die die Blockchain nutzt, angreifen. Daher muss auch die Blockchain-Anwendung manipulationssicher sein, damit keine erfolgreichen Angriffe umgesetzt werden können.

Das folgende Bild zeigt, wie ein Angreifer auf dem IT-System des Blockchain-Teilnehmers eine Malware positioniert hat und damit die Blockchain und die Anwendung manipulieren kann. Sowohl ausgehende Transaktionen des entsprechenden Teilnehmers können vor der Sendung an die Blockchain-Infrastruktur manipuliert werden, als auch „eigene“ Transaktionen und von anderen Teilnehmern, die aus der Blockchain ausgelesen und vor der Weiterleitung manipuliert werden.


Der Angreifer ist in der Lage, dem Teilnehmer eine falsche Realität der Blockchain vorzutäuschen und so zu manipulieren. Dieser Art des Angriffs kann mithilfe einer vertrauenswürdigen Laufzeitumgebung entgegengewirkt werden.

Vertrauenswürdige Laufzeitumgebung

Um Malware-Angriffe auf Blockchain-Anwendungen zu verhindern, müssen diese in einer vertrauenswürdigen Laufzeitumgebung betrieben werden.

Vertrauenswürdige Laufzeitumgebungen können auf den Technologiefeldern „Trusted Computing“, „Trusted Execution Environment“ und „Sandboxing“ umgesetzt werden.

Seihe auch Glossar-Eintrag: Blockchain Technologie


Blockchain Sicherheit
Abbildung: Blockchain Sicherheit © Copyright-Vermerk



Weitere Informationen zum Begriff “Blockchain Sicherheit”



Blockchain-Technologie unter der Lupe

Eine vertrauenswürdige Zusammenarbeit mit Hilfe der Blockchain-Technologie

Blockchain als Echtheitsgarant – Sicherung von digitalen Zeugnissen und Nachweisen

Blockchain-Technologie revolutioniert das digitale Business

Validierung digitaler Nachweise mit der Blockchain

Kryptografie wird Währung – Bitcoin: Geldverkehr ohne Banken

Wie Sicherheit im Internet messbar wird

IT-Sicherheit konsequent und effizient umsetzen



Lehrbuch Cyber-Sicherheit

Übungsaufgaben und Ergebnisse zu Kapitel 14: Blockchain-Technologie

Bücher im Bereich Cyber-Sicherheit und IT-Sicherheit zum kostenlosen Download



Blockchain-Sicherheit

Blockchain-Sicherheit – Robustheit und Effizienz

Wie sicher ist eigentlich die Blockchain?

Wissenschaftliche Perspektiven im Bereich Blockchain



Forschungsinstitut für Internet-Sicherheit (IT-Sicherheit, Cyber-Sicherheit)

Master-Studiengang Internet-Sicherheit (IT-Sicherheit, Cyber-Sicherheit)

Marktplatz IT-Sicherheit

It’s all about Trust!



Zurück zur Übersicht




Summary
Blockchain Sicherheit
Article Name
Blockchain Sicherheit
Description
Für die Blockchain Sicherheit müssen Kommunikations-, Sicherheits- und Vertrauenswürdigkeitsaspekte berücksichtigt werden. Dabei werden die verschiedenen Sicherheitsaspekte in die Blockchain-Infrastruktur und die Blockchain-Anwendung unterteilt.
Author
Publisher Name
Institut für Internet-Sicherheit – if(is)
Publisher Logo
Blockchain Sicherheit
Blockchain Sicherheit Prof. Dr. Norbert Pohlmann - Cyber-Sicherheitsexperten