Pour LinuxTutoriels

Comment vérifier la signature GPG d’un fichier sous Linux

Télécharger un exécutable, une archive ou une image ISO depuis Internet ne garantit pas à lui seul son origine légitime ni son intégrité. Un fichier récupéré sur un miroir de téléchargement ou via un réseau public peut avoir été altéré ou remplacé par un contenu malveillant. Sous Linux, l’utilisation conjointe des sommes de contrôle et de la cryptographie asymétrique permet de parer à ces risques. GPG (GNU Privacy Guard) constitue l’outil standard pour certifier l’authenticité des fichiers grâce à un système de clés publiques et privées.

Ce tutoriel détaille le fonctionnement de GnuPG sous Linux, de l’installation du paquet à l’importation de clés, en passant par le contrôle des empreintes et l’analyse des retours de commande indispensables pour sécuriser votre environnement de travail.

Qu’est-ce qu’une signature GPG et pourquoi l’utiliser ?

GPG repose sur la cryptographie asymétrique, dissociant deux éléments distincts :

  • La clé privée : gardée secrète par le développeur ou le responsable de la distribution, elle sert à générer la signature numérique.
  • La clé publique : diffusée largement auprès des utilisateurs pour authentifier la provenance des données.

Lorsqu’un projet signe un fichier, GPG calcule un hash mathématique de son contenu et le chiffre à l’aide de sa clé privée. L’utilisateur final utilise ensuite la clé publique correspondante pour déchiffrer cette signature et comparer le résultat.

Cette démarche offre deux garanties fondamentales :

  1. L’intégrité : le fichier n’a subi aucune altération (corruption ou modification volontaire) depuis sa signature.
  2. L’authenticité : la signature émane effectivement de la entité détentrice de la clé privée associée.

Différence avec les simples sommes de contrôle (SHA256)

Un hash de type SHA256 permet uniquement de s’assurer qu’un fichier correspond à une empreinte connue. Si un attaquant parvient à compromettre le serveur de téléchargement pour modifier simultanément le fichier et le fichier de hash publié (SHA256SUMS), la vérification simple échouera à détecter la supercherie. Avec une signature GPG, l’attaquant devrait également dérober la clé privée du signataire pour générer une signature valide, ce qui complexifie grandement l’attaque.

Installer GnuPG sous Linux

La plupart des distributions Linux intègrent GnuPG par défaut. Si le binaire n’est pas présent, son installation s’effectue via le gestionnaire de paquets de votre système :

  • Sur Debian, Ubuntu et dérivés :Bashsudo apt update sudo apt install gnupg
  • Sur Fedora et Red Hat Enterprise Linux :Bashsudo dnf install gnupg2
  • Sur Arch Linux et dérivés :Bashsudo pacman -S gnupg

Vérifiez le bon fonctionnement de l’outil et sa version active :

Vous pouvez lister le contenu actuel de votre trousseau de clés local avec la commande suivante :

Importer et Gérer les Clés Publiques GPG

Pour valider une signature, vous devez impérativement disposer de la clé publique de l’auteur dans votre trousseau local.

1. Importer un fichier de clé publique direct

Si le site officiel met à disposition un fichier de clé (.asc.gpg), importez-le directement :

2. Récupérer la clé depuis un serveur de clés

Si la documentation du projet indique un identifiant de clé, vous pouvez interroger un serveur de clés public (comme celui d’Ubuntu) :

Si vous ne connaissez pas l’identifiant, tentez d’exécuter la vérification du fichier signé. GPG vous renverra une erreur indiquant l’empreinte de la clé manquante, que vous pourrez alors récupérer.

Valider l’Empreinte Numérique (Fingerprint)

L’importation d’une clé depuis un serveur public ne garantit pas son authenticité absolue, quiconque pouvant publier une fausse clé portant le même nom. Il est donc impératif de vérifier son empreinte (fingerprint).

Affichez l’empreinte de la clé importée :

Comparez la chaîne de caractères hexadécimaux obtenue avec celle affichée sur le canal de confiance officiel du projet (site web sécurisé, documentation officielle, etc.). Les empreintes doivent correspondre caractère par caractère.

Vérifier la Signature d’un Fichier

Le cas le plus fréquent concerne une signature détachée (fournie dans un fichier séparé portant l’extension .sig.asc ou .gpg).

Pour valider un fichier et sa signature associée, exécutez la commande :

Interprétation des retours GPG

  • Signature valide :Plaintextgpg: Good signature from "Nom du Développeur ou du Projet" Le fichier est intègre et signé par la clé mentionnée. Assurez-vous simplement que cette clé appartient bien à l’entité attendue.
  • Signature invalide :Plaintextgpg: BAD signature from "Nom du Développeur ou du Projet" Le fichier a été corrompu ou modifié après sa signature. Ne l’utilisez en aucun cas.
  • Clé publique introuvable :Plaintextgpg: Can't check signature: No public key Vous devez importer la clé publique correspondante avant de procéder à la vérification.

Bonnes Pratiques de Sécurité

  • Privilégiez toujours les canaux officiels pour récupérer les clés publiques.
  • Ne validez jamais une signature sans avoir contrôlé l’empreinte numérique (fingerprint).
  • Nettoyez régulièrement votre trousseau de clés en supprimant celles qui sont obsolètes ou dont vous n’avez plus l’utilité via la commande gpg --delete-key.

Afficher plus

Abderrahmane Hammou

Fou de technologie depuis que les premiers modems criaient dans nos oreilles, je mixe passion geek et humour (parfois douteux) pour dénicher l’essence des innovations. Amateur de café fort et de playlists nostalgiques, je jongle entre écrans connectés et sessions de jeu rétro avec mes petits complices, toujours prêts à m'expliquer ce qu’est vraiment un meme.

Articles similaires

Bouton retour en haut de la page