Sicherheitsqualität von Hashalgorithmen
Die Sicherheitsqualität einer Blockchain hängt generell von der Sicherheit der darin verwendeten Hashverfahren ab. Angriffe auf Hashverfahren gliedern sich in drei Kategorien mit jeweils aufsteigendem Schwierigkeitsgrad:
- Mit einem Kollisionsangriff werden zwei beliebige Eingaben gefunden, die denselben Hash ergeben.
- Ein First-Pre-Image Angriff findet zu einem gegebenen Hashwert eine gültige Eingabe, d.h. der Hash kann „zurückgerechnet“ werden.
- Ein Second-Pre-Image Angriff findet zu einer gegebenen Eingabe eine zweite Eingabe, die denselben Hash ergibt.
Das Sicherheitsniveau einer Blockchain beruht auf der Resistenz der Hashfunktion gegen einen First-Pre-Image Angriff. Selbst das schon seit vielen Jahren als unsicher geltende Hashverfahren MD5 ist nur in Bezug auf Kollisionsresistenz gebrochen, Pre-Image-Angriffe gegen MD5 sind nicht praktikabel. In aktuellen Blockchain-Implementierungen wie Bitcoin wird doppelt gehashtes SHA-2 als Hashverfahren verwendet. Bisherige Publikationen zu First-Pre-Image Angriffe gegen SHA-2 betrachten das Verfahren mit einer geringen Rundenzahl. Da die Rundenzahl bewusst hoch gewählt ist, um eine hohe Resistenz zu garan-tieren, bedeuten solche Angriffe aktuell keine Gefährdung. Für längerlaufende Projekte wird SHA-3 empfohlen.(5)
Implementierung
Die Sicherheitsqualität der Implementierung(6) muss durch die Identifizierung enthaltener Sicherheitslücken(7) bewertet werden. Auch die Sicherheitsqualität anderer genutzter Funktionen wie Hashs, Verschlüsselung und Zufallsgeneratoren ist entscheidend.
Kontrolle über die Erstellung von Blöcken
Sobald die Erstellung von Blöcken einem einzelnen Teilnehmer obliegt, kann dieser manipulieren. Hierzu zählen das Ändern oder Löschen von Transaktionen und das Verhindern der Transaktionen Dritter. Bei Implementierungen wie Bitcoin, die ein Consensus-Verfahren wie Proof of Work verwenden, wird dies möglich, sobald ein Teilnehmer konstant mehr als 50% der Gesamtrechenkapazität des Netzwerkes besitzt - da das Bitcoin Netz ständig stark wächst, muss auch der Angreifer entsprechend Rechenkapazität vorhalten und ggf. erweitern. Ein solcher Angriff ist bei vorhandener Belohnung der Arbeit mit großer Wahrscheinlichkeit zwar unwirtschaftlich, könnte allerdings politisch motiviert sein; aus diesen Gründen wird er von den Befürwortern der Blockchain als akzeptables Risiko angesehen.
Kontrolle über das Netzwerk
Wenn ein Angreifer die Kontrolle über Teile des Netzwerks oder über den Zugriff einzelner Teilnehmer zum Netzwerk erlangt, kann dieser eine Blockchain mit alternativen neuen Blöcken präsentieren. Eine Lösung dieses Problems muss in der Implementierung berücksichtigt werden. Erforderlich ist eine große Zahl von Teilnehmern.
Vertraulichkeit
Die Inhalte der Blöcke (Transaktionen) sind in Kryptowährungen absichtlich für alle lesbar. Es sind Blockchain-basierte Tech-nologien mit verschlüsselten Blockdaten denkbar; nur mit diesen könnte das Sachziel der Informationssicherheit ‚Vertraulichkeit‘ erreicht werden.
Anonymität
In einer Blockchain kann Anonymität nicht (ohne weitere Maßnahmen) erreicht werden – sondern nur Pseudonymität. Die Blockchain und damit alle Transaktionen sind für alle einsehbar, d.h. z.B. Geldflüsse können rückverfolgt werden. Emp-fangsadressen sollten nicht wiederverwendet werden, um einfache Korrelationen zu verhindern. In vielen Fällen können Trans-aktionen wie Geldflüsse mittels traditioneller Ermittlungsmethoden zugeordnet werden. Um als Initiator einer Transaktion beim Versand im Netz nicht seine IP preiszugeben, kann unterstützend ein Dienst wie TOR genutzt werden.
Verfügbarkeit
Ganzheitlicher Schutz gegen Denial of Service Angriffe ist schwer zu erzielen. Die Schutzmöglichkeiten variieren je nach eingesetzter Netzwerkstruktur. Stabile Clients sind erforderlich.
Integrität
Die Transaktionen im Block werden bei seiner Erstellung digitalsigniert und sind mit Hilfe des öffentlichen Schlüssels validierbar. Die Integrität der Blöcke und damit der gesamten Kette wird durch die Speicherung des Hashwerts des vorangehenden Blocks im jeweils nachfolgenden Block überprüfbar.
Key Management
Ein öffentlicher Schlüssel dient in Transaktionen als Empfangsadresse. Die Verwaltung insbesondere der zugehörigen privaten Schlüssel inklusive deren Geheimhaltung und das Backup obliegt dem einzelnen Teilnehmer.
Nur nach Erfüllung der vorgenannten Sicherheitsanforderungen kann die Methode Blockchain insoweit als sicher gelten. Die auf der Blockchain aufbauenden, von privaten (ohne Beteiligung Dritter wie Banken oder Aufsichtsbehörden) geschöpften digitalen Währungen (Kryptowährungen) wie Bitcoin, Ether, Litecoin etc. werden als sicheres und anonymes Zahlungsmittel gesehen und sollten daher die o.g. Sicherheitsmaßnahmen korrekt umsetzen. Im Folgenden wird die Kryptowährung Bitcoin dargestellt und anhand der aufgezeigten Sicherheitskriterien der Blockchain Methode untersucht.
-------------------------------------------------------
[5] Schneier, B.: SHA-1 Freestaart Collision. http://bit.ly/2nsRtoZ
[6] Pohl, H. et al.: Sichere Softwareentwicklung nach ISO 27034. KES 24-25, 5, 2014.