Aktuelles

Operationelle Cyber Security in verteilten Systemen – eine Einschätzung der Blockchain

Operationelle Cyber Security in verteilten Systemen – eine Einschätzung der Blockchain

Einführung
Ist die Blockchain das Nonplusultra? Ein neues «Internet der Werte» neben dem bestehenden «Internet der Informationen»?[1] Bereits seit 2009 existieren Blockchains, doch heute stehen sie unmittelbar vor dem Durchbruch: Blockchains werden in einigen Jahren die Welt auf den Kopf stellen.

Sie ermöglichen ein globales Register, ordnen Besitzverhältnisse unmissverständlich zu und Werte werden bei Bedarf sekundenschnell transferiert, nicht manipulierbar, auf Millionen Computern dezentral organisiert und ohne Zwischeninstanzen wie Staaten oder Banken. Vollständig ausgereift verspricht die Blockchain fundamentalen Fortschritt,[2] für Unternehmen im speziellen, und zum ersten Mal seit der Einführung der Aktiengesellschaft im 19 Jh., auch im allgemeinen durch neuartige Gesellschaftsformen.[3]

Weshalb diese Einschätzung einer neuen richtungsweisenden Sicherheit? Die verteilten Systeme, die keine zentrale Autorität zur Überprüfung einer Transaktion benötigen setzen neue Standards mit Hinblick auf Sicherheit, Authentizität, Privatsphäre und Zugänglichkeit. Die Übertragung einer Transaktion und auch deren Akzeptanz wird durch eine Vielzahl von unabhängigen Rechnern, oder Netzknoten, vorgenommen und miteinander verbunden. Jeder Netzknoten speichert redundant den gemeinsamen Zustand der Blockchain und teilt diesen mit anderen Rechnern, was die Validierung fälschungssicher macht. Zudem können nur Transaktionen zur Blockchain hinzugefügt, nicht aber entfernt oder geändert werden.

Abgrenzung und Begriffsbestimmung
Das Wort Blockchain entstammt der späteren Entwicklung der Bitcoin-Plattform und ist nicht genau zuzuordnen,[4] hat sich aber als akzeptierter Jargon etabliert. Wir verwenden Blockchain synonym für Systeme die geeignet sind, Hoheit[5] über Daten von einer zentralen Person, technisch zu emanzipieren. Daher fallen in den mittlerweile gebräuchlichen Sammelbegriff auch technische Ansätze wie gerichtete azyklischen Graphen (engl. »Directed Acyclic Graph«) die keine Datenstrukturen wie «Blöcke» verwenden aber gleichermassen eingesetzt werden.[6]

 

inhaltsbild

Abbildung 1 Blockchain-Wolke: Eine Stütze zur Begriffsklärung.

Abbildung 1 zeigt das Konzept der Blockchain-Wolke die zur Orientierung beitragen soll und die verschiedenen Sicherheitskonzepte in einen klaren Kontext bringt. Der herkömmliche Webserver stützt sich im Prinzip auf einen einzelnen «Node» und ist von einer einzelnen Person abhängig. Im Vergleich hierzu versucht ein Konsortium westlicher IT Unternehmen unter der Schirmherrschaft von Facebook eine neue synthetische Währung herauszugeben die explizit nicht von einem einzelnen Unternehmen oder Node abhängig ist.[7] Hierbei soll Blockchain Technologie zum Einsatz kommen, es ist jedoch nicht klar ob dies überhaupt zielführend ist. Bitcoin ist letztendlich der renommierteste Vertreter von Unabhängigen Blockhain-Plattformen und zeichnet sich durch eine Vielzahl von Kontenpunkten aus deren Entwickler und Betreiber geringe Abhängigkeit voneinander haben.[8]

Die Informationssicherheit und deren Schutzziele
Im Bereich der Informationssicherheit werden Zustände von Informationen und Systemen mit dem Erreichen verschiedener Schutzziele beschrieben. Das Verletzen eines Schutzziels sagt aus, in welcher Art und Weise Daten abgefangen, manipuliert oder blockiert worden sind. Informationssicherheit dient dem Schutz vor Gefahren bzw. Bedrohungen, der Vermeidung von wirtschaftlichen Schäden und der Minimierung von Risiken.

