Immagine steganografia e tracciamento

5

Stiamo gestendo una libreria multimediale online. In questo sito molte marche caricano immagini e scaricano utenti di tracciatori e visualizzazioni per immagine. Ma alcuni brand ora vogliono aggiungere un codice univoco all'immagine in modo che possano tracciare le proprie immagini.

Abbiamo provato alcuni strumenti di steganografia:

  1. link ( supporto JPG )
  2. link ( supporto PNG )

Entrambi funzionano bene, ma il problema è che il codice di sicurezza è scomparso dopo il ridimensionamento o ritaglio delle immagini.

Un modo semplice sarebbe la filigrana, ma non vogliamo disturbare le immagini, perché le immagini vengono utilizzate nella stampa.

C'è un modo per inserire il codice protetto nell'immagine in formato JPG e tenere traccia di quel codice dopo aver ridimensionato o ritagliato quell'immagine?

Aggiorna

I nostri marchi vogliono pubblicarli come immagine web (versione light), quindi gli utenti della stampa potrebbero usare le immagini su blog e forum.

Punteremo al sito blog / forum della stampa dal motore del crawler (~ 4500 blog) e controlleremo se la nostra immagine esiste su questi blog.

    
posta Girish 26.03.2015 - 14:53
fonte

3 risposte

5

È possibile aggiungere informazioni alle immagini JPEG in due modi:

  • aggiungi informazioni da qualsiasi immagine, ovvero le intestazioni JPEG
  • aggiungi informazioni nei dati dell'immagine, vale a dire che modifichi l'immagine

La prima tecnica può essere facilmente aggirata semplicemente rimuovendo i dati rilevanti dall'intestazione.

La seconda tecnica può essere suddivisa in:

  • Watermarking
  • steganografia

La steganografia viene utilizzata quando si desidera distribuire le informazioni nelle immagini e si desidera rimanere il più invisibili possibile. Non dici che stai mettendo le informazioni nelle immagini e provi con tutti i mezzi per minimizzare il tuo impatto sulle statistiche dell'immagine.

La filigrana è usata principalmente per scopi DRM , vuoi mettere le informazioni nell'immagine e assicurarti che rimanga quando le modifiche sono fatto a questa immagine (si chiama una filigrana robusta). Solitamente la robustezza ha un prezzo di alterazione dell'immagine (possiamo dire degradazione qui), non esiste un modo effettivo per ottenere una filigrana robusta senza "disturbare" l'immagine come dici tu. Esistono molte tecniche di filigrana (che sono fuori tema per questa domanda) con diversi tipi di robustezza (ritaglio e ridimensionamento inclusi) con diverso impatto sulla qualità. Dovresti chiedere a Google Scholar di questo.

Probabilmente dovresti avere due copie dell'immagine, una per il display online (con filigrana) e una per la stampa (senza filigrana).

Modifica: poiché non sei ancora convinto, ecco alcuni link agli articoli pertinenti:

dovrebbero darti una buona panoramica dello stato della filigrana e delle sue proprietà e dei possibili attacchi su di essa.

Per ulteriori informazioni, consultare: link

    
risposta data 26.03.2015 - 15:04
fonte
1

Potresti ottenere una buona resa semplicemente aggiungendo queste informazioni come JPEG dati EXIF , che sopravviveranno alla maggior parte delle moderne manipolazioni di immagini ... ma è facilmente spogliato da qualcuno che vuole rimuoverlo. (Un lato negativo: PNG, GIF e JPEG 2000 non supportano EXIF Vedi il mio aggiornamento qui sotto per XMP, che non ha quel problema.)

Giusto per ribadire, i dati EXIF sono piuttosto ben organizzati, facilmente visualizzabili e facili da rimuovere (o modificare), quindi non è una soluzione di sicurezza , ma non penso che lo farai trova una soluzione di sicurezza valida senza watermarking dell'immagine.

Se non vuoi che la gente veda il contenuto, criptalo o usi un codice che richiede di cercare nel tuo database. Quindi tutto ciò che qualcuno può fare è rimuoverlo o modificarlo (che lo distruggerà).

Naturalmente, se un database è sul tavolo, potresti essere in grado di salvare una versione in scala di grigi di 32x32 pixel dell'immagine e usarla come hash (ti sorprenderebbe del fatto che pochi collisions si ottiene). Questo sopravviverà al ridimensionamento e alla correzione del colore minore, ma non sopravviverà al ritaglio aggressivo o ad altre manipolazioni.

EXIF e il db non si escludono a vicenda; potresti fare entrambe le cose.

Aggiornamento: Ho scritto questo su EXIF, che è decentemente ben compreso e supportato, ma supporta solo JPEG. Potresti prendere in considerazione XMP , che supporta praticamente tutti i tipi di immagine (e oltre, ad esempio PDF e MP3) invece. Non sono sicuro della sua capacità di sopravvivere a modifiche apportate da editor che potrebbero non supportarlo, ma sembra abbastanza supportato.

L'articolo di Wikipedia di XMP non menziona il supporto ImageMagick e una rapida ricerca sul Web rivela che ImageMagick probabilmente supporta i dati XMP ; vorrai verificarlo prima di distribuirlo. Consigliamo contro XMP se le modifiche da ImageMagick finiscono per rimuoverlo. (ImageMagick è estremamente comune nelle app Web e negli script di shell.)

    
risposta data 26.03.2015 - 17:53
fonte
-1

Probabilmente stai affrontando due diverse cause per perdere i dati nascosti:

  • Ridimensiona: questa operazione utilizzerà un algoritmo di ridimensionamento dell'immagine per creare una nuova versione ridimensionata dell'immagine, tutti i dati dei pixel (compresi i dati nascosti) andranno persi.
  • Ritaglia: alcuni dei dati nascosti possono essere memorizzati nelle aree rimosse dal ritaglio, quindi in genere al salvataggio dell'immagine ritagliata verrà applicato un nuovo passaggio di compressione jpeg che distruggerà anche i dati nascosti.

Sono abbastanza sicuro che i proprietari di immagini come Getty utilizzano algoritmi complicati per decidere se una determinata immagine corrisponde a un'immagine nella loro libreria. Senza l'uso di watermarking (qualcosa visibile nell'immagine) non riesco a pensare ad un'altra opzione che temo (beh, nessuna che non sarebbe facile da rimuovere comunque).

Spero che questo aiuti!

    
risposta data 26.03.2015 - 16:32
fonte

Leggi altre domande sui tag