2. BlockChain
Die Blockchain ist ein technisches Konzept um eine Reihe von Datenpakete
miteinander zu verbinden. Diese Datenpakete sind die Blöcke.
3. Block
Der Block ist eine Zusammenfassung von Daten (auch Transkationen), welche
mit Hilfe eines Algorithmus verifiziert werden können (Hashwert).
4. Hashwert
Der Hashwert dient der Sicherstellung der Unveränderlichkeit des Blockes
und durch Übertragung in den nächsten Block auch der Blockchain.
5. Security
Eine Blockchain gilt als sicher, da
um Daten in einen Block zu
modifizieren der Hashwert dieses
Blocks neu berechnet werden muss.
Muss der Hashwert eines Blocks
neu berechnet werden, müssen
auch die Hashwerte aller folgenden
Blöcke neu berechnet werden.
Das ist mit vertretbaren tech-
nischem Aufwand nicht mög-
lich! Nicht?
6. Block
Ein Block besteht aus:
1. Dem Hashwert des Vorblocks.
2. Den Transaktionen.
3. Freitext
4. Dem Hashwert von 1.-3. Der Freitext wird z.B. bei
Bitcoin benötigt, um einen
p a s s e n d e n H a s h w e r t z u
ermitteln.
7. Hashwert
Ein Hashwert ist
1. eine Einwegfunktion
2. die langwierig zu berechnen
3. und schnell zu prüfen ist.
E i n H a s h w e r t i s t k e i n e
Eineindeutige Zuordnung. Un-
terschiedliche Daten können
den selben Hashwert haben
(Kollision).
8. Angriff
Der Angriff auf eine Blockchain erfolgt auf das schwächste Glied, dem
Hashwert des einzelnen Blocks. Wie funktioniert der Angriff?
9. vereinfachter Blockaufbau
Angegriffen wird ein Block im Innern der Kette. Dabei ist die Position
innerhalb der Kette irrelevant, da die Kette nicht neu berechnet wird!
Hashwert
Hashwert
Block Block
angegriffener
Block
Transaktion
Transaktion
Transaktion
Freitext
10. Transaktion modifizieren
Ausgetauscht wird nunmehr eine Transaktion. Die Transaktionsobjekte sollte
in der Kette möglichst nach diesem Block nicht mehr Verwendung finden.
Hashwert
Hashwert
Block Block
angegriffener
Block
Transaktion
Transaktion
Transaktion
Freitext
11. Fehlerhafter Hashwert
Die ausgetauschte Transaktion führt zu einem fehlerhaften Hashwert unseres
Blockes und damit des Folgeblockes und macht unseren Angriff erkennbar.
Hashwert
Hashwert
Block Block
angegriffener
Block
Transaktion
Transaktion
Transaktion
Freitext
12. Hashkollision ausnutzen
Aufgabe ist es einen neuen Freitext zu finden, damit der Hashwert unseres
Blocks wieder dem ursprünglichen entspricht - eine Kollision erzeugen.
Hashwert
Hashwert
Block Block
angegriffener
Block
Transaktion
Transaktion
Transaktion
Freitext
13. komprimierte Blockchain valide
Diese Hashwertkollision versteckt unseren Angriff, da der modifizierter Block
allen verbindlichen Regeln der Blockchain entspricht. Angriff erfolgreich!
Hashwert
Hashwert
Block Block
modifizierter
Block
Transaktion
Transaktion
Transaktion
Freitext
14. Angriffsziele
Gute Angriffsziele für dieses Verfahren beinhalten Transaktionsobjekte die
langfristig nicht gehandelt werden z.B. Blockchain für (Firmen)Grundstücke.