Dabei fallen Vertraulichkeit, Verfügbarkeit und Integrität unter die allgemeinen Schutzziele. Erweiterte Schutzziele sind beispielsweise Authentizität und Anonymität sowie Pseudonymität. Bei der einzelnen Betrachtung der Schutzziele wird klar, dass Blockchain-Plattformen, abhängig vom Design, Kompromisse bei einzelnen Sicherheitsproblemen eingehen.

Die Blockchain beurteilt nach der Vertraulichkeit
Vertraulichkeit ist der Schutz vor unbefugter Preisgabe von Informationen. Vertrauliche Daten und Informationen dürfen ausschliesslich Befugten zugänglich sein. Dabei steht die Vertraulichkeit dem Designprinzip Transparenz der Blockchain-Technologie grundsätzlich gegenüber. Da die Transaktionsdaten allen teilnehmenden Knoten zur Verfügung stehen ist die Herstellung von Vertraulichkeit auf einer Blockchain konstruktionsbedingt schwierig.

Die Lösung des Problems ist aufwendig. Um den Schutz der Vertraulichkeit zu gewährleisten wäre eine Verschlüsselung der sensiblen Daten nötig. Dieses Schlüsselmanagement ist konzeptionell in Blockchain-Plattformen nicht vorgesehen. Würden extern verschlüsselte Daten abgelegt, währen diese in besonderem Masse von den Einschränkungen der Langzeitsicherheit betroffen.

Aufgrund der Steigerung der zur Verfügung gestellten Rechenleistung und neuen mathematischen Methoden können derzeit sichere Verschlüsselungsmethoden gefährdet werden.[9]

Wird ein Verschlüsselungsverfahren unsicher oder werden Schlüssel kompromittiert, so können betroffene Chiffrate nicht einfach zurückgezogen oder umgeschlüsselt werden, da sie im gesamten Netzwerk verteilt sind und nicht mehr unter der Kontrolle des ursprünglichen Herausgebers stehen. Grundsätzlich ist es nicht möglich, die Sicherheit kryptografischer Algorithmen längerfristig zu garantieren.

Eine einfache praktische Lösung für das Vertraulichkeitsdefizit liegt deshalb darin, sensible Daten nicht direkt in der Blockchain zu speichern, sondern nur Referenzen der Daten (z. B. in Form eines Hashwertes) zu verwenden. Die Daten selbst müssten dann in einer externen Struktur (z. B. in einer Datenbank) gespeichert und dort vor unbefugter Einsichtnahme geschützt werden.

Jedoch kann eine externe Speicherung von Daten die Gewährleistung der Verfügbarkeit gefährden.

Auf privaten Blockchains ist die Vertraulichkeit gegenüber denjenigen gewährleistet, die keinen Zugang zum Netzwerk haben, sofern die Kommunikation innerhalb des Netzwerks angemessen geschützt wird. Zudem gibt es auf privaten Blockchains Möglichkeiten, die Sichtbarkeit weiter einzuschränken.

Die Blockchain beurteilt nach der Verfügbarkeit
Die Verfügbarkeit von Dienstleistungen, IT-Anwendungen oder auch von Informationen ist vorhanden, wenn diese von den Anwendern stets wie vorgesehen genutzt werden können.

Diese Anforderung stellt generell kein Problem für die Blockchain dar.

Aufgrund der verteilten und dezentralen Speicherung sind die Informationen zu jedem Zeitpunkt mit hoher Wahrscheinlichkeit verfügbar, sofern eine ausreichende Anzahl an Knoten, die den vollständigen Datensatz vorhalten, vorhanden ist. Die Verfügbarkeit ist jedoch nur für die direkt in der Blockchain gespeicherten Daten zuverlässig gewährleistet.

Eine Einschränkung in diesem Zusammenhang ist das Problem des «State Growth,» also des Wachstums der Blockchain selbst. Wenn die Blockchain, zu schnell zu gross wird, verschiebt sich die Position der Plattform auf der x-Achse unsers Models (sieh Abb. 1) nach links, zum Null-Punkt was letztlich dazu führen kann das die Plattform aus der Blockhain-Wolke herausfällt, und aufhört eine Blockchain zu sein.[10] In einem solchen Fall entspricht die Verfügbarkeit der Plattform der einer herkömmlichen Datenbank.

