Claude Shannon, le mathématicien qui a jeté les bases de la théorie de l'information, utilisait l'entropie pour mesurer le degré d'incertitude d'un résultat. Dans le cas d'un dé à six faces non truqué, chaque face a une probabilité égale de sortie — une sur six. Cela donne à chaque lancer environ 2,585 bits d'entropie. Un lancer de pièce donne 1 bit, et un lancer de dé à huit faces donne 3 bits.

L'important n'est pas que le dé lancé se comporte de manière aléatoire au niveau atomique. Ce n'est pas le cas. Le résultat est déterminé par les lois de la physique, mais un trop grand nombre de petites variables changent simultanément pour que quiconque puisse calculer le résultat de manière fiable. Le dé quitte la main à une certaine vitesse, sous un angle, à une certaine hauteur et avec une certaine rotation, puis frappe la table et change de direction à chaque rebond.
En pratique, même un minuscule changement dans le lancer peut conduire à un résultat totalement différent. Une position légèrement différente des doigts ou un lancer un peu plus fort modifient la trajectoire au point que le nombre final est impossible à prédire en observant le mouvement. Le résultat peut être déterministe en théorie, mais pour la génération de portefeuilles, ce qui compte, c'est qu'un attaquant ne puisse pas le reproduire ou le calculer.
Transformer les résultats des lancers de dés en données utilisables
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.
La méthode simple « pair-impair » est facile à comprendre, mais elle gaspille une grande partie de l'entropie disponible. Chaque lancer est réduit à un seul bit, bien que le dé génère 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 beaucoup plus de caractère aléatoire.
Le même principe est à la base de Diceware — une méthode bien connue pour créer des phrases de passe sécurisées — ainsi que de la création manuelle de portefeuilles Bitcoin. Une phrase de récupération typique de 12 mots pour un portefeuille contient 128 bits d'entropie. Avec environ 2,6 bits par lancer, environ 50 lancers non truqués fournissent suffisamment d'information brute pour dépasser ce seuil.
Coinkite, le fabricant du portefeuille matériel Coldcard, recommande 99 lancers ou plus pour les utilisateurs visant une entropie proche de 256 bits. Cela ne rend pas le portefeuille deux fois plus difficile à utiliser, mais cela assure à la clé secrète générée une marge de sécurité mathématique bien plus grande.
Test pratique des seeds générées avec des dés
Cette distinction a pris de l'importance après que Coinkite ait 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 vulnérable impliquant des informations non secrètes sur l'appareil.
Puisque des parties de cet algorithme pouvaient être reconstituées, des attaquants pouvaient réduire l'espace des clés possibles du portefeuille, au lieu de devoir parcourir tout l'espace des clés. Cette vulnérabilité serait liée au vol d'environ 128,6633 BTC provenant d'environ 100 adresses (au moment du rapport).

Les seeds de portefeuille créées exclusivement à partir d'un nombre suffisant de lancers de dés indépendants n'étaient pas à risque via ce même canal. Ces utilisateurs avaient fourni leur propre entropie, donc le générateur matériel défectueux n'avait pas participé à la création du secret principal du portefeuille.
Cependant, cette protection ne s'appliquait qu'à la phrase de récupération générée par les lancers de dés. Elle n'assurait pas automatiquement la protection de toutes les autres données secrètes générées par l'appareil.
Wizard Sardine analyse les petits caractères
Le 1er août, le chercheur en sécurité Kevin Loaec a publié sur le site Wizard Sardine une évaluation de la vulnérabilité de Coldcard. Son observation la plus importante concernait les fonctionnalités de Coldcard qui généraient leurs propres clés secrètes séparément de la seed 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 seed avec 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 vulnérable.
Le schéma montre comment le générateur de nombres aléatoires vulnérable alimente plusieurs fonctions secondaires de Coldcard. Cela inclut la création d'un portefeuille papier, le clonage de l'appareil, le chiffrement des sessions USB, la fonction de transfert Secret Teleport, la création de clés pour la cosignature, le générateur de mots de passe intégré et les codes d'authentification du module matériel de sécurité.

