Comment utiliser GnuPG pour le chiffrement sous Linux
Avez-vous déjà eu des informations sensibles telles que des mots de passe ou des informations de connexion au serveur dont vous aviez besoin pour envoyer quelqu'un par e-mail, mais vous ne saviez pas comment les envoyer en toute sécurité pour éviter que les informations ne tombent entre de mauvaises mains?
Vous apprendrez ici comment transmettre en toute sécurité des messages et des fichiers chiffrés avec PGP via le populaire outil gnupg. Plongeons-nous dans le vif du sujet et apprenons à sécuriser nos communications!
Installer gnupg
Si vous n'avez jamais entendu parler de PGP auparavant, consultez une excellente introduction et explication de PGP , qui contient divers détails que nous n'entrerons pas ici par souci de concision. Vérifiez d'abord si gnupg est déjà installé. Dans le terminal, exécutez la commande:
gnupg --version
S'il affiche la version de gnupg que vous utilisez actuellement (devrait être v2 +), vous êtes prêt et pouvez passer à la section suivante. Sinon, vous pouvez installer gnupg en exécutant:
sudo apt-get install gnupg2
Une fois terminé, vérifiez qu'il est installé:
gnupg -- version
En supposant que gnupg a été correctement installé, cela affichera le numéro de version.
Générer une clé PGP
En utilisant un cryptage asymétrique , vous allez d'abord générer une paire de clés PGP qui se compose à la fois d'une clé publique et d'une clé privée. La clé publique peut être librement distribuée à toute personne dont vous souhaitez recevoir des messages cryptés, tandis que la clé privée est conservée pour vous dans un endroit sûr.
Les gens peuvent ensuite chiffrer les messages sur la clé publique et envoyer un message chiffré, qui peut ensuite être déchiffré à l'aide de la clé privée. Pour générer une exécution de paire de clés:
gpg --generate-key
Cela commencera par vous demander votre nom et votre adresse e-mail, qui ne doivent pas nécessairement être votre vrai nom et votre adresse e-mail. Cependant, c'est ce que les autres verront lorsqu'ils choisiront à qui crypter les messages, alors assurez-vous que c'est quelque chose par lequel les autres peuvent facilement vous identifier.
Ensuite, entrez la lettre O pour confirmer le nom et l'adresse e-mail, et vous serez invité à entrer le mot de passe souhaité, qui peut être tout ce que vous souhaitez. Vous devrez saisir ce mot de passe chaque fois que vous souhaitez déchiffrer un message qui vous a été envoyé.
Une fois que vous avez confirmé le mot de passe, il commencera à générer votre nouvelle paire de clés PGP, ce qui peut prendre quelques minutes pour collecter suffisamment de données d'entropie / aléatoires sur votre ordinateur. N'hésitez pas à quitter le terminal pendant quelques minutes et à faire autre chose jusqu'à ce que vous voyiez un message indiquant que votre clé a été générée avec succès.
Exportez votre clé publique
Maintenant que votre paire de clés est générée, vous devez exporter la clé publique pour la distribuer à d'autres. Dans le terminal, exécutez la commande:
gpg -a --export -e '[email protected]` > mykey.asc
Assurez-vous de remplacer «[email protected]» par l'adresse e-mail que vous avez fournie lors de la génération de votre clé PGP. Vous verrez maintenant un nouveau fichier dans le répertoire actuel nommé mykey.asc . Envoyez ce fichier à toute personne à qui vous souhaitez pouvoir vous envoyer des messages cryptés.
Importer des clés publiques
De la même manière que vous pouvez désormais partager votre clé publique avec d'autres personnes, les utilisateurs partageront également leurs clés publiques avec vous. Lorsque vous recevez la clé PGP publique de quelqu'un, enregistrez le fichier dans un répertoire et accédez au terminal à partir du même répertoire, exécutez:
gpg --import key.asc
Cela importera la clé PGP publique de la personne dans gnupg, ce qui vous permettra de commencer à lui envoyer des messages chiffrés. À tout moment, vous pouvez afficher une liste de toutes les clés PGP actuellement disponibles dans gnupg:
gpg --list-keys
Vous verrez un tas d'entrées qui ressemblent à ci-dessous, une pour chaque clé disponible dans gnupg:
pub rsa3072 2020-01-30 [SC] [expires: 2022-01-29]
8978168C4E79A08553E5789CD42A4A4EC1468CFE
uid [ unknown] Matt Dizak <[email protected]>
Les seules informations dont vous devez tenir compte sont le nom et l'adresse e-mail de l'entrée, qui indique le propriétaire de cette clé. Lors du cryptage des messages, vous n'aurez besoin que de l'adresse e-mail du destinataire.
Crypter les messages via PGP
Par exemple, vous devrez peut-être envoyer des informations sensibles à votre concepteur Web, qui est la clé PGP que vous avez déjà importée sous l'adresse e-mail [email protected]. Tapez le message souhaité et enregistrez-le dans un fichier texte, par exemple message.txt . Dans le terminal et dans le répertoire où réside message.txt, exécutez la commande:
gpg -e -a -r '[email protected]' message.txt
Décomposons rapidement la commande ci-dessus:
- -e spécifie que nous chiffrons les données
- -a indique que nous voulons la sortie au format ASCII ou texte brut
- -r signifie destinataire, d'où la raison pour laquelle il est suivi de l'adresse e-mail de notre designer
- Enfin vient le fichier de message que nous souhaitons crypter
Très probablement, cela vous demandera de confirmer que vous souhaitez effectivement chiffrer cette clé publique, et vous pouvez simplement appuyer sur la touche Y pour accepter. Un nouveau fichier message.txt.asc sera créé, et si vous ouvrez le fichier dans un éditeur de texte, vous verrez quelque chose de similaire à:
-----BEGIN PGP MESSAGE-----
hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw
9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36
.....
-----END PGP MESSAGE-----
Il s'agit de la nouvelle forme cryptée de notre message. Vous pouvez soit joindre ce fichier dans un e-mail, soit simplement copier et coller le contenu de ce fichier dans le contenu du corps d'un e-mail.
Le destinataire pourra alors déchiffrer le message de son côté à l'aide de sa clé privée, garantissant que toute personne qui verra ce message pendant le transit ne pourra pas voir la version en texte brut.
Chiffrement des fichiers binaires
La section ci-dessus explique comment crypter des messages texte, mais qu'en est-il des fichiers binaires? Cela fonctionne à peu près de la même manière, et par exemple pour crypter un fichier nommé images.zip , dans le terminal, exécutez la commande:
gpg -e -r '[email protected]' images.zip
La seule différence étant que l'option -a est supprimée, ainsi que le nom du fichier de sortie. Ensuite, comme précédemment, si vous êtes invité à confirmer l'utilisation de la clé publique, appuyez simplement sur la touche Y pour accepter.
Un nouveau fichier nommé images.zip.gpg sera créé, qui est la version cryptée de notre fichier zip que nous pouvons envoyer par courrier électronique à notre concepteur en pièce jointe. Ils peuvent ensuite déchiffrer le fichier ZIP à l'aide de leur clé privée.
Décrypter les messages
Vous avez également besoin d'un moyen de décrypter les messages qui vous sont envoyés. N'oubliez pas que pour qu'une personne puisse vous envoyer un message crypté, vous devez d'abord partager votre clé PGP publique avec elle. Vous obtiendrez un bloc de texte crypté, qui ressemble au cryptage d'un message, tel que:
-----BEGIN PGP MESSAGE-----
hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw
9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36
.....
-----END PGP MESSAGE-----
Enregistrez ce bloc de texte dans un fichier tel que message.asc , et dans le terminal, exécutez la commande:
gpg -d message.asc > message.txt
Vous serez invité à entrer votre mot de passe, qui est le même que celui que vous avez fourni lors de la création initiale de votre paire de clés PGP. Une fois votre mot de passe entré avec succès, un fichier message.txt contenant la version déchiffrée du message en texte brut sera créé. C'est tout ce qu'on peut en dire!
Félicitations, vos communications sont désormais sécurisées!
Grâce à ce guide, vous avez appris tout ce qui est nécessaire pour sécuriser correctement vos communications via le cryptage PGP. Vous avez appris à générer une paire de clés PGP, à exporter votre clé publique pour la partager avec d'autres, à importer les clés publiques d'autres personnes, ainsi qu'à crypter et décrypter les messages.
La prochaine fois que vous aurez besoin d'envoyer des informations sensibles par e-mail, vous pouvez désormais être assuré que seul le destinataire prévu pourra voir le contenu du message, ce qui le gardera à l'écart des invités indésirables. Bon cryptage!