Mais où est donc stockée ma clef privée ?

Bonjour,
Je suis Jean-Marie Vanherpe, “jeune” certifié de la Ğ1, je me pose quelques questions d’ordre technique sur cette monnaie. Merci de déplacer le sujet si je ne poste pas au bon endroit.
Voici ma première question (qui en appellera probablement d’autres) : Où est stockée ma clef privée ?
Est-elle stockée sur la machine qui m’a servi à créer mon compte Cesium ?
Est-elle stockée dans la blockchain ?
N’est-elle stockée nulle part et recalculée avec la clef publique à chaque connexion ?
Cordialement,
JMV.

Nulle part, et calculée à partir de l’identifiant secret et du mot de passe. Elle peut cependant être stockée dans un fichier ou générée autrement que par ce systeme identifiant + pass qui est utilisé car il demande du temps de calcul ce qui réduit les risques d’attaques.

De plus elle ne doit surtout pas être dans la blockchain, vu qu’elle permet de signer les transactions.

Idem, elle ne doit pas être calculable depuis la clé publique, sinon n’importe qui pourrait se faire passer pour n’importe qui d’autre.

Merci de la réponse rapide.
Si les clefs publique et privée sont calculées à partir du système identifiant+pass, cela implique que ce couple identifiant+pass ne peut plus changer une fois choisi. N’est-ce pas un risque de plus grande vulnérabilité ?
Cordialement,
JMV.

En effet, c’est une limite du système actuelle. Cependant ce n’est pas la seule façon de générer des paires de clés, et d’autres (pas encore implémentées dans les clients) sont beaucoup plus pratiques à utiliser (je pense notamment aux “HD wallets” utilisés dans d’autres cryptos).

ok, merci, cependant comme membre calculant, la clé est tout de même stockée dans /conf.json et elle est unique et on peut la “voir”. Ce que JMV ne semble pas avoir compris.
J’aurais du écrire sur le forum finalement :grinning:
Bin du coup j’ai répondu ici. Dites moi si je me trompe, si on fait tourner un noeud en tant que membre on peut trouver sa clé privée dans .config/duniter/duniter_default/conf.json ??

1 Like

Oui en effet si la clé privée est contenue directement dans le conf.json c’est vraiment dangereux.

Question de noob, y-a pas moyen de “verrouiller” la consultation de ce fichier par des identifiants qui pourraient être ceux qui produisent la clé privée ?

Mais du coup le noeud calculant ne pourrait pas piocher la donnée dedans pour signer les blocs. Le minimum c’est que cette clé sois dans un fichier à part pour éviter qu’elle ne soit rendue publique par un partage du cong.json.

Tu es sur qu’elle est dans le conf.json ? Ca me semble vraiment bizarre.

.config/duniter/duniter_default/keyring.yml
il me semble

Il est possible de verrouiller ce fichier par un mot de passe mais cela nécessiterait le démarrage manuel du serveur afin que ce mot de passe ne soit stocké nul part.

4 Likes

Voila, elle n’est pas dans le conf.json.

Du coup pas de problème pour partager le conf.json.

1 Like

Non j’en suis pas sûr du tout.

L’idée c’est de savoir si quand je fais tourner un nœud chez moi et que je m’en vais au jardin, quelqu’un peut, en 3 clicks, voir ma clé privée sur mon PC ? :anguished:

Sans certaines mesures de sécurité, oui. C’est une des raisons de vouloir rajouter une clé dédiée au calcul.

Si c’est vraiment le cas je n’ai aucune idée d’un minimum de “mesures de sécurité” à mettre en place. A l’occasion, des pistes pour M. Michu ??

  • Faire tourner de préférence un noeud sous Linux
  • Installer Duniter sous un utilisateur dédié, dont le dossier n’est accessible qu’a cet utilisateur
  • A chaque configuration, tu te connecte sous cet utilisateur et tu as accès aux informations
  • Le système peut automatiquement lancer Duniter au démarrage depuis cet utilisateur.

Après je n’applique même pas encore ce genre de sécurités, et avec les clés déléguées le risque sera mitigé.

Merci c’est déjà bien plus qu’une piste. :wink:

Ma question portait sur la clef privée d’un compte, membre ou pas. Je vois que le sujet a dévié sur les clefs privées de nœuds duniter, mais aussi que la dernière réponse de nanocryk clos le sujet.
Il semble que la question méritait d’être posée, je me félicite et me remercie de l’avoir posée :smile:
À bientôt pour la prochaine question de Noob.

1 Like

Les clés privées de noeuds Duniter sont des clés privées de comptes membres. Tu parlais de leur stockage côté client (Cesium), et on a rebondi sur le côté serveur (noeud Duniter).

1 Like

À savoir qu’il est possible de renseigner son couple salt/passphrase au lancement de duniter-ts
avec l’option --keyprompt : rien ne sera enregistré dans le trousseau cryptographique YAML.

4 Likes

pour être précis de leur non-stockage, puisque qu’un client n’a pas besoin de stocker la clé privée et ne devrait donc pas le faire.