Le portefeuille principal, créé avec 99 lancers de dés, restait dans une partie séparée du système. Le problème était que les autres outils pouvaient toujours demander de nouvelles données aléatoires au générateur défectueux. Par conséquent, une seed sécurisée ne garantissait pas que chaque mot de passe, sauvegarde, code d'authentification ou clé secondaire créé sur le même appareil était également sécurisé.
Pourquoi la plupart des nouveaux utilisateurs ne lanceront pas de dés
L'entropie générée par les lancers de dés est techniquement solide si elle est effectuée correctement, mais pour la plupart des nouveaux utilisateurs, ce n'est pas une option par défaut réaliste. Lancer un dé 50 ou 99 fois, saisir chaque résultat avec précision et vérifier qu'aucun lancer n'a été sauté ou répété demande de la patience et une grande concentration. Un seul numéro mal saisi peut changer complètement l'adresse finale du portefeuille, et la plupart des appareils ne peuvent pas déterminer si une erreur a été causée par un mauvais lancer, une faute de frappe ou 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 des lancers sur papier, les photographier, les saisir dans un outil en ligne ou laisser la liste dans un endroit où quelqu'un d'autre pourrait la trouver. Certaines personnes lancent le dé de manière répétitive ou contrôlée, utilisent un dé pipé ou endommagé, ou arrêtent le processus prématurément car il leur semble excessif. La base mathématique peut être solide, mais la sécurité du résultat dépend entièrement de la rigueur avec laquelle l'utilisateur suit la procédure.

C'est pourquoi le lancer de dés n'est pas toujours considéré comme la meilleure méthode pour beaucoup de gens, même parmi les utilisateurs expérimentés de Bitcoin. Il remplace la confiance dans un appareil par la confiance dans un processus manuel. Pour un utilisateur techniquement prudent qui comprend la nature de l'entropie, vérifie la méthode et garde la séquence de lancers secrète, cet échange peut avoir un sens. Pour un acheteur ordinaire configurant un portefeuille pour la première fois, cela crée plusieurs opportunités de faire une erreur irréversible, tout en étant fastidieux.

De plus, il est difficile d'imaginer une adoption massive du Bitcoin si les gens doivent s'asseoir à une table et noter les résultats de 99 lancers de dés pour recevoir des fonds et les sécuriser. Les mesures de sécurité doivent résister aux épreuves des conditions réelles à domicile, des emplois du temps chargés, des distractions et des utilisateurs peu disposés à étudier la cryptographie. La génération manuelle d'entropie devrait rester disponible en tant qu'option pour les utilisateurs avancés, mais l'objectif à long terme est de créer du matériel et des logiciels qui génèrent correctement un caractère aléatoire fort, expliquent clairement ce qui se passe et exigent le moins de connaissances spécialisées possible.
Ce que les propriétaires de Coldcard devraient vérifier
Les propriétaires d'appareils Coldcard vulnérables devraient d'abord vérifier la version du micrologiciel installée sur leur appareil. Ensuite, ils devraient analyser quelles fonctionnalités ils ont utilisées lors de l'utilisation d'un micrologiciel obsolète, plutôt que de se concentrer exclusivement sur la façon dont la seed du portefeuille principal a été générée.
Toute personne ayant utilisé un appareil vulnérable pour générer un portefeuille papier, une clé secrète de clonage, un mot de passe, une clé de cosignature ou un code d'authentification pourrait avoir besoin de remplacer immédiatement ces éléments. L'installation de la mise à jour empêche que le même problème se produise avec de nouvelles données secrètes, mais ne corrige pas ce qui a été créé précédemment.
Cet incident renforce également la justification pratique d'utiliser des portefeuilles avec des appareils de différents fabricants. Dans un schéma à signatures multiples, des appareils matériels distincts de différents fabricants peuvent être nécessaires pour approuver une transaction. Une telle structure n'élimine pas les bogues de micrologiciel, mais peut empêcher qu'un seul générateur de nombres aléatoires défectueux ne compromette à lui seul l'ensemble du portefeuille.
end-content






