Come verificare la firma PGP del software scaricato su Linux
PGP, che sta per Pretty Good Privacy, è un software di crittografia a chiave pubblica. PGP può essere utilizzato per crittografare e firmare la comunicazione dei dati. In questo tutorial, vedremo come verificare la firma PGP del software scaricato.
Gli utenti Linux possono installare in modo sicuro il software dai repository della loro distribuzione. Ma ci sono anche momenti in cui è necessario scaricare e installare il software dal sito web. Come puoi essere sicuro che il software scaricato non sia stato manomesso?
Alcuni autori di software firmano il loro software usando un programma PGP come GPG, che è un’implementazione di software libero dello standard OpenPGP. In tal caso, è possibile verificare l’integrità del software utilizzando GPG.
Il processo è relativamente semplice:
- Si scarica la chiave pubblica dell’autore del software.
- Controlla l’impronta digitale della chiave pubblica per assicurarti che sia la chiave corretta.
- Importa la chiave pubblica corretta nel tuo portachiavi pubblico GPG.
- Scarica il file di firma del software.
- Utilizzare la chiave pubblica per verificare la firma PGP. Se la firma è corretta, il software non è stato manomesso.
Useremo VeraCrypt come esempio per mostrarti come verificare la firma PGP del software scaricato.
Esempio: Verifica la firma PGP di VeraCrypt
Sebbene VeraCrypt sia un software open source, non è incluso nel repository di Ubuntu o di altre distribuzioni Linux. Possiamo scaricare VeraCrypt Linux installer dal sito ufficiale.
In alternativa è possibile scaricare VeraCrypt installer nel terminale utilizzando il comando seguente.
wget https://launchpadlibrarian.net/289850375/veracrypt-1.19-setup.tar.bz2
Nella pagina di download di VeraCrypt, puoi anche trovare il link per il download della chiave pubblica PGP e della firma PGP. Scarica questi due file. In alternativa, è possibile scaricarli in terminale utilizzando il comando qui sotto.
PGP public key
wget https://www.idrix.fr/VeraCrypt/VeraCrypt_PGP_public_key.asc
PGP signature file
wget https://launchpad.net/veracrypt/trunk/1.19/+download/veracrypt-1.19-setup.tar.bz2.sig
Prima di fare qualsiasi cosa con la chiave pubblica, devi sempre controllare l’impronta digitale della chiave per vedere se è la chiave corretta. Visualizzare l’impronta digitale della chiave utilizzando il comando qui sotto.
gpg --with-fingerprint VeraCrypt_PGP_public_key.asc
La seconda riga dell’output è l’impronta digitale della chiave.
Confrontalo con l’impronta digitale pubblicata sul sito Web di VeraCrypt.
Come puoi vedere, le due impronte digitali sono identiche, il che significa che la chiave pubblica è corretta. Quindi puoi importare la chiave pubblica nel tuo portachiavi pubblico con:
gpg --import VeraCrypt_PGP_public_key.asc
Ora verifica la firma usando il comando seguente. È necessario specificare il file di firma e il programma di installazione del software, i cui nomi sono solitamente identici, solo con un’estensione di file diversa. Questa è una firma distaccata, il che significa che la firma e il software sono separati l’uno dall’altro.
gpg --verify veracrypt-1.19-setup.tar.bz2.sig veracrypt-1.19-setup.tar.bz2
L’output dovrebbe dire “Buona firma”.
La firma è un valore hash, crittografato con la chiave privata dell’autore del software. GPG utilizza la chiave pubblica per decifrare il valore hash, quindi calcolare il valore hash di VeraCrypt installer e confrontare i due. Se questi due valori hash corrispondono, la firma è buona e il software non è stato manomesso.
Se GPG ti dice che è una firma errata, il programma di installazione del software è stato manomesso o danneggiato.
Importazione di chiave pubblica da una fonte attendibile
Si noti che se l’autore del software indica il suo ID chiave pubblica sul sito Web, è possibile importare la chiave pubblica con:
gpg --recv-keys <key-ID>
Quindi visualizzare l’impronta digitale con:
gpg --fingerprint <key-ID>
E confronta l’impronta digitale dall’output con quella pubblicata sul sito web. Questo è più sicuro perché la chiave pubblica viene importata da un server di chiavi pubbliche, che per impostazione predefinita è impostato su hkp://keys.gnupg.net
nel file ~/.gnupg/gpg.conf
. Poiché tutti i principali keyserver comunicano tra loro e sincronizzano le chiavi, non è necessario modificare l’impostazione predefinita.
Questo è tutto!
Spero che questo tutorial ti abbia aiutato a verificare la firma PGP dei download di software. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita o seguici su Google+, Twitter o come la nostra pagina Facebook.