Watermarking Digital

CAPITOLUL 2

Watermarking digital

2.1 Cerințe

2.2 Principii de bază

2.3 Aplicații

2.4 Rezistența la atacuri

2.5 Viitorul watermarkingului digital

CAPITOLUL 3

Aplicarea watermarkingului invizibil

la imagini digitale

3.1 Introducere

3.2 Descrierea procedurii de watermarking

3.2.1 Operațiunea de codare a watermarkului

3.2.1.1 Operațiunea de amestecare a pixelilor din watermark

3.2.1.2 Operațiunea de inserare a watermarkului

3.2.2 Operațiunea de decodare a watermarkului

CAPITOLUL 4

Tehnici de procesare a imaginilor cu watermark

38 pagini

Lipsa cap 1

=== CAPITOLUL 2 ===

CAPITOLUL 2

Watermarking digital

Watermarkingul digital este procesul de ascundere a unui semnal digital, numit watermark, într-un alt semnal considerat gazdă. Un watermark poate să fie unic pentru fiecare copie, dar poate fi și comun mai multor copii. În ambele cazuri este vorba de transformarea imaginii originare într-o altă formă, care poate fi mai ușor protejată de eventualele utilizări neautorizate. Din motive de mărire a gradului de siguranță, watermarkingul digital este constuit folosind și chei de criptare. În urma criptării, datele din watermark nu mai pot fi văzute fără ajutorul cheiei de criptare ele trebuind să suporte o operațiune de decriptare. Prin decriptare dispare orice formă de protecție a informațiilor originare, pe când prin waternarking se urmărește obținerea unor marcări persistente oricăror atacuri.

2.1 Cerințe

Pentru aplicarea watermarkingului la toate tipurile de date trebuiesc îndeplinite anumite cerințe:

Watermarkingul trebuie să exprime cât mai multă informație este posibil, astfel că rata de ascundere este destul de mare.

Watermarkingul trebuie să fie în general secret și accesibil doar părților autorizate. Acest deziderat se obține prin folosirea cheilor criptografice.

Watermarkingul trebuie să rămână în imaginea gazdă indiferent ce se întâmplă cu aceasta, după ce ar putea suferi orice tip de modificare chiar și eventualele atacuri ale unor părți neautorizate.

Watermarkingul trebuie să fie rezistent și foarte greu de îndepărtat sau distrus. Chiar dacă watermarkul a fost înlăturat, atunci imaginea ar trebui să sufere pierderi importane ale calității sale.

În funcție de scopul folosirii acestuia watermarkingul poate permite sau nu extragerea sa din imaginea gazdă.

După cum am aflat în capitolul anterior, watermarkingul digital poate fi de două feluri în funcție de gradul de vizibilitate al observatorului uman: vizibil și invizibil. Fiecare dintre aceste tipuri de watermarking este caracterizat de mai multe atribute standard.

Caracteristici ale watermarkingului vizibil:

Un watermark trebuie să fie ușor perceput pentru ambele tipuri de imagini mono și color.

Watermarkingul trebuie să fie prezent într-o arie importantă a imaginii în vederea prevenirii îndepărtării acestuia prin ștergere sau înlocuire, dar să nu altereze conținutul acesteia.

Watermarkingul trebuie să fie vizibil în așa măsură încât să nu afecteze claritatea imaginii originare.

Watermarkingul trebuie să prezinte un grad mare de siguranță, adică să fie greu de îndepărtat.

Watermarkingul trebuie să fie ușor de aplicat.

Caracteristici ale watermarkingului invizibil:

Watermarkingul trebuie să fie rezistent la distorsiunile comune ale semnalului și la diferite încercări de îndepărtare.

Watermarkingul nu trebuie să fie vizibil nici utilizatorului și nu trebuie să degradeze calitatea conținutului.

Refacerea watermarkingului trebuie să ducă implicit la aflarea proprietarului.

Watermarkingul trebuie să aducă modificări minime imaginilor de calitate ridicată și a operelor de artă.

Watermarkingul trebuie introdus printr-o intervenție cât mai mică a operatorului uman.

2.2 Principii de bază

Principiul general al watermarkingului constă în adăugarea unui semnal watermark la o dată gazdă fără să deterioreze calitatea informației, ci doar să asigure un grad ridicat al securității transmiterii informației. De preferință watermarkul ar trebui să poată fi recuperat în totalitate sau măcar parțial după folosirea unei chei criptografice corecte. Această cheie de regulă se află în posesia părților autorizate făcând practic imposibil accesul la date al eventualelor părți neautorizate.

Dezideratul principal urmărit de watermarking este acela al obținerii unei imagini cât mai asemănătoare cu cea originală, unde watermarkul să fie pe cât posibil imperceptibil observatorului uman. Astfel se aplică o regulă din a cărei limite nu se iese dacă se dorește obținerea unui watermarking de o calitate superioară. Pixelii din imaginea gazdă care urmează a fi modificați, nu au voie să depășesacă cu mult media amplitudinii intensității lor luminoase.

Pentru a asigura robustețea watermarkingului chiar dacă cantitatea de modificări permisă este destul de mică, se folosește o distribuție redundantă a informației watermarkului peste mai multe zone de pixeli din imaginea gazdă. Acest lucru oferă mai bună protecție și asigură recuperarea watermarkului chiar și dintr-un fragment de imagine.

Watermarkingul este caracterizat și de folosirea mai multor chei criptografice care asigură securitatea împotriva manipulării și ștergerii watermarkului.

Sunt trei mari părți în alcătuirea unui algoritm destinat realizării unui watermarking digital:

Proiectarea unui semnal watermark (mască) care să fie adăugat în imaginea gazdă. Acesta depinde de cantitatea de informații utile care trebuie adăugată din motive de siguranță.

