Forum Linux.général Bien garder secret sa phrase de passe pour GnuPG

Posté par  . Licence CC By‑SA.
2
1
oct.
2014

Bonjour,
je souhaite me lancer à GnuPG, et faire les choses correctement. Je me suis arrêté quasiment dès le début. Je veux faire les choses bien, et donc pour la création de la paire de clés "maitresse", je voudrai avoir une bonne phrase de passe.
J'ai lu qui fallait environ 10 mots (50~60 caractères) et en variant.
J'ai trois solutions en têtes:
- soit j'apprends par une phrase lisible par coeur, mais pour avoir quelque chose de pas mal, faut ajouter pas mal de caractères particulier/spéciaux;
- soit j'apprends une phrase à qui je lui applique à un algo/chiffrement (base64, sha-xxx, …) pour me retourner la phrase de passe que je dois taper;
- soit je fais quasiment la même chose que la précédente, sauf que j'utilise ssss-split pour retrouver la clé;
Le soucis avec la 2 et la 3, c'est que la machine va m'enregistrer la commande, et au pire, garder en mémoire en résultat (vrai, faux? - je ne suis pas certains, mais dans un sens, on la fait apparaître à l'écran en clair). Donc quelle est la bonne/meilleur méthode? La 1 me déplait un peu dans le sens où j'ai peur d'avoir quelque chose qui reste trop 'lisible'. Certes les chances que… mais pour l'apprendre par coeur il faut tout de même trouver des stratagèmes qui font que aux final la phrase de passe peut se trouver plus facilement à partir de dictionnaires (au final est-ce si grave que ça, je ne sais pas trop). Mais le problème de la 2 ou la 3 peut se résoudre en utilisant Tails. La mise en place dans ce cas n'est pas forcément très efficace - à moins que je n'utilise que les choses sensible dessus. Au final, normalement, je n'ai pas besoin de taper la phrase de passe maitresse souvent, donc un coup de live cd pour les possibles édition, et puis voilà. Nan?

Bon je suis un peu perdu.
Comment faites-vous?

  • # Seul la clef doit être secrète

    Posté par  . Évalué à 2.

    Le mécanisme qui permet d'obtenir la clef (base64…) ne doit pas être secret. Il n'ajoute pas d'entropie, et donne une fausse impression de sécurité.

    Trouve une bonne phrase ! (par exemple, la concaténation ou le mélange de deux phrases, ou encore 5 mots tirés de /usr/share/dict/words ?

    python -c "import random ; lines = open('/usr/share/dict/words').read().split() ;print ' '.join(random.choice(lines) for iteration in xrange(5))"
    
    • [^] # Re: Seul la clef doit être secrète

      Posté par  . Évalué à 1.

      Et même en prenant des mots sans changer leur écriture (c'est à dire mettre des caractères spéciaux) reste sûr?

      • [^] # Re: Seul la clef doit être secrète

        Posté par  . Évalué à 2.

        Si tu as assez de mots issus d'un dictionnaire suffisamment complet, oui. Ajouter ou intervertir des caractères ne peut pas faire de mal.

  • # Pour t'aider à appréhender les mpd

    Posté par  . Évalué à 3.

    Salut,

    Je t'apporte pas de réponse, la problématique étant plutôt complexe, ceci devrais t'éclairer:

    Choisir un bon mot de passe

    la proche fin des mots de passe

    l'art de stocker les mdp

    Bonne lecture.

    Allez tous vous faire spéculer.

  • # Une possibilité

    Posté par  (site web personnel) . Évalué à 4.

    Comment faites-vous?

    Pour ma part, j’ai construit ma phrase de passe en essayant de faire en sorte qu’elle ait « presque du sens » pour moi, alors qu’elle en est dépourvue.

    Pour illustrer, elle pourrait ressembler à quelque chose comme ça (en réalité, elle n’y ressemble pas du tout, mais j’ai essayé d’appliquer peu ou prou le même principe pour construire cet exemple) :

    <?#import [gpg];open("fei+th7Xah5e") end

    Je dis que ça a « presque du sens » parce que ça pourrait se comprendre, dans un pseudo-langage qui aurait l’air d’un mix entre PHP et je ne sais quel autre, comme l’inclusion d’un hypothétique module dédié à l’utilisation de GnuPG et l’ouverture d’un trousseau de clef. Ce qui tient lieu de « paramètre » à la « fonction » open est choisi aléatoirement, c’est la seule partie de la phrase de passe que je dois réellement mémoriser — j’arrive à retrouver le reste en me souvenant de l’idée initiale qui a conduit à cette phrase de passe.

    aux final la phrase de passe peut se trouver plus facilement à partir de dictionnaires (au final est-ce si grave que ça, je ne sais pas trop)

    La phrase de passe est ce qui protège les clefs privées au cas où le fichier qui les contient ($GNUPGHOME/secring.gpg) ne serait plus aussi privé qu’il doit l’être. Un attaquant doit d’abord se procurer ce fichier avant de pouvoir se livrer à une attaque par dictionnaire.

    Sachant cela, il serait tentant de se dire qu’une phrase de passe faible n’est pas grave, « de toute façon le trousseau privé est à l’abri sur ma machine, personne ne peut venir le chercher ».

    Toutefois, pénétrer ta machine,¹ exfiltrer le trousseau privé et bruteforcer la phrase de passe est presque certainement plus facile et moins coûteux que de cryptanalyser la clef proprement dite (retrouver la clef privée à partir de la clef publique).

    Au final, normalement, je n'ai pas besoin de taper la phrase de passe maitresse souvent

    Attention à ne pas confondre « clef maîtresse » et « phrase de passe protégeant le trousseau privé ». À ma connaissance, il n’y a qu’une seule phrase de passe pour tout le trousseau privé, je ne crois pas que GnuPG permette de choisir des phrases de passe différente pour la clef maîtresse et pour chacune des sous-clefs.

    Donc, même si tu n’utilises la clef maîtresse qu’occasionnellement (en principe, seulement pour modifier ton trousseau et certifier d’autres clefs), tu auras besoin de saisir ta phrase de passe pour chaque utilisation de routine de tes sous-clefs.

    Et ça tombe bien, parce que c’est justement ce qui va te permettre de mémoriser la phrase de passe rapidement et sans efforts. À l’inverse, il n’y a rien de tel pour oublier une phrase de passe que de s’en servir une fois tous les trois mois…


    ¹ À ce sujet, Bruce Schneier, après avoir vu une partie des documents de Snowden, a résumé les capacités de pénétration de la NSA par ces mots : « If the NSA wants in your computer, it’s in. Period. »

    • [^] # Re: Une possibilité

      Posté par  . Évalué à 1.

      Le pseudo-langage ça peut se faire en effet, ça me convient mieux déjà.
      Oui manque plus qu'à espérer ne pas le perdre en mémoire :)
      Merci.

  • # Finalement.

    Posté par  . Évalué à 1. Dernière modification le 06 octobre 2014 à 08:30.

    Bon je pense faire la 2, ça me permettra à force de taper le phrase de passe de résultat de l'apprendre par coeur.
    Merci pour vos réponses.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.