Entropie
L'entropie est la mesure de l'aléa contenu dans une donnée. Une seed Bitcoin doit reposer sur 128 à 256 bits d'entropie réelle pour être sûre. Une mauvaise entropie (PRNG faible, brain wallet) peut conduire à la perte des fonds. Les hardware wallets utilisent des sources matérielles (TRNG) pour la garantir.
Définition
L'entropie, au sens cryptographique, mesure la quantité d'imprévisibilité dans une donnée. Elle s'exprime en bits : un bit d'entropie correspond à un bit qu'un attaquant doit deviner. Une clé de 256 bits parfaitement aléatoire offre 256 bits d'entropie : il faut en moyenne 2^255 tentatives pour la deviner par force brute. Une clé « bien choisie » à partir d'un mot de passe humain, même long, contient rarement plus de 50-60 bits d'entropie réelle.
Pourquoi c'est critique sur Bitcoin
Sur Bitcoin, tout repose sur une clé privée de 256 bits. Si cette clé est devinable, les fonds sont volés. L'entropie minimale d'une seed BIP-39 est donc :
| Taille seed | Entropie | Mots | |---|---|---| | 128 bits | 128 bits | 12 mots | | 160 bits | 160 bits | 15 mots | | 192 bits | 192 bits | 18 mots | | 224 bits | 224 bits | 21 mots | | 256 bits | 256 bits | 24 mots |
128 bits offrent déjà environ 2^127 ≈ 1,7 × 10^38 combinaisons : assez pour résister à tout adversaire imaginable, y compris étatique, pour plusieurs décennies. 256 bits est un overkill confortable.
Les sources d'entropie
Il existe deux familles :
- TRNG (True Random Number Generator) : utilise un phénomène physique imprévisible (bruit thermique, jonction PN, oscillateurs en anneau, bruit quantique). Les hardware wallets sérieux (Coldcard, Ledger, Trezor, Passport) embarquent des TRNG certifiés.
- PRNG (Pseudo-Random Number Generator) : algorithme déterministe qui amplifie une petite graine. Sûr si la graine est bien entropique (
/dev/urandomsous Linux), mais désastreux si la graine est devinable.
Catastrophes historiques
Plusieurs incidents ont prouvé que les sources d'entropie faibles tuent :
- Android 2013 : un bug dans
SecureRandomproduisait parfois des nonces ECDSA répétés. Plusieurs wallets Android ont été vidés. - Debian OpenSSL 2008 : un commit malheureux a réduit l'espace d'entropie à 32 768 valeurs pendant 2 ans. Toutes les clés générées étaient cassables en quelques minutes.
- Brain wallets : des utilisateurs ont créé des clés à partir de phrases mnémoniques mémorisables (citations célèbres, paroles de chanson). Des bots crawlent ces phrases et vident les wallets en quelques secondes après le premier dépôt.
- Trust Wallet 2023 : faille dans la génération d'entropie sur le navigateur ; des dizaines de millions de dollars perdus.
Comment vérifier que votre entropie est sûre
- Utiliser un hardware wallet avec TRNG certifié (CC EAL5+, type Coldcard ou Passport).
- Coldcard offre le « dice roll » : générer la seed à partir de 99 lancers de dés (256 bits).
- Ne JAMAIS générer une seed à partir d'une phrase humaine (« mot de passe créatif »).
- Vérifier avec entropy XOR : ajouter de l'entropie utilisateur à l'entropie machine (BIP-85, SeedXOR).
- Tester l'entropie d'une seed : utiliser des outils comme
coldcard.com/docs/seed-entropy.
À retenir
L'entropie est l'unique rempart entre vos bitcoins et le reste du monde. Aucune cryptographie ne peut protéger une clé déjà devinable. Confiez la génération à un hardware wallet sérieux, ou tirez 99 fois un dé : ce sont les deux seules méthodes véritablement sûres. Voir seed phrase et brainwallet.
Termes lies
- Seed phraseLa seed phrase (ou phrase de recuperation) est une suite de 12 ou 24 mots qui permet de restaurer l'acces a vos bitcoins. Elle genere mathematiquement toutes vos cles privees. C'est la sauvegarde ultime de votre portefeuille : quiconque la connait controle vos fonds. Elle doit etre stockee hors ligne, jamais photographiee ni partagee.
- Force bruteUne attaque par force brute consiste à essayer toutes les combinaisons possibles d'une clé ou d'un mot de passe. Sur 256 bits, c'est mathématiquement impossible avec la technologie actuelle. La force brute reste toutefois efficace contre les seeds à faible entropie ou les passphrases courtes. Bitcoin tire sa sécurité de l'astronomie de l'espace de clés.
- Brain walletUn brain wallet est un wallet dont la seed est mémorisée mentalement, généralement issue d'une phrase choisie par l'utilisateur. Très peu sûr car les humains sous-estiment l'entropie. De nombreux brain wallets ont été vidés par force brute. Codex32 ou SeedXOR sont de meilleures alternatives.
- Pseudo-aléatoireUn nombre pseudo-aléatoire est généré par un algorithme déterministe (PRNG) à partir d'une graine. Il imite l'aléa sans en être. Pour la cryptographie, on lui préfère les vrais générateurs matériels (TRNG). Une graine prévisible mène à des clés vulnérables.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.