Die Blockchain beurteilt nach der Integrität
Integrität bezeichnet die Sicherstellung der Vollständigkeit und Korrektheit (Unversehrtheit) von Daten.

Die Integrität der Daten wird, mit Aufnahme der Transaktionen in die Blockchain, durch die Verkettung der Datenblöcke mit Hilfe einer Hashfunktion gesichert.

Das Sicherheitsziel der Datenintegrität ist jedoch nur bei Verwendung kryptografisch sicherer Hashfunktionen zuverlässig erreichbar. Wichtig im Zusammenhang mit der Verwendung von Hashfunktionen zur Referenzierung ist, dass Hashfunktionen keine vollständige Vertraulichkeit garantieren, obwohl ein Zurückrechnen des Eingabewertes aus einem Hash praktisch unmöglich ist.[11]

Sollen Blockchain-Plattformen zu einem grossflächigen Einsatz und einer grossen Zahl an Transaktionen skaliert werden, so sind in der Praxis ihr Ressourcenbedarf, Durchsatz und Effizienz sehr wichtige Kennwerte. Dabei kann die Integrität der Daten oft erst einige Zeit nach ihrer Aufnahme in die Blockchain garantiert werden. Bei verschiedenen Konsensmechanismen ist deshalb eine Wartezeit erforderlich, bis die Daten nicht mehr verändert werden können und somit die Integrität sichergestellt ist.

Die Blockchain beurteilt nach der Authentizität
Authentizität bezeichnet die Eigenschaft, die gewährleistet, dass ein Kommunikationspartner (eine Person oder IT-Komponente oder -Anwendung) tatsächlich derjenige ist, der er vorgibt zu sein.

Auf einer Blockchain werden Transaktionen durch digitale Signaturen abgesichert, was jedoch eine asymmetrische Verschlüsselung (engl. Public-Key-Infrastruktur) voraussetzt. Hierbei kommen sogenannten Signaturen zum Einsatz die vom Schlüsselinhaber für jede Interaktion erforderlich sind.[12] Schwache Signaturen sind anfällig für sogenannte Brute-Force-Angriffe anfällig, wobei durch automatisiertes, wahlloses Ausprobieren von Schlüsseln, der richtige ‘erraten’ wird.

Wichtig ist, dass durch die Blockchain die Authentizität nur bezüglich der Identitäten innerhalb des Netzwerks sichergestellt werden kann. Die Zuordnung der Schlüssel zu einem konkreten Kommunikationspartner muss durch zusätzliche Massnahmen erzielt werden.

Ist die umfangreichere Identifizierung des Kommunikationspartners erforderlich, so bedarf es einer vertrauenswürdigen zentralen Stelle welche die Identität prüft und bescheinigt.[13]

Bei dem Umgang mit privaten Schlüsseln bedarf es besonderer Sicherheitsvorkehrungen. Ist der private Signaturschlüssel der einzige Nachweis über den Besitz von Eigentumswerten auf der Blockchain, so ist dieser Schlüssel hochgradig gefährdet.

Bei kryptografischen Schlüsseln handelt es sich um Zufallszahlen. Für die Erzeugung sicherer Schlüssel wird eine hohe Entropie benötigt, die für deterministische Computer eine Herausforderung darstellt. Wird hier ein schwacher Zufallsgenerator verwendet, dessen Ausgabe in irgendeiner Form nachvollziehbar ist, so können Angriffe auf den persönlichen Schlüssel deutlich vereinfacht werden.

Auch wenn die Schlüssel sicher erstellt und verwaltet werden, kann ein Kryptoverfahren über seine persönlichen Schlüssel angreifbar sein.

Die Blockchain beurteilt nach Anonymitätsgrad
Die Anonymisierung ist das derartige Verändern von Daten, dass diese Daten nicht mehr einem Kommunikationspartner zugeordnet werden können.

Während die ersten Blockchain-Designer vor allem mit der grundlegenden Sicherheit und Integrität von Plattformen befasst waren, wird in den Letzen Jahren verstärkt auf Anonymität von Transaktionen wertgelegt.

Anfangs war formale Anonymität für die relativ geringen Vermögenswerte ausreichend und eine De-Anonymisierung unverhältnismässig Zeit- und Arbeitsaufwändig. Dies hat sich mit der rasanten Ausbreitung und einhergehenden Wertentwicklung von öffentlichen Blockchains geändert und umfangreichere Anstrengen werden unternommen um Netzwerke auszuleuchten.[14]

