Qual è il valore dei checksum MD5 se l'hash MD5 stesso potrebbe potenzialmente essere stato manipolato?


39

I download su siti Web a volte hanno un checksum MD5, che consente alle persone di confermare l'integrità del file. Ho sentito che ciò consente di identificare non solo i file danneggiati immediatamente prima che possano causare un problema, ma anche di rilevare facilmente eventuali modifiche dannose.

Seguo la logica per quanto riguarda la corruzione dei file, ma se qualcuno vuole deliberatamente caricare un file dannoso , potrebbe generare un checksum MD5 corrispondente e pubblicarlo sul sito di download insieme al file modificato. Ciò ingannerebbe chiunque scarichi il file pensando che fosse inalterato.

Come possono i checksum MD5 fornire alcuna protezione contro i file deliberatamente modificati se non c'è modo di sapere se il checksum stesso è stato compromesso?


3
Se facciamo affidamento sul fatto che l'host del sito web noti sottili discrepanze di data e ora anziché l'hash MD5 che funge da sigillo di autenticità ... allora la protezione fornita dal checksum è praticamente svanita.
Austin "Pericolo"

4
@BigChris Non sono sicuro di cosa intendi, ma suona male. Gli algoritmi di hash crittografici come MD5 riguardano completamente i dati dei messaggi. Due messaggi casuali della stessa lunghezza avranno quasi certamente hash diversi.
Matt Nordhoff,

3
@MattNordhoff esattamente. Se un checksum MD5 non viene generata sulla base dei dati del file, allora che cosa si è basata su?
Austin '' Danger ''

2
I dati di hash MD5 verrebbero costruiti sui dati, sì, ma non ci vorrebbe troppo sforzo per creare un file dannoso con lo stesso hash. Come detto, non ci sarebbe modo di verificare se il file fosse dannoso o meno. Leggi: mscs.dal.ca/~selinger/md5collision
Kinnectus

2
A volte gli hash sono pubblicati su server proprietari mentre i download effettivi sono ospitati su mirror e / o CDN di terze parti.
el.pescado,

Risposte:


89

Ho sentito questo per consentire [...] anche il rilevamento di eventuali modifiche dannose.

Bene, allora hai sentito male. I checksum MD5 (o SHA o altro) vengono forniti ( accanto ai collegamenti per i download, in particolare ) solo per verificare un download corretto. L'unica cosa che mirano a garantire è che hai lo stesso file del server. Niente di più, niente di meno. Se il server è compromesso, sei SOL. È davvero così semplice.


31
+1. Vengono principalmente utilizzati per proteggere dalla corruzione accidentale (errori di trasferimento di rete, settori danneggiati sul disco e così via). Per proteggere dalla corruzione malevola, il checksum deve provenire da una posizione non connessa attendibile. Lo stesso con PGP / GPG / messaggi firmati simili: assicurano completamente il contenuto solo se ti fidi da dove hai ottenuto la chiave pubblica.
David Spillett,

1
Potresti anche aggiungere alla tua risposta che le firme difital rispondono a questa limitazione (supponendo che ti fidi del certificato / autorità di certificazione)
atk

2
È anche peggio di questo: se qualcuno può manomettere il tuo traffico da / verso il server, anche se il server non è compromesso possono modificare sia il file che il checksum che ricevi.
cpast,

3
Per espandere: Se si ha garanzia che si aveva lo stesso file come il server ha avuto, sarebbe una misura di sicurezza legittima, perché significherebbe non avere fiducia nella rete. Questo è esattamente ciò che fanno i MAC in TLS: dimostrare che ciò che hai è ciò che il server ha inviato, ma TLS non può fare nulla nemmeno su un server compromesso. Se un hash buono viene trasmesso su una connessione fidata, può fornire sicurezza (che deriva dalla connessione fidata); se è inviata attraverso la stessa connessione del file, allora è inutile perché non è più a prova di manomissione del file stesso era.
cpast,

