Pubblicato: Maggio 17, 2021
Elenco tutorial

Verificare la firma di un software

Assicurati che il software che hai scaricato da internet non sia stato compromesso


La maggior parte delle persone scaricano software dagli 'App Store' di organizzazioni verificate come Apple o Microsoft, durante il quale il processo di verifica è fatto per voi. Tuttavia, visto che siete qui a leggere questo articolo, presumo che vi piaccia Bitcoin e l'uso di software open source relativo a Bitcoin. Per la maggior parte dei nuovi arrivati, scaricare software libero e open source da qualche parte come Github può sembrare un po' come il selvaggio West. È qui che avere la conoscenza per verificare che il software che state scaricando provenga dalla fonte che vi aspettate e contenga i contenuti esatti di quelli forniti dallo sviluppatore, può essere molto utile.

Cosa succede se non verificate il vostro software? Il più delle volte niente. Altre volte, il software maligno può infettare il tuo computer con un malware che sembra identico al software che ti aspetti di vedere, ma potrebbe essere costruito per rubare ogni sat che possiedi. Questo software potrebbe essere l'interfaccia attraverso la quale interagisci con i tuoi risparmi di una vita. Cinque minuti seguendo questa guida sembrano un investimento utile, vero?

Concetti di base

Alcuni dei concetti di base e della terminologia usati qui possono essere familiari a quelli di Bitcoin. I principi e il modo in cui funzionano in relazione al software è lo stesso.

  • CHIAVE PRIVATA - Un segreto noto solo al suo proprietario. Può essere usata per firmare file o messaggi
  • CHIAVE PUBBLICA - Un ID condivisibile pubblicamente che può essere usato per convalidare che un messaggio o una firma provengono dalla sua corrispondente chiave privata.
  • FIRMA - Fornita dalla chiave privata come un tipo di prova che può essere confermata utilizzando la chiave pubblica corrispondente.
  • SHA256 - Una funzione che, quando viene eseguita su qualsiasi file, produce come output una stringa di lettere e numeri. Questo output può essere confrontato con altri output prodotti per verificare che il contenuto del file corrisponda esattamente.

Verifica di Specter Desktop

Per questo tutorial è stata utilizzata una macchina Linux con Ubuntu 20.04 LTS.

Passo 1

Scarica l'ultima versione di Specter Desktop relativa al sistema operativo del tuo computer. Poi scarica il file sha256.signed.txt nella tua cartella dei download.

Passo 2

Scarica la chiave che firma queste versioni. A seconda del software che stai usando, puoi ottenerla in diversi modi. Nel caso di Specter Desktop, è firmata da Ben Kaufman. Un file contenente la sua chiave pubblica è fornito come link di download nella loro pagina dei rilasci (è il file .asc), salvalo nella tua cartella dei download.

È sempre consigliabile ottenere la chiave pubblica da una fonte affidabile come un sito ufficiale, ma è buona norma verificare la chiave da una seconda fonte. Si può cercare una chiave pubblica usando un nome o un'email online. Confrontare l'impronta digitale (una versione abbreviata della chiave pubblica) visualizzata dalle due fonti è un buon modo per verificare rapidamente che la chiave pubblica sia la stessa.

Un altro modo per ottenere una chiave pubblica è da un blocco PGP pubblicato pubblicamente come il mio. Basta salvare l'intero blocco come file di testo sul tuo computer.

Passo 3

Ora hai bisogno di importare quella chiave pubblica nella catena di chiavi del tuo computer in modo da poterla usare come riferimento nei passi successivi. Apri la tua cartella dei download, clicca con il tasto destro e poi "open in terminal". Nel terminale, digita il comando seguente.

gpg --import ben-kaufman.asc

Nota - Se stai usando questa guida per un software diverso o hai importato la chiave usando un file di testo, allora dovresti modificare la parte "file" del comando di cui sopra per adattarla al nome del file che hai dato.

Suggerimento - Una volta che inizi a digitare un nome di file nel terminale, premendo il tasto tab dovrebbe completarsi automaticamente.

Passo 4

Ora devi assicurarci che la liberatoria firmata sia stata effettivamente firmata dalla persona che pensi sia stata. Il comando sottostante controllerà che la firma nel file sha256.signed.txt che hai scaricato nel passo 1 provenga dalla chiave di Ben Kaufman che hai importato nel passo 3.

A seconda del software che stai scaricando, alcuni progetti forniranno un file .sig invece di un file .txt, ma il principio è identico.

gpg --verify sha256.signed.txt

L'output del comando di cui sopra deve contenere la dicitura Good signature from Ben Kaufman. Ora puoi essere sicuro che il file che hai scaricato nel passo 1 è firmato da Ben Kaufman con la sua chiave privata.

Passo 5

Infine, devi assicurarti che il contenuto del file firmato da Ben Kaufman sia esattamente uguale al contenuto del file che hai scaricato. Esegui il seguente comando.

sha256sum specter_desktop-v1.3.1-x86_64-linux-gnu.tar.gz

Confrontando l'output del comando di cui sopra con il contenuto del file hash sha256.signed.txt sotto riportato, ottieni una corrispondenza esatta (vedi riga evidenziata di rosso). Questo significa che il contenuto del file che hai scaricato corrisponde esattamente a quello che gli sviluppatori hanno firmato per il rilascio.

Contenuto del file sha256.signed.txt

Se ci fosse stato un solo byte di dati diverso nel file che hai scaricato, rispetto a quello firmato da Ben Kaufman, l'output del passo 5 sarebbe stato completamente diverso e avrebbe suggerito che qualcosa non va. In questo scenario dovresti contattare il team degli sviluppatori.

Considerazioni finali

Potrebbe sembrare una seccatura verificare il software, soprattutto se ci sono rilasci regolari. Ma pensa ai potenziali rischi di non farlo. Basta un solo pezzo di software maligno per un attacco di successo.

Questa guida ha usato Specter Desktop come esempio, ma tutto il software open source dovrebbe seguire un percorso quasi identico.

Ricorda...

Importa la chiave pubblica dello sviluppatore (devi farlo solo una volta)

Controlla che la firma provenga da quella chiave dello sviluppatore

Controlla che il contenuto del file corrisponda al contenuto del file prodotto dallo sviluppatore


Vuoi segnalare una modifica?

Aiutaci a migliorare. Se hai trovato un errore, un'inesattezza, un'imprecisione saremmo lieti se ce lo segnalassi. Grazie in anticipo per la tua collaborazione!

Segnala

Vuoi suggerire un nuovo tutorial?

Non hai trovato il tutorial che cercavi e lo vorresti vedere realizzato? Lieti di prendere in considerazione la tua proposta.

Suggerisci

Materiale correlato

Ti potrebbero anche interessare

TUTORIAL

Il kit per l'indipendenza monetaria

Da #nocoiner a #holder. Come organizzare gli elementi necessari per la tua indipendenza monetaria. E' più facile di quanto pensi.

Scopri come