Suite au bug catastrophique d'entropie faible découvert dans les portefeuilles matériels Coldcard, lié à des vols observés publiquement à partir du 30 juillet, les détenteurs de Bitcoin ont commencé à réévaluer les hypothèses de confiance dans leurs configurations de portefeuille matériel.
Fonctionnement de la faille d'entropie de Coldcard
Les appareils Coldcard étaient équipés de « générateurs de nombres vraiment aléatoires » (TRNG) STM32 apparemment fonctionnels, qui reposent sur des processus physiques pour produire une phrase de récupération (seed phrase) indévinale.
Cependant, après que NVK, le créateur de Coldcard, a décidé de lancer une réécriture du micrologiciel pour passer d'un modèle de logiciel libre sous licence GPL à un modèle en lecture seule, une vulnérabilité grave semble avoir été introduite.
À partir de la version 4.0.1 du micrologiciel, publiée en mars 2021, l'appareil utilisait le générateur de nombres pseudo-aléatoires (PRNG) Yasmarang de MicroPython au lieu d'utiliser correctement le générateur matériel RNG du STM32.
La génération de nombres aléatoires est un problème insoluble en informatique, c'est pourquoi la génération de clés privées sécurisées et indévinables doit toujours reposer dans une certaine mesure sur des processus physiques externes.
L'utilisation du PRNG Yasmarang a été largement qualifiée par les analystes du secteur de solution de secours préprogrammée. Cependant, Coinkite a contesté cette caractérisation dans un récent post sur X :
L'hypothèse selon laquelle les Coldcards étaient programmés pour utiliser par défaut une méthode de génération de seed manifestement non sécurisée a également suscité des spéculations sur X quant à savoir s'il s'agissait d'une porte dérobée délibérément placée.
Le journaliste d'investigation Bitcoin Hodlnaut a émis l'hypothèse que le bug provenait de pratiques de développement négligentes et d'efforts pour supprimer les erreurs par des changements aléatoires.
Coinkite a estimé que les appareils Mk2 et Mk3 généraient des seeds avec 40 bits d'entropie, tandis que les Mk4, Mk5 et Q atteignaient environ 70 bits. Les deux sont bien en deçà des 128 bits requis pour une phrase de récupération de 12 mots sécurisée.
Depuis lors, des attaquants ont réussi à forcer brutalement des clés privées, volant ainsi plus de 100 millions de dollars en BTC. La probabilité qu'un portefeuille soit trouvé dépend du fait qu'une entropie supplémentaire via des dés ait été ajoutée ou non, ou qu'une phrase secrète BIP-39 et un chemin non standard aient été utilisés.
Article lié : Les pirates de Coldcard transfèrent 64 BTC et 200 ETH vers des mélangeurs de cryptomonnaies
Depuis, James O’Beirne a mis en place un site web avec des adresses pièges (honeypot), intitulé cktripwire, afin d'estimer quels types de portefeuilles les attaquants balayent efficacement.

Pièges suivis par cktripwire. Source : cktripwire.com
Comment l'entropie physique a sauvé certains portefeuilles
L'exploit Coldcard a une fois de plus douloureusement rappelé l'un des principes fondamentaux de la communauté : ne pas faire confiance, vérifier.
Les utilisateurs qui ne se sont pas fiés à un élément d'ingénierie opaque pour générer l'entropie de la partie la plus critique du point de vue sécurité, mais ont utilisé un nombre suffisant de jets de dés, ont ainsi protégé leurs coins de l'exploitation.
Lancer des dés est un processus simple, visiblement transparent qu'un utilisateur ordinaire peut auditer lui-même et comprendre intuitivement. Vérifier le TRNG, en revanche, nécessiterait un examen physique détaillé de l'électronique et une analyse du micrologiciel.
Alors que certains ont utilisé les événements récents comme prétexte pour déclarer la fin du self-custody, le respect de cette meilleure pratique laisse très peu d'options à un attaquant distant.
Si la phrase de récupération est générée par une entropie physique sans dépendre de la sécurité du portefeuille matériel, le seul vrai point de défaillance unique dans la génération du portefeuille est supprimé.
Article lié : Les attaques contre Coldcard signifient-elles que tous les portefeuilles matériels sont désormais non sécurisés ?
Le xpub et les adresses de réception dérivés de la seed peuvent être vérifiés en l'important dans d'autres appareils.
L'exfiltration de nonce via un airgap peut également être détectée en vérifiant si deux appareils génèrent la même signature conforme à la RFC 6979 lorsqu'on leur donne une transaction non signée identique.
La génération d'une entropie sécurisée est donc la condition absolument préalable à un portefeuille sécurisé. Diverses méthodes et propositions pour la générer ont circulé sur X depuis que l'exploit Coldcard a été rendu public.
La méthode la plus populaire consiste à vérifier la capacité de l'appareil à convertir correctement les faces d'un dé en une phrase de récupération BIP-39 en appliquant un hachage SHA-256. L'utilisation de plus de 100 jets de dés suffit alors à générer l'entropie pour une seed de 24 mots.
Des méthodes papier simples, telles que le tableau publié par Bitbox, partitionnent l'espace des mots de seed BIP-39 de sorte qu'une combinaison de six lancers de dés et d'un lancer de pièce puisse directement être assignée à un mot de seed sans utiliser d'électronique.
Des modèles plus sophistiqués, comme la feuille de travail de dés-biaisage codex32, utilisent un extracteur de van Neumann qui peut être calculé à la main pour générer une phrase de récupération sécurisée même avec des dés biaisés.
Une alternative aux jets de dés est d'imprimer les mots de seed BIP-39, de les découper en petits morceaux de papier de taille égale, de les mélanger soigneusement et de tirer au hasard 24 mots. Des produits tels que Seedsticks ou Entropia rendent cela plus pratique et robuste.
Du matériel spécialisé comme Frostsnap tente de répartir de manière vérifiable la génération d'entropie entre plusieurs appareils.
Certains utilisateurs ont conçu leurs propres dispositifs d'entropie physique pouvant générer une phrase de récupération presque aussi rapidement qu'un appareil électronique.
Article lié : Les attaques contre Coldcard signifient-elles que tous les portefeuilles matériels sont désormais non sécurisés ?