Proiectarea unei metode de inserție a watermarkului (algoritmul de codare) în imaginea originală, având ca rezultat informația mascată.

Proiectarea unei metode de extragere, care să recupereze watermarkul aplicat (algoritmul de decodare).

Primele două etape sunt deseori privite ca făcând parte din aceeași secvență de inserție a watermarkului (codarea). În figură este prezentat schematic algoritmul general de codare:

Figura 2.1 : Operațiunea de codare a watermarkului

Intrările care participă la codare sunt imaginea originală, watermarkul și o cheie de criptare folosită opțional pentru mărirea robusteții metodei de codare. În funcție de aplicație imaginea originală poate fi compresată sau nu. Rezultatul obținut în urma codării va fi imaginea marcată.

Procesul de decodare, de extragere al watermarkului dintr-o imagine test este prezentat grafic după cum urmează:

Figura 2.2 : Operațiunea de decodare a watermarkului

La decodare, pe lângă imaginea testată și cheia de criptare, se folosește imaginea originală și/sau watermarkul în funcție de metoda de codare. Unele scheme de codare utilizează imaginea originală în procesul de marcare pentru a îmbunătăți robustețea împotriva coruperii intenționate sau neintenționate a pixelilor. Watermarkul este de regulă detectabil și ușor de extras din imaginea marcată. Rezultatul decodării este diferit, depinzând de natura algoritmului de codare. Unele proceduri permit extragerea în formă exactă a watermarkului, în timp ce altele vizează doar detectarea acestuia în imaginea testată.

2.3 Aplicații

Watermarkingul are o gamă foarte largă de aplicații în diferite domenii și reprezintă o bună oportunitate de afaceri având un număr mare de potențiali clienți. Încă de la apariție acum 700 de ani în urmă, watermarkingul a adus o serie mare de îmbunătățiri legate de apărarea împotriva utilizării neautorizate a diverselor tipuri de informații.

Principalele domenii unde watermarkingul digital își găsește cele mai numeroase aplicații sunt cele legate de prezența imaginilor digitale.

Fingerprinting

Pentru a găsi sursa copiilor ilegale, autorul poate introduce diferite watermarkuri în copii, reprezentate de date referitoare la originea și la caracteristicile produsului care este furnizat la diverși clienți. Astfel autorul poate descoperi care dintre clienții săi a încălcat înțelegerea și a distribuit copii unor alte părți neautorizate. Această aplicție se găsește implementată și în echipamente de achiziție a datelor (camere video sau foto) permițând inserarea unor informații specifice echipamentului sau referitoare la modul de creeare a datelor.

Indexing

Watermarkingul oferă posibilitatea de a însemna imagini video prin inserarea unor comentarii. Se mai pot însemna filme, știri sau diverse informații video prin aplicarea unor mărci ce pot fi folosite ușor în motoarele de căutare de pe Internet.

Protecție pentru copyright

Pentru apărarea drepturilor proprietății de autor, se folosește watermarkingul pentru a acunde diverse informații despre autorul datelor prezentate. Această aplicație este cea mai larg întâlnită.

Monitorizarea radiodifuziunii

Pentru a ajuta identificarea automată a programelor de radiodifuziune, sigle originale sunt inserate în toate tipurile de transmisie în rețea a informațiilor. O altă aplicație constă în introducerea unor semnale informative care permit calcularea automată a numărului de ori de cât a fost difuzată o reclamă.

Protecția împotriva copierii

Informația marcată poate controla direct dispozitivele de copiere, permițând sau nu copierea. Inserarea unei chei de criptare prohibitive care nu permite refacerea datelor inițiale, are ca efect prevenirea copierii ilegale. Unele scanere și imprimante nu vor putea opera datorită prezenței watermakului care permite manipularea documentului dar nu și scanarea sau imprimarea acestuia.

Autentificarea datelor

Watermarkingul digital este folosit în comerțul electronic unde este nevoie de verificarea rapidă a autenticității datelor. În aceste aplicații sunt folosite metode de marcare care permit detectarea rapidă a datelor originale de cele corupte.

Ascunderea datelor

Transmiterea unor date private este una dintre cele mai vechi aplicații a watermarkingului. La fel cum informații despre originea datelor se pot insera destul de ușor, la fel și mesaje secrete pot apărea în cadrul watermarkului, accesibile doar celor care le este cunoscută cheia de decodare a watermarkului. Aceste aplicații se regăsesc în comunicațile secrete de date.

Aplicații de siguranță medicală

Prin inserarea datelor despre pacienți și a anumitor diagnosticuri în cadrul unor imagini medicale, se mărește confidențialitatea și securitatea informațiilor medicale.

2.4 Rezistența la atacuri

Rezistența împotriva diverselor tehnici de procesare a imaginii (atacuri) este una dintre caracteristicile principale ale watermarkingului. O rezistență absolută la toate atacurile posibile nu se poate realiza. Se deosebesc mai multe tipuri de atacuri care au ca rezultat distrugerea parțială sau totală a watermarkului:

Atacuri active

Sunt atacurile unde se urmărește în mod deliberat să se îndepărteze watermarkul sau să devină nedetectabil. Această este principala problemă a protecției pentru copyright.

Atacuri pasive

Aici nu se încearcă ștergerea watermarkului, ci doar stabilirea existenței acestuia.

Atacuri de falsificare

Acesete atacuri au ca scop creerea și inserarea unui nou watermark în locul celui original, dar care nu se poate înlătura. Atfel se modifică conținutul datelor și se ajunge ca imaginea coruptă să fie cea originală.

Atacuri prin comparație

Pentru a îndepărta watermarkul, se folsesc mai multe copii ale aceleiași informații conținând fiecare un watermark diferit. Prin compararea tuturor copiilor se va obține informația originală. Numărul mare de copii face ca acest tip de atac să fie foarte rar întâlnit.

