Sicherheit

Konto und Kontosicherheit

Im Gegensatz zu unseren herkömmlichen Systemen liegt die Verantwortung in Blockchain Systemen beim Nutzer. Man sollte sich daher mit den Eigenheiten des Systems vertraut machen, da Fehler zu direkten Verlusten führen können. Ein verlorener Seed z.B. kann von keiner Institution und keinem Unternehmen wieder zurück gebracht werden. 

  • Private Key
  • Public Key & Adresse
  • Seed
  • 2-Faktor-Authentifizierung

Beim asymmetrischen Kryptosystem wird ein Schlüsselpaar aus Private Key (geheimer, persönlicher Schlüssel) und Public Key (öffentlicher Schlüssel) erstellt. Bekannt aus dem verschlüsselten Email-Verkehr kann dieses kryptographische Verfahren zum digitalen Informationsaustausch genutzt werden, ohne dass die jeweiligen Parteien beide Schlüssel kennen. Hierbei kann der öffentlich bekannte Schlüssel zur Verschlüsselung, der nur einer Partei bekannte private Schlüssel zur Entschlüsselung verwendet werden.

In Blockchain-System wird der Private Key dazu verwendet um Transaktionen zu signieren, der öffentlich bekannte Schlüssel dazu genutzt um die Signatur zu validieren.

Der Private Key ist im übertragenen Sinne das Passwort und die TAN, das Zugang zum Konto im herkömmlichen Finanzsystem ermöglicht. Der Public Key lässt es zu die Transaktion überprüfen.

Wird eine neue Wallet-Software initialisiert, so wird dabei ein solches Schlüsselpaar generiert. Wallets verwalten lediglich diesen Private Key, während die Adresse in der Blockchain hinterlegt wird. Durch mathematische Verfahren kann aus dem Private Key der Public Key und aus dem Public Key die Adresse errechnet werden. Der umgekehrte Weg ist mathematisch unmöglich.

Während Hardware Wallets den Private Key extern speichern und auch bei Signaturen das Gerät niemals verlassen, gelten sie als Gold Standard bei der Verwaltung von Kryptowährungen. Wallets auf mobilen Endgeräten und auf Desktop PC sind sehr viel leichter angreifbar.

In jedem Fall sollte der Private Key doppelt gesichert werden. Er ermöglicht den freien Zugang zur Adresse. Jede Person in Besitz des Private Keys kann Transaktionen ausführen, während umgekehrt der Besitzer bei Verlust keine Möglichkeit hat, Zugriff auf sein Vermögen wiederzuerlangen. Es ist bewährte Praxis, den Private Key bei Initialisierung eines neuen Wallets zu exportieren, auszudrucken und sicher zu verwahren.

Your keys, your bitcoin, not your keys, not your bitcoin!

Die Adresse gleicht der IBAN (Kontonummer) aus dem uns bekannten Bankensystem. Da diese Adresse auch ähnlich wie eine IBAN funktioniert, können durch sie eingehende Transaktionen dem Konto gutgeschrieben werden. Diese Adresse wird dem Datensatz in der Blockchain zugefügt und kann über einen Blockchain Explorer¹ von jedem eingesehen werden. Da sie allerdings mit keinem Nutzer direkt verbunden ist, sprechen viele von einer Anonymität des Bitcoin Netzwerkes. Dies ist jedoch nicht richtig.

Durch einfache Nachverfolgungsverfahren können Rückschlüsse auf den Nutzer gezogen werden. Aus diesem Grund erfreuen sich sogenannte Privacy Coins² (Monero, ZCash, Zencash, Komodo...) reger Beliebtheit, bei denen mit unterschiedlichen Verfahren, Kontostände und/oder Transaktionen verscheleiert werden können. Bitcoin und Ethereum gehören (noch) nicht in diese Kategorie, doch gibt es Pläne, solche Funktionen ebenfalls zu implementieren.

Technische Details
Der folgende Abschnitt richtet sich an Interessierte, die die zugrunde liegenden Strukturen verstehen wollen. Es ist nicht erforderlich diese technischen Details zu verstehen, um ein Konto zu eröffnen, es zu benutzen oder Transaktionen durchzuführen.

