Zum Inhalt springen

Ledger Nano S übersehen wir alle eine große Sicherheitslücke?


Empfohlene Beiträge

Hallo Leute,

 

ich bin noch recht neu in der Kryptowelt aber mir fällt grad etwas auf, das entweder ein nicht beachtetes Sicherheitsrisiko ist oder ich mache einen Denkfehler.vd

Ich erkläre mal kurz:

Der Ledger Nano S speichert die Zugangsdaten (public und private keys und die jeweiligen Adressen für das erhalten und senden von Cryptowährungen) Also z.b. Bitcoin, Ethereum und Dash usw. 

Ich kenne auch die Vorteile der Offline-Wallet. 

ABER: 

Wenn ich nun mit den 24 Worten alle meine Zugangsdaten wiederherstellen kann, dann muss diese Herstellung doch über den Server von dem französischen Unternehmen "Ledger" laufen oder nicht? 

Denn diese 24 Worte geben mir doch Zugriff zu allem was auf dem Ledger gespeichert wird. Und die 24 Worte werden ja erstellt bevor ich meine ganzen Währungsadressen im Gerät speichere. Ich rede nicht von den Beträgen auf den Konten sondern von den Zugangsdaten. Also den Private Keys. 

Nehmen wir also an, es gibt die Firma Ledger SAS in Frankreich morgen nicht mehr? Woher werden dann die Informationen wiederhergestellt? Oder wenn Ledger gehackt wird? Was ist dann? 

 

Kann sein, dass ich hier etwas falsch verstehe....

 

Meine Frage also konkret: 

 

1. Ich habe verschiedene Adressen und passwörter für die Währungen im Ledger Nano S gespeichert.

2. Mir wird das Gerät geklaut

3. Ich stelle mit den 24 Worten den Inhalt des Geräts wieder her. Aber was genau passiert in dem Moment der Wiederherstellung? Werden die Informationen von einem Server der Firma Ledger SAS in Frankreich wiederhergestellt oder quasi aus den Blockchains? Denn aus den Blockchains kann das doch nicht kommen, denn woher sollten denn meine "24 Wörter wissen" welche verschiedenen wallets oder Adressen ich in meinem ledger gerät erstellt habe?

 

Ich hoffe ich habe mich halbwegs verständnlich ausgedrückt und jemand kann mir helfen?

Vielen Dank für Eure Mühe

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

der Nano Ledger / bzw Hardwarewallets an sich speichern weder Zugangsdaten noch Adressen - sie speichern nur eine Sache und das ist dein privater Schlüssel. Dieser wird erzeugt aus den 24 Wörtern (dem Seed).

Relevante öffentliche Adressen (welche auf denen Coins sind) muss er nicht speichern, diese stehen für alle einsehbar in der Blockchain. Diese Adressen werden bei bedarf aus dem privaten Schlüssel generiert. Es gibt keine Notwendigkeit diese zu speichern, schon gar nicht auf einem Server.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich glaube ich verstehe. aus meinen 24 wörtern geht hervor was ich jemals in der blockchain gemacht habe. egal ob es jetzt ethereum oder bitcoin oder was uch immer ist richtig? 

meine 24 worte haben quasi eine spur im netz hinterlassen auf die ich immer wiederzugreifen kann? 

 

aber was ist dann mit iota? die arbeiten ja nicht mit ner blockchain sondern mit dem tangle.... 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein du verstehst es nicht.

