DE  |  FR  |  IT

Simple File Verification

Controllare l'integrità dei file

Questa pagina è stata tradotta dal tedesco all’italiano utilizzando il software DeepL. La traduzione è molto abbreviata. La versione completa è disponibile solo in tedesco e francese.

La "File Verification" è una procedura per controllare l'integrità o l'autenticità dei file con l'aiuto di un algoritmo corrispondente. Nella "simple file verification" (SFV), viene utilizzata a questo scopo la funzione HASH.

1. Rilevare i file corrotti

2. Problema nell'archivio

3. Simple File Verification

4. Programmi consigliati

5. Ulteriori link

 

1. Rilevare i file corrotti

I file possono essere danneggiati da diverse cause, come supporti di memorizzazione difettosi, errori durante il trasferimento dei dati, errori di scrittura durante la copia, errori software o virus. Il flusso di bit [i] originale del file viene modificato o accorciato. In questo caso, si parla di file corrotti.

I file corrotti possono essere rilevati in diversi modi:

Il modo più semplice è un confronto bit per bit con il file originale invariato. Tuttavia, questo non può chiarire in modo definitivo quale dei file sia quello invariato o se entrambi i file siano danneggiati in modi diversi.

In un secondo metodo, un semplice checksum [ii] viene calcolato sul flusso di bit e memorizzato. La somma di controllo è progettata in modo tale che gli errori casuali nel flusso di bit modifichino il valore della somma di controllo. In questo modo è possibile rilevare in modo affidabile soprattutto gli errori durante la trasmissione e la memorizzazione dei dati, ma non le modifiche intenzionali dei dati.

Se al posto della somma di controllo viene utilizzato un valore di hash [iii] è possibile rilevare anche le modifiche intenzionali dei dati. Un valore hash è un'identificazione quasi unica di un flusso di dati sotto forma di una breve stringa di caratteri. Se si utilizza una funzione hash crittografica [iv] è garantita l'assegnazione univoca di flusso di bit -> valore hash.

Mantenendo un corrispondente valore di hash (o checksum), è possibile verificare l'integrità di un file, ossia l'assenza di modifiche nel flusso di bit. L'autenticità di un file, invece, cioè la garanzia che un file è stato creato in un momento specifico da una persona o da un ente specifico, può essere garantita solo da una firma digitale [v].

 

2. Problema nell'archivio

Lo stato attuale della tecnologia hardware e software garantisce in larga misura che non vi siano errori di trasmissione o di supporti di memorizzazione che non vengano rilevati. Una piattaforma di archiviazione sufficientemente sicura [vi] di solito garantisce anche che i file, una volta archiviati, vengano controllati regolarmente. A questo scopo, le somme di controllo vengono create internamente per ogni blocco di file e ricalcolate regolarmente.

Ciò significa che nel funzionamento odierno di un archivio digitale sono fondamentali soprattutto il percorso dei file dalla fonte/provenienza alla piattaforma di archiviazione e i processi di copia nell'archivio. I rischi possibili quando si copiano file o raccolte di file di grandi dimensioni sono che il processo di copia venga interrotto o interrotto involontariamente, che il supporto di destinazione sia troppo piccolo, ecc.

Il problema non si pone, ovviamente, se i file gestiti dall'archivio sono contenitori SIP o AIP, a loro volta dotati di un valore hash del contenitore corrispondente. In questo caso, l'integrità del contenitore può essere controllata in qualsiasi momento.

Se invece l'archivio lavora con singoli file o se non è disponibile una piattaforma di archiviazione sufficientemente sicura, l'integrità dei dati deve e può essere garantita anche con mezzi semplici.

3. Simple File Verification

Simple File Verification (SFV) [vii] è un metodo per verificare l'integrità dei file con checksum CRC32. L'estensione abituale dei file SFV è .sfv. I file SFV contengono nomi e checksum associati di altri file. Con un programma appropriato, è possibile creare file SFV e confrontare le checksum in essi memorizzate.

Un file SFV per i file da file1.dat a file4.dat ha il seguente aspetto:
file1.dat  71f6aba0
file2.dat  96e67f7d
file3.dat  67f151f7
file4.dat  3094bcc6

La maggior parte dei programmi di validazione SFV è in grado di generare e verificare i valori hash MD5 e/o SHA (con le estensioni .md5 e .sha), oltre alle checksum CRC32.

La sintassi di un file MD5 è leggermente diversa:
cb2ab3697c21950f0d5285f9a0d5ab91 *file1.dat
83cf7aaf9ee7088db45133b54bfd4dfc *file2.dat
dfe90465485b22cae193df23460ef766 *file3.dat
0cc107a0e37b541edfd13f32503d16e6 *file4.dat