2
Questo è sbagliato. A volte i checksum sono forniti in modo sicuro, ma il download non lo è. Poiché MD5 è rotto, i checksum MD5 di sicurezza forniti sono più deboli di checksum più sicuri, ma prima che MD5 fosse rotto, un MD5 fornito in modo sicuro (ad esempio uno che era stato firmato o inviato di HTTP) che corrispondeva all'MD5 del download era una prova evidente che il il download ricevuto era quello reso disponibile dal server. Aggiungerò una risposta con maggiori dettagli di seguito ora.
Matthew Elvey,

15

La soluzione utilizzata da alcuni sistemi di gestione dei pacchetti come dpkg è firmare l'hash : utilizzare l'hash come input per uno degli algoritmi di firma della chiave pubblica. Vedi http://www.pgpi.org/doc/pgpintro/#p12

Se si dispone della chiave pubblica del firmatario, è possibile verificare la firma, a dimostrazione che l'hash non è modificato. Questo ti lascia solo con il problema di ottenere in anticipo la giusta chiave pubblica, anche se una volta qualcuno manomette la distribuzione delle chiavi deve anche manomettere tutto ciò che potresti verificare, altrimenti noterai che sta succedendo qualcosa di strano.


9

Il tuo presupposto è corretto. C'è un'eccezione però. Se il server che fornisce il file e la pagina in cui si trova l'hash non sono gestiti dalla stessa entità. In tal caso, lo sviluppatore del software potrebbe voler dire "hey persone lo scaricano da quel posto ma credono solo se hash = xxxx". (Questo potrebbe essere utile per le CDN come esempio). Immagino che questo sia stato il motivo per cui qualcuno l'ha fatto in primo luogo. Gli altri hanno appena seguito pensando che sarebbe stato bello mostrare l'hash. Neanche a pensare a quanto sia utile, sia il file sia l'hash non si trovano nella stessa posizione.

Detto questo, vale la pena. Non dare troppa importanza alla sicurezza come già affermato da altri. Se e solo se puoi assolutamente fidarti dell'hash originale, allora il file è buono. Altrimenti un utente malintenzionato con sufficiente motivazione e conoscenza può manomettere sia il file sia l'hash, anche se questi si trovano in server diversi e gestiti da entità diverse.


8

A volte i checksum sono forniti in modo sicuro, ma il download non lo è. Poiché MD5 è rotto , i checksum MD5 di sicurezza forniti sono più deboli di checksum più sicuri, ma prima che MD5 fosse rotto, un MD5 fornito in modo sicuro (ad esempio uno che era stato firmato con PGP o GPG o Gatekeeper o recuperato su HTTPS) che corrispondeva a MD5 di il download era una prova evidente che il download ricevuto era quello che il server stava mettendo a disposizione.

Ho scritto per anni la deplorevole mancanza di checksum sicuri, qui .

Gli utenti non devono scaricare eseguibili non attendibili su reti non attendibili ed eseguirli, a causa del rischio di attacchi MITM. Vedere, ad esempio, "Insicurezze nei sistemi di aggiornamento automatico" di P. Ruissen, R. Vloothuis.

Addendum 2014: No, NON è sbagliato "che i checksum pubblicati su pagine Web vengano utilizzati per rilevare modifiche dannose", poiché questo è un ruolo che possono svolgere. Aiutano a proteggere dalla corruzione accidentale e se offerti su HTTPS o con una firma verificata (o meglio ancora, entrambi) aiutano a proteggere dalla corruzione malevola! Ho ottenuto checksum su HTTPS e verificato che corrispondevano a download HTTP molte volte.

Al giorno d'oggi, i binari sono spesso distribuiti con hash firmati e verificati automaticamente, ma anche questo non è perfettamente sicuro .

Estratto dal link sopra: "L'applicazione KeRanger è stata firmata con un certificato di sviluppo di app Mac valido, pertanto è stata in grado di aggirare la protezione di Apple Gatekeeper." ... "Da allora Apple ha revocato il certificato abusato e aggiornato la firma antivirus XProtect e Transmission Project ha rimosso gli installatori malevoli dal suo sito Web. Palo Alto Networks ha anche aggiornato il filtro URL e la prevenzione delle minacce per impedire a KeRanger di avere un impatto sui sistemi. Analisi tecnica

I due installatori della trasmissione infetti da KeRanger sono stati firmati con un certificato legittimo rilasciato da Apple. Lo sviluppatore ha elencato questo certificato è una società turca con ID Z7276PX673, che era diverso dall'ID sviluppatore utilizzato per firmare le versioni precedenti del programma di installazione di Transmission. Nelle informazioni sulla firma del codice, abbiamo riscontrato che questi programmi di installazione sono stati generati e firmati la mattina del 4 marzo. "

Addenda 2016:

@Cornstalks: Re. il tuo commento qui sotto: sbagliato. Come attualmente notato nell'articolo Wikipedia relativo all'attacco di collisione a cui ti colleghi, "Nel 2007, è stato trovato un attacco di collisione a prefisso scelto contro MD5" e "l'attaccante può scegliere due documenti arbitrariamente diversi e quindi aggiungere valori calcolati diversi che risultano nel documenti con un valore di hash uguale ". Pertanto, anche se MD5 viene fornito in modo sicuro e un utente malintenzionato non può modificarlo, un utente malintenzionato può comunque utilizzare un attacco di collisione con prefisso scelto con un prefisso scelto contenente malware, il che significa che MD5 NON è sicuro per scopi crittografici. Questo è in gran parte il motivo per cui US-CERT ha affermato che MD5 "dovrebbe essere considerato crittograficamente rotto e inadatto per un ulteriore utilizzo".

Un altro paio di cose: CRC32 è un checksum. MD5, SHA, ecc. Sono più che checksum; sono destinati ad essere hash sicuri. Ciò significa che dovrebbero essere molto resistenti agli attacchi di collisione. A differenza di un checksum, un hash sicuro comunicato in modo sicuro protegge da un attacco man-in-the-middle (MITM) in cui il MITM si trova tra il server e l'utente. Non protegge da un attacco in cui il server stesso è compromesso. Per proteggersi da ciò, le persone in genere si affidano a qualcosa come PGP, GPG, Gatekeeper, ecc.


Mi piace questa risposta perché evidenzia una parte fondamentale di un checksum : è semplicemente una metrica, tra le tante, per verificare la validità del contenuto di un file. Se la rete stessa non è attendibile, non è così impossibile immaginare di sostituire al volo gli hash MD5 e i file binari di patch (come abbiamo già visto su alcuni nodi di uscita Tor) ... Naturalmente, MD5 non fornisce protezione contro file deliberatamente modificati perché stai già riponendo la tua fiducia nel fornitore di tali file.
Breakthrough

2
MD5 non è completamente rotto: l'attacco è un attacco di collisione , non un attacco preimage (che sarebbe molto, molto peggio). Se l'MD5 viene fornito in modo sicuro e un attaccante non può modificarlo, un attaccante non può usare un attacco di collisione (e deve usare un attacco preimage), il che significa che MD5 è ancora abbastanza sicuro a tale scopo. Vale la pena eliminare gradualmente MD5 a causa della sua vulnerabilità di collisione, ma non ha una vulnerabilità (nota) preimmaginata, quindi non è completamente rotta. Solo mezzo rotto.
Cornstalks,

+1! Ma ... un hash firmato è davvero altrettanto sicuro ( affidabile ) di un hash non firmato recuperato su https (ssl / tls)? Penso che sia ancora preferibile che l'hash sia firmato comunque ...
matpop,

4

