Cet article est un fondamental sur la sécurité.
Avant d’aborder quoique ce soit concernant les 24 mots ou ce qu’on appelle la ‘graine’, nous devons survoler deux notions importantes à l’origine de leur existence.
Nous y reviendrons peut-être plus tard…
Une histoire de clés
La partie ‘crypto’ du mot cryptomonnaie vient de l’usage massif d’une forme de cryptographie née dans la seconde moitié du 20ᵉ siècle : la cryptographie asymétrique.
Sans rien divulguer, elle permet d’échanger en privé et de ‘signer’ des informations afin de certifier l’expéditeur d’un message.
Elle emploie deux clés : une ‘publique’ que l’on peut communiquer à tout le monde comme s’il s’agissait d’une adresse et une ‘privée’ que l’on doit absolument garder secrète comme s’il s’agissait d’un mot de passe. Ces deux clés sont liées mathématiquement, mais ce lien ne va que dans un sens.
Les transactions dans Bitcoin (et autres cryptos) sont basées dessus : la clé publique détermine l’adresse où envoyer/recevoir les bitcoins tandis que la clé privée permet de dépenser les bitcoins qui s’y trouvent grâce à la signature cryptographique qu’elle peut produire.
Au prochain BIP, Bitcoin sera très exactement
Bien que distribué et sans autorité de contrôle, Bitcoin évolue continuellement en se servant des méthodes employées dans le monde de l’Open Source : des développeurs d’un peu partout travaillent à son amélioration et publient régulièrement ce qu’on appelle des ‘BIPs’ (‘Bitcoin Improvement Proposals’, traduisons ‘Propositions d’Amélioration de Bitcoin). Ces BIP’s peuvent être acceptées ou refusées par le réseau selon une sorte de mécanisme de vote… souvent après de longues délibérations sur les forums.
Maintenant que nous cernons mieux ce que sont les clés, adresses et BIPs, nous pouvons aller au cœur du sujet.
De la cryptographie ergonomique
Avec la diffusion de Bitcoin auprès du grand public, il est vite apparu que le maniement des clés et des adresses n’était pas pratique. Entre autres, pour des raisons de sécurité maximale, il était recommandé d’en changer à chaque transaction. Mais surtout, de nombreux portefeuilles électroniques voyaient le jour et il leur fallait une bonne interopérabilité (comprenez : faire en sorte que les mêmes clés puissent aisément être utilisées avec n’importe quelle application).
Un standard a donc été mis au point, publié et voté dans les BIP32, BIP39 et BIP44.
NB : ce standard est également employé dans d’autres cryptomonnaies
Il a permis l’émergence de portefeuilles dits ‘HD’ pour ‘Hiérarchiquement Déterministes’, pouvant gérer par eux-mêmes une clé privée principale, ne l’exposant jamais et capables à partir de celle-ci d’en créer (‘dériver’) un grand nombre d’autres à usage unique.
Ainsi, les applis portefeuilles actuelles s’occupent de faire en coulisse toutes sortes d’opérations techniques pendant que l’utilisateur peut se focaliser sereinement sur ses transactions.
Monter en graine
Pour générer aléatoirement sa clé privée principale, l’application va piocher au hasard dans un dictionnaire de 2048 mots pour ressortir une suite ordonnée, 24 mots dans la majorité des cas : la fameuse ‘phrase mnémonique’.
Petit clin d’oeil : le mot ‘satoshi’ fait partie de ce dictionnaire
Sur cette suite de mots, des opérations spécifiques (appelées ‘dérivation’ et ‘hachage’) vont être exécutées pour, dans un premier temps, obtenir une base de calcul que l’on va appeler la ‘seed’ (ou ‘graine’) puis, dans un second temps, calculer la clé privée principale que l’application emploiera.
Remarquons que, dans la pratique, la phrase mnémonique est assimilée à la graine alors que, du point de vue technique, ce n’est pas tout à fait la même chose.
Savoir planter sa graine
La phrase mnémonique, c’est donc cette liste de mots que l’application nous demande toujours de bien noter dans le bon ordre ; elle est d’une importance CAPITALE : c’est notre seul et unique backup.
C’est elle qui détermine tout. Et c’est elle aussi qui peut re-déterminer tout.
En cas de perte ou de casse du matériel, c’est à partir d’elle et d’elle uniquement que nous sommes en mesure d’accéder de nouveau à nos fonds sur un autre appareil, retrouver tout notre historique de transactions, avec toutes les adresses dérivées, et continuer à échanger nos bitcoins.
… Rien qu’une petite graine pour un énorme trousseau !
Elle est l’ultime information, celle qu’il ne faut perdre à aucun prix.
Elle nécessite aussi une protection maximale, car quiconque met la main dessus peut très facilement produire un clone du portefeuille et en dépenser son contenu.
De la graine à la conserve
Il est donc primordial d’appliquer à cette liste de 24 mots les mêmes procédés de préservation que nous appliquerions à une clé secrète, à un code secret ou à n’importe quel document ou objet de valeur.
De nombreuses solutions existent. Nous n’allons pas les énumérer ici. Ceci étant, il demeure intéressant de rappeler quelques bonnes pratiques :
- comprendre que personne n’est en mesure de nous aider si elle est perdue ; il n’y a aucun ‘call center’ capable de surmonter cette cryptographie
- ne faire aucune copie numérique (logiciels texte, photo, gestionnaire de mots de passe…) ; notre liste doit strictement demeurer hors ligne
- transcrire les mots sur un support physique résistant le mieux possible au vieillissement et aux agressions extérieures ; le backup doit être durable
- vérifier la bonne lisibilité, le bon ordre et l’orthographe correcte de chaque mot
- choisir un endroit de stockage sûr, le mieux possible à l’abri de l’effraction ou de la malveillance
- se méfier de soi-même : pour la garde à long terme, la mémoire N’est PAS une bonne alliée
- penser à une possible transmission à des ayant-droits, le cas échéant
Le support qui a notre préférence actuelle consiste en une plaque de métal inoxydable dont les gravures sont protégées par un scellé-témoin. Quant au lieu préféré ? Au coffre ! Bien sûr !
Casser la graine ?
Certains utilisateurs pensent que fractionner la liste de mots pour en disperser des parties dans différents lieux est une bonne idée et améliore la gestion du risque. De fait, il est tout à fait possible d’écrire moins de mots que nécessaire sur plusieurs supports de sauvegarde qui seraient placés à différents endroits.
Cependant, nous le déconseillons. Non seulement cela entraîne une dégradation de la protection cryptographique en cas de malveillance, mais surtout cela augmente la probabilité de perte totale. La phrase mnémonique demeure un tout.
Fort heureusement, d’autres méthodes existent pour renforcer votre graine entière au moyen d’une double sécurité. Si vous le souhaitez, n’hésitez donc pas à recourir à l’avis de nos experts.
Enfin, en prendre de la graine
Les standards et méthodes évoqués dans le présent article ont été pensés, débattus et mis en œuvre par des développeurs au sommet de leur art, ayant à cœur de mettre à notre disposition des outils efficaces et faciles à employer. Ils méritent un grand coup de chapeau.
Pour les curieux, tapez ‘Bitcoin Improvement Proposal 32’, 39 et 44 sur votre moteur de recherche préféré.
Vous pouvez aussi aller faire un tour sur l’excellent site https://iancoleman.io/bip39/ et expérimenter vous-mêmes ce que donnerait la dérivation d’une phrase de votre choix…