Attention : Ces instructions ont pour but de vérifier le code source de Tor. Veuillez suivre les instructions suivantes pour vérifier la signature du navigateur Tor.

La signature numérique est un processus qui garantit qu’un paquet précis a été généré par ses développeurs et n’a pas été altéré. Nous expliquons ci-dessous pourquoi c'est important et comment vérifier que le code source tor que vous téléchargez est bien celui que nous avons créé et qu'il n'a pas été modifié par un attaquant.

Chaque fichier de notre page de téléchargement est accompagné de deux fichiers intitulés "checksum" et "sig" portant le même nom que le paquet et portant l'extension ".sha256sum" et ".sha256sum.asc" respectivement.

Le fichier .asc vérifiera que le fichier .sha256sum (contenant la somme de contrôle du paquet) n'a pas été altéré. Une fois que la signature a été validée (voir ci-dessous comment faire), l'intégrité du paquet peut être vérifiée avec le fichier .sha256sum :

$ sha256sum -c *.sha256sum

Ces fichiers vous permettent de vérifier que le fichier que vous avez téléchargé est bien celui que nous voulions que vous obteniez. Cela varie selon le navigateur web, mais vous pouvez généralement télécharger ce fichier en cliquant avec le bouton droit de la souris sur le lien "sig" et "checksum" et en sélectionnant l'option "enregistrer le fichier sous".

Par exemple, tor-0.4.6.7.tar.gz est accompagné de tor-0.4.6.7.tar.gz.sha256sum.asc. Ce sont des exemples de noms de fichiers et ils ne correspondent pas exactement aux noms de fichiers que vous téléchargez.

Ci-dessous, nous vous expliquons comment vous pouvez, sur différents systèmes d’exploitation, confirmer la signature numérique du fichier téléchargé. Veuillez noter qu’une signature est datée dès que le paquet a été signé. Par conséquent, chaque fois qu’un nouveau fichier est téléversé, une nouvelle signature est générée avec une date différente. Tant que vous aurez confirmé la signature, vous ne devriez pas vous inquiéter si la date indiquée varie.

Installer de GnuPG

Avant tout, GnuPG doit être installé avant que vous puissiez confirmer les signatures.

Pour les utilisateurs de Windows :

Si vous utilisez Windows, téléchargez Gpg4win (site en anglais) et exécutez son programme d’installation.

Afin de confirmer la signature, vous devrez taper quelques commandes dans la ligne de commande de Windows, cmd.exe.

Pour les utilisateurs de macOS :

Si vous utilisez macOS, vous pouvez installer GPGTools.

Afin de confirmer la signature, vous devrez taper quelques commandes dans le terminal (dans « Applications »).

Pour les utilisateurs de GNU/Linux :

Si vous utilisez GNU/Linux, GnuPG se trouve déjà probablement sur votre système, car il est préinstallé sur la plupart des versions de Linux.

Pour vérifier la signature, vous devrez taper quelques commandes dans un terminal. La manière de procéder varie en fonction de votre distribution.

Obtenir la clé des développeurs de Tor

Les clés suivantes peuvent signer l'archive. Ne vous attendez pas à ce qu'elles soient toutes présentes, cela peut varier en fonction de la personne disponible pour réaliser la version.

Vous pouvez obtenir la clé avec les liens fournis ci-dessus ou avec :

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

Cela devrait donner quelque chose comme (pour nickm) :

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg : Total number processed : 1
gpg:               imported: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

Si vous obtenez un message d’erreur, quelque chose s’est mal passé et vous ne pouvez pas continuer avant de trouver ce qui ne fonctionne pas. Vous pouvez peut-être importer la clé en utilisant la section Détournement (utilisation d'une clé publique) à la place.

Après avoir importé la clé, vous pouvez l’enregistrer vers un fichier (en l’identifiant par son empreinte ici) :

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

Ces résultats de commande dans la clé étant sauvegardés vers un fichier se trouvant dans le chemin ./tor.keyring, c’est-à-dire dans l’actuel répertoire. Si ./tor.keyring n’existe pas après avoir lancé cette commande, quelque chose a mal tourné et vous ne pouvez pas poursuivre tant que vous n’avez pas compris pourquoi cela n’a pas marché.

Confirmer la signature

Pour vérifier la signature du paquet que vous avez téléchargé, vous devrez télécharger le fichier de signature .sha256sum.asc correspondant et le fichier .sha256sum lui-même, et le vérifier à l'aide d'une commande qui demande à GnuPG de vérifier le fichier que vous avez téléchargé.

Les exemples ci-dessous supposent que vous avez téléchargé ces deux fichiers dans votre dossier « Téléchargements ». Notez que ces commandes utilisent des noms de fichiers d’exemple et que le vôtre sera différent : vous aurez téléchargé une version différente de la 9.0 et vous n’aurez peut-être pas choisi la version anglaise (en-US).

Pour les utilisateurs de Windows :

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

Pour les utilisateurs de macOS :

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

Pour les utilisateurs BSD/Linux :

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

Le résultat de la commande devrait ressembler à ceci (en fonction de la clé qui l'a signée) :

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

Si vous obtenez des messages d’erreur contenant "Aucun fichier ou répertoire de ce type", soit quelque chose s’est mal passé lors d’une des étapes précédentes, soit vous avez oublié que ces commandes utilisent des noms de fichiers d’exemple et le vôtre sera un peu différent.

Vous voudrez peut-être aussi en apprendre davantage sur GnuPG (site en anglais).

Vérification du checksum

Maintenant que nous avons vérifié les signatures du checksum, nous devons vérifier l'intégrité du paquet.

Pour les utilisateurs de Windows :

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

Pour les utilisateurs de macOS :

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

Pour les utilisateurs BSD/Linux :

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum