Also ich habe keinen Schwerpunkt in IT-Security, aber als
Informatiker sollte man ein Sicherheitskonzept eigentlich drauf
haben.
Es ist auch so einfach.
Die Web-Applikation und, die Cold-Wallet und die temporäre Wallet
sind physisch getrennt. Drei Computer!
Die Web-Applikaton selbst fordert über eine API bei der temporären
Wallet eine neue Bitcoin-Adresse an. Diese wird in einer Datenbank
bei der Web-Applikation hinterlegt. Der Nutzer kann nun diese Adresse
nutzen, die temporäre Wallet empfängt den Betrag und meldet dies der
Web-Applikation über die API, diese trägt dass dann in der Datenbank
ein. Sobald der Empfang sicher ist, sendet die temporäre Wallet den
Betrag auf die Cold-Wallet. Die Adresse der Cold-Wallet ist
öffentlich, so dass jeder über z.b. Blockchain.info sehen kann, ob
der Betrag wirklich eingegangen ist. Gesendet wird über die Adresse,
die der Nutzer über die API bekommen hat.
Der Code der temporären Wallet ist auf ein nicht überschreibbares
Medium ausgelagert. Die Adresse der Cold-Wallet ist hart codiert und
ebenfalls nicht überschreibbar.
Ein vierter Server kann die Adressen von Webapplikation und
temporärer Wallet abgleichen, sozusagen als Intrusion Detection.
Solange gehandelt wird, kann der Handel virtuell in der Datenbank
ablaufen. Lässt sich jemand einen Betrag auszahlen, wird dieser von
der Cold-Wallet auf die gewünschte Auszahlungs-Adresse transferiert.
Vielleicht einmal am Tag und nur dann, wenn die Intrusion Detection
ihr OK. gibt.
----
Das führt nun dazu, dass selbst wenn jemand die Webapplikation hackt,
er nur eine Datenbank mit lauter Adressen, aber keinen Zugriff auf
eine Wallet hat. Selbst wenn er es schafft zuerst die Web-Applikation
zu hacken und den anderen Server über die API zu knacken -
fahrlässige Sicherheitslücken in der API vorrausgesetzt - hat er nur
Zugriff auf den temporären Fluss der Bitcoins. Das wird sehr schwer -
durch den nicht beschreibbaren Datenträger. Doch selbst wenn:
Abfließende Bitcoins werden aber durch den Abgleich mit der
Blockchain schnell registriert und die Auszahlung (mit 24h
Sicherheitswartezeit) kann gestoppt werden. Die Cold-Wallet ist nie
in Gefahr, denn das kann ein Rechner sein, auf dem nichts anderes
läuft als eine Bitcoin-Wallet.Â
Das Vertrauen in die Börse wäre auch gegeben, da jeder und wirklich
jeder sehen kann, dass die Börse genug Bitcoins in Petto hat.
Informatiker sollte man ein Sicherheitskonzept eigentlich drauf
haben.
Es ist auch so einfach.
Die Web-Applikation und, die Cold-Wallet und die temporäre Wallet
sind physisch getrennt. Drei Computer!
Die Web-Applikaton selbst fordert über eine API bei der temporären
Wallet eine neue Bitcoin-Adresse an. Diese wird in einer Datenbank
bei der Web-Applikation hinterlegt. Der Nutzer kann nun diese Adresse
nutzen, die temporäre Wallet empfängt den Betrag und meldet dies der
Web-Applikation über die API, diese trägt dass dann in der Datenbank
ein. Sobald der Empfang sicher ist, sendet die temporäre Wallet den
Betrag auf die Cold-Wallet. Die Adresse der Cold-Wallet ist
öffentlich, so dass jeder über z.b. Blockchain.info sehen kann, ob
der Betrag wirklich eingegangen ist. Gesendet wird über die Adresse,
die der Nutzer über die API bekommen hat.
Der Code der temporären Wallet ist auf ein nicht überschreibbares
Medium ausgelagert. Die Adresse der Cold-Wallet ist hart codiert und
ebenfalls nicht überschreibbar.
Ein vierter Server kann die Adressen von Webapplikation und
temporärer Wallet abgleichen, sozusagen als Intrusion Detection.
Solange gehandelt wird, kann der Handel virtuell in der Datenbank
ablaufen. Lässt sich jemand einen Betrag auszahlen, wird dieser von
der Cold-Wallet auf die gewünschte Auszahlungs-Adresse transferiert.
Vielleicht einmal am Tag und nur dann, wenn die Intrusion Detection
ihr OK. gibt.
----
Das führt nun dazu, dass selbst wenn jemand die Webapplikation hackt,
er nur eine Datenbank mit lauter Adressen, aber keinen Zugriff auf
eine Wallet hat. Selbst wenn er es schafft zuerst die Web-Applikation
zu hacken und den anderen Server über die API zu knacken -
fahrlässige Sicherheitslücken in der API vorrausgesetzt - hat er nur
Zugriff auf den temporären Fluss der Bitcoins. Das wird sehr schwer -
durch den nicht beschreibbaren Datenträger. Doch selbst wenn:
Abfließende Bitcoins werden aber durch den Abgleich mit der
Blockchain schnell registriert und die Auszahlung (mit 24h
Sicherheitswartezeit) kann gestoppt werden. Die Cold-Wallet ist nie
in Gefahr, denn das kann ein Rechner sein, auf dem nichts anderes
läuft als eine Bitcoin-Wallet.Â
Das Vertrauen in die Börse wäre auch gegeben, da jeder und wirklich
jeder sehen kann, dass die Börse genug Bitcoins in Petto hat.