Perché è impossibile verificare se un file è stato modificato dalla creazione?

12

Da quanto ho capito, è impossibile verificare se un file è stato modificato dalla sua creazione. Nello specifico, mi chiedevo se fosse possibile verificare se una foto è stata modificata dalla sua cattura. Tuttavia, in base alla domanda " Come rilevare se i metadati di una foto sono stati modificati? " non lo è:

It is sadly impossible to to prove when an image (or any file for that matter) originated. It is possible (if the author wants to) to prove that a file existed prior to a given time by signing the file from a third party time stamping server (through which the third party proves that the file existed at the time of the signing) but such information is not automatically possible and can easily be stripped.

I am also an IT Security guy and there is no possible secure way to prove the creation date of any file if the user controls the system creating the file with current technology that I am aware of. The best bet would be a device with a locked clock that would have a hidden key store that the user shouldn't have access to and create a signature based on this so that they couldn't fake their own signature, but since the key must still reside in the device, it is still feasibly possible for someone to break as all the necessary information is in their possession, even if it is hard to get to.

Ritengo che questa spiegazione sia in qualche modo simile al motivo per cui il DRM non funziona (non puoi dare a una persona il lucchetto e la chiave), ma non sono ancora chiaro sulla spiegazione. Penso inoltre che questo sia diverso da come funziona TLS / SSL . Nel caso summenzionato, ti stai fidando di una fonte che ti fornisce i file senza alcuna informazione su quante volte i file sono stati modificati.

    
posta Seanny123 24.11.2017 - 16:42
fonte

4 risposte

35

Penso che vorrete più una risposta filosofica che una tecnica, dato ciò che state rifiutando.

Un file è solo una raccolta discreta di bit. Pertinenza e significato sono sovrapposti a quei bit da un essere umano, ma alla fine sono solo bit. Come sarebbe possibile determinare se i bit che hai sono nella stessa sequenza in qualche stato precedente sconosciuto? Risposta: salvare quello stato in un modo che può essere considerato attendibile come mezzo di confronto.

Ecco perché TLS / SSL utilizza CA di terze parti per verificare i certificati e perché è utile la firma digitale dei file. Forniscono un mezzo affidabile per avere uno stato da confrontare. Non è perfetto, ma molto efficace se eseguito correttamente.

    
risposta data 24.11.2017 - 17:00
fonte
21

Immagina di essere su un'isola deserta e ti consegna una copia della costituzione degli Stati Uniti, sostenendo che si tratta di una copia esatta (nessuna parola cambiata). Senza nulla da confrontare, non hai modo di verificarlo, giusto?

Come dice @schroeder, un file digitale (e i suoi metadati) è solo una raccolta di bit. Come si determina se i bit che hai di fronte sono nella stessa sequenza di quando sono stati scritti per la prima volta? Bene, hai bisogno di una versione "di riferimento" del documento da confrontare. Esistono molti strumenti crittografici che forniranno questa linea di base: hashes , MAC , firme digitali e infine timestamping potrebbero essere effettivamente i più vicini a ciò che stai cercando.

Trusted timestamping is the process of securely keeping track of the creation and modification time of a document

Ma alla fine, a meno che la copia originale del file non sia stata sottoposta a qualche forma di crittografia al momento della creazione, ti trovi nello scenario di un'isola deserta senza una linea di riferimento per il confronto.

    
risposta data 24.11.2017 - 18:36
fonte
1

Perché stai provando a dimostrare un risultato negativo: vale a dire che il file non esisteva prima del tempo X e che dopo X il file non era stato modificato.

Non c'è nulla che impedisca di ordinare i bit di un file in un modo particolare prima, dopo o durante un particolare periodo di tempo diverso dal supporto fisico disponibile. Questo include il file "contenuti" e tutti i metadati associati.

Quindi, nessuno può provare che tu (o qualcuno che conosci se sei troppo giovane) non hai assemblato l'ultimo film di Avengers su un nuovo Mac nel 1996. Se presenti un file del film in cui la meta i dati dicono che è stato creato nel 1996, non possiamo escluderlo in base alla disposizione dei bit che compongono il file e sono i metadati - solo perché avresti potuto simularlo non significa che lo hai fatto. OTOH, la tua capacità di falsificare il file non è una prova che tu non abbia falso.

Se vuoi vincere una causa per il copyright, avrai bisogno di qualcos'altro per dimostrare che non l'hai falsificato - qualcun altro che giurerà di averlo visto nel 1996, una copia di ciò che puoi provare è venuto dal 1996 e di cui non hai più avuto la possibilità di accedere.

Infine, nota che in entrambi i casi, non stai parlando di prove nel senso di una dimostrazione matematica, che non esiste e non può esistere. Puoi dire che è estremamente improbabile, puoi dire che non è stata presentata alcuna prova che ciò sia accaduto, ma non puoi dimostrare che non sarebbe potuto accadere.

    
risposta data 25.11.2017 - 06:23
fonte
1

Potrebbe essere utile sottolineare che praticamente tutte le foto sono cambiate durante o dopo l'acquisizione. Come aneddoto divertente (beh, non molto divertente), lo stesso può essere il caso in un modo totalmente non ovvio quando scansione di documenti .

Praticamente tutte le foto (tranne quando si salvano dati RAW, che è, al di fuori della fotografia professionale, molto insolite) subiscono una manipolazione piuttosto elaborata che coinvolge sia i filtri di convoluzione che le curve di regolazione (e, possibilmente, altre cose, come il mixare diverse acquisizioni in uno, possibilmente con esposizioni diverse, compensazione del movimento, ecc.)

Inoltre, la stragrande maggioranza delle foto (non "praticamente tutte", ma in realtà la maggior parte) sono compresse con JPEG, che è tecnicamente e di fatto un cambiamento (tecnicamente in quanto è una rappresentazione diversa, e in effetti perché i segnali decompressi non sono 100% identici). C'è stata una discussione sul fatto che i file JPEG siano ammissibili o meno come prova legale (a causa di non essere la foto originale) qui circa 10-12 anni fa. In realtà non ho mai imparato cosa è venuto fuori da quella discussione ...

Inoltre, i metadati, inclusi i dati relativi all'ora e alla posizione, vengono salvati con i dati dell'immagine, che a volte vengono aggiunti fino a 30-60 secondi dopo che la foto è stata scattata e salvati su disco (ad esempio sulla classe TZ di Panasonic telecamere in cui il sensore GPS è piuttosto lento, questo accade quasi regolarmente).

Detto questo, è spesso possibile mostrare che una fotografia modificata è stata modificata . Questo perché il processo di modifica di solito non è perfetto sotto alto ingrandimento (sia in risoluzione che in intensità) e di solito puoi mostrare artefatti che non corrispondono ai normali artefatti di compressione o differenze nei gradienti rispetto alle posizioni vicine.

Tuttavia, ciò sta dimostrando un positivo mentre provare che una foto non è stata alterata avrebbe dimostrato un negativo che per definizione non è possibile con assoluta certezza (assenza di la prova non è prova di assenza).

Un certificato digitale può in qualche modo aiutare, ma è valido solo come il trust che viene inserito nel certificato e nel firmatario. Dopo tutto, potresti benissimo usare un certificato di fiducia e firmare una foto completamente falsa.
Insieme alla tua testimonianza (o alla testimonianza di un'altra persona di buona reputazione) di solito è abbastanza buono , ma ovviamente non lo è, e non può mai essere, sicuro al 100%.

    
risposta data 25.11.2017 - 17:18
fonte

Leggi altre domande sui tag