Um dem entgegenzuwirken wurden zunächst bekannten Kryptoverfahren wie Ring-Signaturen[15] eingesetzt. Seit 2016 erfährt die Kryptography im Bereich der Anonymisierung eine regelrechte Renaissance und viele Experten lancieren neue Ideen[16] die sich vor allem auf sog. Zero-Knowledge Proofs[17] stützen.

Im professionellen Umfeld ist eine belastbare Implantation mit Hohem anonymitätsgrad eine der letzten grossen Hürden bevor Blockchains umfassend ausgerollt werden können.[18]


Fazit
Im Ergebnis bedeutet das, dass die Sicherheit eines IT-Systems massgeblich von der Sicherheit der zugrunde liegenden kryptografischen Verfahren abhängt. Das gilt im besonderen Masse auch für Blockchain-Systeme, da hier (insbesondere in öffentlichen, unabhängigen Systemen) oft zugunsten der Dezentralität und Disintermediation auf organisatorische Sicherheitsmassnahmen verzichtet wird.

Zusätzlich spielen die Qualität der Implementierung und die Reife der Software eine entscheidende Rolle. Da Blockchain-Systeme durch ihre verteilte Struktur und ihre Schnittstellen sehr komplex werden können, sind Aussagen über die Gesamtsicherheit nur schwer zu treffen.[19]

Abhängig vom Fokus und den Prioritäten des entsprechenden Anwendungsfalls ist abzuwägen, ob sich öffentliche oder private Blockchains eher eignen. Wann immer Transparenz, Dezentralisierung und Datensicherheit im Mittelpunkt des Handelns stehen, sind öffentliche Blockchains nützlicher als private Blockchains. Daher werden öffentliche Blockchains häufig für Kryptowährungen verwendet.

Der Nachteil einer öffentlichen Blockchain ist die bisher wenig erforschte Absicherung und Instandhaltung durch eingebettete Kryptoökonomischen-Systeme und deren Anreizmechanismen.[20] Hierbei kommt es zum Beispiel oft zu Verwirrung, wenn vermeintliche negative Externalitäten wie Betriebskosten (Stromverbrauch) hervorgehoben werden und gleichzeitig individueller Nutzen und sozialer Ertrag wegen schwerer Messbarkeit übersehen wird.[21]

Weiterhin sind Skalierbarkeit und Transaktionskosten sowie Mangel an Privatsphäre wichtige Themen bei öffentlichen Blockchains. Da jeder die Daten überprüfen kann, sind öffentliche Blockchains nicht geeignet, vertrauliche Informationen zu speichern. Aus diesem Grund werden private Blockchains in Unternehmensanwendungen favorisiert. Sie können schneller, effizienter, kostengünstiger und mit eingeschränktem Benutzerkreis betrieben werden.[22] Informationen können vom Eigentümer der Blockchain geändert werden, und die Blockchain ist tendenziell anfälliger für Hacking.

Teilweise verhalten sich einzelne Sicherheitsziele in der Blockchain zueinander konträr. Eine Blockchain muss auch nicht sämtlichen Sicherheitszielen gerecht werden. Es sind jeweils diese Sicherheitsziele zu berücksichtigen, welche für den jeweiligen Anwendungsfall von Bedeutung sind. Deshalb gilt es sich bereits im Vorfeld darüber Gedanken zu machen, welche Anforderungen durch die Blockchain erfüllt werden müssen.


[1] Siehe: A. Neef, (2016). «Wie die Blockchain Wirtschaft und Gesellschaft verändern wird,» Z_punkt GmbH, Köln.


[2] A. Berentsen, & F. Schär, “The Case for Central Bank Electronic Money and the Non-case for Central Bank Cryptocurrencies.” Review, Federal Reserve Bank of St. Louis Review, Second Quarter 2018, 100(2), S. 99, 2018.


[3] Zum Beispiel ermöglicht eine hinreichend vertrauenswürdige Infrastruktur zum ersten Mal anonyme und reibungslose Kooperation: S. Wang, W. Ding, J. Li, Y. Yuan, L. Ouyang und F. Wang, "Decentralized Autonomous Organizations: Concept, Model, and Applications," in IEEE Transactions on Computational Social Systems, vol. 6, no. 5, S. 870-878, Oct. 2019.


