altevo.net

Vérifier une signature PGP

GPG logo

Vérifier une signature PGP avec GnuPG

Pour vérifier qu'un logiciel téléchargé sur internet n'est pas vérolé et qu'il s'agit bien de sa version officielle, on vérifie sa signature numérique PGP, fournie par ses développeurs, avec GnuPG.

GnuPG2 est déjà installé par défaut dans les systèmes basés sur Debian, il est donc inutile de l'installer. Son interface graphique Seahorse l'est aussi sur Ubuntu, d'autres sont disponibles (Kleopatra, gpa, kgpg, Pyrite) afin de faciliter, pour ceux qui le souhaitent, la méthode manuelle décrite ci-dessous.

Si on utilise GPG et non pas GPG2, retirer le 2 dans les commandes.

Afficher l'aide de GnuPG pour découvrir toutes les commandes disponibles:

gpg2 --help

 

Générer un trousseau de clés:

gpg2 --full-gen-key

 

Suivre les différentes étapes en précisant bien les informations demandées. Il est aujourd'hui vivement recommandé de générer des clés d'une longueur de 4096 bits.

Télécharger ensuite la clé publique des développeurs du logiciel à vérifier. Elle est généralement disponible sur le site officiel où l'on télécharge ce logiciel (avec l'extension .asc).

Importer cette clé publique dans votre porte-clés, exemple:

gpg2 --import /home/pseudo/Téléchargements/logiciel_PGP_public_key.asc

 

Un message de confirmation s'affiche si la clé a bien été importée.

Signer ensuite cette clé publique avec sa clé privée personnelle afin d'indiquer à PGP qu'on la valide: On affiche la liste des clés:

gpg2 --list-keys

 

On repère l'identifiant de la clé publique importée, exemple:

pub   rsa4096/F0D6B1E0 2018-04-23

 

Ici rsa4096 est la longueur de la clé et son identifiant est F0D6B1E0, puis sa date d'importation.

Si on utilise GPG au lieu de GPG2, l'identifiant n'est pas précisé avec cette commande, on utilise alors:

gpg --list-signatures

 

On signe maintenant cette clé publique:

gpg2 --sign-key F0D6B1E0

Un message de confirmation s'affiche avec l“empreinte électronique de cette clé publique (fingerprint), que l'on peut comparer avec celle affichée sur le site où on l'a téléchargée. Si les deux correspondent, on confirme la signature avec notre phrase secrète.

 

On peut alors vérifier la signature du logiciel téléchargé, exemple:

gpg2 --verify /home/pseudo/Téléchargements/logiciel.tar.bz2.sig

Un message de confirmation s'affiche alors afin d'indiquer si la signature du logiciel téléchargé correspond bien à la clé publique des développeurs. Si oui, on peut alors installer et utiliser notre logiciel en toute confiance. Sinon, supprimer ce logiciel et contacter les développeurs afin de les informer que le téléchargement de leur logiciel est corrompu par des personnes mal-intentionnées.