Questo è il motivo preciso per cui i checksum pubblicati spesso riportano un disclaimer che dice "Questo non può proteggere da modifiche dannose del file". Quindi, la risposta breve è "non possono fornire alcuna protezione da un file deliberatamente modificato" (anche se, se la pagina viene recapitata su HTTPS, HTTPS stesso protegge dalle modifiche; se il file non viene recapitato su HTTPS ma il checksum è, quindi ciò potrebbe aiutare alcuni, ma non è un caso comune). Chiunque ti abbia detto che i checksum pubblicati sulle pagine Web vengono utilizzati per rilevare modifiche dannose, ha sbagliato, perché questo non è un ruolo che può svolgere; tutto ciò che fanno è aiutare a proteggere dalla corruzione accidentale e dalla corruzione malevola pigra (se qualcuno non si prende la briga di intercettare la pagina che ti dà il checksum).

Se si desidera proteggere da modifiche deliberate, è necessario impedire alle persone di fare confusione con il checksum o rendere impossibile a chiunque altro generare un checksum valido. Il primo può comportare la distribuzione di persona o simili (quindi il checksum stesso è attendibile); il secondo va agli algoritmi di firma digitale (dove è necessario ottenere in modo sicuro la chiave pubblica per il downloader; in TLS, questo viene fatto affidandosi direttamente alle autorità di certificazione e facendole verificare a tutti gli altri; può anche essere fatto su una rete di fiducia , ma il punto è che a un certo punto qualcosa deve essere trasferito in modo sicuro e non è sufficiente pubblicare qualcosa sul tuo sito).


2
Gli hash possono proteggere dalle alterazioni dannose se uno sa tramite una fonte indipendente quale dovrebbe essere l'hash atteso di una versione affidabile di un file. Il valore di avere il sito web elenca i valori hash dei suoi file non sta nel permettere alle persone che scaricano file da un sito di controllare l'hash del file scaricato rispetto allo stesso sito, ma piuttosto nel permettere alle persone che conoscono da qualche altra fonte l'hash del file che vogliono , sapere se il file in questione lo abbinerà prima di scaricarlo. A proposito, una cosa che mi piacerebbe vedere ...
Supercat

... sarebbe una forma di URL / URI che includesse un valore di hash previsto (probabilmente SHA anziché MD5) e specificerebbe che un browser dovrebbe accettare un file solo se l'hash corrisponde a quanto specificato. Nei casi in cui lo stesso file di grandi dimensioni dovrà avere accesso a molte persone, fornire a tutte queste persone un URL tramite https: // ma farle scaricare il file da un proxy potrebbe essere più efficiente rispetto a farle usare tutte https: // direttamente dalla fonte.
Supercat

@supercat Questo è ciò che intendevo per "impedire alle persone di scherzare con il checksum" - qualcosa deve essere trasferito in modo sicuro, e se questo è il checksum, allora il checksum può aiutare a proteggere da manomissioni dannose con il file.
cpast,

Un checksum MD5 trasmesso tramite un percorso diverso da un file stesso fornirebbe protezione contro la manomissione a meno che il file non sia stato creato deliberatamente per facilitare tale manomissione. Al contrario, qualcosa come CRC32 non fornirebbe quasi alcuna protezione contro la manomissione anche se l'origine originale del file fosse affidabile e il CRC32 fosse consegnato in modo sicuro.
Supercat

4

Questo è davvero un problema. La visualizzazione dei checksum sullo stesso sito del file da scaricare non è sicura. Una persona che può modificare il file può anche cambiare il checksum. Il checksum dovrebbe essere mostrato attraverso un sistema separato completo ma questo è difficilmente fattibile, perché come dire all'utente in modo sicuro dove si trova il checksum.

Una possibile soluzione è l'uso di file firmati.

(A proposito: MD5 non è sicuro ovunque e non dovrebbe più essere utilizzato.)


2

Come possono i checksum MD5 fornire alcuna protezione contro i file deliberatamente modificati se non c'è modo di sapere se il checksum stesso è stato compromesso?

Hai completamente ragione. L'obiettivo, quindi, sarebbe quello di rendere il tuo "se" sbagliato - se sappiamo che un hash crittografico sicuro di un file non è compromesso, allora sappiamo che neanche il file è compromesso.

