Una firma PGP fornisce la verifica dell'integrità?

4

Molti siti web, tra cui il OpenSSL's sito web forniscono download insieme ai checksum MD5 / SHA1 a volte oltre alle firme PGP per i file.

In poche parole, le firme PGP forniscono la verifica dell'integrità dei file oltre alla verifica dell'identità dei file? Assumerei così. Se ho verificato la firma PGP di un file, le somme MD5 e SHA1 del file sono più o meno irrilevanti, poiché ho già verificato l'integrità?

Se ciò è vero, le firme PGP forniscono una migliore verifica dell'integrità dei file rispetto ad altri metodi hash?

    
posta Naftuli Kay 25.04.2014 - 02:11
fonte

4 risposte

5

Firme e impronte digitali

Simply put, do PGP signatures provide file integrity verification in addition to file identity verification?

Sì, lo fanno: ma senza ulteriori indagini, verificano solo se una determinata chiave è stata utilizzata per firmare; non a chi appartiene (leggi sotto)!

If I've verified a file's PGP signature, are the MD5 and SHA1 sums of the file more or less irrelevant, as I've already verified integrity?

Sì, a meno che tu non sia stato in grado di verificare la proprietà della chiave, ma l'altra persona ti ha fornito le impronte digitali corrette in un canale sicuro (incontrando, (video) telefonata, ...).

If I've verified a file's PGP signature, are the MD5 and SHA1 sums of the file more or less irrelevant, as I've already verified integrity?

In effetti, OpenPGP anche utilizza algoritmi di hashing come questi (mentre si spera non dovrebbe più usare MD5, che è considerato troppo debole i nostri giorni). Ma la firma digitale aggiunge informazioni su chi ha firmato il software (se verificato correttamente)

Verifica proprietà chiave

Se non hai firmato direttamente la chiave dell'emittente del software, tutto ciò che sai è qualcuno ha firmato il software. Non esiste un'autorità di certificazione primaria in OpenPGP, tutti possono aggiungere una chiave con nomi arbitrari, spetta a te decidere su quale fiducia fare. Ciò avviene solitamente incontrando e scambiando le impronte digitali della chiave, ma a seconda del tuo livello di paranoia potresti star bene a verificare l'impronta digitale chiave su alcuni che hanno messo sul loro sito web (che poi dovrebbe essere trasmesso crittografato con SSL insieme a un certificato ragionevole, ovviamente).

Quindi, c'è il concetto di web of trust , che permette di costruire percorsi di fiducia da te all'emittente senza incontrarlo direttamente, fidandosi degli altri tra loro che insieme formano una catena di certificazioni (questo può essere effettivamente confrontato con le autorità di certificazione intermedie di X.509). Una risposta molto breve può essere trovata in questa risposta: Qual è il significato esatto di questo output gpg in merito alla fiducia? .

    
risposta data 25.04.2014 - 09:42
fonte
2

Per definizione , firme forniscono integrità. In effetti, immagina un sistema con una firma tale da ottenere "verifica dell'identità" ma non integrità: questo significherebbe che quando ricevi un'email firmata da Bob, sei certo che Bob sia coinvolto, ma non che ciò che hai ricevuto sia davvero quello che Bob ha mandato; un sistema del genere garantirebbe che Bob esista , ma non direbbe nulla sull'e-mail effettivamente ricevuta. Un sistema del genere sarebbe abbastanza inutile e non degno di essere chiamato "firma".

    
risposta data 25.04.2014 - 15:52
fonte
1

Sì, una firma digitale verifica che i dati siano gli stessi; la funzione segno combina sempre la chiave privata del firmatario e il contenuto del file (o quasi sempre il loro hash, per mantenere la firma piccola).

(Immagina per un momento di non farlo, significherebbe che potresti prendere una firma del file A di qualcuno e incollarla sul tuo file B. Che cosa significa esattamente la firma, quindi? valido a prescindere dai dati che stava firmando ... quale scopo servirebbe la firma? )

    
risposta data 25.04.2014 - 07:06
fonte
0

Il principale compromesso è nel tempo per calcolare e applicazioni / librerie.

Un algoritmo di hashing dovrebbe restituire lo stesso output per ogni dato input. Un algoritmo di hash è una funzione unidirezionale e SHA1 / MD5 sono "hash veloci" che sono comunemente usati per calcolare l'integrità del file.

Se si utilizza una funzione di crittografia, lo stesso output dovrebbe essere lo stesso per ogni dato input. Una funzione di crittografia potrebbe essere più lenta perché è più costosa da calcolare. La firma digitale è un uso della crittografia per fornire integrità e autenticità.

Quando si considera l'uno rispetto all'altro, è necessario considerare la velocità e la disponibilità dello strumento di cui l'utente avrà bisogno (perché non fornire entrambi). Si dovrebbe anche considerare la probabilità di collisioni per dati simili. Ottenere autenticità e integrità in una volta sola può essere soppesato dalla velocità e da una più ampia disponibilità.

Il sito web di GnuPG fornisce indicazioni per la verifica del download di GnuPG con SHA1 e GnuPG     

risposta data 25.04.2014 - 03:41
fonte

Leggi altre domande sui tag