Comment vérifier une signature PGP?

Comment vérifier une signature PGP?
PGP (Assez une bonne confidentialité) est un programme de cryptographie publique basé sur des clés. PGP complète la touche symétrique avec des algorithmes de clé asymétrique, faisant de ce logiciel un système cryptographique hybride, souvent appelé cryptosystème hybride.

PGP est non seulement utilisé pour sécuriser les informations des cybermenaces, mais aussi pour vérifier l'intégrité du fichier.

Ce tutoriel explique facilement le fonctionnement du PGP et comment vérifier les signatures PGP.

Comment fonctionne PGP

L'image ci-dessous représente une clé publique PGP. Cette clé publique PGP ne peut être déchiffrée qu'avec une clé PGP privée spécifique. L'émetteur de la clé publique ci-dessous a également publié une clé PGP privée car ils sont générés dans le même processus. Il ne partage que la clé publique.
Si vous prenez sa clé publique pour lui crypter un message, il pourra déchiffrer le message en utilisant sa clé privée. Seule sa clé privée peut décrypter le message que vous avez crypté en utilisant sa clé publique.

Les informations sont cryptées à l'aide de la clé publique et décryptée à l'aide de la clé privée. C'est appelé cryptage asymétrique.

Ainsi, même si un attaquant parvient à intercepter le message sans la clé privée, il n'est pas en mesure de voir le contenu du message.

L'avantage du cryptage asymétrique est la simplicité d'échanger des clés. Mais son inconvénient est qu'il ne peut pas crypter de grandes quantités de données, et c'est pourquoi PGP les implémente tous les deux.

Un cryptage symétrique est appliqué lorsque la clé publique est utilisée pour crypter les données protégées. Avec la clé publique, l'expéditeur fait deux choses: génère d'abord le cryptage symétrique pour protéger les données, puis il applique un cryptage asymétrique, qui ne crypte pas les données elle-même, mais la clé symétrique, qui protège les données.

Pour être plus technique, avant que la clé symétrique ne soit appliquée, les données sont également compressées avant d'être cryptées avec la clé symétrique et la clé publique. Le flux du graphique suivant montre l'ensemble du processus:

Signatures PGP

PGP est également utilisé pour vérifier l'intégrité des packages. Ceci est réalisé via la signature numérique, ce qui peut être fait avec PGP.

Premièrement, PGP génère un hachage qui est crypté avec la clé privée. La clé privée et le hachage peuvent être décryptés en utilisant la clé publique.

PGP crée une signature numérique, par exemple, pour une image ISO utilisant des algorithmes DSA ou RSA. Dans ce cas, la clé privée est attachée au logiciel ou à l'image ISO, contrairement à l'opération décrite précédemment. La clé publique est également partagée.

Les utilisateurs utilisent la clé publique pour vérifier la signature attachée au logiciel publié.

Le flux de graphiques suivant montre comment la clé privée et le hachage sont attachés au logiciel et comment l'utilisateur prend le logiciel avec le hachage attaché et la clé privée avec la clé publique pour vérifier la signature:

Comment vérifier une signature PGP?

Le premier exemple montre comment vérifier la signature du noyau Linux. Pour l'essayer, accédez à https: // noyau.org et télécharger une version du noyau et son fichier pgp. Pour cet exemple, je téléchargerai des fichiers Linux-5.12.7.le goudron.xz et Linux-5.12.7.le goudron.signe.

Le premier exemple montre comment vérifier la signature avec une seule commande. Selon la page de l'homme, cette combinaison d'options va être obsolète dans les futures versions. Cependant, il est toujours largement utilisé, et bien que la combinaison spécifique soit obsolète, les options resteront.

La première option -Keyserver-Options permet de définir des options pour le serveur de clés où les clés publiques sont stockées. Fondamentalement, cela permet la mise en œuvre d'options de récupération des clés publiques.

Le -Keyserver-Options est combiné avec le -repeuplement automatique Option pour récupérer automatiquement les clés publiques à partir d'un serveur de clés lors de la vérification des signatures.