2.5 Viitorul watermarkingului digital

Interesul pentru tehnologia de watermarking este ridicat atât pentru mediile științifice cât și pentru cel industriale. Numărul mare de publicații și conferințe legate de watermarking și ascunderea informațiilor reflectă atenția tot mai crescută acordată acestui domeniu de cercetare. Interesul industrial al acestor aplicații este demonstrat de apariția multor companii într-un domeniu de cercetare relativ nou.

Pe lângă activitățile de cercetare universitare și industriale există și unele proiecte internaționale finanțate de Uniunea Europeană care au ca scop dezvoltarea unor tehnici de watermarking practice și universale.

Un astfel de proiect este TALISMAN – ,,Tracing Autors’ rights by Labeling Image Services and Monitoring Access Network”. El urmărește se ofere Uniunii Europene furnizori de servicii cu un mecanism standard de copyright pentru apărare a produselor digitale împotriva piratării comerciale și a copierii ilegale. Rezultatul final al proiectului TALISMAN este un sistem de protecție a secvențelor video prin watermarking și labeling.

OCTALIS – ,,Offer of Content through Trusted Access Links” este o continuare a proiectului TALISMAN. Prin OCTALIS se dorește aducerea proiectului anterior la o scară generalizată și se vrea să se demonstreze validitatea sa la nivel global prin teste efectuate pe Internet și rețeaua EBU (Uniunea Europeană de Radiodifuziune).

În ciuda eforturilor generale de dezvoltare, watermarkingul a rămas o tehnologie destul de neexplorată și neânțeleasă. O exploatare optimă a tuturor aplicațiilor oferite de watermarking, ar avea ca efect o mai bună garantare a dreptului de autor asupra informațiilor de orice natură, lucru ce ar evita apariția unor câștiguri ilegale datorate folosirii neautorizate a informațiilor.

Necunoașterea acestei tehnologii reprezintă un mare dezavantaj pentru toți autorii de drept ai informațiilor. Totuși limitele watermarkingului trebuiesc bine definite pentru a nu se creea interpretări greșite. Crearea unui watermarking rezistent la orice fel de atac este practic imposibilă.

Când se realizează un watermarking se urmărește robustețea lui la eventualele atacuri și la rata de date conținută în acesta. Watermarkingul oferă o protecție imediată împotriva copierii și multiplicării datelor, dar el nu oferă o siguranță deplină fiind vulnerabil atacurilor din partea unor experți.

Watermarkingul face dovada originii și apartenenței unei informații prin prezența sa. Dar intenția și modul de atribuire nu poate fi garantat de nimeni, informațiile putând fi supuse unui proces de îndepartare a watermarkului originar urmat de adăugarea unui nou watermark care să autentifice informația originală sustrasă. Din această cauză watermarkingul nu este accepat ca probă în cadrul proceselor.

În cadrul aplicațiilor legate de protecția dreptului de autor, watermarkingul este combinat cu diverse mecanisme de criptare pentru o mai bună protecție.

În domeniile audio și video watermarkingul are o mare răspândire. În industria video se folosește watermarkingul pentru protejarea copiilor autorizate și pentru autentificarea tuturor imaginilor filmate și distribuite ulterior. În mod similar se va folosi și pentru protejarea distribuțieie audio pe Internet.

Mereu trebuiesc dezvoltate tehnici noi și performante și cu un randament ridicat împotriva oricărui fel de atac. La fel cum watermarkingul evoluează, la fel și atacurile piratehnice vor evolua. Succesul acestei metode de apărare a drepturilor proprietății intelectuale constă în conceperea continuă a unor noi tehnici de apărare care să depășească limitele impuse de vechea aplicație.

=== CAPITOLUL 3 ===

CAPITOLUL 3

Aplicarea watermarkingului invizibil

la imagini digitale

Protecția drepturilor de autor este una din pricipalele probleme care a apărut prin mărirea volumului de informații ce se distibuie pe format electronic. Watermarkingul digital vine să rezolve o mare parte din aceste probleme, dar o protecție totală împotriva folosirii ilegale a informațiilor de către părți neautorizate nu poate fi asigurată niciodată. Prin combinarea tehnicilor de criptare cu watermarkingul digital se asigură cea mai bună protecție a transferului de date în format electronic.

3.1 Introducere

Unul dintre cele mai întâlnite formate electronice sub care se găsesc informațiile în zilele noastre este imaginea digitală. Protejarea autorilor acestor imagini se realizează prin utilizarea watermarkingului digital. Watermarkingul pentru imagini este procesul de modificare a datelor din imagini astfel încât să se poată insera un cod care poartă informații despre originea și natura imaginilor. Inserția watermarkului în informația gazdă care urmează a fi marcată se face în domeniul frecvență sau în domeniul spațial.

În funcție de tipul modificărilor aduse caracteristicilor imaginii și chiar imaginii, se deosebesc două feluri de watermarking: watermarking vizibil și watermarking invizibil.

Watermarkingul vizibil aduce, după cum spune și numele, unele modificări sesizabile observatorului uman imaginii originale care s-a dorit a fi marcată. Această tehnică aduce posibilitatea unei revendicări rapide a dreptului de autor, dar principalul avantaj fiind de natură psihologică. Existența unui astfel de watermarking dezcurajează de regulă eventualele copieri ilegale a imaginilor.

Watermarkingul invizibil fiind detectabil doar cu ajutorul mecanismelor proprii de detecție, este foarte des folosit în descoperirea piratărilor informaționale. Modificările aduse conținutului nu trebuie să ducă la scăderea valorii comerciale a datelor prin modificarea calității imaginilor, dar rata de ascundere trebuie să fie destul de mare, adică cantitatea de informații utile inserate în cadrul imaginii trebuie să ducă la detectarea originii, caracteristicilor și destinația imaginilor originale. Watermarkingul invizibil poate fi de două feluri: public și privat.