BTC`s werden auf zufälligen Adressen abgelegt. Wenn man im Gegensatz zb. ein Bankonto eröffnet ,richtet die Bank einem ein spezielles Konto ein. Sie überwacht dieses für dich. Wenn wir also miteinander Handeln wollen, brauch wir immer die Bank als Dritten oder wir vertrauen uns. Beim BTC will man aber keine Dritten UND null Vertrauen. Das geht, indem alle Konten bereits bestehen und wir uns 1, 10, 100 oder von mir aus 1000 rauspicken (Adressen mit Privat-Key)

Wir halten also fest, das alle Adressen bereits bestehen, wodurch wir keinen Dritten brauchen welcher sie für uns anlegt. Nun wirst du dich fragen, wie das sicher sein kann? Es könnte doch sein, das wir beide durch Zufall die gleiche Adresse bekommen. Theoretisch stimmt das. Praktisch ist das quasi ausgeschlossen. Es gibt mehr Adressen als Moleküle im Universum.

Es ist statistisch wahrscheinlicher das du 4x IN FOLGE im Lotto gewinnst, als das zwei Leute die gleich Adresse ziehen. Die Adressen bestehen also alle. Woher weiß man also was an BTC`s drauf liegt? Das macht die Blockchain. Diese ist grob eine riesige verschlüsselte Datenbank. Oder stelle sie dir wie ein Kassenbuch vor. Jeder Block welcher durch Miner gefunden wird, ist eine neue Seite. (Darum sind die Miner auch wichtig für die Transaktionen) Ist eine Seite "fertig" wird sie nicht nur über die vorherigen geheftet. Nein, sie wird mit Tapetenkleber gedrängt und auf die alten gepresst. Diese Aufgabe übernimmt die Verschlüsselung. Um also eine Seite in diesem Kassenbuch (Blockchain) zu ändern, müsste man sie zerstören.

Deine 24 Worte sind hiermit der Seed-Code. Nimm eine mathematische Formel. Welche 24 Variablen miteinander verrechnet. Weicht nur ein Wert ein Müh ab, verändert sich das Ergebnis. Gibst du aber immer die gleichen 24 Werte in der gleichen Reihenfolge ein, wirst du immer exakt das gleiche Ergebnis (Privat-Key) erhalten.

Stelle dir vor, auf der Erde liegen unzählige Kisten. Über GPS Koordinaten sind diese mit Adressen versehen. Jetzt kommst du, gibst deine 24 Worte in eine Formel ein, und diese spuckt dir dir dafür Koordinaten aus. Die Kiste an dieser Position ist nun deine, weil du mit den Koordinaten auch den Privaten-Schlüssel zu ihr erhalten hast. Verlierst du nun den Zettel mit den Kooridnaten, kann die deine Worte erneut in die Formel eingeben, und kommst exakt bei der gleichen Kiste raus. Das bedeutet aber, das jeder, mit diesen 24 Worten, ebenfalls diese Kiste in Besitz (ausrauben) nehmen kann.

Da auch andere Coins diese Mechanik verwenden. Nur eben auf anderen Planeten, kann man die gleichen Wörter auch hier verwenden.

  • Like 4
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 12/21/2017 um 12:52 schrieb AndreSteph:

Wenn ich nun mit den 24 Worten alle meine Zugangsdaten wiederherstellen kann, dann muss diese Herstellung doch über den Server von dem französischen Unternehmen "Ledger" laufen oder nicht? 

You are the only one who ever saw this list of 24 words. It is only displayed once, when you configure your device. For security reasons, it will never be displayed again, take care to copy each word really carefully.
These 24 words are not stored by anyone but you, not in a server, nor anywhere. Even Ledger can not access them, in any way.
You must copy them on the Recovery Sheet provided in your Ledger box, in the correct numerical order. Be careful, if you make 1 or several mistakes or typos, you won't be able to recover your wallet if you need to. You could lose all your funds.

Am 12/21/2017 um 12:52 schrieb AndreSteph:

Nehmen wir also an, es gibt die Firma Ledger SAS in Frankreich morgen nicht mehr? Woher werden dann die Informationen wiederhergestellt? Oder wenn Ledger gehackt wird? Was ist dann? 

If Ledger shuts down all its activities, the Ledger Chrome app will most probably stop to function as our API servers would be stopped. However, this would only be an inconvenience, as your bitcoins would stay completely safe.
With your recovery sheet, and your 24 words, you can any time restore your balance to another BIP39 compatible wallet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Tarulis  Danke für Deine Erklärung. Ich habe noch 1-2 Rückfragen, weil ich es nur so halb verstanden habe. Deine Erklärung muss bei mir vielleicht einfach noch etwas "sacken" das ich es komplett verstehe.

 

