Loading AI tools
simbolo Da Wikipedia, l'enciclopedia libera
In informatica il termine watermark (mutuato dalla lingua inglese) o filigrana elettronica[1] si riferisce all'inclusione di informazioni all'interno di un file multimediale o di altro genere, che può essere successivamente rilevato o estratto per trarre informazioni sulla sua origine e provenienza. Tali indicazioni lasciano il documento contrassegnato in modo permanente
Il termine watermark significa letteralmente filigrana, infatti per specificare l'ambito informatico si utilizza solitamente digital watermarking, equivalente alla locuzione italiana "filigrana elettronica".
Le informazioni possono essere evidenti per l'utente del file (per esempio nel caso di un'indicazione di copyright applicata in sovraimpressione su un'immagine digitale) o latenti (nascoste all'interno del file); in quest'ultimo caso il watermarking può essere considerato una forma di steganografia.
La tecnica del watermarking digitale può essere utilizzata con diversi scopi: rendere manifesto a tutti gli utenti chi sia il proprietario del documento, nel caso in cui il marchio sia visibile; dimostrare l'originalità di un documento non contraffatto; evitare la distribuzione di copie non autorizzate; marcare caratteristiche specifiche del documento oppure segnare il percorso di vendita del documento, utilizzando un marchio differente per ogni acquirente.
I watermark possono essere classificati a seconda di alcune loro proprietà, che dipendono dallo scopo con cui sono stati inseriti all'interno del documento.
I watermark possono essere privati o pubblici, ossia visibili a tutti gli utenti di un file. Si dicono privati quelli che possono essere estratti solo quando si conosce a priori il loro contenuto e si possiede il documento originale non marchiato; pubblici quelli rilevabili anche se non se ne conosce il contenuto, senza l'ausilio del documento originale. Nel caso di watermark pubblici è più semplice identificare e alterare (o rimuovere) il marchio, ma in molti contesti essi sono più utili, in quanto permettono a chiunque di individuare il proprietario del documento.
Un watermark può essere visibile o invisibile: ovvero, nel primo caso viene utilizzato per codificare informazioni che devono essere rese pubbliche all'utente finale; nel secondo caso, invece è proprio di quei contesti in cui il proprietario legittimo vuole garantirsi i diritti d'autore, nascondendo quindi il marchio nel documento. In pratica la copia marcata è quasi identica all'originale, a meno di alcune differenze non riscontrabili dalle percezioni umane.
I watermark possono essere caratterizzati dalla loro capacità di resistenza agli attacchi: un watermark fragile può essere facilmente attaccato, distrutto e reso irriconoscibile da quasi ogni tipo di manipolazione dei dati. Esso è concepito per quelle applicazioni in cui si desidera sapere se una certa informazione è stata modificata nel passaggio dal creatore all'utilizzatore; nel qual caso il watermark non deve essere rilevabile o, comunque, deve presentare alterazioni. Un watermark semifragile subisce la stessa sorte di quello fragile se i cambiamenti inflitti sono superiori a una certa soglia definita dall'utente. Infine, un watermark robusto deve resistere alle più comuni operazioni e trasformazioni sui dati, in quanto è utilizzato quando la proprietà del documento deve essere provata o garantita. L'informazione che trasporta non deve perdersi e deve potersi recuperare, anche se il documento è stato modificato. Inoltre, si tende a considerare un watermark robusto quando è in grado di resistere anche ad attacchi intenzionali volti alla sua rimozione.
I watermark sono ciechi, se per verificarne la presenza non è necessario il documento originale; non ciechi in caso contrario. In generale, i watermark non ciechi sono più robusti, ma non sempre è possibile avere a disposizione l'originale; inoltre solo il proprietario può dimostrare la presenza del marchio.
I watermark possono essere utilizzati per diversi scopi e, quindi, devono soddisfare ben determinate esigenze. Esistono però delle caratteristiche comuni a tutti i watermark:
Per soddisfare tutte queste richieste i watermark devono essere:
In alcuni casi per invertibilità si intende la possibilità di generare un falso watermark e un falso documento originale che sia uguale a quello vero. In questo modo dall'inserimento del falso watermark si ottiene un documento che è perfettamente uguale (invertibilità) o solo percettibilmente uguale (quasi invertibilità) a quello reale. È stato dimostrato che se il watermarking digitale vuole diventare una prova inconfutabile per l'applicazione del copyright, allora i marchi devono essere non invertibili o quasi non invertibili.
Un qualunque schema di watermarking è realizzato attraverso l'implementazione di due ben specifici algoritmi: uno di codifica del marchio, che prende in input immagine originale e ne restituisce in output la corrispondente immagine opportunamente marcata e il marchio vero e proprio; l'altro di decodifica che, presa in input l'immagine marchiata e l'immagine originale (se il watermark è non cieco), restituisce il marchio associato.
L'aggiunta di un watermark all'immagine può essere vista come l'inserimento di una componente di rumore nell'immagine stessa.
Sia V l'immagine originale, il watermark da inserire (che potrebbe dipendere da V) e l'immagine marchiata.
si può ottenere da V e W tramite un'opportuna funzione di codifica E:
La funzione di decodifica D (nel caso di watermark cieco) vuole in ingresso un'immagine marchiata e restituisce il watermark W':
Mentre se il watermark è non cieco lo schema va modificato nel modo seguente:
I watermark W e W' non sono necessariamente identici, in quanto l'immagine può essere stata modificata tra la fase di codifica e di decodifica. È quindi necessaria una funzione di comparazione che permetta di stabilire se i due watermark corrispondono:
dove è un valore di soglia opportunamente stabilito.
In generale per codificare un watermark si scelgono alcune particolari caratteristiche dell'immagine, dette , a cui si applica un operatore di inserimento :
dove sono le caratteristiche dell'immagine con watermark.
Il watermark viene decodificato con un operatore di estrazione , inverso rispetto al precedente, tale che:
dove è il watermark estratto.
Nel caso delle tecniche sul dominio spaziale (per dominio spaziale si intende considerare i singoli pixel nella posizione in cui si trovano all'interno dell'immagine) le caratteristiche F sono i valori dei pixel dell'immagine; mentre nel caso delle tecniche sulle trasformate sono i valori dei coefficienti di una trasformata di dominio dell'immagine.
L'insieme F è scelto in modo che piccole modifiche su ogni caratteristica non peggiorino sensibilmente l'immagine (il watermark può essere inserito senza un visibile danneggiamento dell'immagine) e che ogni caratteristica non cambi significativamente a meno che l'immagine non sia stata modificata in modo percettibile (il watermark deve poter essere decodificato senza ambiguità).
Sotto il nome di attacchi sono comprese tutte le operazioni sulle immagini che possono indebolire o rimuovere del tutto un watermark precedentemente inserito, indipendentemente dal fatto che esse siano intenzionali o no, ma anche solo impedire il corretto funzionamento della fase di rilevazione.
La compressione dati con perdita, considerando nella pratica lo standard JPEG, è una delle modifiche che più frequentemente vengono applicate a un'immagine prima di distribuirla in rete. La sola compressione non costituisce in genere un attacco pericoloso; tutti i metodi, infatti, vengono testati sulle immagini JPEG. Numerosi metodi di watermarking operano nel dominio della DCT (trasformata discreta del coseno) proprio per avere un'alta robustezza a questo tipo di compressione. In genere per rimuovere un marchio tramite la sola compressione si dovrebbe scendere a un livello di impoverimento inaccettabile.
Una vasta famiglia di modifiche è quella delle modifiche geometriche. Essa comprende modifiche globali, come la rotazione, il cropping (eliminazione di una parte di immagine), le modifiche di scala e modifiche locali, come l'eliminazione di linee o colonne. I metodi nel dominio spaziale sono quelli più fragili agli attacchi geometrici; in particolare le combinazioni di rotazione di piccoli angoli unita al cropping, la modifica non uniforme di scala e l'eliminazione di un certo numero di righe o colonne risulta essere sufficiente a rendere impossibile il rilevamento del marchio, senza introdurre un percettibile decadimento della qualità. Contro le modifiche geometriche globali si agisce replicando il watermark su tutta l'immagine.
Vi sono poi tutti i filtri e gli effetti apponibili tramite un buon numero di applicazioni grafiche. Un altro attacco è costituito dall'aggiunta di rumore pseudo-casuale, additivo o moltiplicativo.
Attacchi di tipo statistico richiedono di possedere due o più copie della stessa immagine marchiata con marchi differenti, quindi tentano di ottenere una copia non più protetta facendo la media delle copie oppure assemblando pezzi di ognuna. Infine, qualora l'algoritmo non preveda la possibilità di inserire più di un watermark, la sovrapposizione forzata di ulteriori marchi può impedire al decoder di rilevare correttamente la presenza del giusto marchio.
Una classificazione degli attacchi è possibile anche dal punto di vista del loro fine:
Un contraffattore, che voglia spacciare per propria una determinata immagine, può porre la propria firma su un'immagine già firmata.
In questo caso sembrerebbe che sia il legittimo proprietario, sia il contraffattore possano reclamare il diritto di proprietà. Il riconoscimento del watermark non è quindi sufficiente a stabilire chi abbia ragione. Per risolvere la contesa viene richiesta a entrambi l'immagine originale, ipotizzandola non firmata, e si verifica la firma di ognuno con l'originale dell'altro. La firma del vero possessore sarà presente sulla falsa originale, mentre la firma dell'impostore non sarà presente sulla vera originale e darà un risultato di firma falsa.
Le tecniche più utilizzate per invalidare la prova di proprietà sono: gli attacchi di tipo SWICO e gli attacchi di tipo TWICO.
Nell'attacco SWICO, l'impostore può cercare di ottenere una falsa originale estraendo il watermark dall'immagine firmata dal legittimo proprietario e lasciando circolare un'immagine watermarked con la firma di entrambi. In questo modo anche il contraffattore può reclamare il diritto di proprietà servendosi della falsa originale. Per resistere agli attacchi SWICO è sufficiente che il processo di watermarking sia non invertibile.
Nell'attacco TWICO, a differenza dell'attacco SWICO, oltre a una falsa originale, saranno prodotte dal contraffattore due immagini watermarked entrambe con una sola firma (quella originale e quella falsa). Per resistere agli attacchi TWICO il watermark deve essere quasi non invertibile.
Un watermark può essere inserito all'interno di un'immagine con tre tecniche di cui ora vedremo le principali caratteristiche.
Tali tecniche modificano direttamente i valori dei pixel dell'immagine, in base al codice che deve essere incluso. Ci sono diverse possibilità per attuare questa modifica:
Utilizzano la trasformata discreta del coseno, la trasformata wavelet o la trasformata di Fourier e il watermark viene incorporato nei coefficienti della trasformazione.
Tali tecniche operano seguendo questo schema: l'immagine viene convertita in una matrice in cui sono riportati i valori numerici (luminosità) dei singoli pixel; a questa matrice è applicata una delle trasformazioni invertibili sopra citate. Alcuni dei coefficienti della trasformata vengono modificati, ottenendo l'inserimento del watermark. Infine, applicando la trasformata inversa, si ricompone una matrice, e quindi un'immagine, simile a quella di partenza, a cui, però è stato applicato il marchio. Si possono infine applicare delle tecniche ibride, ovvero tecniche che pur sfruttando le trasformate matematiche non mancano di adattabilità spaziali. Queste tecniche sono molto efficaci nell'adattare il livello di inserimento del watermark al contenuto locale dell'immagine. D'altra parte questa proprietà provoca una sensibilità alla traslazione delle immagini e allo scaling.
Il metodo NEC è stato sviluppato da Cox, Kilian, Leighton e Shamoon e sembra essere quello che al momento offre maggiori garanzie dal punto di vista strettamente legato alla robustezza. In particolare gli autori affermano che per garantire la robustezza di un qualunque schema di watermarking si deve necessariamente agire sulle componenti percettivamente più significative. Tale approccio sembra contraddire la fondamentale necessità di trattare solo ed esclusivamente marchi impercettibili. In realtà si tratta solamente di trovare il giusto bilanciamento tra le due esigenze sfruttando, in questo specifico caso, alcune proprietà dello spettro del segnale digitale in questione. Tale tecnica è robusta e sicura rispetto alle più comuni operazioni di elaborazione dei segnali, alle distorsioni geometriche e anche rispetto ad alcuni più sofisticati attacchi intenzionali.
Il metodo NEC fa parte di quelle che vengono chiamate tecniche basate sulle trasformate, infatti richiede l'uso della trasformata discreta del coseno e della sua inversa. Esso si articola in tre parti, che vengono trattate nei prossimi paragrafi.
Il watermark è una sequenza di N numeri pseudocasuali con distribuzione N(0,1), cioè una distribuzione normale con media zero e varianza uno.
Per inserire correttamente il watermark, si calcola la trasformata discreta del coseno dell'immagine da marchiare e si considerano gli N coefficienti più alti in valore assoluto (che corrispondono alle basse frequenze), escludendo il primo per non alterare eccessivamente e, quindi, visibilmente la qualità l'immagine. Infine si applica uno dei metodi seguenti:
dove sono le frequenze dell'immagine originale su cui deve essere inserito il watermark ; sono le nuove frequenze ottenute a seguito dell'inserimento del marchio e è un parametro che deve rendere conto sia della robustezza che della visibilità del watermark.
Il primo e il secondo metodo sono invertibili solo se , mentre il secondo lo è sempre, ma non è appropriato se le variano molto.
In generale sarebbe possibile dare un valore ad specifico per ogni frequenza per migliorare la resistenza agli attacchi, modificando così i vari metodi:
ma i test sperimentali hanno mostrato che un valore di pari a 0.1 si adatta bene alle diverse immagini e frequenze.
La scelta della lunghezza N del watermark sottostà alla seguente regola: maggiore è tale valore e maggiore è la robustezza del marchio, ma di conseguenza, maggiore è anche la visibilità.
I test sperimentali hanno garantito che per un valore di pari a 0.1, un buon valore per N può essere 1000.
Per estrarre il watermark si deve prima applicare la trasformata discreta del coseno all'immagine originale (ovvero quella priva del marchio) e all'immagine da testare; in seguito si estraggono le N frequenze maggiori in valore assoluto a esclusione della prima; infine si estrae il watermark applicando una delle seguenti formule inverse:
a seconda del metodo con cui è stato inserito il watermark.
In questo modo si ottiene un watermark che dovrà essere confrontato con quello originale, per accertarne la somiglianza.
Il watermark originariamente inserito in un'immagine non sarà mai esattamente uguale a quello estratto, a causa delle approssimazioni nel calcolo della trasformata del coseno diretta e inversa e dei possibili attacchi a cui l'immagine è sottoposta.
Quindi occorre introdurre una funzione che permetta di calcolare quanto sono simili due watermark, per poter valutare con quale probabilità le due immagini possiedono lo stesso marchio, seppur alterato.
Questa funzione è la seguente:
La funzione restituisce un valore che corrisponde all'indice di somiglianza dei due watermark. Si può dimostrare che se allora i due watermark non sono indipendenti, ovvero l'immagine da cui è stato estratto W' è stata quasi sicuramente marchiata con W.