Watermarkingul public este accesibil oricui cunoaște algoritmul de inserare. El a fost primul produs de acest fel care a ieșit pe piață. Siguranța oferită era una precară și consta din faptul că informațiile despre această tehnică nu erau destul de cunoscute.

În cazul watermarkingului privat se introduce o cheie secretă în procesul de marcare al imaginilor. Informațiile introduse în procesul de marcare nu pot fi obținute decât prin folosirea aceleiași chei secrete.

3.2 Descrierea procedurii de watermarking

Tema proiectului este elaborarea unei metode de marcare invizibilă a imaginilor digitale. Marcarea trebuie să respecte caracteristicile tehnice enunțate în capitolele anterioare.

Se urmărește aplicarea unui watermark imaginilor monocrome, cu mai multe nivele de gri. Fiecare pixel al acestei imagini este reprezentat prin luminanța sa. Marcarea se va face cu watermark privat în domeniul spațial. Această metodă analizează datele din punct de vedere spațial, ea împrăștiind informațiile ce urmează a fi introduse prin procedura de watermarking în caracteristicile imaginii gazdă, făcând ca acestea să fie greu de îndepărtat.

Sunt mai multe tehnici de inserare a watermarkingului și în acest caz se face apel la tehnica statică care constă în ascunderea informațiilor prin schimbarea unor proprietăți statice ale imaginii gazdă. Astfel imaginea gazdă se împarte în blocuri de pixeli și fiecare bloc este folosit pentru codarea unui bit din watermark. Dacă bitul de ascuns este 1 atunci se modifică aspectul blocului prin modificarea luminanței, iar dacă bitul este 0 pixelii ce formează blocul rămân neschimbați.

Watermarkul trebuie să reziste la toate formele de manipulare a imaginii gazdă, deoarece el este în general folosit la protejarea dreptului de autor și această marcare se doreste a avea un caracter permanent din momentul aplicării. Conținutul unui watermark depinde de imaginea în care este inserat. De obicei se introduc informații de autentificare standardizate.

Dimensiunile acestor date variază de la 64 la 160 de biți, dar se găsesc și într-un format mai mic, de 8 biți în aplicațiile pentru marcarea DVD. Prin recuperarea acestor date se realizează identificarea autorului și a scopului pentru care au fost create aceste marcări.

Protecția dreptului de autor asupra conținutului imaginilor în format electronic este dezbătută în cadrul acestei lucrări. Se propune o variată de inserare a watermarkului privat care are ca rezultat o imagine marcată de calitate apropiată față de calitatea imaginii originale.

Algoritmul de realizare a operației de marcare pentru a-și dovedi corectitudinea și calitatea, trebuie să respecte caracteristicile principale ale unui watermarking. Imperceptibilitatea față de observatorul uman uman este cea mai ușor de verificat prin simpla vizualiazare a imaginii marcate. Rezistența la diverse proceduri de procesare a imaginii și capacitatea obținerii watermarkului din imaginea marcată în prezența imaginii originale se va demonstra cu ajutorul programelor concepute în Matlab.

În proiectarea algoritmului destinat realizării procedurii de watermarking, s-au urmat pașii descriși în capitolul anterior. Pe baza acestui algoritm a fost creat în Matlab un program care are ca scop marcarea imaginilor digitale. Astfel a rezultat un algoritm pentru codare prezentat schematic după cum urmează:

Figura 3.1 : Operațiunea de codare a watermarkului

Operația de ascundere a watermarkului (codare) presupune realizarea a doi pași: amestecarea pixelilor imaginii folosite drept watermark și apoi inserarea watermarkului modificat în cadrul imaginii gazdă originale, imagine care este supusă procedurii de watermarking. Amestecarea pixelilor watermarkului este o măsură suplimentare de siguranță pentru a face cât mai dificilă stabilirea originii watermarkului.

La recuperarea watermarkului (decodare), se vor efectua aceleași operațiuni dar în ordine inversă. Algoritmul schematic al decodării este:

Figura 3.2 : Operațiunea de decodare a watermarkului

3.2.1 Operațiunea de codare a watermarkului

Operațiunea de codare a watermarkului este cea mai complicată procedură deoarece trebuie mereu să se țină cont de caracteristicile specifice ale watermarkingului invizibil care se aplică în acest caz.

Ea constă în inserarea watermarkului în imaginea gazdă, acest lucru având ca scop creșterea securității transferului datelor în format electronic. Algoritmul de codare implementat în programul Matlab nu ar trebui să aducă modificări importante imaginii originale, dar are și obligația asigurării unei rezistențe ridicate la atacurile electronice.

Pentru o mai bună protecție a procedurii de watermarking, a fost integrat în cadrul algoritmuluide codare și a unei intervenții suplimentare asupra imaginii watermarkului. Prin aceasta aspectul watermarkului este modificat pentru a nu fi perceput ca atare.

3.2.1.1 Operațiunea de amestecare a pixelilor

din watermark

Amestecarea pixelilor watermarkului sporește gradul de siguranță al procedurii de watermarking. Modificarea dispunerii pixelilor cu ajutorul unei chei secrete mărește caracterul de confidențialitate al autorului imaginilor, care se presupune ca fiind și persoana care aplică această marcare.

În eventualitatea nedorită a detecție existenței unor modificări legate de calitatea imaginii, lucru ce ar sugera prezența unui watermark, dacă se reusește extragerea acestuia rezultatul se va prezenta sub forma unei imagini neclare care poate fi interpretată ca un zgomot. Lipsa unui watermark va avea ca urmare folosirea imaginii fără nici o reținere în alte scopuri decât a fost ea creată. Prin acest fel prinderea în flagrant a acestor atacatori este înlesnită și numărul actelor de piratare poate fi redus.

