Libellés pour les mots de passe des porte-feuilles

Duniter et ses clients utilisent la cryptographie pour assurer la sécurité des communications sur le réseau.

Ils ont besoin d’un trousseau de clefs (une privée et une publique).

La clef publique devient un “numéro de porte-feuille” dans Duniter.

La clef privée reste cachée en mémoire. Elle pourra un jour être sauvegardée sur disque, transportée sur clef usb, ou imprimée sur du papier.
Mais à l’instar d’un code de carte bleue, elle peut être volée ou perdue, et est donc délicate à manier. Les anglais appellent cette clef de votre porte-feuille le “hardwallet” (portefeuille physique).

Les clients Duniter préfèrent donc pour l’instant utiliser des informations de connexion semblables à celles que vous utilisez pour vous authentifier sur des sites internet protégés.

Pour générer le même trousseau de clefs à chaque connexion, on utilise un algorithme (scrypt) qui nécessite deux paramètres simples et mémorisables, formant un brainwallet :

Le sel (salt) : une chaîne de caractères qui va brouiller le mot de passe.

Le mot de passe (password) : une chaîne de caractères à garder secrète.

Le libellé du sel (cryptoID, sel, entropie, etc) n’est pas harmonisé entre les clients et porte souvent à confusion.

Que proposeriez vous comme libellé pour ces deux paramètres personnels et secret ?

Sachant qu’il ne doivent pas être confondu avec le paramètre définissant votre identité…

Pour un informaticien, «sel» est tout ce qu’il y a de plus parlant, mais probablement pas pour un non-informaticien.
Pourquoi pas «chaîne de brouillage (sel)» et «mot de passe»? (avec bien sûr la petite icone qui va bien avec son infobulle explicative)

A noter qu’en réalité une clé est en réalité composée de 3 paramètres au total, dont le 3ème n’est autre que le trio Nrp, donc s’il l’ont fait le total on a en tout et pour tout 5 paramètres.

Pour faciliter les tests et le début de vie du logiciel, nous avons fixé les valeur à N = 4096, r = 16, p = 1, ce qui fait que nous n’avons que le salt + password à saisir aujourd’hui. C’est d’ailleurs explicitement visible dans l’interface graphique de Duniter :

Mais d’autres valeurs sont possibles, et même souhaitables pour une sécurité accrue. Changer ces valeurs change le trousseau généré par l’algorithme scrypt, et donc à différentes valeurs de Nrp on a différentes clés générées (à salt et password identiques).

Tout cela pour dire que, peut-être, mon idée de promouvoir les brainwallets dès le départ n’était peut-être pas si bonne en ce qu’il s’agit probablement d’un usage avancé. Le plus simple pour l’utilisateur non-informaticien étant que sa clé soit générée automatiquement (avec aléa) et stockée physiquement sur le PC.

Et alors, on n’a plus tellement besoin de se poser la question de donner un autre nom pour « salt » que le nom technique qui lui est déjà associé.

1 Like

C’est vrai que vu l’extrême habileté des humains à choisir des mots de passe pourris… :smiley:

Il reste à présenter à l’utilisateur sa clé privée, de manière à ce qu’il ne la perde pas, car un disque dur ou un ordinateur, ça plante ! Et sans faciliter la sauvegarde en lieu sûr de sa clé, l’utilisateur sera perdu.

De ce que je connais de nos futurs utilisateurs, ici, il est clair que stocker un fichier est pour eux un usage avancé.

Oui, je propose aussi “phrase de protection” ou “phrase de brouillage”, puis “mot de passe”. “Chaine” c’est déjà du language d’informaticien, il me semble.

@cgeek : n’est-ce pas toi qui disait au début que la sel pouvait etre divulguer ?

1 Like

Oui mais à condition de ne pas avoir comme password “1234”. De manière générale le plus sécurisé est d’avoir un salt et un password difficiles à deviner séparément, et donc plus difficile encore conjointement.

Après je ne suis pas du tout expert en crypto, il vaut mieux vous en remettre à des personnes qui maîtrisent le sujet.

C’est clair qu’il faut éviter que les gens prennent des mots de passe trop simples, et mettre en place des règles de vérification. L’un des plus gros inconvénients qui est franchement pas top au niveau sécurité est qu’on ne puisse pas changer le mot de passe par la suite.

Je suis d’accord.

https://github.com/duniter/duniter/issues/440