1. Ledger muss also niemals über deren Server infos mit meinen 24 Worten machen oder? Das Unternehmen bekommt niemals meine 24 Worte zu Gesicht? Auf der ganzen Welt kenne nur ich diese 24 Worte in dieser Reihenfolge?

2. Wieso kann ich aber mit den 24 Worten auf mehrere "Planeten" wie Du es sagst zugreifen? Könntest Du das noch mal erklären? Also eben "Ethereum" oder "Dash"?

3. Wird Ledger auch iota "verwalten" können? Oder ist das mit dem Tangle technisch alles anders?

 

4. Wie ist es möglich, dass ich mehrere Bitcoin "Adressen" über dieselben 24 Worte "ansteuern" kann? Ich meine das ist eine Formel die dann die GPS Koordinaten dieser Kiste findet. Aber wie kann ich damit den 2 oder mehr Kisten finden? Denn mit dem Ledger kann man doch mehrere Bitcoin Konten/Adressen verwalten?

 

Und vielen Dank, dass Du Dir diese Mühe machst meine Fragen zu beantworten. Das gilt natürlich auch für alle anderen Leute die mir hier helfen!

Ich wünsche Euch allen schon mal frohe Feiertage...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Grunde besteht ein private key aus 256 Kombinationen von 0 und 1. Da das im Handling zu kompliziert wäre, nutzt man für die Darstellung andere Formate, z. B. Base-58, wo man dann mit zwischen 30 und 40 Zeichen auskommt. Die Idee von einem Seed ist es, genau den private key so zu verschlüsseln, dass er alle 256 Bits darstellt. Damit das sicher ist, hasht man den private key und addiert die ersten 8 Zeichen, die dabei heraus kommen zu den 256 Bit. Das macht 264 Bit. Teil das durch 11 (wir sehen gleich warum), dann kommst du auf 24. Um diese 24 Folgen von 11 Bit so zu decodieren, dass nichts verloren geht, brauchst du eine Wortliste mit 2 hoch 11 = 2048 Wörter. Mit diesen 2048 Wörtern kannst du nun jede der möglichen Bitfolgen von den 11 Bits abbilden:

00000000001     abandon
00000000010     ability

....

Somit sichern Dir 24 Wörter genau den private key ab. Das ist die Grundidee von bip39 und alle Wallets, die diese Erweiterung implementiert haben, können jede beliebige Wortliste in einen Bitcode zurückverwandeln. Da kommen einige in Frage. Wichtig bei der Wortliste sind natürlich nicht nur die Wörter, sondern auch deren Reihenfolge, wie man leicht erkennen kann. Dazu kommt, das natürlich jeder, der die Wortliste hat, daraus den private key generieren kann.

Grüße
Rodge

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 23.12.2017 um 18:24 schrieb AndreSteph:

@Tarulis  Danke für Deine Erklärung. Ich habe noch 1-2 Rückfragen, weil ich es nur so halb verstanden habe. Deine Erklärung muss bei mir vielleicht einfach noch etwas "sacken" das ich es komplett verstehe.

 

1. Ledger muss also niemals über deren Server infos mit meinen 24 Worten machen oder? Das Unternehmen bekommt niemals meine 24 Worte zu Gesicht? Auf der ganzen Welt kenne nur ich diese 24 Worte in dieser Reihenfolge?

2. Wieso kann ich aber mit den 24 Worten auf mehrere "Planeten" wie Du es sagst zugreifen? Könntest Du das noch mal erklären? Also eben "Ethereum" oder "Dash"?

3. Wird Ledger auch iota "verwalten" können? Oder ist das mit dem Tangle technisch alles anders?

 

4. Wie ist es möglich, dass ich mehrere Bitcoin "Adressen" über dieselben 24 Worte "ansteuern" kann? Ich meine das ist eine Formel die dann die GPS Koordinaten dieser Kiste findet. Aber wie kann ich damit den 2 oder mehr Kisten finden? Denn mit dem Ledger kann man doch mehrere Bitcoin Konten/Adressen verwalten?

 

Und vielen Dank, dass Du Dir diese Mühe machst meine Fragen zu beantworten. Das gilt natürlich auch für alle anderen Leute die mir hier helfen!

