web-dev-qa-db-fra.com

Comment dois-je distribuer ma clé publique?

Je viens de commencer à utiliser GPG et à créer une clé publique. C'est un peu inutile si personne ne le sait. Comment dois-je le distribuer? Dois-je l'afficher sur mon profil sur Facebook et LinkedIn? Et mon blog? Quels sont les risques?

193

Le meilleur moyen de distribuer votre clé consiste à utiliser l'un des serveurs de clés disponibles, tels que keyserver.ubuntu.com , pgp.mit.ed ou keyserver.pgp.com .

Si vous utilisez Seahorse (gestionnaire de clés par défaut sous Ubuntu), il synchronise automatiquement vos clés avec l'un de ces serveurs. Les utilisateurs peuvent ensuite rechercher votre clé en utilisant votre adresse e-mail ou keyid.

Si vous souhaitez publier votre clé publique sur LinkedIn ou votre blog, vous pouvez soit télécharger la clé sur votre serveur ou simplement créer un lien vers la page de votre clé sur l'un des serveurs de clés ci-dessus. Personnellement, je le téléchargerais sur l'un des serveurs de clés et le lierais, car il est plus facile de le garder à jour en un seul endroit, au lieu d'avoir le fichier dans de nombreux emplacements différents. Vous pouvez également partager votre identifiant de clé avec des personnes, qui peuvent ensuite recevoir votre clé à l'aide de gpg --recv-keys.

Si vous souhaitez publier votre clé publique sur Facebook, il y a un champ pour la placer sous la section Coordonnées de votre profil. Vous pouvez également modifier vos paramètres de sécurité Facebook pour utiliser cette même clé publique pour crypter leurs e-mails.

Par exemple, voici ma clé publique .

À ma connaissance, il n'y a aucun risque associé à la publication de votre clé publique.

107
Mark Davidson

Il n'y a aucun risque d'exposer votre clé privée ou d'invalider votre clé publique en publiant votre clé publique de la manière décrite par vous et @Mark. Comme l'a indiqué @pboin, il est conçu pour être accessible au monde entier.