Die Adresse ist eine mathematische Kurzschreibweise, welche aus dem öffentlichen Teil (Public Key) eines auf Kryptographie basierenden Schlüsselpaares erschaffen wird. Bei der Erzeugung eines Kontos im Bitcoin (o.a. Kryptowährungen) System werden keinerlei Informationen benötigt. Eine Software kreiert ein mathematisch miteinander verknüpftes Schlüsselpaar (Public Key und Private Key) anhand des in der Kryptographie anerkannten ECDSA (Elliptical Curve Digital Signature Algorithm) Prinzips. Hierbei handelt es sich um ein asymmetrisches Kryptosystem. Der Vorteil besteht darin, dass nur die Partei, die den privaten Schlüssel (Private Key) kennt, Transaktionen signieren und somit ausführen kann, während alle Parteien, die den öffentlichen Schlüssel (Public Key) kennen, diese auf ihre Richtigkeit überprüfen, validieren können. Hier können die Schritte von Private Key bis zur Adresse nachvollzogen werden. Unter keinen Umständen sollte hier jedoch ein Private Key einer verwendeten Adresse eingegeben werden. Dies soll nur zur Veranschaulichung dienen.

Beispiel einer Adresse, sowie Public und Private Key:

Private Key - C4BBCB1FBEC99D65BF59D85C8CB62EE2DB963F0FE106F483D9AFA73BD4E39A8A (hexadezimal - es werden lediglich Buchstaben von A-F und Ziffern von 0-9 verwendet)

Public Key - 0478D430274F8C5EC1321338151E9F27F4C676A008BDF8638D07C0B6BE9AB35C71A1518063243ACD4DFE96B66E3F2EC8013C8E072CD09B3834A19F81F659CC3455 (hexadezimal)

Adresse - 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T (alphanumerisch - es wird das Alphabet und Ziffern von 0-9 verwendet; auf 4 Zeichen wurde aufgrund der Verwechslungsgefahr verzichtet)

Um vom Private Key zur Adresse zu gelangen, werden sogenannte Hash Funktionen (in der Kryptographie verwendete mathematische Algorithmen - eindeutige Handlungsvorschriften) verwendet. Diese Hash Funktionen sind bekannt und eindeutig definiert. Wird SHA-256 (eine häufig verwendete Funktion) auf einen Klartext angewendet, so stellt das berechnete Ergebnis den Hash Wert dar. Sowohl die verwendeten Zeichen, als auch die Länge des Hash Wertes sind genau definiert und immer gleich. Die Länge des Hash Wertes ist unabhängig von der Länge der Eingabe (Bitcoin ist eine Evolution des Bankensystems).

Beispiel anhand eines Hashgenerators:

Klartext - Bitcoin ist eine Evolution des Bankensystems

Hash Funktion - SHA-256

Hash Wert - 33d6ff2beb47a0abdbb49cc0e6a17623d594254bd4160a510ad4d8ba4d90afd6

Klartext - 23

Hash Funktion - SHA-256

Hash Wert - 535fa30d7e25dd8a49f1536779734ec8286108d115da5045d77f3b4185d8f790

