Verificare le firme è una prassi di sicurezza molto importante per tutti i software legati a Bitcoin: guida completa.
La verifica delle firme è una procedura fondamentale per assicurarsi che un software non sia stato alterato o compromesso.
Per effettuare la verifica di una firma di un software è necessario ottenere la chiave pubblica del creatore del software.
Solitamente la chiave pubblica si ottiene dal sito del produttore del software o dai profili social dello sviluppatore.
Per capire come fare a verificare la firma di un software, in questa guida verifichiamo la firma del desktop wallet Sparrow.
I primi due metodi descritti sono adatti solo a dispositivi Linux e macOS dato che fanno uso del terminale. Per gli utenti che utilizzano Windows, consultate il terzo metodo.
Metodo n.1 per Linux e macOS
Scaricate il file di installazione per il vostro sistema operativo e i due file della firma del software dal sito ufficiale di Sparrow. Il file della firma finisce sempre con l’estensione .asc.
Scaricate la chiave pubblica dello sviluppatore del software con il comando wget link_chiavepubblica. Facendo una ricerca su Internet, troviamo l’account ufficiale di Keybase di Craig Raw, lo sviluppatore di Sparrow, con la sua chiave pubblica e relativa fingerprint: https://keybase.io/craigraw/pgp_keys.asc.
Per scaricare la chiave pubblica scrivete il comando: wget https://keybase.io/craigraw/pgp_keys.asc
Con il comando ls controllate che il file sia stato scaricato nella cartella.
Importate la chiave pubblica con il comando: gpg –import nome_file_chiavepubblica. In questo caso scrivete: gpg –import pgp_keys.asc
Controllate di avere la chiave pubblica appena importata con il comando: gpg –list-keys
Controllate che il file del wallet scaricato e il file della firma siano nella stessa cartella (ad esempio nella cartella Downloads).
Verificate la firma con il comando gpg –verify file_della_firma. In questo caso scrivete il comando gpg –verify sparrow-1.9.1-manifest.txt.asc
Verificate che la fingerprint corrisponda a quella mostrata sul sito del wallet. Controllate anche se i dati della firma come data e orario corrispondono a quelli del sito del wallet.
Metodo n.2 per Linux e macOS
A differenza del metodo precedente, con questa procedura otteniamo la chiave pubblica da un server pubblico di chiavi come keys.openpgp.org e non dal sito del produttore del software o dai profili social dello sviluppatore.
Sul sito keys.openpgp.org incollate la fingerprint della chiave pubblica che trovate sul profilo Keybase dello sviluppatore. Cliccate su Search e il server vi dirà se la chiave pubblica è presente sul server di chiavi.
Ora aprite il terminale e scrivete:
- gpg –recv-keys FINGERPRINT: questo comando importerà la chiave pubblica sul vostro pc; in questo caso scrivete:
gpg –recv-keys D4D0D3202FC06849A257B38DE94618334C674B40
Con il comando gpg –list-keys potete vedere quali chiavi pubbliche avete importato sul vostro pc:
Scaricate i due file della firma del software dal sito ufficiale del wallet.
Per verificare se la firma è corretta, utilizzate sempre il comando gpg –verify file_della_firma. In questo caso scrivete: gpg –verify sparrow-1.9.1-manifest.txt.asc
Verificate che la fingerprint corrisponda a quella presente sul sito del wallet. Controllate anche se i dati della firma come data e orario corrispondono a quelli del sito del wallet.
Metodo per Windows
Per verificare le firme di un software su Windows dovete scaricare il programma Gpg4win dal sito ufficiale.
Una volta installato il software dovete scaricare la versione di Sparrow per Windows e i due file della firma. Inserite questi tre file nella stessa cartella.
Scaricate la chiave pubblica dello sviluppatore dal link: https://keybase.io/craigraw/pgp_keys.asc
Per scaricarla sul vostro pc, copiate tutto il testo della chiave pubblica, incollatelo in un software di testo (ad esempio: blocco note) e salvatelo con il nome pgp_keys.asc.nella stessa cartella dei tre file precedentemente scaricati.
Accertatevi che la spunta su Estensione nomi file sia attiva in modo tale da distinguere in modo semplice i vari file all’interno del gestore dei file.
La prima operazione da fare è importare la chiave pubblica. Cliccate con il tasto destro sul file della chiave pubblica, andate alla voce More GpgEX options e cliccate su Import keys.
Per certificare la chiave pubblica, occorrerà creare prima un certificato OpenPGP da attribuire a noi stessi. Cliccate con il tasto destro sulla chiave pubblica appena importata e cliccate su Certifica. Apparirà un avviso che vi richiederà la creazione di un certificato OpenPGP autogenerato. Cliccate su Crea per crearlo. Inserite il nome che desiderate nel campo Nome (ad esempio: test), e cliccate su Ok.
Cliccate nuovamente Ok per concludere la generazione del certificato.
Cliccate con il tasto destro sulla chiave pubblica appena importata e cliccate su Certifica per certificare che la chiave pubblica dello sviluppatore appartiene effettivamente a lui.
Per verificare la firma, cliccate con il tasto destro sul file della firma, andate alla voce More GpgEX options e cliccate su Verify.
Finita la procedura di verifica apparirà una schermata in verde con i dati della firma e dello sviluppatore.
Verificate che la fingerprint corrisponda a quella presente sul sito del wallet. Controllate anche se i dati della firma come data e orario corrispondono a quelli del sito del wallet.