
À retenir : Une phrase mnémonique BIP39 générée avec une entropie complète contient de 128 à 256 bits d’entropie. Cela rend toute tentative de deviner une telle phrase très largement hors de portée de toute puissance de calcul disponible aujourd’hui. Chaque cas documenté depuis 2023 remonte à un générateur qui produisait bien moins de possibilités que ne le suppose la norme. La question à se poser est de savoir comment votre phrase a été générée et si vous pouvez la remplacer.
Référence rapide
| Terme | Signification |
|---|---|
| Entropie | La quantité d’imprévisibilité véritable d’une valeur générée, mesurée en bits. Une entropie de 128 bits signifie que la valeur a été tirée parmi 2128 candidates équiprobables. |
| BIP39 | La norme qui encode l’entropie brute sous forme de 12, 15, 18, 21 ou 24 mots choisis dans une liste fixe de 2 048 mots. |
| Espace de recherche | L’ensemble des phrases candidates qu’un attaquant doit tester. C’est sa taille, plutôt que le nombre de mots, qui détermine si cette tâche est réalisable. |
| Générateur pseudo-aléatoire | Un générateur de nombres pseudo-aléatoires qui transforme une valeur initiale en une longue séquence à l’aide d’une formule. Une valeur initiale prévisible produit une sortie prévisible. |
| Générateur cryptographiquement sûr | Un générateur de nombres aléatoires cryptographiquement sûr, initialisé à partir du pool d’entropie du système d’exploitation, qui constitue la source attendue pour le matériel cryptographique. |
| Effondrement de l’entropie | Que se passe-t-il lorsqu’un générateur puise dans un ensemble bien plus petit que celui spécifié par la norme, réduisant l’espace de recherche à une taille qu’un attaquant peut énumérer. |
Peut-on deviner une phrase mnémonique ou la trouver par force brute ?
Une phrase mnémonique BIP39 générée correctement reste hors de portée de la force brute avec une très large marge. L’espace de recherche croît exponentiellement avec l’entropie, et non avec le nombre de mots : une phrase de 12 mots encode donc déjà 128 bits, soit environ 3,4 × 1038 phrases valides. Une phrase de 24 mots encode 256 bits, soit environ 1,2 × 1077.
Ces chiffres sont plus faciles à évaluer en termes opérationnels. Une machine testant mille milliards de phrases candidates par seconde n’aurait toujours couvert qu’une fraction infime de l’espace de 128 bits après un milliard d’années de fonctionnement continu. Aucun ensemble de matériel assemblé à ce jour ne change cette arithmétique, ce qui explique concrètement pourquoi les attaquants qui vident des fonds ne tentent pas d’explorer tout l’espace.
Dans tous les cas documentés publiquement, les attaquants qui ont retrouvé les phrases d’autres personnes ont exploité l’espace bien plus restreint qu’un générateur défaillant était effectivement capable de produire.
Combien de combinaisons une phrase de récupération de 24 mots comporte-t-elle ?
Une phrase BIP39 de 24 mots possède 2256 combinaisons valides, soit environ 1,2 × 1077. Une phrase de 12 mots compte 2128 combinaisons valides, soit environ 3,4 × 1038.
L’arithmétique qui sous-tend ces chiffres mérite un paragraphe, car le nombre brut de mots surestime le total. Multiplier 2 048 possibilités sur 24 positions donne 2264, et le dernier mot contient une somme de contrôle de 8 bits liée à l’entropie qui le précède. Une seule combinaison sur 256 satisfait cette vérification, ce qui ramène le nombre de phrases valides à 2256. La même relation s’applique à 12 mots, pour lesquels une somme de contrôle de 4 bits réduit 2132 combinaisons de mots à 2128.
Comment une phrase de récupération est-elle générée, et où cela peut-il mal tourner ?
La génération commence par de l’entropie brute plutôt que par des mots. L’appareil ou le logiciel demande 128 à 256 bits à une source aléatoire, hache cette valeur pour calculer une somme de contrôle, divise le résultat en groupes de 11 bits et associe chaque groupe à un mot de la liste BIP39. Les mots sont un encodage de l’entropie ; la robustesse d’une phrase est donc fixée au moment où l’entropie est tirée.
Cette structure fait reposer toute la sécurité d’une phrase sur une étape que son détenteur ne peut pas observer. Un générateur initialisé à partir d’une source de bruit matériel et un générateur initialisé à partir de l’horloge système produisent une sortie qui semble identique, car tous deux renvoient 24 mots anglais plausibles au format correct avec une somme de contrôle valide. Rien en aval ne détecte un tirage faible, et une mise à jour du micrologiciel publiée ultérieurement ne peut pas réintroduire l’aléatoire dans une phrase créée sans lui.
À quoi ressemble réellement une phrase de récupération faible ?
Trois défaillances documentées publiquement entre 2023 et 2026 partagent un même mécanisme à travers trois couches différentes de la pile. Dans chaque cas, le générateur renvoyait des phrases bien formées tout en puisant dans un ensemble suffisamment restreint pour être énuméré sur du matériel courant.
| Cas | Couche défaillante | Fonctionnement du générateur | Espace de recherche effectif |
|---|---|---|---|
| Milk Sad, CVE-2023-39910, divulgation le 8 août 2023 | Outils en ligne de commande | L’outil bx de Libbitcoin Explorer générait des graines avec un générateur de Mersenne Twister initialisé uniquement à partir d’une horloge système sur 32 bits | 232 ou moins, quelle que soit la longueur de sortie configurée par l’utilisateur |
| Ill Bloom, CVE-2026-71851 et GHSA-rg76-677x-56q9, CVSS 9.0 | Dépendance JavaScript | La fonction CryptoJS WordArray.random() utilisait un générateur à retenue multiplicative initialisé à partir de Math.random(), une conception présente depuis juin 2014 | Environ 239 et 247 contre 128 et 256 bits nominaux |
| Erreur de compilation du micrologiciel, avis du fabricant du 30 juillet 2026 | Micrologiciel du portefeuille matériel | Une erreur de configuration de compilation datant de mars 2021 a fait que la génération des graines sur les appareils d’un fabricant de portefeuilles matériels s’est rabattue sur un générateur pseudo-aléatoire logiciel | Environ 72 bits sur les appareils concernés les plus récents, et moins sur les anciens |
Les chercheurs de Milk Sad chez Distrust ont indiqué avoir récupéré plus de 900 000 $ en bitcoins détenus à l’aide de phrases générées par l’outil concerné, et ont précisé que ce chiffre constituait une estimation basse couvrant uniquement le bitcoin. Les versions 3.0.0 à 3.6.0 de bx ont été confirmées comme vulnérables, tandis que les versions antérieures ont été considérées comme suspectes plutôt que confirmées. De nombreuses personnes exposées avaient généré leurs phrases des années auparavant en suivant le conseil d’utiliser des outils libres.
Le cas de CryptoJS présente la plus longue trace documentaire des trois. Les versions 3.2.0 et 3.2.1 ont remplacé le générateur faible par la source cryptographique native du système, puis la version 3.3.0 a annulé cette modification au motif qu’elle rompait la compatibilité pour les utilisateurs existants. La version 4.0.0, publiée en février 2020, a corrigé définitivement le problème, et la bibliothèque est effectivement restée sans maintenance depuis 2023. Cinq applications de portefeuille généraient encore des phrases via le chemin vulnérable et, comme une même phrase dérive des adresses sur de nombreux réseaux, un seul tirage faible a exposé des soldes sur 15 chaînes à la fois. Coinspect a suivi 5 690 922 dollars drainés en deux vagues au 13 juillet 2026 et a décrit ce total comme une estimation minimale.
Le cas du micrologiciel de 2026 a déplacé la même défaillance dans le matériel, où une erreur de compilation est restée sans examen pendant plus de cinq ans, avant que le fournisseur ne publie un avis le 30 juillet 2026. Galaxy Research, qui suivait les transferts correspondants sur la chaîne, a confirmé que 1 719 BTC avaient été drainés, pour une valeur d’environ 111 millions de dollars, au 8 août 2026. Le fournisseur n’a publié aucun montant de pertes de son propre chef ; tous les chiffres en circulation proviennent donc d’analyses de la chaîne réalisées par des tiers, et non du fabricant.
Un outil en ligne de commande, une dépendance JavaScript et une chaîne de compilation matérielle se situent à des niveaux différents de la chaîne d’approvisionnement et font l’objet de processus de vérification différents ; chacun d’eux a pourtant produit des phrases qui semblaient parfaitement correctes à la personne qui les notait.
Force brute comparée à un espace de recherche effondré
| Question | Forcer par brute force une phrase correctement générée | Parcourir un espace de recherche effondré |
|---|---|---|
| Ce que recherche l’attaquant | 2128 jusqu’à 2256 phrases candidates | La plage de sortie d’un générateur défaillant, entre 232 et environ 272 dans les cas documentés |
| Faisabilité sur du matériel courant | Hors de portée de plusieurs ordres de grandeur | Accessible avec un ordinateur portable et des outils librement disponibles |
| L’apparence de la phrase pour le détenteur | Mots valides, somme de contrôle valide, format normal | Mots valides, somme de contrôle valide, format normal |
| Ce qui détermine l’exposition | Tout ce que le détenteur fait ou omet de faire | L’outil ou la version du micrologiciel utilisés lors de la création, souvent des années auparavant |
| L’efficacité d’une correction ultérieure | Sans objet | Un générateur corrigé ne couvre que les nouvelles phrases ; une phrase existante reste vulnérable jusqu’à son remplacement |
| Cas documentés publiquement | Aucun cas signalé | Trois entre 2023 et 2026 |
Pourquoi vous ne pouvez pas vérifier comment votre propre phrase a été générée
Les trois cas partagent une propriété plus importante que n’importe quel bug pris isolément. Dans tous les cas, la faiblesse se trouvait à l’étape qu’un détenteur ne peut pas inspecter, et elle y est restée jusqu’à ce qu’un chercheur externe la découvre. Lire le code source publié d’un portefeuille, lorsqu’il est disponible, montre ce que le code indique. Cela ne confirme pas ce qui s’exécute sur la puce que vous tenez en main. ELLIPAL énonce cette limite dans sa propre documentation sur l’architecture de sécurité, et cet écart s’applique à tous les fournisseurs de portefeuilles matériels, y compris ELLIPAL.
La certification ne comble pas non plus cet écart. L’évaluation selon les Critères communs s’applique à l’élément sécurisé, c’est-à-dire à la puce isolée qui stocke les clés et effectue les signatures, et couvre la résistance de cette puce aux attaques physiques et par canaux auxiliaires. L’évaluation selon les Critères communs ne s’étend pas au micrologiciel du portefeuille qui fonctionne autour de la puce, et le micrologiciel est précisément la couche où se situait l’erreur de compilation de 2026.
Ce qui reste possible pour le détenteur, c’est le remplacement. BIP39 définit un format portable : une phrase générée à un endroit peut être importée dans un portefeuille compatible de n’importe quelle marque, et une phrase que vous avez des raisons de considérer comme peu fiable peut être remplacée sans changer de matériel. Sur les appareils ELLIPAL, cette procédure passe par la saisie de récupération sur l’ELLIPAL Titan 2.0 et par l’ELLIPAL X Card Starter hors ligne lors de la configuration de l’ELLIPAL X Card. Aucune de ces deux méthodes ne vous demande de saisir vos mots dans une application téléphonique.
Aucune solution d’auto-conservation ne supprime tous les risques. Un format de phrase portable permet de garder réversible une décision précise ; ainsi, un détenteur qui doute d’un générateur peut passer à une nouvelle phrase tout en continuant à utiliser le même appareil.
Quelle situation vous correspond ?
- Votre phrase provient d’un portefeuille matériel dont le fournisseur a publié un avis concernant l’entropie. Lisez l’avis en vérifiant les versions exactes du micrologiciel et les dates, car les plages concernées sont étroites et un appareil situé en dehors de cette plage n’est pas concerné. Si la plage couvre effectivement votre appareil, considérez que c’est la phrase qu’il faut remplacer, et non le matériel.
- Votre phrase provient d’un site web ou d’un générateur fonctionnant dans un navigateur. Un générateur dans le navigateur dépend du propre JavaScript de la page, qui est la couche défaillante dans le cas de CryptoJS. Considérez une phrase créée de cette manière comme non vérifiée ; transférer le solde vers une phrase fraîchement générée élimine la dépendance à une page que vous ne pouvez pas auditer.
- Votre phrase provient d’un outil en ligne de commande ou d’une bibliothèque que vous avez intégrée vous-même. Consultez l’historique des avis de sécurité du projet et comparez-le à la version exacte que vous avez exécutée, comme le signalait l’avis Milk Sad pour les versions bx 3.0.0 à 3.6.0.
- Vous détenez une phrase générée et remise par quelqu’un d’autre. Vous ne connaissez pas l’étape de génération et ne pouvez pas la reconstituer après coup ; la voie la plus sûre consiste donc à créer vous-même une nouvelle phrase, puis à y transférer le solde.
- Vous investissez à long terme et souhaitez régler à l’avance la question du fournisseur. Choisissez un appareil acceptant l’importation d’une phrase BIP39 existante, afin que le générateur reste votre choix plutôt qu’une caractéristique fixe de l’appareil.
- Votre phrase a été générée sur un appareil récent et aucun avis de sécurité ne la concerne. La question de l’entropie ne se pose pas dans cette situation. La durabilité de la sauvegarde, le stockage physique et la vérification des transactions sont les points sur lesquels il est utile de se concentrer, et notre guide sur la sauvegarde d’un portefeuille matériel couvre l’aspect du stockage.
Questions fréquemment posées
Une phrase de récupération a-t-elle déjà réellement été déchiffrée ?
Aucun cas public ne décrit un attaquant ayant récupéré une phrase correctement générée en parcourant l’intégralité de l’espace de recherche. Toutes les récupérations documentées depuis 2023 concernaient un générateur ayant produit un ensemble de phrases possibles bien plus restreint que ce que prévoit BIP39, ce qui a réduit la tâche de l’attaquant à une liste qu’un matériel courant peut traiter. Le risque est lié à l’outil qui a créé la phrase, et non à sa longueur.
Combien de combinaisons une phrase de récupération de 24 mots comporte-t-elle ?
Une phrase BIP39 de 24 mots possède 2256 combinaisons valides, soit environ 1,2 × 1077. Ce chiffre provient de 256 bits d’entropie, et le dernier mot de la phrase contient une somme de contrôle de 8 bits qui le relie aux mots précédents ; ainsi, une seule combinaison de mots sur 256 forme une phrase valide. Une phrase de 12 mots possède 128 bits d’entropie et 2128 combinaisons valides, soit environ 3,4 × 1038.
Comment savoir si ma phrase de récupération a été générée de manière peu robuste ?
Il n’existe aucun test à effectuer sur les mots eux-mêmes, car une phrase faible et une phrase robuste ont le même format et passent toutes deux la validation de la somme de contrôle. Ce que vous pouvez vérifier, c’est la provenance. Identifiez l’application, l’outil ou la version du micrologiciel de l’appareil qui a créé la phrase, puis consultez l’historique des avis de sécurité du projet pour connaître les versions et les dates concernées. Notre guide sur la vérification de l’entropie réelle de votre portefeuille explique cette vérification dans le cas du micrologiciel de 2026.
Une phrase générée sur un appareil hors ligne est-elle automatiquement robuste ?
Non. Générer une phrase hors ligne élimine l’exposition au réseau au moment de la création, mais la robustesse du résultat dépend toujours de la source d’entropie et du micrologiciel qui l’exploite. Le cas du micrologiciel de 2026 concernait des appareils générant entièrement hors ligne, sur lesquels une erreur de compilation redirigeait le tirage vers un générateur pseudo-aléatoire logiciel. La génération hors ligne et la robustesse de la génération sont deux propriétés distinctes, et la seconde ne peut pas être confirmée par le détenteur.
Une phrase plus longue me protège-t-elle contre un générateur faible ?
Non. Une phrase de 24 mots possède deux fois plus d’entropie qu’une phrase de 12 mots lorsque toutes deux sont générées correctement, et un générateur défaillant plafonne l’espace de recherche réel, quelle que soit la longueur demandée. Dans le cas de Milk Sad, l’entropie effective est restée à 232 ou inférieur à la longueur sélectionnée par l’utilisateur. Choisissez 24 mots pour la marge qu’ils offrent dans des conditions normales, et considérez la provenance du générateur comme une question distincte.
Si un générateur a été corrigé dans une version ultérieure, ma phrase existante est-elle également corrigée ?
Non. Un générateur corrigé s’applique aux phrases créées après le correctif. Une phrase issue d’une source faible conserve l’entropie avec laquelle elle a été créée, car les mots codent déjà cette valeur et le portefeuille en dérive toutes les adresses. Pour remédier à cette situation, il faut générer une nouvelle phrase, puis transférer le solde vers les adresses dérivées de celle-ci.
Dois-je acheter un nouvel appareil si ma phrase a été générée de manière vulnérable ?
Généralement, non. Tout appareil prenant en charge l’importation ou la récupération d’une phrase BIP39 existante acceptera une nouvelle phrase générée ailleurs, de sorte que le matériel que vous possédez pourra continuer à fonctionner avec une phrase de remplacement. Lorsqu’un fournisseur a déployé un correctif de micrologiciel, ce correctif s’applique aux portefeuilles créés par la suite, et une phrase existante doit toujours être remplacée. Les coûts réels sont le transfert de votre solde sur la blockchain vers les nouvelles adresses, ainsi que l’achat d’un nouveau support de sauvegarde pour les nouveaux mots.
Une phrase secrète peut-elle compenser une phrase de récupération faible ?
Une phrase secrète BIP39 modifie le portefeuille dérivé d’une phrase donnée. Ainsi, un attaquant qui reconstituerait une phrase faible devrait également retrouver la phrase secrète avant d’accéder à des fonds. L’entropie sous-jacente de la phrase reste exactement aussi faible qu’auparavant, et la phrase secrète ajoute un deuxième élément qui doit être préservé dans vos sauvegardes, car sa perte entraîne la perte de l’accès au portefeuille. Considérez une phrase secrète comme un facteur supplémentaire, et non comme une solution pour corriger le générateur.
À propos d’ELLIPAL
ELLIPAL est présent sur le marché depuis 2018, avec plus d’un million d’utilisateurs dans plus de 140 pays. Les appareils ELLIPAL suivent les normes BIP39 et BIP44 : une phrase de récupération créée sur un appareil ELLIPAL peut être restaurée sur tout portefeuille compatible, quelle que soit sa marque, et une phrase créée ailleurs peut être importée sur un appareil ELLIPAL. L’ELLIPAL Titan 2.0 conserve les clés dans un élément sécurisé certifié et permet de saisir la phrase de récupération directement sur l’appareil. L’ELLIPAL X Card intègre une puce sécurisée CC EAL6+ et finalise la configuration sur l’ELLIPAL X Card Starter hors ligne. L’ELLIPAL App prend en charge plus de 10 000 tokens sur plus de 45 blockchains.
Possédez-le. Utilisez-le.
Note de sécurité. Aucune configuration en auto-conservation ne supprime tous les risques. Le stockage hors ligne des clés et la conception renforcée de l’appareil réduisent considérablement certaines catégories d’attaques à distance, mais n’éliminent pas les risques physiques, liés à la chaîne d’approvisionnement, au micrologiciel, à l’ingénierie sociale ou aux erreurs de l’utilisateur. Achetez auprès d’une source officielle, conservez votre phrase de récupération sur une sauvegarde hors ligne durable, stockée séparément de l’appareil, ne partagez jamais ces mots et ne les saisissez pas dans une application connectée à Internet, puis vérifiez chaque transaction sur l’appareil de signature. Cet article fournit des informations générales à titre éducatif sur l’architecture des portefeuilles et la génération des phrases de récupération ; il ne constitue pas un conseil financier, d’investissement ou de garde.