Ein (MnemonicSeed wird aus 12 -24 Worten gebildet und wird bei einer großen Anzahl an Wallets (Hardware wie Software Wallets) bei der Initiaisierung der Software ausgegeben. Aus diesem Seed können unzählige Schlüsselpaare (Private und Public Key) gebildet werden. 

Geht ein Wallet durch Verlust oder Beschädigung verloren, kann dieser aus dem Seed wieder hergestellt werden. Dieser Seed sollte demnach gewissenhaft und sorgfältig gespeichert, sowie ausgedruckt und sicher verwahrt werden. Eine gute Verwaltung ist daher unabdingbar, eine mehrfache Hinterlegung an verschiedenen Orten sollte gut überlegt sein.

Da der Seed Personen unabhängig zur Wiederherstellung der Schlüsselpaare verwendet werden kann, sollte er sicher verwahrt sein. Der Besitzer des Seeds hat schlussendlich uneingeschränkten Zugang zu allen Informationen, die mit dem Private Key verschlüsselt sind. 

Geht der Private Key verloren, kann er durch den Seed wieder hergestellt werden. Geht zusätzlich der Seed verloren, ist eine erneute Herstellung des Private Keys nicht mehr möglich, der Zugang zu Adressen ist absolut verloren.

Zwei-Faktor-Authentifizierung wird die Praxis bezeichnet, sich durch mehr als eine Methode zu authentifizieren. Im herkömmlichen Finanzsystem wird z.B. die Passworteingabe beim Kontozugang verwendet, die TAN für die Ausführung einer Kontoaktion.

Tauschbörsen nutzen 2FA schon beim Login auf der Webseite. Der Nutzer wird aufgefordert seine Email-Adresse in Verbindung mit seinem Passwort einzugeben. Im Anschluss wird ein sogenanntes One Time Password (OTP) abgefragt. Dieses erneuert sich alle 30 Sekunden.

Bei der Aktivierung von 2FA wird das mobile Endgerät mit dem Konto des Nutzers über einen Seed synchronisiert, so dass das Passwort über eine App auf dem Mobiltelefon abgefagt werden kann.

Häufig verwendete Apps sind: Google Authenticator, Authy oder Lastpass.

Bei Synchronisierung und Aktivierung von 2FA hat es sich bewährt diesen Seed auszudrucken und sicher zu verwahren. Dadurch bleibt auch bei Verlust oder Austausch des Mobiltelefons der Zugang zur Plattform erhalten.

Kryptowallets

Als Wallet bezeichnet man hier ein Schlüsselpaar von Public Key und Private Key, welches dem Nutzer das Verwalten seiner Coins oder Tokens in einem Blockchain System ermöglicht. Das Wort Wallet ist dabei etwas unglücklich gewählt, da es impliziert, die Währungen würden sich innerhalb der Software oder Hardware befinden. Die Soft- oder Hardware verwaltet lediglich die Private Keys, welche zur Signierung von Transaktionen notwendig sind. 

Die Benutzeroberfläche der Wallet Software vermittelt ebenfalls den Eindruck, dass hierin wie in einer Geldbörse das Vermögen direkt verwaltet wird. Man sollte es aber eher mit einem Bankkonto vergleichen. Die Wallet steht hierbeit in Verbindung zu einer oder mehrerer Blockchains und errechnet anhand der Historie die jeweiligen Kontostände. Führt man eine Transaktion aus, so signiert die Wallet die Transaktion mit dem Private Key und sendet diese “an die Blockchain”. Über die Adresse und den Public Key kann die Transaktion vom Netzwerk validiert werden. Im Anschluss erreicht sie Gültigkeit und Finalität, die Wallet Software akutalisiert die neuen Bestände. 

  • Hot Wallet
  • Hardware (Cold) Wallet
  • Paper Wallet
  • Web (Online) Wallet

Aufgrund der Verbindung zum Internet wird eine Software, die Coins¹ (BTC) oder Tokens² (zB ZRX) verwaltet, als Hot Wallet bezeichnet. Der Vorteil hierbei ist das einfache Verwalten und Versenden der Coins und Tokens. Ein Verlust der Tokens durch Malware (Schad-Software) ist durch die konstante Internetverbindung erhöht. Ein Hot Wallet sollte wie ein physischer Geldbeutel angesehen werden. Es sollten daher nur Geldmengen darin verwaltet werden, die man auch in einem  physischen Geldbeutel mit sich tragen würde.

Es gibt unterschiedliche Arten dieser Hot Wallets. Einige spezialisieren sich auf ein spezifisches Coin, wie Armory auf Bitcoin, während andere Wallets wie Exodus ein Multicoin Wallet zur Verwaltung verschiedener Coins und Tokens anbieten. Exodus beitet seit 2019 zusätzlich auch die Möglichkeit einige Coins und Tokens über den Hardware Wallet Anbieter Trezor zu verwalten.

Ein Cold Wallet ist eine Software, die im Gegensatz zum Hot Wallet nicht mit dem Internet verbunden ist. Hardware Wallets wie die Ledger Nano oder Trezor Serie gelten dabei als Gold Standard.

Private Keys sind notwendig, um Transaktionen zu signieren. Während diese Signatur von Hot Wallets auf dem PC oder Smartphone stattfindet, der Private Key also hier auch gespeichert wird, verlässt dieser bei Hardware Wallets niemals das Gerät. Auch bei Verbindung mit dem PC oder dem Smartphone haben diese keine Möglichkeit den Private Key auszulesen, der Hardware Wallet sendet lediglich die signierte Transaktion an den PC oder Smartphone zurück, von wo aus diese an die jeweiligen Blockchains weitergeleitet werden.

Ein Hardware Wallet kann selbst mit einem durch Viren oder sogenannten Keyloggern³ infizierten Computer sicher verwendet werden.

Zusätzliche Sicherheit bieten Passwort und PIN Abfragen. Bei häufiger Fehleingabe wird das Gerät gelöscht. Die Private Keys können im Anschluss jedoch wieder mit Eingabe des Seeds hergestellt werden. Bei Diebstahl des Gerätes allein, ohne Kenntnis des Seeds oder PINs, ist der Private Key ebenfalls geschützt.

Paper Wallets sind zufällig hergestellte Schlüsselpaare, die im Anschluss auf Papier ausgedruckt werden. Hierbei ist es jedoch entscheidend, dass die Software zur Bereitstellung dieser Schlüsselpaare absolut vertrauenswürdig ist. Diese sollte auf einem nicht mit dem Internet verbundenen Computer ausgeführt werden.

Der Public Key (bzw. die QR Codes) können im Anschluss zum Empfangen von Transaktionen öffentlich gemacht, der Private Key jedoch sicher verwahrt werden.

Jeder Paper Wallet ist Token bzw. Coin spezifisch und muss daher individuell hergestellt werden.

Der Vorteil bei ordentlicher Erschaffung dieser Paper Wallets ist ihre Analogie. Sie können digital nicht gestohlen werden. Nachteilig ist dabei die Verwaltung. Ohne zusätzliche Software können keine ausgehenden Transaktionen durchgeführt werden, was sie beim Einlesen aber sofort zu Hot Wallets macht. Paper Wallets sind für die langfristige Aufbewahrung gedacht. Hardware Wallets sind jedoch die sichere Wahl für den durchschnittlichen Benutzer.

Online oder Web Wallets werden von Anbietern wie Tauschbörsen oder anderen Startups verwaltet. Um Coins oder Tokens zu handeln, ist es bei zentralen Tauschbörsen notwendig, diese auf Adressen dieser Tauschbörsen zu übertragen. Hier ist zu beachten, dass diese ebenfalls die Private Keys dieser Adressen verwalten. Letztendlich ist dabei Vertrauen nötig.

Weiter zu beachten ist, dass es sich hier nicht um Banken, sondern häufig um Startups und kleine Firmen handelt, welche nicht selten durch Betrug, ungenügender Sicherheitsmassnahmen oder Konkurs die Gelder der Kunden ( verloren oder veruntreut haben.

Man sollte sich deshalb immer die Aussage von Andreas Antonopoulos – Your keys, your bitcoin, not your keys, not your bitcoin! Vergegenwärtigen.

Online oder Web Wallets sollten nicht zur Aufbewahrung verwendet werden.

Hacks waren in den letzten Jahren sehr erfolgreich.

¹ Eine Kryptowährung oder Coin ist eine Währungseinheit, die auf ihrer eigenen Blockchain existiert. Beispiele: Bitcoin, Ethereum, Cardano, NEM oder EOS…

² Ein Token ist eine Währungseinheit, welche auf einer Blockchain erschaffen wurden, die als Host fungiert. Bekanntes Beispiel sind die sog. ERC20 Tokens, welche auf der Ethereum Platform existieren und zumeist für einen Netzwerksdienst in der aufgesetzten Applikation benutzt werden. Beispiel: 0x ist ein ERC20 Token und wird verwendet, um ERC20 Tokens in andere ERC20 Tokens zu tauschen. Dieser Prozess findet auf der Ethereum Blockchain statt, innerhalb der 0x Applikation. Weitere Beispiele für Host Blockchains: Ardor, Waves, NEM, Komodo…

³ Programme zum Aufzeichnen von Tastaturanschlägen. Werden gerne von Hackern verwendet, um Passwörter auszulesen.

Did you like this?
Tip Kaj with Cryptocurrency
Powered by BitMate Author Donations

Donate Bitcoin to Kaj

Scan to Donate Bitcoin to Kaj
Scan the QR code or copy the address below into your wallet to send some bitcoin:

Donate Bitcoin Cash to Kaj

Scan to Donate Bitcoin Cash to Kaj
Scan the QR code or copy the address below into your wallet to send bitcoin:

Donate Ethereum to Kaj

Scan to Donate Ethereum to Kaj
Scan the QR code or copy the address below into your wallet to send some Ether:

Donate Litecoin to Kaj

Scan to Donate Litecoin to Kaj
Scan the QR code or copy the address below into your wallet to send some Litecoin:

Donate Monero to Kaj

Scan to Donate Monero to Kaj
Scan the QR code or copy the address below into your wallet to send some Monero:

Donate ZCash to Kaj

Scan to Donate ZCash to Kaj
Scan the QR code or copy the address below into your wallet to send some ZCash: