S'inscrire
S'inscrire
Si vous avez suivi la série « Sécuriser ses bitcoins » sur le blog de Bitstack, vous savez dorénavant que les bitcoins sont généralement sécurisés par des paires de clés cryptographiques. Vous savez également que, dans le cas des portefeuilles déterministes et hiérarchiques (HD), une phrase composée de 12 ou de 24 mots vous permet de récupérer l’accès à toutes les clés de votre wallet.
Cette phrase représente un point de défaillance unique pour votre portefeuille (SPOF). Si un individu malintentionné y a accès, il pourrait vous voler tous vos bitcoins.
Dans cet article, nous étudions une solution permettant d’améliorer la sécurisation d’un portefeuille sur Bitcoin : la passphrase BIP39. Découvrez ce qu’est une passphrase, quel est son rôle et quelles sont les bonnes pratiques à respecter lorsque l’on en utilise une.
Une passphrase est simplement un mot de passe supplémentaire et optionnel, que l’utilisateur choisit d’ajouter à son portefeuille Bitcoin.
Elle ne doit pas être confondue avec les mots de passes des logiciels ou les PIN, qui n’ont qu’une fonction de verrouillage, mais qui n’interviennent pas dans la dérivation. La passphrase, elle, intervient bien dans les dérivations des clés cryptographiques du portefeuille. Elle se trouve à la même profondeur que la phrase de récupération (24 mots).
Autrement dit, si vous mettez en place une passphrase sur votre portefeuille, la phrase de 24 mots seule ne suffira plus pour récupérer vos bitcoins. Vous devrez disposer de la phrase de récupération et de la passphrase.
Attention, il n'est pas rare de croiser d’autres termes qui décrivent le concept de la passphrase comme « seed phrase à deux facteurs », « extension de seed » ou encore « 25ᵉ mot ».
Il est important de comprendre que le fait d’appliquer une passphrase sur une phrase de récupération génère un tout nouveau portefeuille, avec des clés publiques et des clés privées différentes du même portefeuille sans passphrase. De la même manière, la simple modification d’un seul caractère sur la passphrase générera encore un autre portefeuille Bitcoin.
Ainsi, il convient de bien sécuriser sa passphrase, de la même manière que l’on sécuriserait sa phrase de récupération. Les deux sont indispensables en cas de problème.
Comme évoqué dans la partie précédente, la passphrase et la phrase de récupération (24 mots) sont utilisées ensemble pour déterminer la graine du portefeuille HD, la clé maîtresse, et donc toutes les clés cryptographiques qui en découlent.
La phrase de récupération et la passphrase sont ainsi deux éléments différents. Contrairement à la passphrase qui est absolument optionnelle, la phrase de récupération, elle, ne l’est pas. Si vous utilisez un portefeuille déterministe et hiérarchique, vous devrez forcément disposer de votre phrase de 12 ou 24 mots.
Par ailleurs, la phrase de récupération doit respecter une certaine forme. Elle est établie sur une liste de mots indiqués dans le BIP39, et elle doit nécessairement disposer d’une somme de contrôle (checksum). Au contraire, la passphrase est totalement libre. Elle peut être choisie de façon arbitraire par l’utilisateur et n’est soumise à aucune restriction (hormis une limite de taille maximale).
Dans des termes techniques, la passphrase représente ce que l’on appelle un « sel cryptographique ». La fonction utilisée pour passer de la phrase mnémonique et de la passphrase à la graine s’appelle « PBKDF2 ».
Tout d’abord, la passphrase permet d’améliorer la sécurité d’un portefeuille Bitcoin en répartissant les risques liés à la phrase de récupération sur deux facteurs différents. Le point de défaillance unique est donc supprimé.
En effet, dans le cas d’un portefeuille classique, si un voleur accède à votre phrase de récupération, il peut immédiatement accéder à l’intégralité de vos bitcoins. En revanche, si vous avez mis en place une passphrase sur ce portefeuille, alors la phrase de récupération seule ne suffit plus pour accéder aux bitcoins. Il faut disposer de la phrase de 24 mots et de la passphrase.
Puisque le portefeuille dérivé avec la passphrase est différent du même portefeuille sans passphrase, on peut utiliser cette stratégie pour éviter les attaques physiques. Si l’on vous menace pour voler votre portefeuille, vous pouvez donner celui sans la passphrase. Il est même possible d’imaginer une stratégie avec un portefeuille sans passphrase sécurisant seulement une petite partie de votre épargne, et le même portefeuille avec passphrase sécurisant la plus grosse part de vos bitcoins. En cas d’attaque physique, vous pouvez donner le portefeuille sans passphrase afin de satisfaire le voleur, sans pour autant perdre la plus grosse partie de vos bitcoins.
Par ailleurs, la passphrase peut aussi être intéressante pour éviter le besoin de confiance sur le caractère aléatoire de la génération de la phrase de récupération. Puisqu’elle peut être choisie arbitrairement, l’utilisateur peut parfaitement maîtriser sa génération. Par exemple, si vous n’avez pas confiance dans la manière dont votre portefeuille génère votre phrase de 24 mots, le fait d’utiliser une passphrase que vous avez choisie par-dessus permet de mitiger les risques existants.
Une bonne passphrase se construit de la même manière qu’un bon mot de passe. L’objectif est de garantir qu’elle soit résistante aux attaques par brute force.
Une attaque par brute force est une méthode de cryptanalyse utilisée pour tenter de trouver un mot de passe en testant une à une toutes les combinaisons possibles.
Ainsi, une bonne passphrase doit :
Une fois la passphrase choisie, il est important d’en faire une ou plusieurs sauvegardes, de la même manière que l’on conserve la phrase de récupération. Vous pouvez ainsi la noter sur un support en papier ou en métal, en veillant à la conserver lisible et dans l’ordre. Il est souvent conseillé de ne pas stocker au même endroit la copie de la passphrase et la copie de la phrase de récupération, afin d’éviter de vous faire voler les deux simultanément.
De la même manière que pour une phrase de récupération, je vous conseille vivement de vérifier la validité de votre sauvegarde de la passphrase en effectuant un test de récupération. Tant que votre portefeuille est encore vide, notez une information témoin, supprimez le portefeuille vide et tentez de le récupérer uniquement avec vos sauvegardes de la phrase de récupération et de la passphrase.
➤ Découvrir concrètement comment réaliser un test de récupération.
La mise en place d’une passphrase sur un portefeuille Bitcoin n’est pas anodine. Il est important que vous compreniez bien son fonctionnement technique et les risques que cela implique avant de la mettre en place.
Tout d’abord, l’utilisation d’une passphrase augmente la complexité de votre portefeuille Bitcoin, et donc, mécaniquement, cela augmente le risque de perte. La sécurisation de bitcoins n’est qu’une question de compromis entre le risque de perte et le risque de vol. La passphrase permet de réduire le risque de vol, mais elle vient amplifier le risque de perte en contrepartie.
Ensuite, contrairement à la phrase de récupération, la passphrase n’est soumise à aucune restriction sur sa forme. En cas de récupération, si la sauvegarde de la passphrase est mal réalisée, cela peut poser des problèmes. Surtout, une passphrase ne dispose pas d’une somme de contrôle permettant de vérifier sa validité. Il faut ainsi veiller à en faire des sauvegardes bien lisibles.
La passphrase est un mot de passe optionnel que l’on peut ajouter sur un portefeuille Bitcoin. Elle agit directement sur la base de l’arbre de dérivation des paires de clés cryptographiques.
Personnellement, je vois la passphrase comme une solution intermédiaire entre le portefeuille classique et le portefeuille multi-signatures. Elle permet d’améliorer simplement la sécurité d’un portefeuille personnel, sans nécessiter d’investissements supplémentaires et tout en conservant une gestion bien plus simple que celle d’un multi-sig.
Dans l’article de la semaine prochaine, nous verrons concrètement comment on peut ajouter une passphrase sur un portefeuille Bitcoin.
➤ Découvrir le tutoriel complet pour configurer une passphrase BIP39.