Ad esempio, se pubblichi un hash di un file sul tuo sito Web e quindi colleghi a una copia del file su un server mirror di terze parti - pratica comune nella distribuzione di software libero vecchio stile - i tuoi utenti possono essere protetti da alcuni tipi di attacchi. Se il server mirror è dannoso o compromesso, ma il tuo sito Web è a posto, il mirror non sarà in grado di sovvertire il tuo file.

Se il tuo sito Web utilizza HTTPS o se firmi l'hash con gpg, il tuo file può anche essere (principalmente) protetto da attacchi di rete come hotspot Wi-Fi dannosi, nodi di uscita di Tor illegali o NSA.


1
Per quanto riguarda gpg: ricorda che questo ha problemi simili se non ti fidi del tutto che la chiave pubblica non sia stata sostituita da una compromessa e il contenuto firmato con la chiave privata corrispondente.
David Spillett,

1

Non è possibile modificare il checksum MD5 senza modificare anche il file. Se scarichi il file, quindi scarica l'hash e quindi il tuo calcolo dell'hash del file non corrisponde a ciò che viene fornito, l'hash o il file sono errati o incompleti.

Se si desidera "legare" il file a qualcosa di esterno, come autore, macchina, ecc., È necessario firmarlo , utilizzando un processo di tipo PKI con certificati. L'autore del file, ecc. Può firmare il file con la sua chiave privata e puoi verificare le firme con la chiave pubblica, che dovrebbe essere disponibile pubblicamente, firmata da un'autorità di certificazione di fiducia sia te che l'autore, e scaricabile, preferibilmente da più posizioni.

La modifica del file renderebbe non valida la firma, quindi può essere utilizzata anche per verificare l'integrità del file.


1

Gli hash indicano se la tua versione del file (il "download") differisce dalla versione del server. Non offrono alcuna garanzia per l'autenticità del file.

Le firme digitali (crittografia asimmetrica + funzione hash) possono essere utilizzate per verificare che il file non sia stato modificato da chiunque non disponga della chiave privata corrispondente.

