Insecure in any case?: Sicherheitsaspekte Blockchain-basierter Technologien

Zur Unterstützung der Transaktionssicherheit digitaler Anwendungen wird das, in mehreren Branchen, u.a. in Kryptowährungen verwendete Konzept der meist verteilt-gespeicherten Blockchain favorisiert. Der Beitrag untersucht unter Securityaspekten die Voraussetzungen für dessen sicheren Einsatz.

Blockchain-Daten Bildquelle: © deavmi/wikipedia, Creative Commons A-SA 4.0

Blockchain-Daten liegen unverschlüsselt im Klartext vor.

 

Inhaltsverzeichnis

  • 1.    Konzept Blockchain
  • 2.    Sicherheitsanforderungen an das Konzept Blockchain
  • 3.    Umsetzung der Blockchain-Methode am Beispiel von Bitcoin
  • 4.    Erfüllung der Sicherheitsanforderungen am Beispiel von Bitcoin
  • 5.    Ausblick

 

1. Konzept Blockchain

Die Blockchain erzeugt ein chronologisches Journal vom Urheber signierter Transaktionen in einer Kette (Chain) von jedermann überprüfbar verknüpfter Blöcke: Ein Block enthält eine Prüfsumme (Hash) seines Inhalts - inklusive der Prüfsumme des vorhergehenden Blocks. Jedermann kann einer Blockchain-Community beitreten. Es existiert meist kein (zentraler) Intermediär, dem vertraut werden muss.

Blockchain Bildquelle: © softScheck GmbH

Charakteristika der Blockchain

Das Konzept der Blockchain wird für eine Reihe neuer Technologien diskutiert: Anonyme Wahlen, Smart Contracts (Programme zur automatisierten und transparenten Durchsetzung von Vertragsbedingungen und zur Einleitung festgelegter Rechtsfolgen) etc. Das Netzwerk einer Blockchain ist Teil der Implementierung und kann variieren. So verwenden Kryptowährungen wie die vielfach akzeptierte Bitcoin eine public Blockchain in einem verteilten Netz gleichberechtigter Teilnehmer; Banken betreiben private Blockchains, in denen nur autorisierte Teilnehmer Transaktionen durchführen dürfen (2).  Erfolgreiche Angriffe auf Blockchain-Systeme sind bekannt (3), (4).

Block Bildquelle: © softScheck

Der Bitcoin Blockaufbau

Block

Dieser bündelt eine Reihe digital signierter Transaktionen (z.B. Überwei-sungen von Geldbeträgen, Kaufverträge für Grundstücke, Protokolleinträge von IT-Systemen). Neue Transaktionen werden (z.B. 10 Minuten lang) gesammelt und zu einem Block zusammengefasst.

Mit Hilfe des jeweils zugehörigen öffentlichen Schlüssels kann die Signatur einer jeden Transaktion in einem Block überprüft werden und durch Vergleich der Block-Hashs kann auf Manipulationsfreiheit der Blöcke geprüft werden. Wird nachträglich eine Transaktion geändert, ändert sich der Hashwert (Prüfsumme) des Blocks. Wird darüber hinaus die Prüf-summe des geänderten Blocks ebenfalls geändert, wird diese Manipulation durch einen Vergleich der Prüfsumme mit der im nachfolgenden Block gespeicherten Prüfsumme erkannt.

Chain
Zu Beginn einer Blockchain wird ein Grundzustand festgelegt. Ein Block wird in die Chain aufgenommen, indem er als aktuellster Block an die Chain angehängt wird. Zulässig ist nur eine einzige Chain; bei mehreren Chains ist die längste Chain gültig.

Consensus

In einem verteilten Netzwerk kann jeder die Blockchain erweitern; dazu muss ein Konsens-Mechanismus definiert werden, der die Blockerzeugung reguliert, um festlegen zu können, welcher neu erstellte Block  akzeptiert wird.

-------------------------------------------------------

[1]   Fabian Hafner ist Security Consultant, Lubomir Stroetmann Senior Security Consultant und Prof. Dr. Hartmut Pohl Geschäftsführender Gesellschafter bei der softScheck GmbH, Sankt Augustin. https://www.softscheck.com

[2]  O’Connell, J.: What Are the Use Cases for Private Blockchains? The Experts Weigh In. BITCOIN Magazin Jun 20, 2016 https://bitcoinmagazine.com/articles/what-are-the-use-cases-for-private-blockchains-the-experts-weigh-in-1466440884/

[3]   Karagiannis, K.: Hacking Blockchain.RSA Conference San Francisco 2017 http://bit.ly/2oKP62s

[4]   Blockchain Graveyard. https://magoo.github.io/Blockchain-Graveyard