Cybersecurity in verteilten Systemen: Blockchain

Alexander Hasler, Martin Stolze
Blogbeiträge

Die Blockchain-Technologie hat sich seit dem beginnenden Höhenflug des Bitcoin in 2017 als Megatrend etabliert und ermöglicht heute Effizienzsteigerungen und neue Anwendungen – für Akteure steht die Cybersecurity dabei an oberster Stelle. Zusammen mit der elleta AG geht Business Analyst Martin Stolze von Bank Frick darum der Frage nach, weshalb die Blockchain neue Standards mit Hinblick auf Sicherheit, Authentizität, Privatsphäre und Zugänglichkeit setzt und die Blockchain-Technologie in einigen Jahren die Welt auf den Kopf stellen wird.

Einführung

Ist die Blockchain das Nonplusultra? Ein neues «Internet der Werte» neben dem bestehenden «Internet der Informationen»? 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, für Unternehmen im speziellen, und zum ersten Mal seit der Einführung der Aktiengesellschaft im 19 Jh., auch im allgemeinen durch neuartige Gesellschaftsformen.

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, hat sich aber als akzeptierter Jargon etabliert. Wir verwenden Blockchain synonym für Systeme die geeignet sind, Hoheit ü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.

Bild entfernt.
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. 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.

Die Informationssicherheit und deren Schutzziele

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.

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. 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.

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. 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.

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.

Um dem entgegenzuwirken wurden zunächst bekannten Kryptoverfahren wie Ring-Signaturen eingesetzt. Seit 2016 erfährt die Kryptography im Bereich der Anonymisierung eine regelrechte Renaissance und viele Experten lancieren neue Ideen die sich vor allem auf sog. Zero-Knowledge Proofs 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.

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.

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. 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.

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. 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.

TDer Blogbeitrag ist ein Gemeinschaftsprojekt mit elleta AG. Alle Quellenangaben finden Sie hier.
Alexander Hasler
Alexander Hasler
Alexander Hasler holds a MSc Business Information, BSc Business Administration, MAS Information Security and CAS Business Process Engineering and works as a Senior Consultant and Project Manager at elleta AG focusing information security, data protection and business process engineering.
Martin Stolze
Martin Stolze
Martin Stolze works as Business Analyst at Bank Frick where he is in charge of the crypto infrastructure development with a particular focus on digital assets custody. He has ten years of experience in traditional corporate IT and financial services and holds a bachelor degree in Banking & Finance.