Blockchain Sicherheit - Prof. Dr. Norbert Pohlmann
Blockchain Sicherheit | |
![]() | Inhaltsverzeichnis Wie kann die Blockchain Sicherheit diskutiert und bewertet werden?
Um die Sicherheitsaspekte besser diskutieren zu können, wird die „Blockchain“ in die Blockchain-Infrastruktur und die Blockchain-Anwendung unterteilt. ![]() 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-InfrastrukturGrundsätzlich erzeugt die Blockchain-Technologie eine Blockchain, 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 DatenCyber-Sicherheitsattribut einer Blockchain: „verteilt“ und „redundant” Aspekte, die bei der Robustheit eine Rolle spielen sind:
Cyber-Sichersicherheitseigenschaft: Integrität und Authentizität der Daten in den TransaktionenCyber-Sicherheitsattribut einer Blockchain: „fälschungssicher/unveränderlich“ 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 Anwender die passenden Schlüssellängen verwenden. Der Stand der Technik kann aus der Technischen Richtlinie des BSI: „Kryptographische Verfahren: Empfehlungen und Schlüssellängen“ entnommen werden. Die technische Richtlinie „Kryptographische Verfahren: Empfehlungen und Schlüssellängen“ beschreibt, welche kryptografischen Verfahren und Schlüssellängen sich für die nächsten zehn Jahre eignen. Demnach sollten Hashfunktionen eine Mindest-Hashwertlänge von 256 Bit aufweisen. Für RSA empfiehlt das BSI eine Schlüssellänge von mindestens 3000 Bit und für elliptische Kurven eine Mindestschlüssellänge von 256 Bit. Außerdem müssen Entwickler langfristig Post-Quantum-Kryptoverfahren berücksichtigen und einsetzten. Daher müssen sie die Lebensdauer einer Blockchain-Technologie von Anfang an berücksichtigen, damit Blockchain ihre Werte auch langfristig schützt (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 Anwender die Schlüssel immer mithilfe von echten Zufallszahlengeneratoren berechnen und den vollständige Schlüsselraum vollständig ausschöpfen. 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 BlockchainCyber-Sicherheitsattribut einer Blockchain: „in der Zeitfolge protokolliert nachvollziehbar“ 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“ Vertrauenswürdigkeitsmechanismen der Blockchain-InfrastrukturFür die Blockchain-Anwendung müssen die Verantwortlichen ein passendes Konsensfindungsverfahren entsprechend der ausgewählten Berechtigungsarchitektur auswählen und einsetzen, damit die Blockchain sicher und vertrauenswürdig arbeiten kann. Ein Validierungsalgorithmus überprüft die Hashwerte und Signaturen der Transaktionen sowie neue Blöcke, die die ausgewählte Node erstellt und verteilt. 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 Nutzer in diesen Feldern andere Daten speichern, gehen die im Input angegebenen Bitcoins verloren. In 92 KBytes können Bilder untergebracht werden. Diese sind zwar nicht hochauflösend, aber die Inhalte sind gut erkennbar. Wissenschaftliche Untersuchungen identifizierten bei 0,0007 % der Transaktionsdaten eine Fremdnutzung. Das ist wie Steganografie: Dabei verstecken Nutzer Daten in einer großen Menge von Informationen. Ein normaler Blockchain-Teilnehmer wird diese Daten nicht sehen, weil er nicht auf Transaktionen zugreift, mit denen er nichts zu tun hat. Um diese Daten zu finden, müssen Entwickler entsprechende Tools programmieren, die die Inhalte für die Fremdnutzung sichtbar machen. 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 SoftwareDa 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-AnwendungDie 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-VerfahrensDie 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:
Hardware-Security-Module (SmartCards, Sec-Token, High-Level-Sicherheitsmodule) sollten den geheimen Schlüssel in der Wallet schützen. Außerdem müssen die Verantwortlichen eine unberechtigte Nutzung aktiv verhindern. Angreifer erstellt unberechtigt echte TransaktionenIm 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. Schutz der Blockchain-AnwendungWenn 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. Ein Angreifer kann sowohl ausgehende Transaktionen des entsprechenden Teilnehmers vor der Sendung an die Blockchain-Infrastruktur manipulieren als auch „eigene“ Transaktionen anderer Teilnehmer aus der Blockchain auslesen und vor der Weiterleitung verändern.
Vertrauenswürdige LaufzeitumgebungUm 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. ![]() Weitere Informationen zum Begriff “Blockchain Sicherheit”
„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“ „Übungsaufgaben und Ergebnisse zu Kapitel 14: Blockchain-Technologie“ „Bücher im Bereich Cyber-Sicherheit und IT-Sicherheit zum kostenlosen Download“ „Blockchain-Sicherheit – Robustheit und Effizienz“ „Wie sicher ist eigentlich die Blockchain?“ „Wissenschaftliche Perspektiven im Bereich Blockchain“
„Master-Studiengang Internet-Sicherheit (IT-Sicherheit, Cyber-Sicherheit)“ „Marktplatz IT-Sicherheit: IT-Notfall“ „Marktplatz IT-Sicherheit: IT-Sicherheitstools“ „Marktplatz IT-Sicherheit: Selbstlernangebot“ „Marktplatz IT-Sicherheit: Köpfe der IT-Sicherheit“ „Vertrauenswürdigkeits-Plattform“ Zurück zur Übersicht Summary ![]() Article Name Blockchain Sicherheit DescriptionFü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 Prof. Norbert Pohlmann Publisher Name Institut für Internet-Sicherheit – if(is) Publisher Logo ![]() |
![]() | |






