MSTR Cat

Blockchain/Niveau II · Mécanismes/2.1 Cryptographie/Leçon 7

Phrases de récupération (BIP39)

Douze mots, un checksum et la seed de 512 bits qui contrôle tout

MatérielLa liste de mots anglaise de BIP39 (github.com/bitcoin/bips)Un carnet

Curiosité

  1. Pourquoi une séquence aléatoire de bits devient-elle douze mots anglais au lieu de rester en hexadécimal ?
  2. Qu’advient-il du portefeuille si un mot de la phrase est remplacé par un autre mot de la même liste ?
  3. Comment exactement les mêmes douze mots peuvent-ils générer deux portefeuilles complètement différents ?

Explorer

  1. BIP39, rédigé en 2013 par des développeurs, dont l’équipe à l’origine du portefeuille matériel Trezor, convertit l’entropie cryptographique brute en une phrase mnémonique lisible par un humain. Recopier à la main 32 ou 64 caractères hexadécimaux expose aux erreurs ; les mots sont plus faciles à écrire, à relire et à vérifier. La norme définit une correspondance déterministe entre des séquences binaires et les mots d’un dictionnaire fixe, ce qui permet aux utilisateurs de restaurer toute leur hiérarchie de clés en mémorisant ou en notant une courte liste.
  2. Le processus commence par l’entropie : une séquence aléatoire de 128, 160, 192, 224 ou 256 bits. On y ajoute un checksum constitué des N premiers bits de son hash SHA-256, où N est égal à la longueur de l’entropie divisée par 32. Pour une phrase standard de 12 mots (entropie de 128 bits), cela ajoute 4 bits ; pour 24 mots (entropie de 256 bits), cela ajoute 8 bits. Ce checksum permet au logiciel de portefeuille de détecter la plupart des erreurs de transcription dès l’importation.
  3. La chaîne combinant l’entropie et la somme de contrôle est divisée en segments de 11 bits, chacun indexant un mot de la liste anglaise BIP39 comprenant 2 048 entrées uniques. Cette liste a été sélectionnée de manière à ce que aucun deux mots ne partagent les mêmes quatre premières lettres, ce qui réduit l’ambiguïté lors de la transcription manuelle. Comme le segment final inclut une partie de la somme de contrôle, les mots choisis au hasard échouent généralement : seulement environ 1 sur 16 séquences aléatoires de 12 mots passe le test de la somme de contrôle (1 sur 256 pour 24 mots).
  4. Pour obtenir la seed effectivement utilisée pour générer les clés, la phrase mnémonique et une passphrase facultative sont passées à PBKDF2-HMAC-SHA512 avec 2 048 itérations. Le sel est formé de la chaîne littérale 'mnemonic' suivie de la passphrase (ou simplement 'mnemonic' en l’absence de passphrase). Cette fonction d’étirement produit une seed déterministe de 512 bits. Lorsqu’une passphrase est utilisée, un attaquant qui détient les douze mots ne peut toujours pas obtenir la seed sans elle, à condition que la passphrase soit assez robuste pour résister aux tentatives de devinette.
  5. Ce mécanisme crée un modèle de sécurité à deux niveaux. La phrase mnémonique assure la récupération et une détection d’erreurs de base, tandis que la passphrase joue le rôle d’une couche de « portefeuille caché ». Certains utilisateurs conservent un petit portefeuille leurre derrière les seuls mots et placent leurs fonds principaux derrière une passphrase. Mais c’est aussi une source de perte : si la passphrase est oubliée ou perdue, l’accès aux fonds est définitivement perdu, car il est impossible de la retrouver à partir de la seule phrase mnémonique.
  6. Tous les portefeuilles ne suivent pas BIP39 ; Electrum utilise son propre schéma, et SLIP-0039 divise les secrets en parts de Shamir pour une garde à plusieurs parties. BIP39 reste néanmoins la norme dominante grâce à sa large compatibilité avec les appareils matériels et les applications logicielles. La seed de 512 bits générée ici sert d’entrée racine à la dérivation hiérarchique déterministe des clés selon BIP32 : chaque clé privée d’un portefeuille remonte donc, en dernier ressort, à cette combinaison précise de phrase et de passphrase.

Faits clés

  • BIP39 convertit 128 à 256 bits d’entropie ainsi qu’un checksum SHA-256 en 12 à 24 mots tirés d’une liste de 2 048 mots.
  • La liste de mots anglaise est conçue de sorte que les quatre premières lettres suffisent à identifier chaque mot.
  • PBKDF2-HMAC-SHA512, avec 2 048 itérations, étire la phrase mnémonique et la passphrase en une seed de 512 bits.
  • Une passphrase différente appliquée à la même phrase mnémonique génère un portefeuille entièrement distinct et valide.
  • Perdre les mots de la phrase mnémonique ou la passphrase associée entraîne la perte définitive de l’accès aux fonds.
  • SLIP-0039, une norme distincte et incompatible, divise un secret en parts de Shamir pour une récupération par seuil.

Exercice neuf, six, trois, un

9RassemblerListez 9 portefeuilles ou appareils de signature et indiquez si chacun utilise BIP39, son propre schéma, ou SLIP-39.
6RegrouperRegroupez les 9 en 6 selon leur manière de sauvegarder les clés : 12 mots, 24 mots, mots plus passphrase, parts de Shamir, configuration multisig, ou autre.
3DistillerRéduisez les 6 à 3 compromis entre facilité de récupération et résistance au vol.
1CristalliserÉcrivez 1 phrase expliquant pourquoi le dernier mot d’une phrase BIP39 est mathématiquement différent des onze qui le précèdent.

Vérification des faits

Les dates, les chiffres et les affirmations ont été vérifiés à l’aide des sources publiées listées ci-dessous.

Ouvrir dans l'académie interactive →

EN PT ES ZH JA KO RU DE MS