Coin Brief ENDE

xrpl.js wirft jetzt bei ungültiger Entropie während der Wallet-Erstellung

Der offizielle JavaScript-Client des XRP Ledger, xrpl.js, ist in Version 4.7.0 mit einer kleinen, aber sicherheitsrelevanten Änderung erschienen: Wallet.fromEntropy und generateSeed werfen nun bei ungültiger Entropie, statt mit ihr weiterzuarbeiten. Die Korrektur (Pull Request #3487) ist ein Backport in die 4.x-Linie; das Release enthält zudem ripple-keypairs 2.1.0.

Warum das mehr wiegt als sein einzeiliger Changelog-Eintrag: Entropie ist die rohe Zufälligkeit, aus der ein Seed und seine Schlüssel abgeleitet werden, und eine Seed-Erzeugung, die schlechte Entropie akzeptiert — zu kurz, leer oder anderweitig fehlerhaft —, kann eine Wallet zurückgeben, deren Schlüssel schwächer oder vorhersehbarer sind, als der Aufrufer glaubt. Die gefährliche Variante dieses Fehlers ist die stille, bei der der Aufruf eine ganz gewöhnlich wirkende Wallet liefert und die Schwäche erst zutage tritt, wenn Gelder an eine Adresse fließen, die auch ein Angreifer ableiten könnte. Die Funktion werfen zu lassen, verwandelt ein stilles Korrektheits- und Sicherheitsproblem in einen lauten, sofortigen Fehler genau an der Stelle des Fehlgriffs — dort, wo ihn ein Entwickler sehen und beheben kann.

xrpl.js wirft jetzt bei ungültiger Entropie während der Wallet-Erstellung
xrpl.js wirft jetzt bei ungültiger Entropie während der Wallet-Erstellung — Coin Brief

Was das bedeutet

Die Lehre reicht über diese eine Bibliothek hinaus. Jede Funktion, die Zufall in Schlüssel verwandelt, sollte schwache Eingaben als Fehler behandeln, nicht als Wert, denn der Preis der Nachsicht ist kein auffälliger falscher Rückgabewert, sondern ein schwacher Schlüssel, den man nicht bemerkt. Für Teams, die in JavaScript auf dem XRP Ledger bauen, ist die praktische Maßnahme eng umrissen: auf 4.7.0 (oder das entsprechende ripple-keypairs 2.1.0) aktualisieren, damit die Wallet-Erstellung bei schlechter Entropie schnell fehlschlägt, und jeden Code prüfen, der fromEntropy oder generateSeed aus einer Quelle speiste, deren Länge oder Qualität nie geprüft wurde. Ein Wurf, den man im Test sieht, ist billiger als ein Schlüssel, den man nicht sieht.

Geschrieben von Victoria Shinder.