Pirateria informațională este una dintre cele mai profitabile forme de activitate ilicită și se fac numeroase eforturi de stopare a dezvoltării acesteia prin implementarea multor principii inovative de mărire a gradului de siguranță al transferului de informații în format electronic. Și amestecarea pixelilor watermarkului face parte dintr-o astfel de metodă de îmbunătățire a algoritmului de watermarking care are ca efect mărirea gradului de rezistență precum și mărirea robusteții împotriva diferitelor tipuri de atacuri. Prin acest lucru este îndeplinită și unul din dezideratele principale a watermarkingului.

Amestecare pixelilor se produce prin permutarea aleatoare a pixelilor care intră în componența watermarkului. Astfel imaginea originală a watermarkului se va schimba, căpătând un aspect neclar.

Se folosește un watermark format dintr-o imagine binară, cu dimensiunea de 128×128 de biți de alb și negru, dimensiune conformă standardelor tehnice enunțate anterior (60 – 160 biți).

Figura 3.3 : Imaginea originală a watermarkului

Imaginea watermarkului în urma procedurii de amestecare a pixelilor își păstrează dimensiunile numai că dispunerea pixelilor se shimbă dând naștere unei noi imagini.

Din moment ce watermarkul este o imagine binară, pixelii ce o formează sunt reprezentați de biții de 0 și 1. Bitul 1 reprezintă culoarea de negru iar bitul 0 este echivalentul lui alb. Acești biți sunt în așa fel dispuși încât să rezulte o imagine formată din desene de alb și negru. Prin amestecarea pixelilor, adică prin schimbarea poziției lor originale se va schimba și aspectul imaginii.

Imaginea nou creată va prelua rolul watermarkului și aceasta va trebui să fie inserată in imaginea gazdă.

Figura 3.4 : Imaginea amestecată a pixelilor watermarkului

Procesul de amestecare a pixelilor se face prin permutarea acestora. Permutarea se face indicilor de poziție a biților ce formează imaginea watermarkului. Se generează un vector unidimensional al cărui componenete sunt pixelii watermarkului scriși în ordinea citirii acestora din imaginea originală, asemănătoare citirii literelor unui text. Se stabilește o valoare inițială a indicilor vectorului, care reprezintă în realitate cheia secretă folosită în cadrul procesului de amestecare. Această valoare este aleasă la întâmplare.

Valoarea poziției inițiale a indicilor vectorului se memorează, de ea depinzând succesul permutării indicilor de poziție a biților. La extragerea watermarkului din imaginea marcată se va obține o variantă modificată a acestuia. Pentru reconstituirea totală a watermarkului se va folosi valoarea inițială a indicilor vectorului unde a fost stocată imaginea clară a watermarkului.

Elementele vectorului sunt permutate și astfel se produce un nou vector, care va avea indici noi pentru elementele componente. Acești noi indicii sunt folosiți pentru generarea vectorului ce conține pixelii modificați ai watermarkului. După formarea noului vector, prin atribuirea elementelor din vechiul vector pe pozițiile corespunzătoare obținute în urma permutării, se reface imaginea watermarkului care va fi de forma celei din figura 3.4.

Algoritmul de amestecare a pixelilor prevede urmarea mai multor pași prezentați în continuare:

Se citește imaginea watermarkului din fișierul grafic specificat.

Se face conversia la tipul double pentru efectuarea calculelor.

Se stabilesc dimensiunile matricii de imagine.

Se numără fiecare pixel al imaginii începând cu 1 până la MxN, și se introduc într-un vector (vectwm) în ordinea citirii lor.

Se stabilește valoarea poziței inițiale a indicilor vectorului vectwm.

Se generează un nou set de indici cu ajutorul funcției randperm. Astfel se generează o secvență de numere alese la întâmplare de la 1 la MxN care vor deveni indicii pentru vectorul vectwmmod, vector ce va duce la obținerea imaginii amestecate a watermarkului.

Pentru orice element al vectorul vectwmmod, de la 1 la M, va fi construit după poziționarea elementelor vectorului vectwm dar folosind indicii vectorului vectnou.

Pentru orice element al vectorului watermarkului modificat, de la 1 la M, se generează imaginea watermarkului modificat.

Se afișează rezultatul obținut.

3.2.1.2 Operațiunea de inserare a watermarkului

După ce watermarkul a suferit procedura de amestecare a pixelilor, acesta poate fi inserat în imaginea gazdă. Folosirea tehnicii statice de inserare duce la ascunderea informațiilor watermerkului prin schimbarea unor proprietăți statice ale imaginii gazdă. Biții imaginii watermarkului sunt inserați individual în mod arbitrar în blocurile de pixeli ai imaginii gazdă.

În funcție de dimensiunile imaginii gazdă și în funcție de numărul de pixeli care compun watermarkul, imaginea gazdă este divizată în blocuri de pixeli de mărimea nxn și în fiecare dintre aceste blocuri un bit aparținând mărcii va fi ascuns. Dimensiunea imaginii gazdă trebuie să fie mai mare decât cea a watermarkului. Cum fiecare bit al imaginii watermarkului este ascuns într-un bloc diferit al imaginii gazdă, rezultă că imaginea gazdă conține un număr de blocuri egal cu biții watermarkului. Cel mai mic bloc de mărimi egale în care se poate ascunde fără mari modificări bitul din watermark este acela de 4×4. Astfel dimensiunea imaginii originale va fi de 4 ori mai mare decât watermarkul, și anume de 512×512 pixeli. Imaginea gazdă este o imagine cu mai multe nivele de gri cu valori variind între 0 și 255.

