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.
Inhaltsverzeichnis
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.
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
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/
[4] Blockchain Graveyard. https://magoo.github.io/Blockchain-Graveyard