Qual è il modo più affidabile per dimostrare l'integrità dei file digitali?

1

Sto cercando di garantire l'integrità dei file caricati e di dimostrare questa integrità a un utente.

Nel mio scenario attuale, un utente invia più file in diversi formati, questi file vengono trasportati in un dispositivo di memorizzazione o in una posizione. Devo creare un provider di report un contenitore con questi file (ad esempio Zip), ma su questo report devo stampare un riferimento visuale ed efficace come "seal", "mark", "hash" o qualcos'altro che è la prova di quanto segue i file sono integrati;

Quello che segue è un elenco di alcuni dei metodi più comuni di dimostrazione dell'integrità:

  • Funzione di hash: un calcolo matematico stabilito che genera un valore numerico basato sui dati del contenuto del file. Questo valore alfa-numerico è indicato come il valore hashhash. L'hash calcola un numero usando una formula complessa ed è molto sensibile alle modifiche nel contenuto del file.
  • Firma digitale: questo processo viene utilizzato insieme a un processo di hash. L'hash risultante è crittografato con una chiave privata specifica. File l'integrità può essere verificata usando il valore hash e l'origine del file la firma è convalidata usando la chiave pubblica.
  • Checksum / Cyclical Redundancy Check (CRC): i checksum sono spesso utilizzati nel trasferimento di file per verificare che il trasferimento dei dati abbia avuto esito positivo. Alcuni checksum sono potenti come gli hash. Si raccomanda che quei checksum che non sono potenti come gli hash possono essere usati in concerto con altri metodi (come hashing o verifica visiva) a grado possibile. Per esempio. MD5Checksum.
  • Crittografia: questo processo modifica il contenuto dei file e lo fa non di per sé dimostra che il file non è stato alterato. La crittografia può essere utilizzata di concerto con altri metodi.
  • Filigrane: questo processo modifica il contenuto dei file e può persistere come parte del file. Questo metodo non è raccomandato.
  • Metodi proprietari: metodi offerti in vendita o in licenza da un fornitore che controlla il codice sorgente potrebbe non essere verificabile in modo indipendente. Allo stesso modo, potrebbe non essere possibile validare la metodologia indipendentemente. Pertanto, questo metodo non è raccomandato.

Dopo aver dimostrato l'integrità del file digitale, l'utente dovrebbe essere in grado di convalidare l'autenticità di esso quando lo desidera.

    
posta LeonanCarvalho 27.08.2015 - 17:23
fonte

2 risposte

1

Hai già la tua risposta sui metodi per dimostrare l'integrità.

Ognuna di queste tecniche è "affidabile" come l'entità che le implementa.

Forse ciò che intendevi dire era "il più appropriato"?

Supponendo che questa sia la domanda dei compiti a casa:

Un utente trasferisce diversi file verso una destinazione e vuole dimostrare che i file non sono stati alterati durante il trasporto. Qual è la tecnica più appropriata? ...

La risposta che sceglierei è la prima: Uso di un hash per verificare che i file siano inalterati. Se l'utente confronta l'hash del file dall'origine all'hash del file nella destinazione e sono gli stessi, allora può essere sicuro che * i file siano uguali.


* ritorno, ovviamente, alla domanda di "più affidabile".

    
risposta data 27.08.2015 - 22:12
fonte
2

Dipende da cosa vuoi dire se intendi davvero "il più affidabile". Come per molti aspetti della sicurezza digitale, esiste una scala mobile di resistenza / affidabilità rispetto all'usabilità / fattibilità. Penso che alcune importanti domande da considerare siano:

  • Chi sono i tuoi utenti? In che misura si preoccupano della prova dell'integrità del file?
  • Anche se agli utenti non interessa, quanto è importante per te o per il tuo servizio che i file vengano trasferiti completamente e inalterati?
  • Come puoi bilanciare l'usabilità di un tale sistema con la sicurezza? (Se gli utenti devono seguire un elaborato processo di salto in cerchio di generazione privata chiave / certificato, questo potrebbe non valerne la pena per una maggiore sicurezza, oppure potrebbe dipendere dalla sensibilità)

La verifica dell'integrità dei dati trasferiti è una scienza incredibilmente coinvolgente, che si estende dal checksum più semplice fino ai metodi più complessi. Tutto dipende da quali sono le tue esigenze.

    
risposta data 28.08.2015 - 06:19
fonte

Leggi altre domande sui tag