Zum Inhalt springen

Angriff auf ECDSA Verschlüsselung (Bitcoin betroffen)


Empfohlene Beiträge

Die Firma Kudelski hat einen interessanten Artikel veröffentlicht. Es geht um einen neuen Angriff auf ECDSA, es betrifft somit auch Bitcoin und Ethereum. Dabei geht es um die mehrfache Verwendung der Signatur in der Blockchain, also den mehrfachen Einsatz des private Keys. 

Hier einmal der Link: https://research.kudelskisecurity.com/2023/03/06/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears/

Ich möchte den Kollegen Fefe zitieren:

Zitat

Was ist jetzt hier das Problem? Stellt sich raus, dass man mit großen Computern auch algorithmisch den Private Key berechnen kann, wenn die Nonces nicht wiederverwendet wurden sondern "nur" in Relation zueinander standen, z.B. weil sie aus einem Pseudozufallszahlengenerator rausfielen statt echter Zufall zu sein.

To run the attack in practice, the following is required: A minimum of 4 signatures generated by the same private key, the associated public key, and the message hash associated with each signature. If the nonces obey the recurrence relation, we retrieve the private key used to generate the vulnerable signatures.

Hey, schnell, wo liegen eine Menge signierter Daten öffentlich rum? Oh ja richtig, auf der Blockchain! Nun sollten da die meisten Transaktionen ephemeral sein, d.h. der Private Key wurde nur einmal verwendet. Dann wäre der Angriff nicht möglich, denn der braucht mindestens vier Signaturen vom selben Key. Und tatsächlich ist das auch für 90% der Signaturen in der Blockchain der Fall. Also haben sie mal geguckt, wie weit sie bei den anderen 10% kommen. Ergebnis:

We broke 762 unique wallets. All of these had a zero balance. Interestingly enough, we could break all these wallets, not because of a linear or quadratic recurrence but because there was at least one repeated nonce in the signatures.

Die Wallets mit Nonce-Recycling hatte schon jemand anderes leergeräumt 🙂

Unter dem Strich blieb kein Fall übrig, der nicht auf Nonce-Doppelverwendung zurückführbar ist. Das könnte aber mehr Glück als Verstand gewesen sein.

 

Bearbeitet von RGarbach
  • Thanks 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Interessantes Paper. Danke dafür!

Das Geblubber von Fefe lasse ich mal außen vor. Also bekannt ist ja schon länger, daß Nonce-Reuse bei Signaturen mit demselben Private Key, diesen praktisch trivial ermittelbar macht. Deshalb ist Nonce-Reuse ein No-Go. Deshalb ist Address-Reuse mit einem gewissen Risiko behaftet, wenn eine Nonce-Kollision nicht ausgeschlossen werden kann (funktioniert im Grunde genommen nur zuverlässig, wenn die Nonce wirklich zufällig wäre; wirklich zufällig und Computer beißen sich aber).

So tief bin ich noch nicht in ECDSA hineingestiegen, aber jetzt interessiert mich doch, wie groß und wie genau die Nonce für ECDSA-Signaturen generiert wird.

Spannendes Thema!

 

So wie ich es bisher verstehe, nutzt der Angriff Designschwächen bzw. eine gewisse Korrelation zwischen den verschiedenen Nonces bei multiplen Signaturen mit demselben Private Key. Korrelationen können z.B. bei Verwendung schlechter PRNGs mit zu kleiner Periode o.ä. Schwächen für die Nonce-Generierung auftreten. Nicht so leicht verdaulicher Stoff in dem Paper...

Bearbeitet von Cricktor
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

... und was bedeutet das für den ganz normalen User, der an seinen 0,6 BTC arbeitet ganz konkret?

Das ist ganz einfach:

Solange hier in der Richlist noch die Binance- und Bitfinex-Wallet ganz oben steht, ist das überhaupt kein Problem: https://bitinfocharts.com/top-100-richest-bitcoin-addresses.html

Dann ist "Bitcoin" als Gesamtkonzept absolut sicher.

... dass es immer mal wieder Wallets mit fehlerhafter Kryptographie-Implementierung gibt, ist vollkommen normal. In der Welt der Informationstechnologie gibt es Programmierfehler. Und wenn es durch fehlerhafte Software etwas Wertvolles zu stehlen gibt, dann wird das auch gestohlen.

Jeder Laie kann davon ausgehen, dass zahlreiche Hackergruppen daran arbeiten die Coldwallets von Binance und Bitfinex zu hacken. Da muss ein richtiger Run auf diesen milliardenschweren Jackpot ausgebrochen sein.

Aber ebenso sollte klar sein, dass dieser Jackpot nahezu wertlos ist wenn er doch einmal geknackt werden würde.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Jokin:

... und was bedeutet das für den ganz normalen User, der an seinen 0,6 BTC arbeitet ganz konkret?

Etablierte Software-Wallets verwenden, am besten auch in Kombination mit einer Hardware-Wallet, die die zentralen kryptografischen Wallet-Geheimnisse sicher vor Malware schützt. Über Jahre gereifte Wallet-Software wird sehr wahrscheinlich anfängliche Implementierungsschwächen abgelegt haben. Open Source Wallets erlauben die Kontrolle, ob kritische Krypto-Bereiche sicher implementiert sind. (Open Source ist keine Garantie für Fehlerfreiheit, aber wenigstens kann man Fehler finden, wenn man dazu in der Lage ist. Bei Closed Source ist es weitgehend eine Black Box.)

Als normaler User muss man beim Ausgeben kein Address Reuse betreiben, da dies auch schon aus Privacy-Gründen nicht empfohlen wird.

  • Like 1
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.