Un dé standard à six faces génère environ 2,6 bits d’information imprévisible à chaque lancer. Cela peut sembler peu, mais répétés suffisamment de fois, ces lancers peuvent créer le hasard brut nécessaire pour sécuriser un portefeuille Bitcoin sans avoir recours à un logiciel ou à un composant électronique.
Les lancers de dés permettent de conserver les clés Bitcoin hors ligne, mais tout le monde ne prendra pas cette peine

Points clés
- Un lancer équitable d'un dé à six faces fournit environ 2,585 bits d'entropie, selon la formule de Claude Shannon.
- La documentation de Coinkite indique que 50 lancers de dés satisfont à la norme de 128 bits requise pour la graine d’un portefeuille Bitcoin.
- L’analyse « Wizard Sardine » de Kevin Loaec a mis en évidence des risques liés aux outils Coldcard, au-delà de la graine principale.
Pourquoi le résultat d’un lancer de dé est-il si difficile à prédire ?
Claude Shannon, le mathématicien à l’origine de la théorie de l’information, a utilisé l’entropie pour mesurer le degré d’incertitude d’un résultat. Avec un dé à six faces équitable, chaque face a la même probabilité (une sur six) d’apparaître. Cela confère à chaque lancer environ 2,585 bits d’entropie. Un lancer de pièce produit 1 bit, tandis qu’un dé à huit faces en produit 3.
La récente polémique autour de Coldcard a relancé l’intérêt pour la génération de graines par dés sur les réseaux sociaux. Certains utilisateurs la considèrent désormais comme indispensable, d’autres affirment qu’elle a protégé leurs fonds, tandis que les opérateurs expérimentés soulignent que la plupart des débutants ne toléreront pas un processus de configuration lent et source d’erreurs.
L’important n’est pas qu’un dé en mouvement se comporte de manière aléatoire au niveau atomique. Ce n’est pas le cas. Le résultat est régi par la physique, mais trop de petites variables changent simultanément pour que quiconque puisse calculer le résultat de manière fiable. Le dé quitte la main avec une certaine vitesse, un certain angle, une certaine hauteur et une certaine rotation, puis heurte la table et change de direction à chaque rebond.
En pratique, même un changement infime dans le lancer peut produire un résultat complètement différent. Une position des doigts légèrement différente ou un lancer un peu plus fort modifie suffisamment la trajectoire pour que le chiffre final ne puisse pas être prédit en observant le mouvement. Le résultat est peut-être déterministe en théorie, mais pour la génération de portefeuilles, ce qui importe, c’est qu’un attaquant ne puisse ni le reproduire ni le calculer.
Transformer les lancers de dés en données exploitables
Un ordinateur ne peut pas utiliser directement une liste de résultats de lancers de dés. Les lancers doivent d’abord être convertis en données binaires, et la méthode de conversion a son importance. Une méthode basique de type « pair ou impair » est facile à comprendre, mais elle gaspille une grande partie de l’entropie disponible. Chaque lancer est réduit à un seul bit, alors que le dé a produit environ 2,6 bits d’information. Des méthodes plus efficaces collectent une longue séquence de lancers et traitent la chaîne entière, généralement à l’aide d’une fonction de hachage cryptographique. Cela permet de préserver une bien plus grande partie du caractère aléatoire.
Ce même principe se retrouve dans le « Diceware », une méthode établie de longue date pour créer des phrases de passe sécurisées, ainsi que dans la génération manuelle de portefeuilles Bitcoin. Une phrase de récupération de portefeuille typique de 12 mots est construite à partir de 128 bits d’entropie. À raison d’environ 2,6 bits par lancer, une cinquantaine de lancers équitables fournissent suffisamment d’informations brutes pour franchir ce seuil.
Coinkite, le fabricant du portefeuille matériel Coldcard, recommande 99 lancers ou plus aux utilisateurs souhaitant atteindre près de 256 bits d’entropie. Cela ne rend pas le portefeuille deux fois plus difficile à utiliser, mais confère à la clé secrète générée une marge de sécurité mathématique bien plus importante.
Un test en conditions réelles des graines générées par des dés
Cette distinction a pris toute son importance après que Coinkite a révélé un problème de micrologiciel remontant à 2021. Sur certains appareils Coldcard, le logiciel pouvait contourner le générateur de nombres aléatoires matériel interne et utiliser à la place un processus plus faible lié à des informations non secrètes de l’appareil.
Comme certaines parties de ce processus pouvaient être reconstituées, les attaquants ont pu réduire le champ des clés de portefeuille possibles plutôt que d’explorer l’ensemble de l’espace des clés. Cette faille a été associée au vol d’environ 1 128,6633 BTC provenant d’environ 1 100 adresses, à 13 h, heure de l’Est.

