Aller au contenu

Les bases de la crypto

Clés publiques, clés privées et adresses : ce que fait vraiment chacune

Une clé privée signe, une clé publique vérifie, une adresse reçoit. Ce que fait chacune, comment elles s'articulent, et pourquoi une seule doit rester secrète.

La rédaction de My Coin Partner 6 min de lecture
Three blocks of decreasing size connected left to right by one-way arrows

Déclaration de partenariat

My Coin Partner perçoit une commission de certaines des plateformes dont il parle. La commission ne décide pas de ce que nous classons ou recommandons, et chaque comparatif indique la grille selon laquelle il a été noté. Lire la divulgation complète.

Presque toutes les erreurs graves en crypto remontent à la confusion entre trois éléments qui se ressemblent par le nom mais se comportent de façon totalement différente. Une fois la distinction claire, la plupart des conseils de sécurité cessent d’être une liste de règles à mémoriser et deviennent évidents.

La clé privée signe

Une clé privée est un très grand nombre secret. Sa seule fonction est de produire des signatures : à partir d’une transaction, elle génère une preuve que le détenteur de la clé l’a autorisée. C’est toute la fonction.

La propriété essentielle est qu’une signature peut être vérifiée par n’importe qui sans révéler la clé qui l’a produite. C’est ce qui fait fonctionner tout le système. C’est aussi pourquoi la clé privée est la seule des trois qui doit rester secrète, et pourquoi quiconque l’obtient peut déplacer vos fonds sans aucune étape supplémentaire. Il n’existe aucune couche de mot de passe en dessous, ni aucune autorité capable d’annuler le résultat.

La clé publique vérifie

La clé publique est dérivée de la clé privée par un calcul à sens unique. À partir de la clé privée, on calcule trivialement la clé publique ; à partir de la clé publique, on ne peut récupérer la clé privée par aucun moyen pratique. Cette asymétrie constitue tout le fondement du système.

Sa fonction est la vérification. Quiconque détient la clé publique peut vérifier qu’une signature a été produite par la clé privée correspondante, ce qui permet au réseau de confirmer qu’une transaction a été autorisée par celui qui contrôle les fonds. La publier ne vous coûte rien.

L’adresse reçoit

Une adresse est dérivée de la clé publique, généralement en la hachant et en y ajoutant une somme de contrôle. Elle est plus courte, comporte une détection d’erreur qui fait qu’une adresse mal saisie est presque toujours rejetée plutôt qu’acceptée, et sur la plupart des réseaux elle ne révèle pas la clé publique tant que vous n’avez pas dépensé depuis cette adresse pour la première fois.

Sa fonction est d’être diffusée. Une adresse est une destination, rien de plus. En partager une n’expose vos fonds à aucun risque ; le pire résultat possible est une perte de confidentialité, car quiconque possède l’adresse peut voir son historique de transactions sur un registre public.

Où se situe la phrase de récupération

Une phrase de récupération n’est pas une quatrième clé. C’est un encodage lisible par un humain du nombre qui génère vos clés privées — généralement toutes, à travers de nombreuses adresses, de façon déterministe. C’est pourquoi une seule phrase peut restaurer un portefeuille entier.

Il en découle directement qu’une phrase de récupération est strictement plus sensible que n’importe quelle clé privée prise isolément, puisqu’elle équivaut à toutes à la fois. Chaque règle concernant les phrases de récupération — ne jamais la saisir sur un site web, ne jamais la photographier, ne jamais la stocker dans un gestionnaire de mots de passe que vous ne contrôlez pas — découle de ce seul fait et non d’une superstition. Notre entrée de glossaire traite de l’encodage lui-même.

Ce que cela rend évident

Une fois les trois rôles bien distingués, plusieurs conseils classiques cessent d’avoir besoin d’être mémorisés :

  • Partager une adresse est sûr, car une adresse ne fait que recevoir. Partager une clé privée est une perte totale, car une clé privée signe.
  • Un portefeuille matériel a de la valeur précisément parce qu’il effectue la signature à l’intérieur de l’appareil, de sorte que la clé privée n’existe jamais sur un ordinateur connecté à internet.
  • “Vérifiez l’adresse” concerne la somme de contrôle et les logiciels malveillants qui remplacent le presse-papiers, pas le secret.
  • Un service qui demande votre phrase de récupération pour “valider” ou “restaurer” quoi que ce soit demande en réalité toutes vos clés. Il n’existe aucune version légitime de cette demande.

La relation à sens unique

Le sens de la dérivation vaut la peine d’être retenu : phrase de récupération vers clé privée vers clé publique vers adresse, chaque étape étant facile dans un sens et infaisable dans l’autre. Toute conséquence pratique découle de cette flèche. Vous pouvez diffuser librement l’extrémité éloignée et devez protéger absolument l’extrémité proche, et rien entre les deux ne change cela.

Pourquoi une seule phrase produit de nombreuses adresses

Les portefeuilles modernes sont hiérarchiques et déterministes, ce qui est une façon précise de dire qu’une seule phrase génère un arbre entier de clés selon une procédure définie. Chaque branche produit une nouvelle clé privée, et chacune de ces clés produit sa propre clé publique et sa propre adresse.

Deux conséquences utiles en découlent. Un portefeuille peut fournir une nouvelle adresse pour chaque paiement sans avoir besoin d’une nouvelle sauvegarde, car chacune de ces adresses descend de la même phrase. Et restaurer cette phrase sur un autre logiciel récupère les mêmes adresses, car la procédure de dérivation est standardisée plutôt que propriétaire.

Cela explique aussi une confusion courante : voir de nombreuses adresses dans un portefeuille ne signifie pas qu’il existe de nombreux secrets distincts. Il n’y a qu’un seul secret, et tout le reste en est dérivé. C’est pratique, et c’est précisément pourquoi la phrase de récupération constitue le point unique de défaillance totale.

Signer ne révèle pas la clé

Il vaut la peine d’expliciter la propriété sur laquelle tout repose. Une signature est produite à partir de la clé privée et du message, et peut être vérifiée au regard de la clé publique — mais observer un nombre quelconque de signatures ne permet pas à un attaquant de reconstruire la clé privée qui les a produites.

C’est ce qui rend sûr le fait de signer de manière répétée avec la même clé plutôt que d’en avoir besoin d’une nouvelle à chaque fois. Cela explique aussi pourquoi signer un message pour prouver la propriété d’une adresse est une opération normale et sûre, alors que saisir une phrase de récupération ne l’est jamais. L’une est l’usage prévu du système, l’autre revient à céder le système lui-même.

Où le modèle est mis à l’épreuve

Deux évolutions complexifient ce tableau bien net, et toutes deux méritent d’être connues car elles changent ce que signifie une signature.

Les dispositifs multi-signatures exigent plusieurs clés privées pour autoriser une transaction, si bien qu’aucune clé seule ne suffit. Cela supprime le point unique de défaillance au prix d’un scénario de récupération plus complexe — vous avez désormais plusieurs secrets à protéger et une règle sur le nombre requis.

L’abstraction de compte, sur les réseaux qui la prennent en charge, permet de programmer plutôt que de figer les règles régissant un compte : plafonds de dépense, délais temporels, ou récupération par une partie désignée. C’est utile, et cela signifie que “celui qui détient la clé contrôle les fonds” n’est plus strictement vrai sur ces réseaux. Le mécanisme de base reste inchangé ; ce qui a changé, c’est qui est autorisé à l’invoquer.

À lire également