Perché utilizziamo le firme GPG per la verifica dei file invece dei valori hash?

3

ad esempio qui inseriscono una firma gpg per la verifica ciò che scarichi è ciò che hanno veramente realizzato. ma perché non mettono un valore di hash SHA256? perché è molto più veloce da controllare e qualche volta gpg potrebbe non essere installato sulla nostra macchina ma SHA è qualcosa ovunque disponibile anche tu puoi anche caricare il file su virustotal.com e ti dà l'hash!

se hash è sicuro perché usano gpg se non è sicuro perché utilizziamo i valori hash per ogni cosa?

    
posta user892001 02.03.2013 - 21:41
fonte

3 risposte

9

Quando controlli il valore dell'hash, devi controllarlo con un valore hash di riferimento : questo non risolve il problema, ma lo sposta semplicemente. Devi comunque assicurarti di avere il valore hash corretto. Se il valore hash viene ottenuto attraverso lo stesso canale del pacchetto software (cioè entrambi li hai ottenuti da una pagina Web HTTPS), non hai ottenuto nulla contro gli attaccanti: se l'utente malintenzionato poteva modificare il pacchetto, allora poteva anche ricalcolare l'hash e modifica il valore dell'hash che ottieni in modo da non vedere alcun problema. In genere, qualcuno che dirotta il server di download stesso.

I valori di hash "da soli" sono buoni a rilevare errori di trasmissione random (ad esempio un router con RAM scadente), non alterazioni intenzionali .

Le firme digitali offrono un servizio avanzato: collegano il pacchetto al individuo che ha prodotto esso, indipendentemente dai server intermedi. Con una firma GPG, puoi scaricare il pacchetto da un sito mirror ombreggiato e non devi ancora temere che il pacchetto sia bug.

Per quanto riguarda le prestazioni , sappi che la verifica della firma avrà lo stesso costo del calcolo di un hash, oltre a un'operazione matematica supplementare che anche un PC asmatico dovrebbe essere in grado di fare in pochi millisecondi. Dubito seriamente che potresti osservare quel costo extra.

    
risposta data 02.03.2013 - 21:52
fonte
1

Con gpg verifica che solo la persona con la chiave privata corrispondente possa aver generato la firma. Con un semplice controllo hash, chiunque avrebbe potuto generare l'hash, avrebbe potuto sostituire l'hash nella pagina di download con uno che corrisponda al file binario appena caricato. L'unica cosa che un controllo hash consente è di verificare che un mirror fornisca lo stesso file della pagina di download che ti invia al mirror e che non abbia subito danni accidentali durante il trasferimento.

Vorrei aggiungere che parte dell'algoritmo di firma gpg fa hash il file con algoritmo di hashing crittografico come sha256 ed è esattamente come dovrebbero essere usati algoritmi di hashing crittografici come sha256.

    
risposta data 02.03.2013 - 21:49
fonte
1

Gli hash forniscono un servizio per garantire l'integrità di qualcosa. È affidabile solo se puoi essere sicuro di aver ottenuto questo valore di hash da una fonte attendibile, che non può essere alterato o mascherato.

Le firme digitali

(GPG) combinano un hash con un processo crittografico che garantisce non solo l'integrità del messaggio firmato (file, posta, ...) ma anche l'autenticità di questo messaggio. Mediante queste firme digitali (solitamente crittografia asimmetrica), puoi essere sicuro che il contenuto che hai controllato non è stato manomesso ed è stato emesso dal proprietario della chiave pubblica.

Tuttavia, le firme digitali condividono lo stesso destino con semplici hash: la catena della fiducia. Puoi solo essere sicuro che questa firma sia accettabile se puoi garantire la chiave pubblica che usi per verificare che il messaggio appartenga alla persona "reale" e non falsa (come un hacker).

Infine, ogni processo è sicuro quanto il trust che puoi concedere all'elemento "chiave" (l'hash, la chiave pubblica). Gli hash non sono migliori delle firme, semplicemente non hanno lo stesso scopo (hash: integrità / firma: integrità + autenticazione).

    
risposta data 03.03.2013 - 00:03
fonte

Leggi altre domande sui tag