Il creatore del file esegue l'hashing del file e crittografa l'hash utilizzando la loro chiave privata (segreta). In questo modo, chiunque abbia la chiave pubblica (non segreta) corrispondente può verificare che l'hash corrisponda al file, ma mentre il contenuto del file può essere modificato, nessuno può sostituire l'hash corrispondente con uno che corrisponde al file (dopo che l'hash è stato decifrato usando la chiave pubblica) - a meno che non riescano a forzare la chiave privata o ad accedervi in ​​qualche modo.

Cosa impedisce a Mr "A.Hacker" di modificare semplicemente il file, quindi di firmarlo con la propria chiave privata?

Per convalidare il file, devi confrontare il suo hash con quello ottenuto decrittografando la firma digitale associata. Se pensi che il file provenga da "IMAwesome", decodifichi l'hash usando la sua chiave e l'hash non corrisponde al file, poiché l'hash è stato crittografato usando la chiave di A.Hacker.

Le firme digitali consentono quindi di rilevare sia cambiamenti accidentali che dannosi.

Ma come possiamo ottenere la chiave pubblica di IMAwesome in primo luogo? Come possiamo assicurarci che quando abbiamo ottenuto la sua chiave, in realtà non era la chiave di A. Hacker servita da un server compromesso o da un attacco man-in-the-middle? È qui che entrano in gioco catene di certificati e certificati radice attendibili, nessuna delle quali è una soluzione perfettamente sicura [1] al problema, ed entrambe le cose dovrebbero probabilmente essere ben spiegate su Wikipedia e su altre domande su SO.

[1] Al momento dell'ispezione, i certificati radice forniti con il sistema operativo Microsoft sul mio PC di lavoro includono un certificato del governo degli Stati Uniti. Chiunque abbia accesso alla tosse della chiave privata corrispondente NSA tosse può quindi servire il contenuto del mio browser Web che passa il controllo "c'è un lucchetto nella barra degli indirizzi". Quante persone si preoccuperanno effettivamente di fare clic sul lucchetto e vedere chi è la coppia di chiavi utilizzata per "proteggere" la connessione?


Ci vuole solo una persona che controlla la catena di certificati per provocare uno scandalo. Se pensi che la NSA userebbe una chiave CA del governo per il MITM piuttosto che usarne una rubata da un'autorità di certificazione privata o - ancora meglio - straniera (fornendo quindi una negabilità plausibile), ho un ponte per venderti.
Charles Duffy,

Stavo suggerendo la possibilità che potesse essere utilizzata per indirizzare un MITM a un determinato utente. Sul fatto che sia effettivamente probabile, questo è il punto su cui la gente di latta discuterà
Mark K Cowan,

Non mi sto chiedendo se sia probabile un MITM mirato. Mi chiedo se è probabile che sia abbastanza poco attento da usare una chiave CA facilmente tracciata e attribuita per eseguirla. Soprattutto per un obiettivo di valore sufficientemente elevato, il traffico netto in uscita può essere registrato in modo sufficientemente dettagliato da includere metadati fino alla parte pubblica dell'handshake SSL, quindi anche se l'utente non guarda, il personale di sicurezza o l'infrastruttura automatizzata potrebbe farlo nell'analisi retrospettiva.
Charles Duffy,

1

Come possono i checksum MD5 fornire alcuna protezione contro i file deliberatamente modificati se non c'è modo di sapere se il checksum non è stato compromesso?

Questa è davvero una buona domanda. In generale, la tua valutazione della manipolazione MD5 è perfetta. Ma credo che il valore dei checksum MD5 sui download sia al massimo superficiale. Forse dopo aver scaricato un file puoi controllare l'MD5 che hai su un sito Web, ma tendo a vedere l'archiviazione MD5 affiancata come una "ricevuta" o qualcosa di bello da avere ma non affidabile. In quanto tale, in genere non mi sono mai preoccupato dei checksum MD5 dai file scaricati, ma posso parlare della mia esperienza nella creazione di processi MD5 basati su server ad hoc.

Fondamentalmente quello che ho fatto quando un client vuole eseguire lo sweep di un file system per i checksum MD5 è di averli generati in file CSV che mappano nome file, percorso, MD5 — e altre informazioni di file varie — in un formato dati strutturato che ho quindi ingerito in un database per confronto e archiviazione.

Quindi, usando il tuo esempio, mentre un checksum MD5 potrebbe trovarsi accanto a un file nel suo file di testo, il checksum MD5 del record di autorità verrebbe archiviato in un sistema di database non connesso. Quindi, se qualcuno in qualche modo fosse entrato in una condivisione di file per manipolare i dati, quell'intruso non avrebbe alcun accesso ai record dell'autorità MD5 o alla cronologia connessa.

Di recente ho scoperto un bel software di archiviazione delle biblioteche chiamato ACE Audit Manager che in pratica è un'applicazione Java progettata per sedere e guardare un filesystem per le modifiche. Registra le modifiche tramite le modifiche MD5. E opera secondo una filosofia simile a quella del mio processo ad-hoc: archivia i checksum in un database, ma fa un ulteriore passo avanti, ma creando un checksum MD5 di checksum MD5 che è noto come albero hash o albero Merkle .

Supponiamo che tu abbia 5 file in una raccolta. Quei 5 file in ACE Audit Manager otterrebbero quindi un altro — chiamiamolo “genitore” —checksum che è un hash generato dai 5 checksum MD5 di ciascun file. Quindi, se qualcuno dovesse manomettere un solo file, l'hash per il file cambierebbe e così anche l'hash per l'intera raccolta "parent".

In generale, il modo in cui è necessario esaminare i checksum MD5 e gli hash di integrità correlati è a meno che non siano collegati a una memoria non diretta per gli hash MD5 stessi, possono essere danneggiati. E il loro valore come strumento di integrità dei dati a lungo termine equivale a un lucchetto economico che viene “gratis” su un nuovo bagaglio; se sei seriamente intenzionato a bloccare i bagagli, otterrai una serratura che non può essere aperta in 5 secondi con una graffetta.


"Checksum MD5 dei checksum MD5" è noto come albero Merkle .
pjc50,

@ pjc50 Grazie! Modificata la risposta per fare riferimento a questo.
Jake Gould

0

velocità

Spesso le persone scoprono che è molto più veloce (a) scaricare un file di grandi dimensioni da una rete di consegna di contenuti (CDN) non attendibile, siti mirror, peer torrent, ecc. E anche scaricare il corrispondente file di checksum breve (spesso SHA256; software precedente spesso usato MD5) da alcune fonti attendibili. Trovano insopportabilmente lento (b) scaricare l'intero file di grandi dimensioni direttamente da una fonte attendibile.

convalida

Spesso quella persona scopre che tutto convalida: le fonti (affidabili e non attendibili) concordano sullo stesso checksum ed eseguono shasum (o md5sum) con uno di quei file di checksum brevi (non importa quale, quando sono tutti identici ) indica che il file di grandi dimensioni ha un checksum corrispondente.

modifica

Hai ragione quando Mallory altera maliziosamente un file di grandi dimensioni che si trova su un sito di download, sarebbe facile per Mallory anche il checksum per quel file sullo stesso sito di download in modo che shasum (o md5sum) venga eseguito su quel file di checksum dannoso sembra convalidare il file di grandi dimensioni. Ma quel file di checksum non è (l'unico) quello che il downloader dovrebbe usare per la validazione.

Quando il downloader confronta quel file di checksum dannoso con i file di checksum scaricati da fonti attendibili, se il checksum originale scorre attraverso una sola volta, il downloader vedrà che tutto non viene convalidato e saprà che qualcosa è andato storto.

Come cpast ha detto prima, se un buon checksum crittografico viene trasmesso su una connessione fidata, può fornire sicurezza (che deriva dalla connessione fidata).

Come ha già detto Supercat, i file di checksum di un sito non aiutano le persone che scaricano file di grandi dimensioni dallo stesso sito e allo stesso modo in cui scaricano i file di checksum: aiutano le persone che vogliono scaricare file da qualche altro sito.

"In termini di sicurezza, gli hash crittografici come MD5 consentono l'autenticazione dei dati ottenuti da mirror non sicuri. L'hash MD5 deve essere firmato o provenire da una fonte sicura (una pagina HTTPS) di un'organizzazione di cui ti fidi." - https://help.ubuntu.com/community/HowToMD5SUM

I checksum crittografici sono una parte importante delle firme pratiche a chiave pubblica (come implementato in GnuPG e altri software compatibili con OpenPGP). Le firme a chiave pubblica presentano alcuni vantaggi rispetto ai soli checksum.


0

Ho sentito che [checksum MD5] è per consentire [...] anche di rilevare facilmente eventuali modifiche dannose.

Bene, non hai sentito totalmente sbagliato . La firma digitale è effettivamente utilizzata per rilevare modifiche dannose. Per alcuni motivi importanti, l' hash è una parte fondamentale della firma digitale, in quanto solo l'hash è effettivamente firmato , non l'intero file originale.

Detto questo, se la fonte non fornisce la firma dell'hash e un modo affidabile per verificarlo , allora hai ragione, non viene fornita alcuna protezione contro i file deliberatamente modificati , ma l'hash è ancora utile come checksum contro accidentale corruzione .

Ecco un esempio del mondo reale che potrebbe chiarire il tutto. Il seguente passaggio è particolarmente significativo in materia:

Per le versioni di CD archiviate meno recenti, sono stati generati solo checksum MD5 [...] Per le versioni più recenti, vengono utilizzati algoritmi di checksum più recenti e crittograficamente più efficaci (SHA1, SHA256 e SHA512)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.