Glossaire / Portefeuilles et conservation
Portefeuille mémorisé
Aussi appelé brain wallet.
- Qu'est-ce que le portefeuille mémorisé ?
- Le portefeuille mémorisé transforme une phrase mémorisée en clé privée en la hachant directement, une conception que des chercheurs ont vidée à grande échelle et qu'aucun portefeuille encore maintenu ne propose aujourd'hui.
L'attrait était évident : mémoriser une phrase, franchir une frontière sans rien emporter, recréer le portefeuille de l'autre côté. Le défaut était tout aussi simple, car les gens choisissent des phrases devinables et un attaquant peut tester des candidats hors ligne gratuitement. Une étude universitaire de 2016 a identifié 884 portefeuilles mémorisés contenant 1 806 bitcoin entre 2011 et 2015, et tous sauf 21 avaient été vidés.
Comment cela fonctionne
Statut : les portefeuilles mémorisés ont été abandonnés après l'apparition d'outils de cassage publics en 2015, et aucun portefeuille encore maintenu ne propose l'option. Les phrases de récupération générées par l'appareil les ont entièrement remplacés.
La construction tient en une ligne de code. Prenez la phrase, appliquez-lui SHA-256, et traitez les 32 octets obtenus comme une clé privée. Il n'y a ni sel, ni composante aléatoire, ni lenteur délibérée. La même phrase produit donc la même clé pour toute personne sur terre qui l'imagine un jour, ce qui transforme un secret en problème de recherche dans une liste.
Les attaquants en tirent parti directement. Ils constituent une liste de toutes les adresses ayant jamais détenu un solde, la chargent dans une structure d'appartenance rapide, puis hachent des phrases candidates par millions : paroles de chansons, versets religieux, répliques de films, mots de passe issus d'anciennes fuites de données, et toutes les chaînes que ces sources permettent de permuter. Chaque hachage est comparé à la liste d'adresses en microsecondes. Ryan Castellucci a présenté l'attaque au DEF CON 23 en août 2015 et a publié brainflayer, l'outil qui a rendu la technique courante. La même équipe de recherche a compté une douzaine de draineurs concurrents guettant les nouveaux dépôts, ce qui explique qu'un portefeuille mémorisé approvisionné était généralement vidé en moins d'un jour et souvent en quelques minutes.
Le choix humain de la phrase est la partie qui ne peut pas être corrigée. Même une phrase que vous croyez originale se situe dans un espace de recherche bien plus petit que les 2 puissance 256 qu'occupe une clé aléatoire, et l'attaquant n'a besoin que des phrases que les gens choisissent réellement.
Où on le rencontre
Les portefeuilles mémorisés appartiennent au passé, mais l'idée revient sans cesse sous de nouveaux noms, il vaut donc la peine de la reconnaître. WarpWallet, publié par Keybase en 2014, a tenté de sauver le concept avec scrypt et PBKDF2 plus une adresse e-mail comme sel, ce qui augmente le coût par tentative sans changer le fait qu'un humain a choisi l'entrée.
La confusion actuelle porte sur la mémorisation d'une véritable phrase de récupération. Douze mots générés par un portefeuille matériel portent 128 bits d'entropie machine et restent solides que vous les mémorisiez ou non. Une phrase que vous avez inventée porte l'entropie que contient votre imagination, bien moins qu'il n'y paraît. Si un site, une application ou un outil de « phrase personnalisée » vous demande de saisir une phrase que vous avez imaginée et vous promet un portefeuille en retour, fermez-le.
Portefeuille mémorisé vs phrase secrète
Un portefeuille mémorisé est tout le secret ; une phrase secrète BIP-39 est un facteur supplémentaire ajouté par-dessus des mots générés par machine. Cette différence décide de l'attaque. Pour tester un portefeuille mémorisé, un adversaire n'a besoin que d'une liste de mots et d'électricité, car les adresses sont publiques. Pour tester une phrase secrète, un adversaire doit déjà détenir vos mots de récupération, ce qui signifie que l'attaque ne commence qu'après une compromission physique. Une entrée humaine faible est dangereuse dans les deux cas, mais une seule des deux est exposée à tout l'internet dès qu'elle est approvisionnée.