Attenzione: Queste istruzioni sono per verificare il codice sorgente di tor. Seguire le istruzioni corrette per verificare la firma di Tor Browser.

La firma digitale è un processo che assicura che un certo pacchetto sia stato creato dai suoi sviluppatori e che non sia stato manomesso. Di seguito spieghiamo perché è importante e come verificare che il codice sorgente di tor che scarichi sia quello che abbiamo creato noi e che non sia stato modificato da un attaccante.

Ogni file sulla nostra pagina di download è accompagnato da due file denominati "checksum" e "sig" con lo stesso nome del pacchetto e l'estensione ".sha256sum" e ".sha256sum.asc" rispettivamente.

Il file .asc verificherà che il file .sha256sum (contenente il checksum del pacchetto) non sia stato manomesso. Una volta validata la firma (vedi di seguito come farlo), l'integrità del pacchetto può essere validata con:

$ sha256sum -c *.sha256sum

Questi file ti permettono di verificare che il file scaricato sia esattamente quello che abbiamo inteso farti ottenere. Questo varia a seconda del browser web, ma generalmente puoi scaricare questo file facendo clic con il tasto destro sul link "sig" e "checksum" e selezionando l'opzione "salva file come".

Ad esempio, tor-0.4.6.7.tar.gz è accompagnato da tor-0.4.6.7.tar.gz.sha256sum.asc. Questi sono solo esempi di nomi di file e non corrisponderanno esattamente a quelli dei file che scaricherai.

Ora ti mostriamo come puoi verificare la firma digitale del file scaricato nei vari sistemi operativi. Ti informiamo che la firma è datata a quando il pacchetto è stato firmato. Pertanto, ogni volta che un nuovo file viene caricato una nuova firma viene generata con una data diversa. Finché hai verificato la tua firma non dovresti preoccuparti che la data riportata potrebbe cambiare.

Installazione di GnuPG

Prima di tutto hai bisogno di installare GnuPG prima di poter verificare le firme.

Per gli utenti Windows:

Se utilizzi Windows, scarica Gpg4win e esegui l'installer.

Per verificare il file è necessario eseguire comandi da terminale cmd.exe da windows.

Per gli utenti macOS:

Se stai usando macOS, puoi installare GPGTools.

Per verificare li file dovresti necessitare della riga di comando (Applications-Utility).

Per gli utenti GNU/Linux:

Se stai usando GNU/Linux probabilmente hai già GnuPG nel tuo sistema, molte distribuzioni lo hanno preinstallato.

Per verificare la firma sarà necessario digitare alcuni comandi in una finestra del terminale. Come farlo varia a seconda della tua distribuzione.

Recuperare la chiave per sviluppatori Tor

Le seguenti chiavi possono firmare il tarball. Non aspettarti di trovarle tutte; può variare a seconda di chi è disponibile per fare il rilascio.

Puoi recuperare la chiave con i link forniti sopra o con:

$ 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

Dovresti vedere qualcosa come (per nickm):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Numero totale proccessati: 1
gpg:                       importati: 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]

Se viene visualizzato un messaggio di errore, qualcosa è andato storto e non si può continuare finché non si è capito perché non ha funzionato. Potresti riuscire a importare la chiave utilizzando la sezione Workaround (usando una chiave pubblica) invece.

Dopo aver importato la chiave, puoi salvare su un file (identificandola dalla sua impronta qui):

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

Questo comando salva la chiave in un file che si trova nel percorso ./tor.keyring, ovvero nella directory corrente. Se ./tor.keyring non esiste una volta eseguito questo comando, qualcosa è andato storto e non puoi continuare finchè non hai capito cosa non ha funzionato.

Verificare la firma

Per verificare la firma del pacchetto scaricato, sarà necessario scaricare il file di firma .sha256sum.asc corrispondente e il file .sha256sum stesso, e verificarlo con un comando che chiede a GnuPG di verificare il file che hai scaricato.

L'esempio presume che hai scaricato due file dalla tua cartella "Downloads". Nota che questi comandi usano esempi di nomi di file e i tuoi saranno diversi: avrai scaricato una versione diversa dalla 9.0 e potresti non aver scelto la versione English (en-US).

Per gli utenti Windows:

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

Per gli utenti macOS:

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

Per utenti 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

Il risultato del comando dovrebbe produrre qualcosa come questo (a seconda della chiave utilizzata per la firma):

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>"

Se ricevi messaggi di errore che contengono 'Nessun file o directory', qualcosa è andato storto in uno dei passi precedenti, o hai dimenticato che questi comandi utilizzano esempi di nomi di file, e i tuoi saranno diversi.

Potresti anche voler saperne di più riguardo GnuPG.

Verifica del checksum

Ora che abbiamo validato le firme del checksum, dobbiamo verificare l'integrità del pacchetto.

Per gli utenti Windows:

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

Per gli utenti macOS:

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

Per utenti BSD/Linux:

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