Pour trouver les clés publiques, cette commande lira la signature à la recherche d'un Keyserver préféré ou d'un signal d'identification du signataire via un processus de recherche à l'aide du répertoire de clé Web.

GPG - KeyServer-Options Auto-Key-Retrieve --Veerify Linux-5.12.7.le goudron.signe

Comme vous pouvez le voir, la signature est bonne, mais il y a un message d'avertissement disant que GPG ne peut pas confirmer que la signature appartient au propriétaire. Tout le monde peut émettre une signature publique en tant que Greg Krohan-Hartman. Vous savez que la signature est légitime parce que vous faites confiance au serveur que vous l'avez téléchargé. Dans ce cas, il est spécifié dans le .Signe téléchargé à partir du noyau.org.
Cet avertissement est toujours présent, et vous pouvez l'éviter en ajoutant des signatures à une liste de confiance de signature en utilisant l'option -Edit-Key Trust. La vérité est qu'aucun utilisateur ne le fait, et la communauté GPG a demandé la suppression d'avertissement.

Vérification des sha256sums.GPG

Dans l'exemple suivant, je vérifierai l'intégrité d'une vieille image Kali Linux que j'ai trouvée dans ma boîte. À cet effet, j'ai téléchargé le sha256sums.fichiers gpg et sha256sums appartenant à la même image ISO.

Une fois que vous avez téléchargé une image ISO, les SHA256SUMS.GPG et Sha256sums, vous devez obtenir les clés publiques. Dans l'exemple suivant, je récupére les clés en utilisant wget et GPG -Import (Kali Vérification Instructions Lien vers ce serveur clé).

Ensuite, je vérifie l'intégrité du fichier en appelant GPG avec le -vérifier argument:

wget -q -o - https: // archive.kali.org / archive-clé.ASC | GPG - Import
gpg --verrifier les sha256sums.gpg sha256sums

Comme vous pouvez le voir, la signature est bonne et la vérification a réussi.

L'exemple suivant montre comment vérifier un téléchargement de nodejs. La première commande renvoie une erreur car il n'y a pas de clé publique. L'erreur indique que je dois rechercher la clé 74F12602B6F1C4E913FAA37AD3A89613643B6201. Habituellement, vous pouvez également trouver l'ID clé dans les instructions.

En utilisant l'option -servante, Je peux spécifier le serveur pour rechercher la clé. En utilisant l'option -keys recv, Je récupére les clés. Ensuite, la vérification fonctionne:

gpg --very shasums256.SMS.ASC

Je copie la clé dont j'ai besoin pour aller chercher, puis je cours:

GPG - Pool de KeyServer.SKS-Keyservers.Net - Recv-Keys
74F12602B6F1C4E913FAA37AD3A89613643B6201
gpg --very shasums256.SMS.ASC

Recherche de touches GPG:

Si les clés de récupération automatique ne fonctionnent pas et que vous ne trouvez pas les instructions spécifiques à la vérification, vous pouvez rechercher la clé dans un serveur de clés en utilisant l'option -clé de recherche.

GPG - Search-Key 74F12602B6F1C4E913FAA37AD3A89613643B6201

Comme vous pouvez le voir, la clé a été trouvée. Vous pouvez également le récupérer en appuyant sur le numéro de la touche que vous souhaitez récupérer.

Conclusion

La vérification de l'intégrité des téléchargements peut éviter de graves problèmes ou les expliquer, par exemple, lorsque le logiciel téléchargé ne fonctionne pas correctement. Le processus avec GPG est assez facile, comme indiqué ci-dessus, tant que l'utilisateur obtient tous les fichiers nécessaires.

Comprendre le cryptage asymétrique ou le cryptage basé sur les clés publics et privés est un besoin de base pour interagir en toute sécurité sur Internet, par exemple, en utilisant des signatures numériques.

J'espère que ce tutoriel sur les signatures PGP a été utile. Continuez à suivre l'astuce Linux pour plus de conseils et de tutoriels Linux.