Procedura de watermarking va ține cont de contrastul fiecărui bloc în parte în care se vor insera biții din watermark. Acest contrast este dat de valoarea luminanței pixelilor, și modificările aduse blocurilor care formează imaginea marcată nu trebuie să fie sesizabile observatorului uman. Altfel spus contrastul imaginii marcate rezultat prin shimbarea valorii luminanței, nu trebuie să fie cu mult diferit față de contrastul imaginii gazdă.

După cum s-a arătat anterior watermarkul este format dintr-o inșiruire de biți de 1 și 0. Dacă se ascund într-un bloc biții de 1 sau 0, luminanța medie a blocului respectiv după ascundere se va shimba în comparație cu media luminanței al aceluiaș bloc din imaginea gazdă.

Un singur bit este ascuns într-un bloc de mărime 4×4 pixeli al imaginii gazdă. Avem 16384 (128×128) de biți de ascuns în tot atâtea blocuri de câte 4×4 pixeli. Locația fiecărui bloc în care va fi ascuns un bit se stabilește în urma permutării indicilor de poziție a acestuia, indr pentru rânduri și indc pentru coloane.

Toate blocurile din componența imaginii gazdă sunt caracterizate de indicii indr și indc, care stabilesc poziția lor în imagine.

Figura 3.5 : Indicii de poziție ai blocurilor

Blocul marcat reprezintă primul bloc din imaginea gazdă cu ambii indici de poziție egali cu 1. Pentru a se mări siguranța metodei de codare are loc permutarea indicilor indr și indc. Acest lucru se realizează prin scimbarea valorii inițiale a indicilor indr și indc, ei trecând din 1 în alte valori care pot fi alese la întâmplare. Noile valori ale indicilor de poziție sunt cheii secrete pe care doar autorul watermarkingului le cunoște. Aceste valori se memorează, ele trebuind a fi folosite în cadrul procedurii de decodare. Urmând procedura de permutare vor rezulta alte valori ale indr și indc care generează locația blocului de unde se va începe ascunderea bitului din watermark.

Figura 3.6 : Locația blocului unde se va ascunde bitul din watermark

Prin folosirea celor două chei secrete reprezentate de noile coordonate ale blocului din imaginea gazdă, se îndeplinește caracterul de confidențialitate pe care watermarkingul privat îl implică.

Valorile indicilor de poziție indrmod și indcmod, arată locația blocului de dimensiune 4×4 pixeli din imagiea gazdă, unde se va ascunde bitul din watermarkul amestecat.

Cu ajutorul celor doi indici putem stabili și indicii pixelilor din bloc: rmin, rmax, cmin și cmax.

Figura 3.7 : Indicii de poziție ai pixelilor din blocul gazdă

Watermarkingul va ține cont de contrastul fiecărui bloc în parte în care se vor insera biții din watermark. Acest contrast este dat de valoarea luminației pixelilor, care poate varia de la 0 la 255 sau mai poate fi cuprins și între -127 și +128 incluzândul și pe 0. În funcție de valoarea luminanței pixelilor din blocul respectiv ei se împart în două categorii, și anume pixeli a căror luminanță este sub luminanața medie sau pixeli a căror luminanță este peste luminanța medie.

Prin inserarea bitului de informație din watermarkul modificat, se va insera practic un bit de 1 sau un bit de 0. Inserarea acestui bit va modifica luminanța pixelilor din blocul respectiv. Dacă 1 este ascuns într-un bloc, luminanața blocului modificat va fi mai mare decât media luminanței aceluiași bloc situată sub sau peste luminanța medie. Acest lucru se întâmplă deoarece bitul de 1 mărește luminanța unui anumit pixel din blocul gazdă. Dacă 0 este ascuns, atunci luminanța va fi mai mică decât media luminanței aceluiași bloc situată sub sau peste luminanța medie.

Astfel la ascuderea biților de 1 sau 0 vom avea două cazuri pentru fiecare bit în parte.

Pentru ascunderea bitului de 1:

Dacă luminanța pixelilor din blocul modificat este mai mare decât media luminanței superioară luminanței medii, atunci luminanța pixelilor blocului modificat va fi luminanța maximă a blocului inițial.

Dacă luminanța pixelilor din blocul modificat este mai mare sau egală cu media luminanței inferioară luminanței medii, dar cu luminanța mai mică decât aceeași luminanță medie a blocului inițial, atunci pixelii blocului modificat vor primi prin aproximare o luminanță egală cu luminanța medie a blocului inițial.

Pentru ascunderea bitului de 0:

Dacă luminanța pixelilor din blocul modificat este mai mică decât media luminanței inferioară luminanței medii, atunci luminanța pixelilor blocului modificat va fi luminanța minimă a blocului inițial.

Dacă luminanța pixelilor din blocul modificat este mai mică decăt media luminanței superioară luminanaței medii, dar cu luminanța mai mare sau egală cu luminanța medie a blocului inițial, atunci pixelii blocului modificat vor primi prin aproximare o luminanță egală cu luminanța medie a blocului inițial.

După inserarea biților de 1 sau 0 se va reface imaginea din blocurile de dimensiune 4×4 pixeli care au fost modificate.

Algoritmul de codare cuprinde următorii pași:

Se citește imaginea watermarkului din fișierul grafic specificat.

Se face conversia la tipul double pentru efectuarea calculelor.

Se stabilesc dimensiunile matricii de imagine, O și P.

Se calculează valorile indicilor de poziție ai blocului indr și indc, care se determină prin permutarea indicilor după ce s-a schimbat poziția inițială a acestora.

Se determină noii indici de poziție ai blocului indrmod și indcmod.

Se calculează cu ajutorul indrmod și indcmod indicii pixelilor blocului din imaginea gazdă.

Se calculează luminanța medie a pixelilor din blocul gazdă.

Se calculează maximul și minimul luminanței pixelilor.

Se stabilesc indicii pixelilor care au luminanța sub sau peste luminanța medie.

Se calculează media pixelilor care au luminanța mai mică sau mai mare decât luminanța medie.

Pentru toate elementele de la 1 la lungimea vectorului blocului din imaginea gazdă, are loc ascunderea biților de 1 sau 0, ascundere prin care se generează elementele vectorului blocului modificat:

dacă se ascunde bitul 1, apar modificările enunțate anterior.

dacă se ascunde bitul 0, apar alte modificări prezentate și ele.

Se reface imaginea originală folosind blocurile modificate in urma ascunderii biților de 1 sau 0.

Se afișează rezultatul obținut.

Folosind cele două algoritme descrise anterior, cel pentru amestecarea pixelilor watermarkului și cel de codare a biților din watermarkul amestecat, s-a implementat în Matlab un program care are ca efect ascunderea unor informații confidențiale în cadrul unei imagini în nuanțe de gri. Rezultatul obținut nu diferă în mod vizibil de imaginea originală, astfel se poate spune că procedura de watermarking invizibil a fost realizată cu succes prin îndeplinirea cerinței principale a watermarkingului invizibil: gradul mic de vizibilitate a watermakului.

Figura 3.8 : Imaginea originală

Figura 3.9 : Imaginea după procedeul de watermarking

3.2.2 Operațiunea de decodare a watermarkului

Operațiunea de decodare reprezintă extragerea watermarkului din imaginea gazdă în care s-a codat watermarkul amestecat. Rezultatul decodării este o imagine a watermarkului modificată. Pentru obținerea unei imagini clare a watermarkului este nevoie de cheia de codare folosită în procedura de amestecare a pixelilor watermarkului. Fără această cheie nu se va putea vedea watermarkul original și nu se vor afla informațiile legate de originea imaginii gazdă.

În cadrul algoritmului de decodare se vor efectua operațiunile care au fost efectuate la codare, dar în ordine inversă. Algoritmul de decodare vizează scoaterea bitului ascuns în blocul din imaginea marcată. Blocurile de 4×4 pixeli sunt selectate folosind cheia din procedura de inserție a mărcii. Prin scoaterea bitului ascuns se înțelege aflarea valorii bitului respectiv, 1 sau 0. În urma procedurii de codare se modificau valorile luminanței blocurilor din imagine gazdă, astfel prin decodare acestea vor reveni la valorile inițiale. Decodarea implică aflarea sumei valorii luminanțelor pentru blocurile pixelilor din imaginea gazdă și cea marcată. Bitul se decodează prin compararea celor două valori rezultate. Dacă suma valorii luminanțelor din blocurile pixelilor aparținând imaginii marcate este mai mare decât suma valorii luminanțelor pentru blocurile imaginii gazdă, atunci bitul care a fost ascuns este 1. Dacă această sumă este mai mică sau egală, atunci bitul ascuns este 0.

Biții decodați sunt apoi introduși în imaginea watermarkului în ordinea inversă a permutării după valoarea cheii secrete știute doar de autorul procedurii de watermarking care poate fi și autorul imaginii gazdă.

Programul în Matlab care execută procedura de decodare este realizat după algoritmul următor:

Se încarcarcă datele obținute în urma codării.

Se face conversia la tipul double pentru efectuarea calculelor.

Se stabilesc dimensiunile imaginii originale și a watermarkului.

Se calculează valorile indicilor de poziție indr și indc ai blocului unde este ascuns bitul din watermarkul amestecat, valori care se determină prin permutarea indicilor după ce s-a schimbat poziția inițială a acestora.

Se determină noii indici de poziție ai blocului unde este ascuns bitul din watermarkul amestecat indrmod și indcmod.

Se calculează cu ajutorul indrmod și indcmod indicii pixelilor blocului unde este ascuns bitul din watermarkul amestecat.

Se calculează suma valorii luminanțelor pentru blocurile din imaginea originală și din cea marcată.

Dacă suma valorii luminanațelor pentru blocurile din imaginea marcată este mai mare sau egală decât suma valorii luminanațelor pentru blocurile din imaginea originală, atunci bitul ce a fost inserat este 1.

Dacă suma valorii luminanațelor pentru blocurile din imaginea marcată este mai mică decât suma valorii luminanațelor pentru blocurile din imaginea originală, atunci bitul ce a fost inserat este 0.

Se construiește vectorul watermarkului care a fost recuperat, dar care este amestecat.

Se stabilește poziția inițială a indicilor vectorului watermarkului recuperat, în funcție de valoarea cheii secrete folosite pentru amestecarea pixelilor watermarkului.

Pentru orice element al vectorului watermarkului amestecat care a fost recuperat, de la 1 la lungimea indicilor acestui vector, se generează vectorul watermarkului recuperat clar.

Pentru orice element al vectorului watermarkului recuperat, de la 1 la M, se construiește imaginea clară a watermarkului.

Se afișează rezultatul.

Figura 3.10 : Imaginea watermarkului recuperat

Rezultatul obținut în urma rulării programului de decodare este imaginea orignală a watermarkului, imagine din care se pot constata informațile legate de originea de proveniență.

=== CAPITOLUL 4 ===

CAPITOLUL 4

Tehnici de procesare a imaginilor

cu watermark

Obiectivul principal urmărit în realizarea unui watermarking este capacitatea sa de a rezista cât mai multor tipuri de atacuri. Verificarea gradului de rezistență a unei metode de watermarking se face prin diferite tehnici de procesare a imaginilor marcate. Aceste tehnici pot fi folosite în două scopuri, pentru verificarea rezistenței watermarkingului sau pentru distrugerea acestuia în vederea utilizării neautorizate a informațiilor care se doresc a fi protejate.

