Générer un mot de passe avec GPG

Mémo

Mémo pour la génération de mots de passe avec GPG

Pour générer un mot de passe avec de l’entropie:

Entropie

# rngd

Génération

$ gpg2 --gen-random --armor 0|1|2 longueur
  • --gen-random génère un mot de passe aléatoire
  • --armor pour pouvoir être tapable en clavier ASCII
  • level: 0|1|2 —> 2 pour une meilleur qualité
  • longueur —> longueur du mot de passe (>= 20 pour plus de sécurité)

Exemple:

$ gpg2 --gen-random --armor 2 20

Sauvegarde

Sauvegardez votre mot de passe sur une clef USB et ne la laissez pas traîner ;)



Logo sous licence CC-BY-SA

16 commentaires

Tu pourrais expliquer comment ça fonctionne ?

Vanadiae

Bien sûr. :)

La commande dd lit un certain nombre de blocs d’octets depuis le fichier spécifié après if=, en l’occurrence 1 bloc (count=1) de 1 mégaoctet (bs=1M). Le fichier spécial /dev/urandom se comporte comme un fichier de longueur « infinie » comportant des octets aléatoires (sous Linux, il se comporte différemment de /dev/random, qui lui est bloquant tant qu’il n’a pas assez d’entropie). La redirection de la sortie d’erreur standard est juste là pour éviter du bruit inutile.

La commande tr attend normalement deux ensembles de caractères et remplace chaque caractère du premier ensemble par celui correspondant dans le second. Ainsi, echo abc | tr abc def donnera def. L’option -d change ce comportement : tr attend alors un seul ensemble et supprime tous les caractères qui en font partie. Autrement dit, echo abc | tr -d a donnera bc. Enfin, l’option -c précise à tr que l’ensemble doit être « nié », c’est-à-dire compris comme « tous les caractères sauf ceux de cet ensemble ». La commande tr -d -c A-Za-z0-9 supprime donc tous les caractères rencontrés sauf les chiffres et lettres latines majuscules et minuscules. Étant donné que les octets fournis par /dev/urandom sont aléatoires, ce filtre est nécessaire pour obtenir uniquement des chiffres et des lettres.

Enfin, on a lu 1 mégaoctet de données aléatoires dont on conserve uniquement les chiffres et les lettres, toutefois, on souhaite un mot de passe de longueur fixe, par exemple de 32 caractères, on termine alors avec la commande cut pour ne conserver que 32 caractères.

Note que je me base sur le fait qu’il est fort probable d’avoir au moins 32 chiffres et/ou lettres en dehors de 1.048.576 octets aléatoires, mais que cela peut ne pas être le cas. ^^

+1 -0

Mais du coup quand tu fais echo abc | tr abc def, le | correspond à quoi en bash ?

Note que je me base sur le fait qu’il est fort probable d’avoir au moins 32 chiffres et/ou lettres en dehors de 1.048.576 octets aléatoires, mais que cela peut ne pas être le cas. ^^

Il faudrait être trèèèèèès peu chanceux quand même ! ^^

En tout cas merci pour tes explications : ;)

Mais comment ça marche les clefs GPG ?

Vanadiae

Je ne sais pas ce que tu entends précisément avec cette question, mais d’un point de vue mathématique wikipédia explique :

PGP encryption uses a serial combination of hashing, data compression, symmetric-key cryptography, and finally public-key cryptography; each step uses one of several supported algorithms.

https://en.wikipedia.org/wiki/Pretty_Good_Privacy

Tu peux lire cette page pour en apprendre plus ainsi que celle sur GPG.

Mais si tu veux savoir comment on s’en sert d’un point de vue pratique, il faudrait peut-etre voir https://emailselfdefense.fsf.org/en/

Tu peux aussi te renseigner, car certains hackerlab/fablab organise des initiations sur les thématiques de la vie privée (et parfois le chiffrage des mails via GPG). Mais après ça dépend où tu habites.

+0 -0

Le billet / mémo, répond à la question : comment générer un mot de pase GPG ?

Une petite intro, sur les objectifs nécessitant un password GPG aurait été appréciable, versus le man.

Mon commentaire, ci-dessous, ne correspondra donc, peut-être pas aux objectifs dévolus.

En terme de sécurité, selon moi, ce type de hash, n’est pas plus sécurisé qu’une passphrase.

A mon sens, 1 seule passphrase que l’on retient, est préférable à 20 mots de passe générés via un hash.

Exemple de passphrase : Mon chien me fait la fête quand je rentre le soir ; mes enfants, non !

Une passephrase, elle serait à associer à un certificat d’authentification par exemple.

A l’inverse, un password de 32 charactères lui est préférable à un mot de passe classique de longeur 8, comportant les charactères obligatoires :

  • Alphabétique
  • Numérique
  • Majusule
  • Minuscule
  • Charactères spéciaux

—> Où, ici il ya 15 ans tout le monde mettait P@ssw0rd :lol:

Exemple de passphrase : Mon chien me fait la fête quand je rentre le soir ; mes enfants, non !

Non pas si tu fais une attaqué par dictionnaire ici

Vanadiae

Le dictionnaire ici ne pourra pas trouver une telle passphrase :

Une attaque par dictionnaire vise en général, des mots de passe de 8 à 10 charactères.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte