Comment utiliser GPG pour crypter et signer des messages sur un VPS Ubuntu 12.04
Statut : Obsolète
Cet article couvre une version d'Ubuntu qui n'est plus prise en charge. Si vous utilisez actuellement un serveur exécutant Ubuntu 12.04, nous vous recommandons fortement de mettre à niveau ou de migrer vers une version prise en charge d'Ubuntu :
- Mettez à niveau vers Ubuntu 14.04.
- Mise à niveau d'Ubuntu 14.04 vers Ubuntu 16.04
- Migrer les données du serveur vers une version prise en charge
Raison : Ubuntu 12.04 a atteint la fin de vie (EOL) le 28 avril 2017 et ne reçoit plus de correctifs de sécurité ni de mises à jour. Ce guide n'est plus maintenu.
Voir plutôt : Ce guide peut toujours être utile comme référence, mais peut ne pas fonctionner sur d'autres versions d'Ubuntu. S'il est disponible, nous vous recommandons fortement d'utiliser un guide rédigé pour la version d'Ubuntu que vous utilisez. Vous pouvez utiliser la fonctionnalité de recherche en haut de la page pour trouver une version plus récente.
Introduction
GPG, ou GNU Privacy Guard, est une implémentation de cryptographie à clé publique. Cela permet la transmission sécurisée d’informations entre les parties et peut être utilisé pour vérifier que l’origine d’un message est authentique.
Dans ce guide, nous verrons comment fonctionne GPG et comment le mettre en œuvre. Nous utiliserons un VPS Ubuntu 12.04 pour cette démonstration, mais les outils sont disponibles sur n'importe quelle distribution Linux moderne.
Comment fonctionne le chiffrement à clé publique
Un problème auquel de nombreux utilisateurs sont confrontés est de savoir comment communiquer en toute sécurité et valider l'identité de la personne à qui ils parlent. De nombreux systèmes qui tentent de répondre à cette question nécessitent, au moins à un moment donné, le transfert d'un mot de passe ou d'autres informations d'identification, sur un support non sécurisé.
Assurez-vous que seule la partie concernée peut lire
Pour contourner ce problème, GPG s'appuie sur un concept de sécurité appelé chiffrement à clé publique. L’idée est que vous pouvez diviser les étapes de cryptage et de déchiffrement de la transmission en deux parties distinctes. De cette façon, vous pouvez distribuer librement la partie cryptée, à condition de sécuriser la partie décryptage.
Cela permettrait un transfert de message unidirectionnel qui pourrait être créé et chiffré par n'importe qui, mais qui ne serait déchiffré que par l'utilisateur désigné (celui possédant la clé de déchiffrement privée). Si les deux parties créent des paires de clés publique/privée et se donnent mutuellement leurs clés de chiffrement publiques, elles peuvent toutes deux chiffrer leurs messages.
Ainsi, dans ce scénario, chaque partie possède sa propre clé privée et la clé publique de l’autre utilisateur.
Valider l'identité de l'expéditeur
Un autre avantage de ce système est que l'expéditeur d'un message peut « signer » le message avec sa clé privée. La clé publique dont dispose le destinataire peut être utilisée pour vérifier que la signature est effectivement envoyée par l'utilisateur indiqué.
Cela peut empêcher un tiers de « usurper » l’identité de quelqu’un. Cela permet également de garantir que le message a été transmis dans son intégralité, sans dommage ni corruption de fichier.
Configurer les clés GPG
GPG doit être installé par défaut sur Ubuntu 12.04. Si ce n'est pas le cas, vous pouvez l'installer avec :
sudo apt-get install gnupg
Pour commencer à utiliser GPG pour chiffrer vos communications, vous devez créer une paire de clés. Vous pouvez le faire en exécutant la commande suivante :
gpg --gen-key
Cela vous guidera à travers quelques questions qui configureront vos clés.
-
Veuillez sélectionner le type de clé souhaitée : (1) RSA et RSA (par défaut)
Quelle taille de clé voulez-vous ? 4096
La clé est valable pour ? 0
Est-ce exact ? o
Vrai nom : votre vrai nom ici
Adresse e-mail : votre_e-mail@adresse.com
Commentaire : Commentaire facultatif qui sera visible dans votre signature
Changer de (N)ame, ©commentaire, (E)mail ou (O)kay/(Q)uit ? O
Saisissez la phrase secrète : Saisissez ici une phrase secrète sécurisée (majuscules et minuscules, chiffres, symboles)
À ce stade, il devra générer les clés en utilisant l’entropie. Il s’agit essentiellement d’un terme pour décrire le degré d’imprévisibilité qui existe dans un système. GPG utilise cette entropie pour générer un ensemble aléatoire de clés.
Il est préférable d'ouvrir un nouveau terminal et de se connecter au VPS pendant son exécution. Installez des logiciels, travaillez et utilisez simplement la machine autant que possible pour lui permettre de générer l'entropie nécessaire.
Ce processus peut prendre beaucoup de temps, en fonction du degré d'activité que vous pouvez rendre votre système. Il y a un article ici sur la façon de générer une entropie supplémentaire avec haveged, qui peut être utile.
Créer un certificat de révocation
Vous devez disposer d'un moyen d'invalider votre paire de clés en cas de faille de sécurité ou en cas de perte de votre clé secrète. Il existe un moyen simple de le faire avec le logiciel GPG.
Cela doit être fait dès que vous créez la paire de clés, et non lorsque vous en avez besoin. Cette clé de révocation doit être générée à l'avance et conservée dans un emplacement sécurisé et séparé au cas où votre ordinateur serait compromis ou inutilisable. Taper:
Il vous sera demandé la raison pour laquelle il est révoqué. Vous pouvez choisir n’importe laquelle des options disponibles, mais comme cela se fait à l’avance, vous n’aurez pas les détails.
Il vous sera ensuite proposé de fournir un commentaire et enfin de confirmer les sélections.
Ensuite, un certificat de révocation sera généré à l'écran. Copiez et collez ceci dans un emplacement sécurisé ou imprimez-le pour une utilisation ultérieure :
Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: A revocation certificate should follow
iQIfBCABAgAJBQJSTxNSAh0AAAoJEIKHahUxGx+E15EP/1BL2pCTqSG9IYbz4CMN
bCW9HgeNpb24BK9u6fAuyH8aieLVD7It80LnSg/+PgG9t4KlzUky5sOoo54Qc3rD
H+JClu4oaRpq25vWd7+Vb2oOwwd/27Y1KRt6TODwK61z20XkGPU2NJ/ATPn9yIR9
4B10QxqqQSpQeB7rr2+Ahsyl5jefswwXmduDziZlZqf+g4lv8lZlJ8C3+GKv06fB
FJwE6XO4Y69LNAeL+tzSE9y5lARKVMfqor/wS7lNBdFzo3BE0w68HN6iD+nDbo8r
xCdQ9E2ui9os/5yf9Y3Uzky1GTLmBhTqPnl8AOyHHLTqqOT47arpwRXXDeNd4B7C
DiE0p1yevG6uZGfhVAkisNfi4VrprTx73NGwyahCc3gO/5e2GnKokCde/NhOknci
Wl4oSL/7a3Wx8h/XKeNvkiurInuZugFnZVKbW5kvIbHDWJOanEQnLJp3Q2tvebrr
BBHyiVeQiEwOpFRvBuZW3znifoGrIc7KMmuEUPvA243xFcRTO3G1D1X9B3TTSlc/
o8jOlv6y2pcdBfp4aUkFtunE4GfXmIfCF5Vn3TkCyBV/Y2aW/fpA3Y+nUy5hPhSt
tprTYmxyjzSvaIw5tjsgylMZ48+qp/Awe34UWL9AWk3DvmydAerAxLdiK/80KJp0
88qdrRRgEuw3qfBJbNZ7oM/o
=isbs
-----END PGP PUBLIC KEY BLOCK-----
Comment importer les clés publiques d'autres utilisateurs
GPG serait plutôt inutile si vous ne pouviez pas accepter d'autres clés publiques des personnes avec lesquelles vous souhaitez communiquer.
Vous pouvez importer la clé publique de quelqu’un de différentes manières. Si vous avez obtenu une clé publique de quelqu'un dans un fichier texte, GPG peut l'importer avec la commande suivante :
Il est également possible que la personne avec laquelle vous souhaitez communiquer ait téléchargé sa clé sur un serveur de clés publiques. Ces serveurs de clés sont utilisés pour héberger les clés publiques de personnes du monde entier.
Un serveur de clés populaire qui synchronise ses informations avec divers autres serveurs est le serveur de clés publiques du MIT. Vous pouvez rechercher des personnes par leur nom ou leur adresse e-mail en allant ici dans votre navigateur Web :
http://pgp.mit.edu/
Vous pouvez également rechercher le serveur de clés depuis GPG en tapant ce qui suit :
Bien que vous puissiez librement distribuer votre fichier de clé publique généré et que les gens puissent l'utiliser pour vous contacter de manière cryptée, il existe toujours un problème de confiance dans la transmission initiale de la clé publique. Comment savez-vous que la personne qui vous donne la clé publique est bien celle qu’elle prétend être ? Dans certains cas, cela peut être simple. Vous êtes peut-être assis juste à côté de la personne avec vos ordinateurs portables ouverts et en échange de clés. Cela devrait être un moyen assez sûr de vérifier que vous recevez la clé correcte et légitime. Mais il existe bien d’autres circonstances dans lesquelles un tel contact personnel n’est pas possible. Il se peut que vous ne connaissiez pas personnellement l’autre partie ou que vous soyez séparé par une distance physique. Si vous ne souhaitez jamais communiquer sur des canaux non sécurisés, la vérification de la clé publique pourrait s'avérer problématique. Heureusement, au lieu de vérifier l’intégralité des clés publiques des deux parties, vous pouvez simplement comparer « l’empreinte digitale » dérivée de ces clés. Cela vous donnera une assurance raisonnable que vous utilisez tous les deux les mêmes informations de clé publique. Vous pouvez obtenir l'empreinte digitale d'une clé publique en tapant : Cela produira une chaîne de nombres beaucoup plus gérable à comparer. Vous pouvez comparer cette chaîne avec la personne elle-même ou avec quelqu'un d'autre qui a accès à cette personne. Signer une clé indique à votre logiciel que vous faites confiance à la clé qui vous a été fournie et que vous avez vérifié qu'elle est associée à la personne en question. Pour signer une clé que vous avez importée, tapez simplement : Après avoir signé la clé, cela signifie que vous vérifiez que vous avez confiance que la personne est bien celle qu’elle prétend être. Cela peut aider d’autres personnes à décider si elles doivent également faire confiance à cette personne. Si quelqu’un vous fait confiance et voit que vous avez signé la clé de cette personne, il est peut-être plus susceptible de faire également confiance à son identité. Vous devez faire bénéficier la personne dont vous signez la clé des avantages de votre relation de confiance en lui renvoyant la clé signée. Vous pouvez le faire en tapant : Vous devrez saisir à nouveau votre phrase secrète. Ensuite, leur clé publique, signée par vos soins, sera crachée à l'écran. Envoyez-leur ceci, afin qu'ils puissent bénéficier de votre « cachet d'approbation » lorsqu'ils interagissent avec les autres. Lorsqu'ils reçoivent cette nouvelle clé signée, ils peuvent l'importer, en ajoutant les informations de signature que vous avez générées, dans leur base de données GPG. Ils peuvent le faire en tapant : Il n’y a vraiment rien de malveillant qui puisse arriver si des inconnus possèdent votre clé publique. Pour cette raison, il peut être avantageux de rendre votre clé publique facilement disponible. Les gens peuvent alors retrouver facilement vos informations pour vous envoyer des messages sécurisés, dès la première communication. Vous pouvez envoyer à n'importe qui votre clé publique en la demandant au système GPG : mQINBFJPcuABEACiog/sInjg0O2SqgmG1T8n9FroSTdN74uGsRMHHAOuAmGLsTse 9oxeLQpN+r75Ko39RVE88dRcW710fPY0+fjSXBKhpN+raRMUKJp4AX9BJd00YA/4 EpD+8cDK4DuLlLdn1x0q41VUsznXrnMpQedRmAL9f9bL6pbLTJhaKeorTokTvdn6 5VT3pb2o+jr6NETaUxd99ZG/osPar9tNThVLIIzG1nDabcTFbMB+w7wOJuhXyTLQ JBU9xmavTM71PfV6Pkh4j1pfWImXc1D8dS+jcvKeXInBfm2XZsfOCesk12YnK3Nc u1Xe1lxzSt7Cegum4S/YuxmYoh462oGZ7FA4Cr2lvAPVpO9zmgQ8JITXiqYg2wB3 . . . Vous pouvez ensuite copier-coller ceci ou l'envoyer sur un support approprié. Si vous souhaitez publier votre clé sur un serveur de clés, vous pouvez le faire manuellement via les formulaires disponibles sur la plupart des sites serveurs. Une autre option consiste à le faire via l'interface GPG. Recherchez votre identifiant de clé en tapant : La partie en surbrillance est votre identifiant de clé. Il s'agit d'un moyen court de référencer la clé du logiciel interne. Pour télécharger votre clé sur un certain serveur de clés, vous pouvez alors utiliser cette syntaxe : Vous pouvez facilement crypter et déchiffrer les messages après avoir configuré vos clés avec l'autre partie. Vous pouvez chiffrer les messages en utilisant l'indicateur « –encrypt » pour GPG. La syntaxe de base serait : Les paramètres chiffrent essentiellement l'e-mail, le signent avec votre clé privée pour garantir qu'il vient de vous et génèrent le message au format texte au lieu d'octets bruts. Vous devez également inclure un deuxième destinataire « -r » avec votre propre adresse e-mail si vous souhaitez pouvoir lire le message à tout moment. En effet, le message sera chiffré avec la clé publique de chaque personne, et ne pourra être déchiffré qu’avec la clé privée associée. Ainsi, s’il était uniquement chiffré avec la clé publique de l’autre partie, vous ne pourrez plus visualiser le message, à moins que vous n’ayez obtenu sa clé privée d’une manière ou d’une autre. En vous ajoutant en tant que deuxième destinataire, le message est chiffré deux fois, une pour chaque destinataire. Lorsque vous recevez un message, appelez simplement GPG sur le fichier du message : Le logiciel vous demandera si nécessaire. Si vous avez le message sous forme de flux de texte brut, vous pouvez le copier et le coller après avoir simplement tapé Il existe un certain nombre de procédures que vous devrez peut-être utiliser régulièrement pour gérer votre base de données de clés. Pour répertorier vos clés GPG disponibles provenant d'autres personnes, vous pouvez exécuter cette commande : Vos informations clés peuvent devenir obsolètes si vous comptez sur des informations extraites de serveurs de clés publiques. Vous ne voulez pas vous fier à des clés révoquées, car cela signifierait que vous faites confiance à des clés potentiellement compromises. Vous pouvez mettre à jour les informations clés en émettant : Cela récupérera de nouvelles informations sur les serveurs de clés. Vous pouvez extraire des informations d'un serveur de clés spécifique en utilisant : Utiliser correctement GPG peut vous aider à sécuriser vos communications avec différentes personnes. Ceci est extrêmement utile, en particulier lorsqu’il s’agit d’informations sensibles, mais également lorsqu’il s’agit de messages réguliers et quotidiens. En raison de la manière dont certaines communications cryptées peuvent être signalées par les programmes de surveillance, il est recommandé d'utiliser le cryptage pour tout, et pas seulement pour les données « secrètes ». Il sera alors plus difficile pour les gens de savoir quand vous envoyez des données importantes ou si vous envoyez simplement un bonjour amical. Le cryptage GPG n’est utile que lorsque les deux parties utilisent de bonnes pratiques de sécurité et sont vigilantes quant à leurs autres pratiques de sécurité. Éduquez ceux avec qui vous communiquez régulièrement sur l’importance de ces pratiques si vous souhaitez avoir la possibilité d’une communication cryptographiquement sécurisée.Vérifier l’identité de l’autre personne
Signer leur clé
Comment rendre votre clé publique hautement disponible
Crypter et décrypter les messages avec GPG
Chiffrer les messages
Décrypter les messages
gpg sans aucun argument. Vous pouvez appuyer sur « CTRL-D » pour signifier la fin du message et GPG le déchiffrera pour vous.Entretien des clés
gpg --list-keys
gpg --refresh-keys
Conclusion