Ich wünsche Euch allen schon mal frohe Feiertage...

@1: So sollt es sein. Es sei denn, du hast ein gehacktes Gerät von irgend ner dubiosen Seite oder die Firma belügt alle Kunden. Jedoch wäre das sicher schon rausgekommen. Es gibt genug Leute welche den Datenverkehr von Hard- und Software untersuchen. (Selbst bei Win10 kam damals sehr fix raus, dass es spioniert. Dabei ist klar das ein Betriebssystem Daten verschickt. Ein Telefonieren nach hause wäre beim Ledger zigfach auffälliger.

@2: In meinem Beispiel waren wir auf dem Bitcoin-Planeten um haben uns dort die Koordinaten für eine Kiste per Seed (24 Wörter) ermitteln lassen. Der Litecoin-Planet hingegen ist viel kleiner und breiter als hoch. Jedoch können wir auch auf ihm unseren Seed eingeben und bekommen halt Koordinaten (für diesen) ermittelt

Extrem vereinfacht: Stell dir vor, dein streng geheimer Seed (24 Worte) wären die Zahl 64. Nun gehen wir auf den Bitcoin-Planeten und geben diese Zahl in seine Adressformel ein.
Bitcoinplanet-Adresse = Seed*7-3 --> 64*7-3 = 445 (Die Kiste bei 445 gehört nun dir)
Der Litecoin-Planet hat nun aber aufgrund seiner Struktur eine etwas andere Formel.
Litcoinplanet-Adresse = Seed*8+5 --> 64*8+3 = 515 (Die Kiste bei 515 gehört nun dir)


@3: Richtig. Der Ledger baut in seiner Grundfunktion auf die Verwaltung von Blockchain-Daten auf. IOTA erfordert daher eine deutlich größere Anforderung der Eingliederung. Hinzu kommt das Problem, das bei IOTA nicht nur eine Transaktion verschickt wird, sondern vorher 2 andere bestätigt werden müssen. Der Ledger ist samt Wallet-Software aber nicht darauf ausgelegt, dies zu tun. Ganz davon ab, das selbst die IOTA Wallet dauernd Updates bekommt und spinnt. Ich vermute die Entwickler warten erst einmal bis IOTA halbwegs gerade läuft, bevor sie sich diesen Berg an Mühe mache.

@4: Jetzt wird es hackelig, mit dem Erklären über Analogien. Unsere Reihenfolge ist ja:

[1]Seed -> [2]PrivatKey -> [3]PublicKey -> [4]HashAdresse

@[1]: Das sind die 24 Worte
@[2]: Diesen Privaten-Schlüssel finden wir über unseren Seed. Aus ihm wird eine Signatur erstellt, welche wie eine Unterschrift fungiert. Nur mit ihm kann man eine Transaktion anweisen.
@[3]: Der Öffentlichen-Schlüssel ergibt sich aus dem Privaten-Schlüssel. Es gibt je ein paar. Zu jedem Privaten gibt es einen Öffentlichen. (nicht mehr)
@[4]: Mittel eines Hash-Verfahrens wir eine Öffentliche-Adresse. Von diesen können mittel Verschlüsselung immer wieder neue erzeugt werden.

Ich erstelle zb. eine [4]HashAdresse aus meinem [3]Öffentlichen-Schlüssel, welche ich dir schicke. Nun überweist du mir darauf 10 BTC, welche dann einfach darauf liegen bleiben. Jeder könnte sehen, das darauf 10 BTC liegen. Man sieht aber nicht zugrunde liegenden [3]Öffentlichen-Schlüssel. Möchte ich nun die 10 BTC ausgeben, muss ich eine Transaktion erstellen. Hierzu kommt dann mein [2]Privater-Schlüsse welche die Transaktion signiert UND mein [3]Öffentlicher-Schlüssel ins Spiel. Erst jetzt kommen die nötigen Informationen ins Spiel mit denen eine "Räuber" (wenn er die Verschlüsselung knacken könnte) die [4]HashAdresse leer räumen kann. Für diesen Fall hat BTC einen doppelten Boden. Denn auch wenn ich nur 2 der 10 BTC ausgebe, werden immer alle verschickt. 2 BTC gehen wirklich an die neue Zieladresse (zb. Händler bei dem ich einkaufe) Die restlichen 8 BTC gehen als Wechselgeld an eine neue (eigene) [4]Hashadresse. Sprich kurz nachdem [2]Private-Key und [3]Public-Key mit meiner [4]HashAdresse in Verbindung gebracht werden könnten, wird diese Adresse komplett leer geräumt, und das Restgeld in einer anderen HashAdresse versteckt.

Aus Informatiker-Sicht ist das wirklich bemerkenswert, wie weit hier bereits vor 10 Jahren gedacht wurde. 

 

Die Hashes sind wichtig für die Sicherheit. Da sich der Public-Key aus deinem Privat-Key ableitet, könnte man mit richtig krassen Quantencomputern eventuell vom "öffentlichen" auf deinen "privaten" Schlüssel zurück rechnen. Und damit deine Truhe leer räumen. Nun müsste man aber erst einmal vom Hash auf den Public-Key zurück rechnen.

Partywissen: Die Software nimmt deinen [3]Öffentlichen-Schlüssel und hasht diesen zuerst mit SHA256 und dann noch mit RIPEMD-160. Danach werden noch die Bytes 00 als Präfix an den Anfang. Und an das Ende noch 4 Prüfsummen-Bytes. Damit werden Tippfehler verhindert. Würde man sich irgendwo vertippen, würden die letzten 4 Zeichen nicht mehr zum Rest passen (und umgekehrt). In der Folge würde die Transaktion abgelehnt werden.

Die HashAdresse stellt also den Öffentlichen Schlüssel dar. Nur eben mit ein paar vorteilen.
- Tippfehler werden durch Prüfsumme erkannt
- Besser lesbar
- Hash`s können trotz gleichen Inputs variieren.


Bitcoin funktioniert im Kern über Einweg-Funktionen. Man kann sehr leicht von der vom Privaten-Schlüssel auf den Öffentlichen rechnen. Zurück wird das aber fast unmöglich. Schau mal hier die Formel:
5*3=?
Keine Frage die Lösung ist 15. Was wäre aber wenn die Lösung bekannt wäre, aber die 5 gesucht wird?
x*3=15
In der Schule haben wir gelernt, die Formel nun umzustellen. Die 3 wird auf die rechte Seite gezogen, wobei aus dem "mal" ein "durch" wird.
x=15/3

Statt also 5*3 zu rechnen ist nun 15/3 angesagt. Und man mag es nicht glauben, aber das fällt einem Computer deutlich schwerer. Computer hassen die Division. Das sogar so sehr, das Softwareentwickler meist einen Bogen darum machen. In Computerspielen wo zb. viele Schadenzahlen auf dem Bildschirm auftauchen (zb. Diablo-3) muss auf so etwas geachtet werden. Will man also etwas um 50% reduzieren, lässt man den Computer lieber {x*0,5} statt {x/2} rechnen. Während das erste locker läuft, kann die zweite Variante bei zig tausend Operationen zu Problemen führen.

Jedoch geht es bei BTC sogar noch einen Schritt weiter. Wir fragen nicht danach, mit welcher Zahl wie 3 Multiplizieren sollen um auf 15 zu kommen? Sondern wie fragen, welche beiden Zahlen 15 ergeben? Und wir fragen nicht salopp nach 15 sondern nach 600-Stelligen Zahlen. Man nennt dies, das Problem der Faktorrisierung. Der Rekord beim Lösen eines solchen Problems liegt bei eine 200 Stelligen Zahl. Es ist mit aktueller Technik also schlicht nicht möglich.

PS: Die Sache mit den Key`s ist echt nicht ohne. Erklärt man es einfach, werden feine Unterschiede schnell verwaschen. Man kann aber auch so in Detail gehen, um darüber ne Doktorarbeit zu schreiben. Das Problem ist halt, das es subjektiv 100 verschiedene Erklärungen gibt. Und in jeder klingt es anders. Eben je nach "Zoom-Stufe". Am Ende bin ich mir also auch selbst unsicher auf welcher Zoomstufe ich selbst stehe. ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.