Imaginea marcată este supusă la diferite proceduri de dimensionare, decupare, rotire sau comprersie pentru a se asigura că watermarkul prezent în imaginea gazdă nu poate fi îndepărtat sau nu î-și pierde capacitatea de a furniza informații despre proveniența sa și a imaginii gazdă. Chiar dacă imaginea marcată a suferit diferite modificări, accidentale sau dorite, un watermark calitativ tot ar trebui să fie detectabil și chiar să poată fi extras din imaginea marcată.

Totuși, modificările aduse de aceste tehnici de procesare a imaginii pot fi destul de însemnate, mai ales dacă sunt folosite simultan.

Atacurile intenționate asupra unei imagini cu watermark pot fi prevenite prin verificări repetate a rezistenței watermarkului, efectuate de către persoana care a inserat acel watermark. Dacă imaginea se dovedește a fi capabilă să reziste mai multor procesări succesive, atunci se poate spune că ea este rezistentă atacurilor dorite sau chiar acccidentale.

Astfel se vor folosi mai multe tehnici de procesare asupra imaginii obținute după execuția programului de codare.

Imaginea gazdă este o imagine monocromă, cu mai multe niveluri de gri. Această imagine este o imagine obținută de la sateliții de observație ai Pământului, ea având un conținut scăzut de culoare. În ciuda acestui neajuns ea prezintă o importanță mult mai mare datorată cantității imense de informații ce sunt prezente în această imagine. O astfel de fotografie poate reda un întreg oraș, țară sau continent. Informațiile oferite de imagine au diferite aplicații în meteorologie pentru predicțiile meteo, în cadrul aplicațiilor militare dar și în cadrul cercetărilor arheologice, fotografia de la foarte mare înălțime putând reda diverse situri arheologice aflate încă sub pământ.

Proprietarii imaginii o supun pe aceasta la procedeul de watermarking prezentat anterior pentru a obține drepturile de autor a imaginii, după care imaginea este trimisă și altor părți interesate de ea. Astfel proprietarii imaginii care a fost marcată, vor putea demonstra foarte ușor originea imaginii în eventualitatea că alcineva decât persoane avizate ar intra în posesia ei.

Dacă se dorește stabilirea rezistenței watermarkului, imaginea marcată este supusă la o serie de tehnici de procesare a imaginii, care duc la obținerea unei noi imagini. Dacă diferența dintre imagimea marcată și imaginea procesată nu este sesizabilă, se poate spune că metoda de watermarking este una relativ sigură. O metodă absolut sigură nu s-a putut costrui.

Imaginea marcată este procesată cu ajutorul unor funcții standard din Matlab, funcții regăsite în Anexă.

Pentru a testa rezisetența watermarkingului, imaginea marcată este supune unei filtrări mediene cu o mască de 3×3.

Figura 4.1 : Filtrare mediană

Se observă modificări aduse imaginii marcate, dar modificări legate de claritatea imginii.

Imaginea marcată este supusă unei proceduri de dimensionare, de reducere a dimensiunilor, imaginea va ajunge doar la un sfert din dimensiunea originală. De la 512×512 pixeli ajunge la 256×256 pixeli.

Figura 4.2 : Dimensionare

Imaginea dimensionată păstreză claritatea imaginii marcate. Pe baza acestei imagini, se redimensionează din nou la dimensiunile ințiale de 512×512 pixeli.

Acum claritatea imaginii se degradează, însă conținutul imaginilor nu pierde mult în comparație cu imaginea orignală.

Figura 4.3 : Redimensionare

Imaginea marcată este comprimată. Acest lucru se întâmplă de multe ori în aplicațiile actuale, majoritatea formatelor imaginilor de pe Internet fiind comprimate. În cadrul procedurii de comprimare trebuie specificată și calitatea comprimării, care are valoarea cuprinsă între 0 și 100. O valoare mare reprezintă o calitate ridicată a compresiei dar și dimensiuni mai mari a datelor comprimate. Calitatea mică a compresiei duce în schimb la dimensiuni mai mici a datelor.

Figura 4.4 : Compresie JPEG folosind calitatea 100

La o calitate mare a compresie (100) dimensiunea imaginii este de 60kb.

Pentru o calitate mai scăzută (20) dimensiunea imagini este de 62kb.

Diferența dintre cele două imagini comprimate este nesesizabilă.

Figura 4.5 : Compresie JPEG folosind calitatea 20

Procedura de decupare a imaginilor este des folosită de către majoritatea utilizatorilor de computere pentru a avea acces doar la anumite părți a imaginilor. La fel se folosește decuparea și în cazul imaginilor marcate. Din acest motiv watermarkul trebui să fie răspândit pe o suprafată cât mai mare a imaginii gazdă.

Figura 4.6 : Decupare

Rotirea imaginii marcate constă practic în rotirea cu un număr de grade a imaginii marcate, afișându-se doar imagnea centrală a imaginii rezultate. Această imagine este de aceeași dimensiune ca imaginea gazdă.

Figura 4.7 : Rotire

Nu au apărut modificări ale clarității imaginii marcate.

Se face și corecția rotirii, și iar imaginea rezultată este aproape identică cu imaginea marcată din care lipsesc porțiunile pierdute în urma rotirii.

Figura 4.8 : Rotire corectată

După de s-au efectuat mai multe procesări a imaginii marcate, s-a observat că sigurele modificări mai importante ale clarității imaginii au apărut la redimensionare și la filtrarea mediană. Celelalte prelucrări au avut rezultate destul de asemănătoare cu imaginea marcată. Datorită acestui fapt se poate spune că metoda de watermarking aplicată este destul de sigură. Astfel este îndeplinită și o ultimă cerință a watermarkingului, existența unui grad de securitate ridicat.

Similar Posts