[4] Nakamoto erwähnt in seinem einschlägigen Whitepaper lediglich «Chain of blocks.» S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” S. 7, 2008


[5] Hoheit unterscheidet sich von einfacher Redundanz dadurch, das es keinen Koordinator, oder übergeordnete Instanz gibt der den Schreib- oder lesezugriff reguliert.


[6] Siehe: M. Divya, und Nagaveni B. Biradar. "IOTA-next generation block chain." International Journal Of Engineering And Computer Science 7.04 (2018): 23823-23826.


[7] Siehe Libra Protokoll Übersicht (https://archive.is/wip/X0Q9P).


[8] Heute sind über 10.000 Nodes (öffentlich) erreichbar die sich auf 12 unterschiedliche Implementationen des Konsensus-Algorithmus stützen (https://archive.is/h6nYg).


[9] Tendenz ist hier seit den 50er Jahren eher Rückläufig (https://www.gwern.net/docs/cs/1955-nash), Quellen: Christof Paar, Jan Pelzl: Kryptografie verständlich Wolfgang Ertel / Ekkehard Löhmann: Angewandte Kryptographie


[10] Siehe hierzu die Diskussion von R. Chen, «The State Growth Problem Facing Blockchains,» The Control, 22 Jul. 2019, (http://archive.is/wip/HzPIA).


[11] Quelle: Daniel Drescher: Blockchain Basics: A Non-Technical Introduction in 25 Steps


[12] Beim Einsatz von Signaturen ist zudem die Verwendung eines Salts empfehlenswert, wobei eine zufällig gewählte Zeichenfolge vor der Weiterverarbeitung (beispielsweise Speicherung) den zugrundeliegenden signierten Daten angehängt wird.


[13] Siehe z.B. die Stadt Zug die in einer Pilotphase eine Blockchain-basierte digitale Identität Einwohnerinnen und Einwohner zur Verfügung stellt: Stadtverwaltung Zug (http://archive.is/GPcGx).


[14] Siehe z.B. Ansätze mit Künstlicher Intelligenz die eine Entitätserkennung von über 70% ermöglichen: Harlev, Mikkel & Yin, Haohua & Langenheldt, Klaus & Mukkamala, Raghava Rao & Vatrapu, Ravi. (2018). Breaking Bad: De-Anonymising Entity Types on the Bitcoin Blockchain Using Supervised Machine Learning. 10.24251/HICSS.2018.443.)


[15] Siehe den weitverbreitete und mittlerweile weiterentwickelte Cryptonote Ansatz: Van Saberhagen, Nicolas. "Cryptonote v 2.0, 2013." URL: https://cryptonote.org/whitepaper.pdf).


[16] Zum Beispiel Bulletproofs: https://archive.is/wip/zAtxq


[17] ZKP’s erbringen einen mathematischen Beweis dafür das Berechnung korrekt ausgeführt wurde ohne einen Rückschluss auf die verwendeten Daten zu erlauben. Siehe: Feige, Uriel, Amos Fiat, und Adi Shamir. "Zero-knowledge proofs of identity." Journal of cryptology 1.2 (1988): 77-94.


[18] Siehe hierzu auch die Herausforderung von Ernst & Young: https://archive.is/DTBnP


[19]Siehe A. Hern, “'$300m in cryptocurrency' accidentally lost forever due to bug,” 8 Nov. 2017, The Guardian, (https://archive.is/cpvBI).


[20] Diese ersetzen herkömmliche Intermediäre und Verwaltungsorganisationen. Siehe z.B. Consensys Academy «Cryptoeconomics,» 25 Nov. 2018 für eine kurze Einführung (http://archive.is/UNfer).


[21] Siehe hierzu die Diskussion von E. Voskuil, «Energy Waste Fallacy,» Libbitcoin Wiki, 2 Aug. 2019 (http://archive.is/V46ni).


[22] Ernst & Young hat herausgearbeitet das dies nur ab bestimmten Volumina tatsächlich der Fall ist: siehe «Total cost of ownership for blockchain solutions,» Ernst & Young LLP, Apr. 2019