Cependant, il y a un autre problème à portée de main ... L'un des principaux objectifs de la possession et de la publication de votre clé publique (en effet, c'est probablement LE PRINCIPAL objectif), est de vous authentifier auprès d'autres utilisateurs, de leur permettre de vérifier l'authenticité de tout messages ou données que vous signez, et protégez/cryptez les données uniquement pour vos yeux.
Mais comment ces utilisateurs pourraient-ils savoir que c'est vraiment VOTRE clé publique? Par exemple, si je veux envoyer un message privé à @Mark Davidson, en utilisant sa clé publiée à http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE493B06DD070AFC8 , comment puis-je savoir que c'est le [~ # ~] réel [~ # ~] Mark Davidson qui a publié cette clé ou qui m'a dirigé là-bas?
Il serait trivial pour moi de publier ma propre clé publique, soit sur mit.edu, sur LinkedIn, Facebook, etc., et de simplement m'appeler Bill Clinton (ou Bill Gates). Comment pourriez-vous savoir autrement?
De plus, si en quelque sorte Je sais que c'est vraiment la bonne personne (par exemple, je veux contacter un blogueur anonyme, via le pk publié sur son blog - je m'en fiche qui il est vraiment, le propriétaire du site - et donc l'éditeur pk - est de toute façon la bonne personne) - qu'est-ce qui garantit que la clé publique n'a pas été falsifiée en cours de route? Tous les liens et sites mentionnés jusqu'à présent (ok, à l'exception du serveur de clés PGP) sont HTTP - c'est-à-dire aucune protection de canal, c'est-à-dire qu'ils peuvent facilement être modifiés entre le serveur et le navigateur.

Lorsque vous utilisez le modèle X.509/PKI, il y a toujours quelqu'un de confiance qui se porte garant pour vous. Par exemple. une autorité de certification bien connue (approuvée parce que les fournisseurs de navigateurs les ont vérifiés et ont ajouté leur certificat racine au Trusted Roots Store dans le navigateur) a vérifié votre identité et signé votre clé/certificat public. Ainsi, toute personne qui souhaite vérifier que vous êtes bien vous-même peut simplement vérifier la signature, puis vérifier l'identité de celui qui se porte garant pour vous (puis répéter jusqu'à ce que vous trouviez l'autorité de certification racine bien connue).

Cependant, dans le modèle PGP, il y a généralement non autorité centrale de confiance (bien que les versions actuelles le permettent). Au lieu de cela, PGP est basé sur le modèle du Web de confiance, dans lequel si vous faites confiance à quelqu'un, il peut garantir à son tour l'identité de quelqu'un d'autre.

Quoi qu'il en soit, le simple fait de mettre votre clé publique là-bas n'aide personne à vérifier votre identité, ni à garantir que les messages chiffrés ne seront visibles que par la bonne personne.

Ce que tu peux faire:

  • Publiez votre clé publique, comme vous et @Mark l'avez dit - mais fournissez ensuite une clé publique token (essentiellement un hachage de la clé publique, comme une empreinte digitale) via un canal sécurisé. Par exemple. c'est maintenant assez court pour lire par téléphone s'il vous connaît personnellement ... J'ai même vu quelqu'un mettre son jeton pk sur sa carte de visite, a donné une conférence (certes, c'était d'un vendeur).
  • Commencez à signer vos e-mails, puis vérifiez au destinataire qu'il s'agissait de votre signature via un canal hors bande (par exemple, par téléphone ou en personne ( halètement !!))
  • Compliquez la situation, obtenez un certificat X.509 standard et implémentez SSL (de préférence EV) sur votre site Web, alors n'importe qui peut télécharger votre pk en toute sécurité en sachant qu'il provient de la personne qui possède ce nom de domaine ... (D'accord, peut-être que cela fonctionne mieux pour les grandes entreprises ...)
    Découvrez comment Microsoft le fait-il ...

Aaaaall, à part cela, cela dépend vraiment de la raison d'être de ce paquet - si c'est juste pour épater votre mère, alors ne vous embêtez pas avec tout ça :)
D'un autre côté, si vous avez des communications vraiment sensibles, ou avec des clients soucieux de la sécurité, alors tout ce qui précède c'est important ...

79
AviD

Une solution générale consiste à le télécharger sur un serveur de clés . Une autre bonne idée pourrait être de faire une entrée à Biglumber . Cela aide à entrer en contact avec d'autres personnes et peut-être à se signer les clés.

De plus, vous devriez jeter un œil à votre boîte de réception et rechercher des contacts qui signent déjà leurs e-mails. Vous pouvez leur envoyer un courrier informel, que vous avez maintenant une clé et les diriger vers une ressource.

Une entrée de blog sur votre clé est également très bien. Vous devez fournir un lien pour télécharger votre clé.

Si vous utilisez des signatures dans votre courrier, vous pouvez pointer vers votre nouvelle clé et bien sûr signer chaque courrier.

Rappelez-vous que vous ne pouvez pas supprimer votre clé une fois qu'elle a été téléchargée sur un serveur de clés (et distribuée entre eux). Bien sûr, vous pouvez le révoquer. En outre, il est supposé que les spammeurs recherchent ces adresses e-mail et vous envoient des "offres intéressantes". Lorsque vous effectuez des signatures de clés et téléchargez les nouvelles signatures, la signature révèle où vous étiez à une date spécifique.

27
qbi

Soyez conscient, toute adresse e-mail sur votre clé sera affichée sur les interfaces Web publiques. Je reçois beaucoup de spam sur l'e-mail sur ma clé, il n'a donc pas mis mon adresse e-mail actuelle sur la clé.

11
allo

La réponse simple à votre question de "distribution" est que vous devez utiliser n'importe quelle méthode qui convient à vous et à vos destinataires, et qui répond à vos besoins en termes de confidentialité. Par exemple. un serveur de clés peut facilement être utilisé pour la distribution à de nombreux destinataires, mais comme le note ubi, un serveur de clés typique expose l'uid (qui a généralement votre adresse e-mail) aux spammeurs pour toujours.

La question beaucoup plus difficile est de savoir comment votre destinataire vérifie qu'il a obtenu la bonne clé pour vous, plutôt que quelque chose de faux qui facilite une attaque? Vous pouvez vouloir échanger une empreinte digitale de la clé avec l'autre personne "hors bande", par ex. par téléphone. Ou vous pouvez compter sur le "réseau de confiance": une chaîne de signatures de personnes en qui vous avez confiance à cet effet. Voir ces questions pour plus de conseils:

7
nealmcb

La distribution de la clé publique est toujours un problème ouvert avec PGP/GPG.

Télécharger vers un serveur de clés publiques

  • d'autres peuvent signer votre clé publique avec un texte ou un contenu insultant que vous ne voulez pas voir en relation avec votre clé
  • de nombreux utilisateurs oublient le mot de passe ou perdent la clé de révocation et ont changé leur adresse e-mail et ne peuvent plus supprimer l'ancienne clé.
  • il est presque impossible de supprimer une clé ou une signature de ces serveurs
  • des outils d'exploration de données pour analyser les données d'un serveur de clés existent
  • on obtient un peu plus de spam aux adresses sur un serveur de clés publiques car elles sont faciles à recadrer et très intéressantes car elles supportent de nombreuses métadonnées: comme le nom, le mail, les amis, l'horodatage.
  • ... mais tout le monde peut télécharger votre clé publique sur un serveur de clés. Cela peut arriver par intention ou par accident. La plupart des outils PGP prennent en charge le téléchargement de clés publiques importées et si vous attendez assez longtemps, quelqu'un le téléchargera et signera la clé sans vous connaître.

Télécharger sur son propre site Web

  • l'utilisateur peut retirer ou modifier la clé
  • le téléchargement d'une clé à partir d'un site Web de confiance du destinataire peut être un autre indicateur d'une clé authentique
  • de nombreux utilisateurs professionnels de PGP ont également choisi cette méthode
  • placer la clé à côté du contact sur votre site Web annonce l'utilisation de PGP

Réunion personnelle

Pour plus de lecture, voir

6
Jonas Stein

Pour la distribution, cela dépend vraiment de votre public. L'optimiste en moi espère que les gens seront impatients d'utiliser ma clé pour crypter les messages et vérifier mes signatures. La réalité est que sa gestion n'a pas été un problème. J'ai très bien fait en l'offrant sur mon blog et sur demande.

Quant aux risques, il est conçu pour être facilement accessible au monde. Concentrez ces préoccupations sur la sauvegarde de la clé privée. Mettez un mot de passe autour de lui et gardez-le soigneusement.

6
pboin

Sous Linux, vous pouvez utiliser la commande:

$ gpg --keyserver hkp://keyserver.ubuntu.com --send-key "your key_index or email"
$ gpg --keyserver hkp://pgp.mit.edu --send-key "your key_index or email"
$ gpg --keyserver hkp://pool.sks-keyservers.net --send-key "your key_index or email"

Et l'a envoyé à différents serveurs. Ils propageront votre clé.

4
John