In informatica il termine watermark (mutuato dalla lingua inglese) o filigrana elettronica si riferisce all'inclusione di informazioni all'interno di un 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".
Caratteristiche ed utilizzo 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.
Classificazione 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 . 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.
Proprietà I watermark possono essere utilizzati per diversi scopi e, quindi, devono soddisfare ben determinate esigenze. Esistono però delle caratteristiche comuni a tutti i watermark:
il legittimo proprietario o un'autorità indipendente di controllo devono poter facilmente estrarre le informazioni del watermark; il recupero del watermark deve provare in maniera non ambigua l'identità del proprietario; deve essere possibile sovrapporre più watermark sul documento, senza che quelli precedenti siano distrutti; il watermark deve essere inserito all'interno del segnale da proteggere per maggiore sicurezza e portabilità.
Per soddisfare tutte queste richieste i watermark devono essere: Invisibili: inserire un segnale di watermark comporta necessariamente un seppur piccolo degrado dell'immagine; questo degrado deve essere il più lieve possibile in modo da non alterare la percezione del documento. Il grado d'alterazione deve essere deciso dal proprietario del documento, il quale può scegliere tra forti alterazioni, che danno una garanzia di robustezza a eventuali attacchi, e deboli alterazioni, che non degradano il prodotto. Codificati a chiave: ogni segnale di watermark è associato a una particolare sequenza di bit detta chiave (key). La chiave serve sia per produrre il segnale di watermark che per riconoscerlo all'interno di un documento. La chiave è privata e caratterizza univocamente il legittimo proprietario del documento. Solo chi è in possesso della chiave (il proprietario o un ente autorizzato) è in grado di dimostrare la presenza del watermark nel prodotto digitale. Il numero di chiavi possibili deve essere enorme. Efficienti statisticamente: un documento firmato con un segnale di watermark deve essere facilmente riconoscibile se si conosce la giusta chiave. La probabilità che la chiave (nella fase di riconoscimento) venga rifiutata, pur essendo corretta, deve essere sufficientemente bassa. Invisibili statisticamente: possedere un gran numero di documenti digitali, tutti firmati con la stessa chiave, non deve rendere riconoscibile (e quindi eliminabile) la firma. Diversi prodotti firmati con la stessa chiave devono generare segnali di watermark differenti. Bisogna essere sicuri che il riconoscimento della chiave all'interno dell'immagine da parte di terzi sia impossibile. Multipli: deve essere possibile inserire un elevato numero di segnali di watermark all'interno dello stesso documento; ognuno di questi segnali può essere riconosciuto mediante la corrispondente chiave. Robusti: sui documenti digitali possono venir fatte numerose operazioni per migliorare la loro qualità o per comprimere la loro dimensione. I segnali di watermark devono essere tali da non venire eliminati da questo tipo di operazioni, né da operazioni mirate ad alterare o cancellare il marchio stesso. Invertibili: il legittimo proprietario del documento deve poter rimuovere il watermark. In realtà questa proprietà non si può ottenere se devono essere garantite la robustezza e la resistenza alle aggressioni. 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.
watermark in immagini fisse 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:
se , W e W' corrispondono, altrimenti, W e W' non 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à).
Attacchi 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.