Les graines de portefeuille créées entièrement à partir d’un nombre suffisant de lancers de dés indépendants n’ont pas été compromises par ce même moyen. Ces utilisateurs avaient fourni leur propre entropie ; le générateur matériel défectueux n’était donc pas responsable de la création du secret principal du portefeuille.
Cette protection ne s’appliquait toutefois qu’à la graine générée à partir des dés. Elle ne protégeait pas automatiquement tous les autres secrets générés par l’appareil.
Wizard Sardine examine les détails
Le chercheur en sécurité Kevin Loaec a publié une analyse de la faille de la Coldcard sur le site web de Wizard Sardine le 1er août. Son observation la plus importante concernait les fonctionnalités de la Coldcard qui généraient leurs propres secrets indépendamment de la graine principale du portefeuille.
« Je pense qu’il est extrêmement important de souligner que même les utilisateurs qui ont importé ou généré une graine à l’aide des dés sont vulnérables s’ils utilisent les fonctionnalités suivantes », a écrit Loaec sur X, avant de présenter un schéma du système concerné.
Le schéma montre que le générateur de nombres aléatoires défaillant alimente plusieurs fonctions secondaires de Coldcard. Parmi celles-ci figuraient la création de portefeuilles papier, le clonage d’appareils, le chiffrement des sessions USB, la fonctionnalité de transfert « Secret Teleport », la création de clés de cosignature, le générateur de mots de passe intégré et les codes d’authentification du module de sécurité matériel.

Un portefeuille principal créé à l’aide de 99 lancers de dés restait dans une partie distincte du système. Le problème était que les autres outils pouvaient toujours demander de nouveaux nombres aléatoires au générateur défectueux. Par conséquent, une graine sécurisée ne garantissait pas que chaque mot de passe, sauvegarde, code d’authentification ou clé secondaire créé sur le même appareil soit tout aussi sécurisé.
Pourquoi la plupart des nouveaux utilisateurs ne lanceront pas les dés
L’entropie générée par des dés est techniquement valable lorsqu’elle est mise en œuvre correctement, mais elle ne constitue pas une option par défaut réaliste pour la plupart des nouveaux utilisateurs. Lancer un dé 50 ou 99 fois, saisir chaque résultat avec précision et vérifier qu’aucun lancer n’a été omis ou dupliqué exige de la patience et beaucoup de concentration. Une seule erreur de saisie peut modifier complètement le portefeuille final, et la plupart des appareils ne peuvent pas déterminer si l’erreur provient d’un mauvais lancer, d’une erreur de saisie ou d’une mauvaise compréhension des instructions.

Ce processus comporte également des risques qui n’existent pas avec un générateur matériel fonctionnant correctement. Les utilisateurs peuvent noter les résultats sur papier, les photographier, les saisir dans un outil en ligne ou laisser la liste à un endroit où une autre personne pourrait la trouver. Certaines personnes lancent le dé de manière répétitive ou contrôlée, utilisent un dé truqué ou endommagé, ou s’arrêtent prématurément parce que le processus leur semble excessif. Les fondements mathématiques sont solides, mais la sécurité du résultat dépend entièrement de la procédure suivie par l’utilisateur.

C’est pourquoi le lancer de dés n’est pas toujours considéré comme la meilleure méthode par beaucoup de gens, même parmi les utilisateurs expérimentés de bitcoins. Il remplace la confiance dans un appareil par la confiance dans un processus manuel. Pour un utilisateur soucieux des aspects techniques, qui comprend l’entropie, vérifie la méthode et garde la séquence de lancers confidentielle, ce compromis peut avoir du sens. Pour un acheteur lambda qui configure un portefeuille pour la première fois, cela multiplie les risques de commettre une erreur irréversible, tout en constituant un processus fastidieux.

Il est également difficile d’imaginer une adoption généralisée du bitcoin si celle-ci dépend du fait que les gens s’assoient à une table et notent les résultats de 99 lancers de dés avant de pouvoir recevoir des fonds et le faire en toute sécurité. Les pratiques de sécurité doivent s’adapter à la réalité des foyers, aux emplois du temps chargés, aux distractions et aux utilisateurs qui ne souhaitent pas se former à la cryptographie. L’entropie manuelle devrait rester disponible en option avancée, mais l’objectif à long terme est de disposer de matériel et de logiciels capables de générer correctement un aléa fort, d’expliquer clairement ce qui se passe et de nécessiter le moins de connaissances spécialisées possible.
Ce que les propriétaires de Coldcard doivent vérifier
Les propriétaires d’appareils Coldcard concernés doivent tout d’abord vérifier la version du micrologiciel installée sur leur appareil. Ils doivent ensuite passer en revue les fonctionnalités qu’ils ont utilisées lorsqu’ils utilisaient une version plus ancienne du micrologiciel, plutôt que de se concentrer uniquement sur la manière dont la graine du portefeuille principal a été générée.
Toute personne ayant utilisé l’appareil concerné pour générer un portefeuille papier, une clé de clonage, un mot de passe, une clé de cosignature ou un code d’authentification devra peut-être remplacer immédiatement ces éléments. L’installation de la mise à jour empêche ce même problème d’affecter de nouvelles clés, mais elle ne corrige pas ce qui a été créé auparavant.
Cet incident renforce également l’intérêt pratique des configurations de portefeuilles multi-fournisseurs. Dans un système à signatures multiples, des appareils matériels distincts provenant de différents fabricants peuvent être nécessaires pour approuver une transaction. Cette structure n’empêche pas l’apparition de bogues dans le micrologiciel, mais elle peut empêcher qu’un seul générateur de nombres aléatoires défectueux n’expose à lui seul l’intégralité du portefeuille.
Cet article a été traduit de l'anglais à l'aide de l'IA. La version originale en anglais fait foi ; les traductions automatiques peuvent contenir des inexactitudes, en particulier dans la terminologie juridique et réglementaire.
