Anche intere strutture di directory possono essere mappate in un file SFV, come la seguente struttura di file:

file1.dat 67f151f7
file2.dat 3094bcc6
file3.dat 96e67f7d
file4.dat 17714f69
folder\file5.dat 71f6aba0
folder\file6.dat 68cb2916

Il file SFV con il nome della cartella selezionata (test.sfv) viene creato nella cartella corrispondente.

4. Programmi consigliati

I formati dei file di checksum sono predefiniti (SFV, MD5, SHA), per cui la scelta del programma utilizzato è solitamente irrilevante [viii]. I file di checksum possono quindi essere generati con un programma e convalidati con un altro. Con alcuni programmi viene selezionata un'intera cartella per la convalida (ai file di checksum viene quindi assegnato il nome della cartella); con altri programmi è necessario selezionare i file e assegnare un nome ai file di checksum.

Il preferito è hkSFV, ma purtroppo non è più supportato. A quanto pare l'azienda big-O Software non esiste più. hkSFV può creare e convalidare i file di controllo SFV e MD5 (vedere il download qui sotto).
http://www.big-o-software.com/

QuickSfV è abbastanza facile da usare perché si integra nel menu contestuale (tasto destro del mouse). Tuttavia, può essere installato solo con i diritti di amministratore.
http://www.quicksfv.org/

xyChecksums è un po' macchinoso da usare, ma è open source sotto licenza GPL e può anche elaborare raccolte di file molto grandi (> 500 GB).
http://wxchecksums.sourceforge.net/

Le raccolte di file di qualsiasi dimensione possono essere elaborate anche con lo Command Line Tool md5sum. Il programma è disponibile praticamente su tutti i sistemi operativi (vedi download sotto).
http://gnuwin32.sourceforge.net/packages/coreutils.htm
http://www.gnu.org/software/coreutils/
 

Per completezza, va menzionato anche WIN-SFV32, la forma originale di tutti questi programmi di validazione (vedi download sotto).

5. Ulteriori link

 

[i] Designa una sequenza di bit che rappresenta un'informazione. (engl. bitstream).

[ii] Checksum (engl. checksum). Un checksum viene utilizzato principalmente per rilevare gli errori di bit nel flusso di dati. Il controllo di ridondanza ciclico (inglese CRC32) è l'algoritmo di checksum più conosciuto. 
Vedi anche: https://it.wikipedia.org/wiki/Checksum

[iii] Funzione di hash  (inglese hash-code, hash-value). Un valore hash è una mappatura di un flusso di dati di grandi dimensioni in una stringa di caratteri relativamente breve e il più possibile univoca. Una funzione ben nota per la generazione di valori hash è la funzione MD5. Vedi anche: https://it.wikipedia.org/wiki/Funzione_di_hash

[iv] Una funzione nota per la generazione di valori hash crittografici (engl. secure hash algorithm) ist SHA-1.
Vedi anche: https://it.wikipedia.org/wiki/Secure_Hash_Algorithm

[v] Le firme digitali si basano su crittosistemi asimmetrici e utilizzano una coppia di chiavi composta da una chiave privata (segreta) e una pubblica (non segreta).
Vedi anche: https://it.wikipedia.org/wiki/Firma_digitale 
oder: Niels Fromm, Signatur und Zeitstempel zur Wahrung von Authentizität und Integrität, 2009
http://edoc.hu-berlin.de/cmsj/32/fromm-niels-63/PDF/fromm.pdf

[viii] Un elenco non esaustivo di programmi di validazione SFV su Wikipedia:
http://en.wikipedia.org/wiki/Comparison_of_file_verification_software

Questa dispensa in formato PDF

SFV_HowTo_v4.pdf, 94.9K, 06.01.10
Simple File Verification: Verificare l'integrità o l'autenticità dei file

Diversi programmi menzionati nel testo che sono difficili da ottenere

hkSFVsetup.exe, 227.2K, 05.01.10
hkSFV 2.0.1 (build 84) [10.30.2002] Big-O Software (md5-hash: fc995bb71ae0ce5cd78feeeef7af74a2)

md5sum.exe, 27.5K, 05.01.10
md5sum 1999 Free Software Foundation, Inc. (md5-hash: 06707b6fff48aa962d4865ba033846e2)

SFV32W.exe, 179K, 05.01.10
WIN-SFV32 v1.1a Fantasia Software (md5-hash: 760699922f731c25c15a2705b8322ec2)

Sistema operativo: Windows 95/98/Me/NT/2000/XP
Si prega di osservare le rispettive condizioni di utilizzo e le norme sul copyright.