Forum Linux.général Fonctionnement des subkeys avec gpg

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
3
4
sept.
2016

Bonjour à tous,
débutant avec Gnupg, je m'interroge depuis un certain temps sur l'utilité des subkeys (publiques et privées).
J'ai cru comprendre qu'elles étaient séparées afin de déléguer certains rôles des clés maîtresses dans l'optique de simplifier leur gestion.
Restant insatisfait suite à de nombreuses recherches, j'aimerais qu'une âme charitable vienne éclairer ma lanterne…
Merci d'avance pour vos réponses.

  • # L’utilité des sous-clefs réside dans (au moins) deux choses.

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

    D’abord, elles permettent d’utiliser des clefs différentes pour des usages différents. Typiquement, une clef pour signer et une clef pour chiffrer (et éventuellement encore une autre clef pour authentifier).

    C’est important d’une part parce que tous les types de clefs ne se prêtent pas à tous les usages (une clef ElGamal ne peut être utilisée que pour chiffrer, une clef DSA ne peut être utilisée que pour signer), et d’autre part, parce que même pour les types de clefs qui peuvent servir à la fois pour signer et pour chiffrer, c’est généralement considéré comme une mauvaise idée.

    L’autre grand intérêt des sous-clefs est qu’elles peuvent être remplacées à tout moment.

    Remplacer une clef primaire est une opération délicate. Une telle clef a un historique, tes interlocuteurs la connaissent (certains l’ont peut-être signée) et savent que c’est la tienne. La nouvelle clef, elle, est « vierge » — elle n’a pas d’historique, et il faut recommencer un long travail d’introduction pour amener tes interlocuteurs à avoir confiance que c’est bel et bien ta clef (une méthode courante pour faciliter ce travail est de signer la nouvelle clef avec l’ancienne, et/ou de signer avec les deux clefs une déclaration de transition comme celle-ci).

    Remplacer une sous-clef est au contraire totalement transparent pour tes interlocuteurs. Seule la clef primaire est importante à leurs yeux, c’est la seule clef à laquelle ils sont directement confrontés (c’est GnuPG qui s’occupe en arrière-plan de sélectionner la sous-clef appropriée une fois que l’utilisateur a sélectionné une clef primaire). Tu peux donc remplacer une sous-clef à n’importe quel moment (pour quelque raison que ce soit) sans craindre de conséquences sur la validité de ta clef aux yeux de tes interlocuteurs.

    • [^] # Re: L’utilité des sous-clefs réside dans (au moins) deux choses.

      Posté par  . Évalué à 1.

      Merci pour ta réponse rapide.
      J'ai cependant encore quelques questions (de noob ;).

      • C'est bien la clef privée (ou une sous-clef privée) qui est utilisée pour signer ?

      • Si la sous-clef privée est compromise, est-il possible de la remplacer sans compromettre l'intégrité de la clef primaire privée?

      • Et à quoi peut bien servir une sous-clef publique (qui n'est, sauf erreur de ma part, utilisée que pour chiffrer les messages) ?

      • [^] # Re: L’utilité des sous-clefs réside dans (au moins) deux choses.

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

        C'est bien la clef privée (ou une sous-clef privée) qui est utilisée pour signer ?

        Oui. Et l’interlocuteur utilise la clef publique correspondante pour vérifier la signature.

        Si la sous-clef privée est compromise, est-il possible de la remplacer sans compromettre l'intégrité de la clef primaire privée?

        Oui. Mathématiquement, la clef primaire et les sous-clefs sont indépendantes. Une compromission d’une sous-clef n’entraîne pas la compromission de la clef primaire à laquelle elle est rattachée. On peut donc simplement remplacer la sous-clef, sans conséquences sur la clef primaire.

        Toutefois, si une sous-clef a été compromise, et si les sous-clefs et la clef primaire sont stockées au même endroit et dans les mêmes conditions, on peut raisonnablement craindre que la clef primaire a été compromise en même temps que la sous-clef.

        Et à quoi peut bien servir une sous-clef publique (qui n'est, sauf erreur de ma part, utilisée que pour chiffrer les messages) ?

        Alors, attention, les notions de clefs primaires/sous-clefs d’une part, et de clefs publiques/clefs privées d’autre part, sont complètement orthogonales. Chaque sous-clef (de même que la clef primaire) est en réalité une paire de clefs, composée d’une clef publique et d’une clef privée.

        Une sous-clef publique sert soit à vérifier une signature (si c’est une sous-clef de signature), soit à chiffrer un message (si c’est une sous-clef de chiffrement).

Suivre le flux des commentaires

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