Könnte jemand Ihre privaten Schlüssel lösen, indem er viele Transaktionen an dieselbe Adresse sendet?

Ich habe gelesen, dass es nie sicher ist, dieselbe Bitcoin-Adresse mehr als einmal zu verwenden, weil es eine kleine Chance gibt, dass jemand nach Ihren privaten Schlüsseln suchen könnte (obwohl ich keinen soliden Hintergrund in Verschlüsselung habe, um alles zu verstehen Implikationen dieses Konzepts). In jedem Fall, selbst wenn Sie für jede eingehende Transaktion eine andere Adresse generiert haben, was würde einen Angreifer davon abhalten, einfach viele Transaktionen an die erste Adresse zu senden, die er sieht, um zu versuchen, Ihren privaten Schlüssel zu knacken?

Ich denke, dass das, was Sie lesen, falsch ist oder Sie es falsch verstanden haben. Kannst du einen Link / Verweis geben, wo du das gelesen hast?
Ich glaube, Sie denken an das Lecken eines privaten Schlüssels, wenn Sie eine Transaktion mit wiederverwendeten R-Werten erstellen. Es besteht keine Chance, dass jemand Ihren privaten Schlüssel von einem Angreifer entschlüsseln kann, der Ihnen Coins schickt. bitcointalk.org/index.php?topic=977070.msg10669517#msg10669517
@m1xolyd1an Ja, das ist das Problem, auf das ich mich bezog. Das war eine ziemlich gute Erklärung dafür, wie die Schwachstelle funktioniert - ich verstehe, wie die Berechnung durchgeführt wird. Soll ich verstehen, dass die Verwendung derselben Adresse zum mehrmaligen Empfangen von Bitcoins per se nicht unsicher ist, sondern dass diese Schwachstelle mit der Art und Weise zu tun hat, wie Transaktionen signiert werden?
Ja, die Schwachstelle für wiederverwendete R-Werte entsteht durch das Erstellen vieler Transaktionen von derselben Adresse UND durch einen Wallet-Service-Fehler durch die Wiederverwendung von R-Werten. @Bizorke
@Bizorke: Ich denke, es ist auch wichtig zu betonen, dass die Signatur-Schwachstelle, soweit ich weiß, nicht ECDSA eigen ist; es erfordert eine fehlerhafte Implementierung. Die "wiederverwendeten r-Werte" funktionieren nur, wenn Sie einen kaputten Zufallszahlengenerator verwenden und der Seitenkanalangriff erfordert, dass der Angreifer Zugriff auf Ihren Computer hat (möglicherweise ein anderes Konto). Mir sind keine inhärenten Risiken beim Erstellen vieler Transaktionen von einer einzigen Adresse bekannt.
Moderne Software verwendet RFC6979, das sowieso keine bereitgestellte Entropie für die ECDSA-Nonce verwendet. Wenn der RNG so kaputt ist, dass er Duplikate macht, wird es jedoch andere Probleme geben.

Antworten (3)

Es gibt also Angriffe, bei denen, wenn Sie oft genug mit demselben privaten Schlüssel signieren, der Angreifer mit Zugriff auf einen Seitenkanal Ihren Schlüssel herausfinden kann.

Wenn Sie also häufig mit Ihrem privaten Schlüssel signieren, würde dies Ihren privaten Schlüssel etwas weniger sicher machen. Wenn Sie Bitcoins an Ihre Adresse erhalten, signieren Sie nicht mit Ihrem privaten Schlüssel, daher ist dies kein Problem.

Die wichtigere Überlegung hier ist, dass Sie bei der Wiederverwendung von Adressen Ihre Privatsphäre verlieren.

Beachten Sie, dass ein "Seitenkanal" oft über eine gewisse Zugriffsebene spricht. Bitcoin Core verwendet OpenSSL auch nicht zum Signieren von Transaktionen, sodass dieser spezielle Fehler wahrscheinlich kein Problem darstellt.

Mehrere kryptografische Schemata haben solche Fehler, das heißt, wenn ein Angreifer mehrere Nachrichten von einer einzigen privaten Schlüsselquelle abfängt, wird es einfacher, die Nachricht zu entschlüsseln. Während des Zweiten Weltkriegs wurde dies mehrmals von den Alliierten getan, um die Codes der Nazis und der Japaner zu brechen.

Glücklicherweise stützt sich Bitcoin auf kryptografische Schemata (hauptsächlich SHA256), die noch keine bekannten Fehler aufweisen (außer Brute Force). Dies bedeutet, dass Sie, wenn Sie Ihren privaten Schlüssel niemand anderem zur Verfügung stellen, mit einem einzigen Adresskonto so viele Transaktionen durchführen können, wie Sie möchten, dass ein Angreifer Ihr Konto nicht besser knacken könnte.

Es macht Ihre Adresse etwas weniger sicher, sobald Sie von ihr senden. Wenn die Adresse jedoch nur zum Empfangen von Bitcoin verwendet wird, ist sie sicher und es besteht kein nennenswertes Risiko für Ihre privaten Schlüssel.

BEARBEITEN Hinzugefügt: Senden lässt die Welt die öffentliche Adresse wissen. Dies erhöht das Risiko (wenn auch auf ein unbedeutendes Niveau), aber meiner Meinung nach ist das Risiko immer noch um ein Vielfaches höher, als diese Informationen überhaupt nicht preiszugeben, da jetzt jeder Angreifer näher daran ist, den privaten Schlüssel zu finden.

Als nur ein Grund (es gibt noch mehr) ... da das Risiko eindeutig ungleich Null ist, dass Technologien entwickelt werden könnten, um private Schlüssel einfacher aus öffentlichen Adressen zu berechnen, erhöht die Veröffentlichung öffentlicher Adressen das Risiko. Siehe Link unten.

Reddit-Thread zum Thema Quantensicherheit

Können Sie das „etwas“ quantifizieren? Soweit ich weiß, sind diese Risiken nur signifikant, wenn Sie eine fehlerhafte Implementierung verwenden. Es scheint ein ernsthaftes Problem mit ECDSA zu sein, wenn die Veröffentlichung einer angemessenen Anzahl von Signaturen es einem Angreifer ermöglichen würde, den privaten Schlüssel wiederherzustellen.
Dies ist irreführend, da es Adresskorrelation (sehen Sie, welche Schlüssel verwandt sind) und Adresskompromittierung (nehmen Sie Geld von Ihnen) zusammen.
Ich verstehe deine Kritik nicht Nick, kannst du das erklären. Was die Quantifizierung betrifft, Nate, ich habe keine Zeit, das zu berechnen, und bin mir nicht sicher, warum die genaue Zahl für die Beantwortung der Frage relevant ist.
@BradThomas Sicher. It does make your address slightly less secure once you send from it.Wenn Sie in dem Sinne meinen, dass die Privatsphäre der Adresse verringert wird, ist das wahr, aber irreführend, da das OP nach etwas anderem gefragt hat. Wenn Sie das in dem Sinne meinen, dass wiederholte Signaturen es jemandem ermöglichen können, Ihre privaten Schlüssel zu kompromittieren, ist das falsch. Wenn es einen anderen Aspekt meiner Kritik gibt, zu dem Sie eine Klarstellung wünschen, lassen Sie es mich bitte wissen. (PS Denken Sie daran, jemanden zu @erwähnen, um ihn über Ihre Antwort zu informieren.)
@Nick, danke für deine Klarstellung. Ich denke, ich hätte klarer sagen können, was ich in meiner Antwort meinte, also habe ich sie aktualisiert