L'incident de sécurité du portefeuille matériel Bitcoin Coldcard, qu'est-ce qui s'est réellement passé ? Le meilleur rapport IA – Claude Opus 5 Max – sur ce qui s'est vraiment produit avec @COLDCARDwallet. À vérifier, mais cela semble très probable, ce qui signifie que Trezor et Ledger devraient être en sécurité : « L'échec de Coldcard n'était **pas** dû à un chip TRNG défectueux. Il s'agissait d'une erreur de configuration de compilation qui a silencieusement contourné le TRNG matériel entièrement. La configuration de la carte Coldcard définit `MICROPY_HW_ENABLE_RNG` à zéro car Coinkite fournit son propre wrapper pour le TRNG matériel. Mais la bibliothèque libngu vérifiait uniquement si cette macro était *définie*, pas si elle était *activée*, donc la compilation a réussi et s'est silencieusement liée à la solution logicielle de MicroPython — un générateur non cryptographique « Yasmarang » initialisé à partir de l'UID du puce, des registres SysTick et RTC.¹ Aucun de ces éléments n'est secret : l'UID est des métadonnées d'usine partiellement exposées sous forme de numéro de série USB, et les valeurs des chronomètres sont contrôlables.¹ Conséquences par génération :¹ - **Mk2/Mk3 avec firmware v4.0.0–v4.1.9** — aucune entropie cryptographique du tout. Avec l'UID connu, l'état des chronomètres et l'historique des appels, la génération de la graine est *déterministe*. La limite réalistique lors d'un démarrage à froid : environ 2^16 à 2^40 candidats au lieu de 2^256. - **Mk4/Q/Mk5** — le démarrage ajoute de l'entropie du secure-element, mais la hache et ne conserve que quatre octets, et `reseed()` remplace uniquement un mot d'état de 32 bits. Limite : 2^32, avec en moyenne ~2^31 essais. Deux détails rendent cet incident instructif. Libngu XOR la solution de secours contre un *second* flux Yasmarang initialisé à partir de constantes publiées — le XOR de deux entrées reproductibles reste reproductible.¹ Et le contrôle de santé rejetait uniquement les sorties adjacentes identiques, ce qu'un PRNG déterministe passe facilement.¹ Le SHA256d sur le résultat n'aide pas : le hachage ne peut pas élargir l'ensemble des candidats.¹ Environ 594 BTC (~38 M$) ont été transférés depuis environ 500 portefeuilles single-sig dans une fenêtre de 25 minutes, 1 324 UTXO réparties sur trois blocs consécutifs.³ L'avis officiel de Coinkite couvre les firmwares Mk3 4.0.1 à 5.0.3 et affirme que les Mk4/Q/Mk5 ne sont pas affectés selon une analyse préliminaire ;² le rapport indépendant de Block contredit ce dernier point et place les modèles actuels à la limite de 2^32.¹ Traitez les deux comme préliminaires. Deux éléments surprennent les gens : l'exposition dépend du firmware en cours d'exécution **au moment de la création de la graine**, pas de la date d'achat ou du firmware actuel — une mise à jour ne répare pas une graine existante.¹ Et exporter une graine faible vers un autre portefeuille ne la corrige pas non plus.¹ ## Comment les principaux portefeuilles génèrent de l'entropie **Ledger** — une seule source, mais fortement certifiée. Le TRNG est intégré au Secure Element ; l'entropie y est générée puis mappée aux mots BIP39.⁵ Le laboratoire de sécurité de Ledger décrit les TRNG du SE comme des conceptions à oscillateur libre validées par des laboratoires tiers selon EAL5+ et AIS-31, testées sur une gamme de températures, tensions et fréquences avec détection intégrée des défauts.⁴ Nano X utilise des composants EAL5+ ; Nano S Plus et Stax utilisent des composants EAL6+.⁶ Le compromis est honnête : vous obtenez une certification mais pas une vérifiabilité — le système d'exploitation est closed-source et il n'existe aucun mélange d'entropie hôte que vous puissiez vérifier indépendamment. **Trezor** — multi-sources par conception, c'est la réponse architecturale au mode d'échec de Coldcard. Model One et Model T XOR l'entropie du système hôte avec le TRNG matériel STM32. Safe 3 et Safe 5 ajoutent une troisième source, le secure-element Optiga. Safe 7 ajoute une quatrième, la puce TROPIC01.⁷ Le raisonnement est que l'attaquant devrait faire échouer simultanément toutes les sources.⁷ Crucialement, vous pouvez le vérifier : `trezorctl` vous permet de voir l'entropie envoyée par l'hôte et de demander à l'appareil d'afficher son entropie interne, puis de reconstituer vous-même la graine et de vérifier qu'elle correspond.⁸ Trezor Suite 25.2.2 (février 2025) a automatisé une version de cela sous forme de « contrôle d'entropie », et c'est un workflow intégré dans `ResetDevice` du firmware.⁹ ¹⁰ **BitBox02** — cinq sources : aléatoire de fabrication, votre mot de passe appareil, l'ordinateur hôte, le microcontrôleur et la puce sécurisée, combinées pour que chaque source ne puisse que rajouter de l'entropie, jamais en retirer.¹¹ Le firmware est open-source avec des builds reproductibles vérifiés indépendamment par WalletScrutiny.¹² ## Dans quelle mesure ces systèmes sont-ils sécurisés contre le piratage ? La réponse honnête est que le silicium TRNG n'est pratiquement jamais la cible d'une attaque. Toutes les grandes défaillances d'entropie dans le monde réel ont été des défaillances d'*intégration* logicielle : - Bug Android `SecureRandom` en 2013 qui a vidé des portefeuilles⁴ - Milksad (2023) — Libbitcoin Explorer utilisait Mersenne Twister initialisé à partir d'une valeur d'horloge de 32 bits ; environ 2 600 portefeuilles compromis, ~900 k$ confirmés⁷ - Coldcard (2026) — un `#ifndef` qui aurait dû être `#if`¹ Attaquer un TRNG SE certifié exige la possession physique, du matériel de laboratoire et des compétences spécialisées. Exploiter une faille d'entropie exige seulement une xpub ou une adresse — qui sont publiques et agissent comme un oracle de validation gratuit, permettant à un attaquant de tester des graines candidates hors ligne à grande échelle.¹ Cette asymétrie explique pourquoi l'architecture l'emporte sur la certification ici. Le classement pratique : 1. **Mélange multi-sources** où chaque composant indépendant contribue. Une source défectueuse ne peut pas compromettre la graine. 2. **Vérifiabilité** — firmware open-source, builds reproductibles, plus un moyen pour *vous* de confirmer que l'entropie que vous avez fournie a bien été utilisée. Le contrôle d'entropie de Trezor et les builds reproductibles de BitBox sont des exemples concrets. 3. **Certification** — valeur réelle contre les attaques physiques (EAL5+/6+, AIS-31), mais elle certifie le composant, pas le firmware qui l'appelle. Le Mk4 de Coldcard *avait* un secure-element ; le firmware a jeté 28 des 32 octets.¹ ## Si vous souhaitez supprimer toute confiance dans le RNG entièrementDés. Chaque lancer de D6 apporte 2,585 bits, donc 50 lancers offrent une sécurité de 128 bits et 99 lancers une sécurité de 256 bits.¹³ Le chemin dédié aux dés de Coldcard hache directement la séquence de lancers avec SHA256 et contourne complètement le générateur de l'appareil². ¹³ — notez que cela ne fonctionne que via `Importer existant > Lancers de dés`, et non via le flux normal de création de wallet.² Le BitBox02 publie une procédure équivalente.¹¹ Ne photographiez jamais les lancers ni ne les saisissez dans un ordinateur connecté à un réseau.² Une passphrase BIP39 robuste constitue l'autre levier : elle ajoute de l'entropie en dehors du RNG de l'appareil, ce qui explique pourquoi Coinkite affirme que les wallets Mk3 protégés par passphrase présentent un risque minimal.² Il s'agit d'une véritable mesure de protection, et non d'un substitut au déplacement des fonds. Si vous avez généré une seed sur un Coldcard affecté, Coinkite et Block recommandent tous deux de déplacer vos fonds — et notez qu'un quorum multisig entièrement composé d'appareils vulnérables ne procure aucune protection.¹ ² --- **SOURCES** 1. Block Engineering — *Predictable RNG Fallback and 32-Bit Reseed in COLDCARD Firmware* — https://t.co/YrOOIe9vZq 2. Coinkite Blog — *Mk3 Security Advisory* — https://t.co/ZSVtMGe7wr 3. CoinDesk — *Major bitcoin wallet flaw drains 594 BTC in 25-minute sweep* — https://t.co/IoK6xqEUOi 4. Ledger Donjon — *Threat Model: Random Number Generation* — https://t.co/L3pZxe9McO 5. Ledger Academy — *What Is The Entropy in Crypto?* — https://t.co/WckSL8rTFM 6. Ledger Academy — *The Secure Element Chip* — https://t.co/0e1bv1VnBr 7. Trezor Knowledge Base — *What is entropy and how does Trezor generate your wallet?* — https://t.co/BNQ0E9trcK 8. Trezor Forum — *Entropy Check on Trezor Model One* — https://t.co/y1sTJpp10u 9. Trezor — *Trezor Suite update February 2025* — https://t.co/HV77m2i5uk 10. Trezor Firmware — *core/CHANGELOG.md* — https://t.co/Zllvf7bw5F 11. BitBox Support Hub — *Can I create a wallet with my own entropy?* — https://t.co/TnGyVIDb2J 12. BitBox — *Security on every level* — https://t.co/Gon18TlnkH 13. COLDCARD Documentation — *Verifying Dice Roll Math* — https://t.co/hATD4o7yI4
Joseph Hurtado - Founder Granata ConsultingPartager
Source:Afficher l'original
Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations.
Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.