67
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1667 Sigurna digitalna knjižnica Ivan Sobota Zagreb, rujan 2007.

DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

DIPLOMSKI RAD br. 1667

Sigurna digitalna knjižnica

Ivan Sobota

Zagreb, rujan 2007.

Page 2: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

1

11.. UUvvoodd

Brzim razvojem umreženih računala i Interneta, stvaraju se novi poslovi: znanost, bankarski poslovi (elektronički novac), a socijalno-društvene se prilike mijenjaju. Dokumenti, koji su bili na papiru u arhivama, sad se nalaze u digitalnom obliku na računalima. Digitalna je tehnologija postala uveliko popularna i proširila se na sve vrste analognih podataka: audio, video, fotografije, itd. Pretvaranjem analognih podataka nastaju digitalni multimedijski dokumenti koji se sve više distribuiraju na Internetu. Za razliku od kopiranja analognih dokumenata, kopiranjem digitalnih ne narušava se kvaliteta. Kod novih tehnologija dolaze novi problemi i otvaraju se dosad nepostavljena pitanja: “Što je original, a što je kopija?“. Zatim se postavlja pitanje: “Tko je prvi i pravi vlasnik dokumenta?“.

Kriptiranjem je omogućena tajnost podataka prilikom distribucije javnim kanalom (npr. Internetom ili bilo kojom drugom računalnom mrežom). Kako zaštititi original koji je dekriptiran i informacije koje su lako čitljive?

U ovom diplomskom radu mogu se dobiti odgovori na ta pitanja. Također se opisuje jedan od načina zaštite informacija koje su javno dostupne putem Interneta. Detaljnije je prikazana tehnika označavanja digitalnim vodenim žigovima, najprije općenito, a zatim na slikama kao nosiocima informacija. Opisana je i usporedba te odabir algoritma za označavanje slika u svrhu zaštite sadržaja digitalne knjižnice (slika skeniranih stranica knjige). Na kraju je prikazana i praktična izvedba sigurne digitalne knjižnice.

Page 3: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

2

22.. TTeehhnniikkee sskkrriivvaannjjaa iinnffoorrmmaacciijjaa

Odgovor na pitanje iz uvodnog poglavlja daje tehnika označavanja digitalnim vodenim žigom (Digital Watermarking). Označavanje digitalnim vodenim žigom glavna je tehnika korištena za zaštitu sadržaja digitalne knjižnice u ovom diplomskom radu. Ideja zaštite podataka digitalnim vodenim žigom skrivanje je podataka (informacija) u originalnom dokumentu, bilo da je riječ o fotografiji ili nekom drugom multimedijskom dokumentu. Načini skrivanja informacija u dokumentu su različiti. Dijele se na: digitalne potpise (Digital Signature), pravo kopiranja imena (Copyright Label) i digitalne vodene žigove (Digital Watermark). Pohranjivanjem takve informacije u original, on postaje intelektualno vlasništvo osobe koja je unijela podatak.

Pojam “Digital Watermarking“ dolazi iz engleskog jezika i označava postupak umetanja digitalnog žiga u dokument s namjerom kasnijeg detektiranja ili vađenja žiga. Za razliku od klasičnih vodenih žigova koji su otisnuti na papiru (novčanice, čekovi, itd.) i vidljivi pod određenim uvjetima (ultraljubičasto svjetlo), digitalni vodeni žigovi se najčešće “vide“ uz pomoć algoritma (računalnog programa). Primjer novčanice osvijetljene ultraljubičastim svjetlom na kojoj se vidi vodeni žig, slika 2.1 i slika 2.2.

Slika 2.1 Vodeni žig na novčanici

Digitalni se vodeni žigovi koriste za različite svrhe označavanja digitalnih dokumenata, npr. “digitalni potpis“ (Copyright Protection), otisci prstiju, autentifikacija, kontrola kopiranja i tajna komunikacija.

Slika 2.2 Vodeni žig na novčanici 100$

Page 4: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

3

Digitalni vodeni žigovi mogu biti vidljivi (Visible Watermarks) i nevidljivi (Invisible Watermarks). Termini vidljiv i nevidljiv su univerzalni i nisu vezani samo za slike, nego i za ostale multimedijske dokumente, npr. zvuk i video.

Vidljivi su digitalni vodeni žigovi, kako im ime govori “vidljivi“, a osoba ih detektira bez posebnih pomagala. Može biti, na primjer, logo tvrtke vidljiv na dokumentu. Primjer vidljivog vodenog žiga vidi se na stranici knjige iz Vatikanske knjižnice1, slika 2.3.

Slika 2.3 Vidljiv vodeni žig na stranici knjige iz Vatikanske knjižnice

Nevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može detektirati, već mu je potrebno računalo i odgovarajući detektor žiga. Detektor je žiga ovisan o algoritmu ili shemi. Primjer je nevidljivog digitalnog vodenog žiga prikazan na slici 2.4.

Slika 2.4 Nevidljiv digitalni vodeni žig na fotografiji

1 Stranica knjige iz Vatikanske knjižnice dostupna je na Internetu.

Page 5: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

4

Ideja je za digitalni vodeni žig nastala iz steganografije, područja koje se bavi skrivanjem informacija neovisno o komunikacijskom mediju, a s ciljem da je tu skrivenu informaciju nemoguće detektirati i pročitati. Put od steganografije do digitalnih vodenih žigova je prikazan na slici 2.5.

Slika 2.5 Put nastanka digitalnih vodenih žigova

Iz grafikona je vidljivo da se tehnika steganografije dijeli na zaštitu od pronalaska i na zaštitu od uklanjanja informacija. Zaštita se od uklanjanja još dijeli na dvije tehnike. Prva je tehnika označavanje digitalnim vodenim žigom, a druga označavanje digitalnim otiskom prsta.

Područje je skrivanja informacije vrlo staro i razvijene su brojne metode. Jedna je od njih i tehnika označavanja digitalnim vodenim žigom (Digital Watermarking). Grupiranje tih tehnika prikazano je na slici 2.6. Na grafu je prikazana i podjela metode označavanja digitalnim vodenim žigom. Svaka od tih metoda ima različitu primjenu.

Iz grafikona je vidljivo da tehnika označavanja digitalnim vodenim žigom pripada skupini žigova za zaštitu prava kopiranja (Copyright Protection). Tehnika je za zaštitu prava kopiranja podijeljena na označavanje otpornog (Robust) prava kopiranja i označavanje lomljivim (Fragile) digitalnim vodenim žigom. Sama je tehnika označavanja digitalnim vodenim žigom podijeljena u tri skupine: označavanje nevidljivim, vidljivim i dvostrukim digitalnim vodenim žigom.

Različite primjene nekih od metoda navedene su u sljedećem primjeru. Lomljivi digitalni vodeni žigovi služe za autentifikaciju osobe, a nevidljivi digitalni vodeni žigovi imaju uporabu kod zaštite sadržaja dokumenata. Ova je metoda korištena za ostvarenje “Sigurne digitalne knjižnice“ jer štiti sadržaj od nepovlaštenog kopiranja.

Page 6: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

5

Slika 2.6 Tehnike skrivanja informacija

Uz sve nabrojane tehnike, tehnike digitalnih vodenih žigova možemo upotrebljavati za:

• digitalni potpis – vlasnik dokumenta označavanjem istog potvrđuje vlasništvo nad dokumentom

• otisak prstiju – kod kupnje multimedijskog dokumenta, žig kupca pomaže pri otkrivanju ilegalnih kopija

• autentifikacija – uporabom lomljivoga vodenog žiga osoba dokazuje da dokument nije mijenjan i da je on vlasnik dokumenta

• tajna komunikacija – odnosi se na vrstu steganografije, unutar jednog dokumenta (signala) unese se druga informacija (žig); uporaba kod špijunaže

Osnovni je postupak skrivanja informacije prikazan na slici 2.7. Na ulaz kodera dolazi signal nosilac i tajna informacija. Ključem se vrši umetanje tajne informacije u nosioca. Tako se dobiveni podatak prenosi na odredište gdje se obrnutim postupkom uz pomoć originalnog nosioca i ključa detektira te se izvadi tajna informacija.

Page 7: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

6

Slika 2.7 Postupak skrivanja tajne informacije

Postupci se kriptografije, digitalnog potpisa, steganografije i digitalnih vodenih žigova temelje na sličnim principima, no postoji velika razlika među njima. Većina korisnika računala (Interneta) ne razlikuje te tehnologije, i smatra ih jednakima. Razliku je među tim tehnologijama za zaštitu dokumenata najbolje prikazati grafički jer slika zamjenjuje tisuću riječi.

Na slici 2.8 prikazana je razlika tehnika kriptografije i steganografije, a postupak će označavanja digitalnim vodenim žigom biti obrađen u sljedećem poglavlju.

Osnovna je razlika kriptografije i steganografije sama uporaba, iako je tajnost informacija osnova u jednoj i u drugoj tehnici. Steganografija šalje javnim kanalom sliku i običan korisnik ne zna da je u njoj skrivena informacija te ne obraća pozornost na špijunažu, a kod kriptografije je svrha zaštititi dokument (informaciju) koji se kreće javnim kanalom (tako da od originala napravi nečitljiv dokument).

Page 8: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

7

Slika 2.8 Razlika između steganografije i kriptografije

Uz kriptografiju javlja se i digitalni potpis koji nije jednak “digitalnom potpisu“ pomoću digitalnih žigova. Digitalni je potpis kod kriptografije temeljen na kriptiranju sažetka (Hash) dokumenta pomoću tajnog ključa u svrhu autentifikacije i integriteta podataka.

Page 9: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

8

33.. DDiiggiittaallnnii vvooddeennii žžiiggoovvii

Digitalni su vodeni žigovi novo područje u računalnoj znanosti, kriptografiji, digitalnoj obradi signala i komunikacijama. Svrha je postojanja tog novog područja omogućiti zaštitu multimedijskih dokumenata u smislu autorskog prava, zaštite kopiranja (Copyright Protection), itd., koju već postojeće tehnologije ne rješavaju. Postupak se označavanja digitalnim vodenim žigom (Digital Watermarking) temelji na umetanju vodenog žiga (Watermark) u originalni dokument zbog njegove zaštite. Dokument koji se označuje može biti bilo koje vrste: multimedijski dokument, video, slika, zvuk, tekst, itd., dok žig može sadržavati bilo koju informaciju, identifikaciju kupca, prodavača ili nešto drugo.

Algoritam ili shema koja opisuje postupak označavanja dokumenata digitalnim žigom sastoji se od tri dijela:

• vodeni žig

• koder – algoritam rabljen za umetanje žiga

• dekoder i komparator – algoritam koji služi za vađenje žiga i verifikaciju

Svaki korisnik ima samo jedan žig koji ga na jedinstven način identificira. Žig se može umetati u bilo koji dokument pomoću algoritma kodiranja dok se algoritmom dekodiranja vadi žig iz označenog dokumenta i jednoznačno se određuje vlasnik i integritet dokumenta.

Ovaj je diplomski rad baziran samo na jednom uskom segmentu označavanja multimedijskih dokumenata (digitalnih slika) koji obuhvaća “digitalne potpise“ i otiske prstiju. Označavanje je ispitano na tri vrste slika: čista fotografija, fotografija + tekst i čisti tekst zbog upotrebe žigova na digitalnim knjigama. Termin “digitalna knjiga“ u ovom kontekstu ima značenje skenirane tiskane knjige ili bilo kojeg ispisanog dokumenta metodom stranica po stranica.

3.1 Umetanje digitalnog vodenog žiga

Ovdje se na jednostavan način opisuje postupak kodiranja uzimajući za dokument sliku.

Ako originalnu sliku označimo kao I, “digitalni potpis“ kao S = s1, s2, ..., sliku označenu vodenim žigom s Î i algoritma kodiranja s E matematički možemo opisati postupak kodiranja:

ISIE ˆ),( = (3.1)

Page 10: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

9

Važno je napomenuti da “digitalni potpis“ S ovisi o ulaznom dokumentu, tj. o slici. Ovaj koder može se prikazati i grafički kao na slici. Ulazni podaci za koder su dokument (slika) i digitalni vodeni žig, a kao izlaz dobivamo novu označenu sliku (Watermarked Image). Opisani postupak prikazan je na slici 3.1.

Slika 3.1 Postupak umetanja digitalnog vodenog žiga

3.2 Detekcija digitalnog vodenog žiga

Postupak dekodiranja za razliku od kodiranja ima dvije faze. Prva je samo dekodiranje, tj. vađenje žiga, a druga je verifikacija tj. uspoređivanje žiga s postojećim radi utvrđivanja identiteta korisnika.

Dekoder označimo slovom D, ulaznu sliku s J, gdje J može biti označena, neoznačena ili namjerno promijenjena označena slika kako bi se teže detektirao žig, a detektirani žig označimo s Ŝ. Neki algoritmi detektiranja vodenoga žiga trebaju originalnu sliku, a kod nekih nije potrebna. Postupak se matematički može opisati na sljedeći način:

SIJD ˆ),( = (3.2)

Nakon dekodiranja izvađeni žig Ŝ se uspoređuje u komparatoru Cδ s originalnim žigom i određuje se sličnost. Nakon određenog praga sličnosti (korelacije) δ izlaz iz dekodera je 1 ili 0 što označava podudaranje žigova (1) ili nepodudaranje (0). Matematička formulacija je sljedeća:

{ }ostalocSSC ,0;,1),ˆ( δδ ≤= (3.3)

C je korelator dok je c vrijednost korelacije za dva žiga koja se uspoređuju, a x definira izlaz iz dekodera.

Page 11: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

10

),ˆ( SSCx δ= (3.4)

Ovakva se formulacija može prikazati i grafički, što olakšava razumijevanje. Grafički prikaz nalazi se na slikama 3.2 i 3.3.

Slika 3.2 Postupak detekcije digitalnog vodenog žiga

Slika 3.3 Uspoređivanje digitalnih vodenih žigova

Matematički definirano algoritam je digitalnih vodenih žigova (Watermarking Scheme) uređena trojka (E, D, Cδ). Glavno je svojstvo algoritma za označavanje da umetnuti žig mora biti sigurno detektiran i izvađen. Ovisno o svojstvima žiga, algoritama i njihove primjene, postoje sheme za označavanje digitalnim vodenim žigom koje omogućuju samo detekciju ili omogućuju detekciju i vađenje žiga. Stoga algoritmi imaju nazive: algoritam za vađenje žiga (Watermark Extraction) i algoritam za detekciju žiga (Watermark Detection).

3.3 Podjela digitalnih vodenih žigova

Digitalni vodeni žigovi i tehnike označavanja digitalnim vodenim žigovima podijeljeni su na različite načine. Žigovi se mogu unositi u prostornoj domeni (Spatial Domain) ili u nekoj od frekvencijskih domena (Frequency Domain). Frekvencijska

Page 12: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

11

domena umetanja žiga ima prednosti pred prostornom jer je robusnija, tj. otpornija na napade. Promjenom jednog parametra u frekvencijskoj domeni, mijenja se sadržaj cijelog dokumenta. Kod prostorne domene promjena se očituje u samo jednom segmentu. Ako se taj segment „izreže“, kod prostorne domene žig je uništen, a kod frekvencijske žig je postojan i detektira se iz ostalog dijela dokumenta. Ostale podjele vodenih žigova prikazane su na slici 3.4.

Slika 3.4 Podjela digitalnih vodenih žigova

Tehnike se vodenih žigova mogu podijeliti prema tipovima dokumenata u četiri skupine:

• označavanje slike

• označavanje videa

• označavanje zvuka

• označavanje teksta

Page 13: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

12

Iz same podjele može se zaključiti namjena pojedine vrste vodenih žigova.

Podjela digitalnih vodenih žigova prema “vizualnoj“ percepciji također sadrži četiri skupine:

• vidljiv digitalni vodeni žig

• nevidljiv-otporan digitalni vodeni žig

• nevidljiv-lomljiv digitalni vodeni žig

• dvostruki digitalni vodeni žig

Samo ime digitalnog vodenog žiga ne daje jasnu sliku primjene i svojstava vodenog žiga. Kod vidljivog vodenog žiga (Visible Watermark) na originalnom je dokumentu vidljiv žig u obliku loga kao na slici 4.2. Nevidljiv-otporan vodeni je žig (Invisible-Robust Watermark) vizualno nevidljiv, ali ga detektira dekoder. Otporan je na napade, npr. jpeg kompresija ne može uništiti žig. Kod nevidljivog-lomljivog žiga (Invisible-Fragile Watermark), žig je također nevidljiv, ali se može detektirati, a nije otporan ni na jednu vrstu napada, tj. ne prolazi jpeg kompresiju. Dvostruki je vodeni žig (Dual Watermark) kombinacija vidljivog i nevidljivog vodenog žiga kako je prikazano na slici 3.5.

Slika 3.5 Postupak označavanja dvostrukim digitalnim vodenim žigom

Tajne sheme vodenih žigova (Private Watermarking Scheme) trebaju kod detekcije žiga originalnu sliku, a javne je sheme žigova (Public Watermarking Scheme) ne zahtijevaju. Od ostalih podjela slijede: inverzne (Invertible Watermarking Scheme), “ne-inverzne“ (Non-invertible Watermarking Scheme), “pola-inverzne“ (Quasi-invertible Watermarking Scheme) i “ne-pola-inverzne“ sheme (Nonquasi-invertible Watermarking Scheme).

Svojstvo sheme inverznoga vodenog žiga temeljeno je na matematičkoj notaciji i glasi:

Page 14: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

13

),()ˆ(1 SIIE ′′=− (3.5)

)ˆ(),( ISIE =′′ (3.6)

1)),ˆ(( =′SIDCδ (3.7)

Ako prethodna svojstva ne vrijede, shema je “ne-inverzna“.

Svojstvo “pola-inverzne“ sheme također je definirano matematičkom notacijom i glasi:

),()ˆ(1 SIIE ′′=− (3.8)

1)),ˆ(( =′SIDCδ (3.9)

Za shemu (algoritam) koja ne ispunjava prethodno svojstvo je “ne-pola-inverzna“.

Digitalni vodeni žigovi na temelju primjene imaju dvije vrste:

• izvorišno bazirane

• odredišno bazirane

Izvorišno bazirane (Source Based) temelje se na principu autorskog prava (Ownership), autentikacije, tj. žig se unosi u original i pri svakoj se distribuciji u originalu nalazi identifikacija vlasnika (intelektualno vlasništvo). Za odredišno bazirane sheme (Destination Based) žig se unosi kod svake kopije originala. Time se postiže da svaki vlasnik (kupac) ima jedinstveni “vlastiti original“. Takva se kopija može pratiti i određenim sankcijama teretiti pravog vlasnika ako ju nelegalno kopira. Tim se načinom rješava problem prava kopiranja (© copyright).

3.4 Primjena digitalnih vodenih žigova

♦ Vidljivi digitalni vodeni žigovi

• koriste se za naprednu zaštitu od kopiranja, npr. slika koja je na Internetu i na njoj se nalazi vidljiv znak; time se slika može koristiti u komercijalne svrhe, bez naplate

• uporaba za zaštitu autorskog prava, npr. fakultet izdaje knjige na kojima se nalazi njegov logo; knjige se slobodno koriste za osobne potrebe, a ne mogu se iskoristiti u komercijalne svrhe

Page 15: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

14

♦ Nevidljivi otporni digitalni vodeni žigovi

• za detektiranje nelegalnih dokumenata, npr. prodavač koji ima licencu proda sliku osobi koja je javno postavi na Internet; osoba je time zakinula prodavača za prihod

• za evidentiranje autorskog prava, npr. prodavač uvidi da je neka slika nastala mijenjanjem njegova originala; on provjeri je li na toj slici njegov žig, tj. je li on vlasnik modificiranog originala

♦ Nevidljivi lomljivi digitalni vodeni žigovi

• nevidljivi žig za pouzdane (sigurne) kamere, npr. kod snimanja trgovine žig se unosi u kameri u trenutku snimanja; pregledavanjem snimke može se utvrditi je li snimka promijenjena, tj. mijenjana scena koja može koristiti kao dokaz

• nevidljiv žig za detekciju promjene slike u digitalnoj knjižnici, npr. prilikom snimanja u bazu podataka ljudskih otisaka prstiju, na sliku se stavlja žig; svaka promjena otiska može se detektirati jer je žig uništen i otisak nije valjan

3.5 Napadi na digitalne vodene žigove

Svrha je napada na vodene žigove uništavanje vodenog žiga s ciljem ukidanja zabrane kopiranja, brisanja vlasnika dokumenta i ostalih nelegalnih radnji. Druga je svrha da neki žigovi moraju biti otporni na osnovne operacije, npr. pojačavanje kontrasta, svjetline, kompresije videa, slike, ...

Sheme vodenih žigova ispituju se kako je prikazano na slici 3.6.

Vrste napada na digitalne vodene žigove su:

♦ kompresija

♦ geometrijska izobličenja

♦ operacije za digitalnu obradu signala

♦ ostala namjerna krivotvorenja

Napad kompresijom podrazumijeva napad kompresijom s gubicima za pojedinu vrstu dokumenta. Koriste se kompresije namijenjene za slike (JPEG), video (MPEG), itd. Kod zvuka mogu se koristiti napadi mp3 kompresijom, itd. Napad geometrijskim izobličenjima odnosi se na sve moguće geometrijske funkcije: rotacija, translacija, odsijecanje, …

Detaljnija podjela napada vidljiva je na slici 3.6.

Page 16: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

15

Slika 3.6 Ispitivanje otpornosti shema na napade

Page 17: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

16

44.. OOzznnaaččaavvaannjjee sslliikkaa ddiiggiittaallnniimm vvooddeenniimm žžiiggoovviimmaa

Označavanje je slika digitalnim vodenim žigovima (Image Watermarking) vrlo uznapredovala tehnologija koja se odnosi na slike. Slikovni materijali, tj. vizualni multimedijski dokumenti, osnova su našeg komuniciranja pa je ova vrsta tehnologije uzela veliki zamah. Kako je tema diplomskog rada vezana za sigurnu digitalnu knjižnicu, tj. digitalne knjige, ovom segmentu vodenih žigova posvećeno je najviše prostora.

Ovo područje ima mnoštvo tehnika za umetanje žigova u slike, vidljivih i nevidljivih, ovisno o primjeni. Baza je diplomskog rada digitalna knjiga pa su od velike važnosti nevidljivi vodeni žigovi (Invisible Watermarks). Vidljivi žigovi zbog svog vizualnog svojstva mogu prekriti već postojeći sadržaj i time narušiti jasnoću teme obrađene u knjizi.

Princip označavanja vidljivim vodenim žigovima prikazan je na slici 4.1.

Slika 4.1 Postupak ubacivanja vidljivog digitalnog vodenog žiga

Umetanje se žiga vrši u odabranoj domeni, originalna se slika i žig najprije pretvore u odgovarajući sustav boja, nakon toga se prebacuje u odgovarajuću domenu, koeficijenti se skaliraju i potom zbrajaju. Takve se dobivene vrijednosti vraćaju u prostornu domenu i nakon transformacije sustava boja dobije se označena slika vidljivim žigom. Matematički model za opisani postupak ubacivanja žiga je sljedeći:

Page 18: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

17

ijijij WXX βα +=′ (4.1)

Detekcija takvog žiga računalno nije potrebna jer se žig vizualno percipira kako je vidljivo na slici 4.2.

Slika 4.2 Vidljivi digitalni vodeni žig

Za razliku od vidljivog, nevidljivi vodeni žig zahtijeva algoritamsku detekciju jer vizualno nije moguće razlikovati original i označenu sliku. Primjer na slici 4.3.

Slika 4.3 Nevidljivi digitalni vodeni žig

Page 19: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

18

Princip je označavanja sličan shemi vidljivoga žiga, ali ima neke bitne razlike. Žig koji se umeće na original nije slika, nego slučajni brojevi generirani po odabranom ključu. Ti brojevi služe za promjenu koeficijenata domene transformacije, ali tako da se ne naruši vizualna percepcija slike, a promjena postoji i može se algoritamski detektirati.

Osnovni principi ubacivanja i detektiranja nevidljivog žiga grafički su prikazani na slikama 4.4 i 4.5.

Slika 4.4 Postupak ubacivanja nevidljivog digitalnog vodenog žiga

Kod umetanja žiga originalna se slika najprije transformira u željenu domenu, a zatim se uz pomoć žiga (slučajni brojevi s normalnom razdiobom) promijene koeficijenti domene. Nakon modifikacije izvrši se inverzna transformacija i dobije se označena slika nevidljivim vodenim žigom.

Ovisno o faktoru promjene (u literaturi se naziva alpha faktor), kvaliteta se slike može manje ili više narušiti jer se mijenjaju parametri slike. Detekcija nije tako trivijalna jer vizualno žig nije moguće sigurno detektirati. Za to je potreban odgovarajući algoritam, namijenjen detektiranju žiga umetnutog po unaprijed poznatoj shemi.

Detekcija ima inverzni pristup umetanju žiga. Originalna se slika (ovisno o algoritmu) i označena slika prebace u domenu umetanja žiga, a zatim se izračuna razlika koeficijenata domene i odredi se žig. Nakon toga dolazi proces uspoređivanja izvađenog žiga i žigova iz baze. Ako je korelacija dvaju žigova veća od definiranog praga (praksa ≥ 50%), žigovi su slični i može se zaključiti da je odgovarajuća osoba označila sliku. Ako nema sličnosti, žig ne pripada dotičnoj osobi ili nije unesen u sliku. Razlika koja postoji u “jednakim“ slikama može biti uzrokovana napadom na žig ili običnom transformacijom slike, npr. jpeg kompresija.

Domene koje se koriste za unošenje žigova mogu biti raznovrsne, ali najkorištenije su:

• prostorna domena (Spatial Domain)

Page 20: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

19

• DFT domena (Diskretna Fourierova Transformacija)

• DCT domena (Diskretna (C)Kosinusna Transformacija)

• DWT domena (Diskretna (W)Valna Transformacija)

Slika 4.5 Postupak vađenja i detekcije nevidljivog digitalnog vodenog žiga

Većina algoritama za “Invisible-robust watermarking“ koriste DCT i “Wavelet“ domene jer su otporne na jpeg kompresiju. DCT domena otporna je na normalnu jpeg kompresiju jer su algoritmi prilagođeni tom standardu. Za veće kompresije žigovi u tim domenama ne prežive. Zbog toga se sve više upotrebljava “Wavelet“ domena koja omogućuje preživljavanje žigova na visokim kompresijama, npr. jpeg (5%). Kako su za digitalne knjige potrebna gore navedena svojstva, ispitivanje će obuhvaćati tu vrstu algoritama.

Page 21: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

20

55.. SSiigguurrnnaa ddiiggiittaallnnaa kknnjjiižžnniiccaa

Na samom početku postavljeno je pitanje kako riješiti problem nezaštićenih originalnih dokumenata od neovlaštenog kopiranja. Današnje moderne tehnologije poput kriptografije, iako su vrlo zastupljene u zaštiti dokumenata, ne mogu riješiti problem zaštite od neovlaštenog kopiranja. Za rješavanje problema potrebne su nove metode.

Tehnike označavanja digitalnim vodenim žigovima opisane u prethodnom poglavlju pokazale su snagu u borbi s navedenim problemom. To je nova tehnologija i potrebno je dosta vremena i truda za njeno usavršavanje. Tako je ovaj diplomski rad “Sigurna digitalna knjižnica“ usmjeren na istraživanje i usavršavanje tehnologije te izradu sustava za zaštitu sadržaja dokumenata (digitalnih knjiga) od nepovlaštenog kopiranja.

Istraživanje i usavršavanje je usmjereno na usko područje zaštite dokumenata, zaštite digitalnih knjiga. Označavanje je digitalnim vodenim žigom tehnologija koja se primjenjuje za sve dokumente neovisno o tipu. Tako je za zaštitu digitalnih knjiga potrebna tehnika za zaštitu digitalnih slika (Digital Image). Cilj je istraživanja odabir pogodnog algoritma za označavanje digitalnih slika (skeniranih stranica knjige). Zaštita digitalnih slika po svom karakteru mora biti neprimjetna (nevidljiva), a što je moguće efikasnija, tj. brza i otporna na napade. Navedene uvjete omogućava tehnika označavanja nevidljivim otpornim digitalnim vodenim žigom. Istraživanje i opis algoritama za označavanje digitalnih slika opisano je u poglavljima 4 i 5.1.

Za dovršetak diplomskog rada “Sigurna digitalna knjižnica“ potrebno je prilagoditi odabrani algoritam za označavanje slika digitalnim vodenim žigom i izraditi sustav za zaštitu digitalnih knjiga od nepovlaštenog kopiranja. Kako je tema vezana uz knjižnicu, potrebno je izraditi centralizirani sustav iz kojeg korisnici knjižnice mogu posuđivati (skidati) knjige. Zaštita od nepovlaštenog kopiranja bit će ostvarena kod skidanja (dohvata) knjiga. Knjižnica je sustav s raznim uslugama te je za izradu sigurne digitalne knjižnice potrebno uz posuđivanje knjiga ostvariti i druge usluge koje zaokružuju cijeli sustav u jednu smislenu i funkcionalnu cjelinu. Ostvareni sustav sigurne digitalne knjižnice u cijelosti mora zamjenjivati knjižnicu.

Cijeli je sustav sigurne digitalne knjižnice složen. Uz navedenu se zaštitu od nepovlaštenog kopiranja treba ostvariti i drugi mehanizam zaštite. On štiti cijeli sustav od raznih napadača: neovlaštenog upada u sustav, sigurnog transfera posuđene knjige, prepoznavanje člana knjižnice, …

Implementacija sustava sigurne digitalne knjižnice opisana je u 6. poglavlju. Iz implementacije sustava vidjet će se koliko je složen mehanizam koji je potreban za zaštitu sadržaja multimedijskih dokumenata, ne isključivo digitalnih knjiga.

Page 22: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

21

5.1 Odabir algoritma za umetanje digitalnog vodenog žiga

Kako je već navedeno, ispitivanje će obuhvaćati usku grupu algoritama za označavanje slika s digitalnim vodenim žigovima i to podskupinu nevidljivih-otpornih vodenih žigova. Prije početka ispitivanja s Interneta su preuzeti odgovarajući programi i određene slike na kojima će se vršiti ispitivanje. Slike su reprezentativni primjerci digitalnih knjiga tj. slike, tekst, grafikoni, ... Odabrane su četiri slike. Na jednoj slici je fotografija (Lena), dvije su slike skenirane stranice promotivne knjižice, dok je četvrta slika skenirani tekst sa zadacima. Prikaz slijedi na slikama 5.1, 5.2, 5.3 i 5.4.

Slika 5.1 Skenirana fotografija „Lena“

Slika 5.2 Skenirana 1. stranica knjige „slika i tekst 1“

Page 23: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

22

Slika 5.3 Skenirana 2. stranica knjige „slika i tekst 2“

Slika 5.4 Skenirana čista stranica s tekstom

Od algoritama odabrani su slobodni programi s licencom “I-don't-care“ profesora dr. Peter Meerwald [14]. Ispitano je deset algoritama, od kojih je jedan u prostornoj domeni, a ostali u DCT i “Wavelet“ domeni umetanja žiga.

Popis deset ispitanih algoritama [14], tablica 5.1.

Page 24: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

23

Algoritam Dokument s opisom algoritma

Bruyndonckx O. Bruyndonckx, Jean – Jacques Quisuater, and Benoit M. Macq. Spatial method for copyright labeling of digital images. In IEEE Workshop on Nonlinear Signal and Image Processing '95, Thessa – loniki, Greece, pages 456 – 459, 1995.

Corvi Marco Corvi and Gianluca Nicchioti. Wavelet – based wa – termarking for copyright protection. In Scandinavian Conference on Image Analysis SCIA '97, Lappeenranta, Finland, June 1997.

Cox Ingermar J. Cox, Joe Kilian, Tom Leighton, and Talal G. Shamoon. Secure spread spectrum watermarking for multimedia. In Proceedings of the IEEE ICIP '97, volume 6, pages 1673 – 1687, Santa Barbara, California, USA, 1997.

Dugad Rakesh Dugad, Krishna Ratakonda, and Narenda Ahuja. A new wavelet – based scheme for watermarking images. In Proceedings of the IEEE International Conference on Image Processing, ICIP '98, Chicago, IL, USA, October 1998.

Kim Jong Ryul Kim and Young Shik Moon. A robust wavelet – based digital watermarking using level – adaptive thresholding. In Proceedings of the 6th IEEE International Conference on Image Processing ICIP '99, page 202, Kobe, Japan, October 1999.

Koch Eckhard Koch and Jian Zhao. Towards robust and hidden image copyright labeling. In Proceedings of the IEEE International Workshop on Nonlinear Signal and Image Processing, page 452 – 455, Halkidiki, Marmaras, Greece, June 1995.

Wang Houng – Jyh Wang, Po – Chyi Su, C. – C. Jay Kuo. Wavelet – based digital image watermarking. Optics Express, volume 3, pp. 497, December 1998.

Xia Xiang – Gen Xia, Charles G. Boncelet, and Gonzalo R. Arce. Wavelet transform based watermarking for digital images. Optics Express, volume 3, pp. 497, December 1998.

Xie Liehua Xie and Gonzalo R. Arce. Joint wavelet compression and authentication watermarking. In Proceedings of the IEEE International Conference on Image Processing, ICIP '98, Chicago, IL, USA, 1998.

Zhu Wenwu Zhu, Zixiang Xiong, and Ya – Qin Zhang. Multiresolution watermarking for images and video: a unified approach. In Proceedings of the IEEE International Conference on Image Processing, ICIP '98, Chicago, IL, USA, October 1998.

Tablica 5.1 Popis deset ispitanih algoritama

Page 25: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

24

Programi, koji služe za ispitivanje, rabe slike u NetPBM formatu [13], koji je nekompresijski, pa ispitivanje ima smisla. Uz to programi rade samo sa sivim (Gray-scale) slikama, stoga je potrebno slike u boji promijeniti u sive. NetPBM format za sive slike ima ekstenziju PGM (Portable Graymap). Prije samog ispitivanja bilo je potrebno sliku prebaciti u PGM format posebnim programima koji se nalaze u NetPBM bazi. Za ispitivanje bila su potrebna dva programa iz baze: bmptopnm.exe i jpegtopnm.exe. Sintaksa uporabe programa opisana je u priručniku koji dolazi s NetPBM bazom. S obzirom da su ispitani programi slobodni za uporabu, imaju i velikih mana. Ispitivanje je moguće samo sa slikama 512 × 512 piksela, a to je zahtijevalo prilagođavanje skeniranih stranica. Ako je rabljena slika veće rezolucije od 512 × 512 piksela, posljedica je bila rušenje programa bez ikakvih upozorenja. Navedena ograničenja onemogućila su ispitivanje naprednih napada (npr. skaliranje, rotacija, isijecanje, ...). Tako su rezultati ispitivanja svih algoritama dobiveni ovisno o vizualnoj kvaliteti označenih slika, korelaciji žigova, stabilnosti algoritama ovisno o različitim žigovima i jpeg kompresiji (85%, 35%, 15% i 5%).

Ispitivanje je odvijano metodom slika po slika (lena.pgm, sit1.pgm, sit2.pgm i text.pgm). Za svaku sliku promjenom parametara algoritma, nastojano je dobiti što bolje rezultate bez napada. Kad su određeni odgovarajući parametri algoritma, vršen je napad jpeg kompresijom, a zatim se utvrđivala otpornost žiga. Nužan je uvjet kandidata za digitalnu knjižnicu otpornost na jpeg kompresiju.

Primjer “Batch“ skripte za ispitivanje programa: testing_gen_lena.bat

gen_cox_sig.exe -n 500 –o zig500.sig wm_cox_e.exe -a 0.3 -o wm0.3_sit2_zig500.pgm –s zig500.sig sit2.pgm wm_cox_d.exe -n 500 -i sit2.pgm -s zig500.sig –o zig_ex_pozitivan.sig wm0.3_sit2_zig500.pgm cmp_cox_sig.exe -C -s zig500.sig zig_ex_pozitivan.sig

Sintaksu programa nije potrebno pojašnjavati jer se pri pokretanju programa s parametrom –h dobiju traženi odgovori, npr. –o izlazna datoteka, -n broj generiranih brojeva, ...

Rezultati ispitivanja prikazani su tablično radi jednostavnosti prikaza i budućeg odlučivanja. Zbog velikog prostora detalji ispitivanja nisu prikazani u ovom tekstu. Za detaljnije rezultate pogledajte dokument “Rezultati istraživanja.doc“ na priloženom CD-u. Tablica s rezultatima prikazana je na slici 5.5.

Page 26: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

25

Slika 5.5 Rezultati ispitivanja algoritama

Iz rezultata ispitivanja vidljivo je da kod fotografije svi algoritmi zadovoljavaju vizualnu kvalitetu, a algoritmi Bruyndonckx, Cox i Koch iako vizualno kvalitetni, nisu stabilni. Kod ispitivanja slika s više teksta, vizualna je kvaliteta narušena, odnosno vidljive su degradacije. Što se tiče stabilnosti algoritama, ne ovisi o vrsti slike, već o načinu zaštite. Prijelazom od fotografije prema tekstu jpeg kompresija slabi kod svih algoritama. Kod nekih utoliko da je žig u potpunosti uništen. Od svih algoritama izdvaja se Cox zbog toga što je nestabilan, a prolazi jpeg kompresiju. To svojstvo Cox algoritam ima zbog toga što je posebno dizajniran kako bi pružio otpornost na jpeg napade.

Od početnih deset algoritama za označavanje slika, izdvojena su tri kandidata. Grupu kandidata za zaštitu sadržaja od nepovlaštenog kopiranja čine algoritmi koji su zadovoljili sve kriterije (stabilnost, JPEG kompresija i vizualna kvaliteta označene slike).

Kandidati za zaštitu sadržaja od nepovlaštenog kopiranja su :

• Wang

• Xia

• Zhu

Page 27: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

26

Na sljedećim slikama prikazane su usporedbe kandidata pojedine vrste ispitivanja.

50,00%

55,00%

60,00%

65,00%

70,00%

75,00%

80,00%

85,00%

90,00%

95,00%

100,00%

jpeg(85%) jpeg(35%) jpeg(15%) jpeg(5%)Kompresija

Korelacija za lena.pgm

Wang(0.3, 0.5, 1000)Xia(0.1, 1000)Zhu(0.2, 2, 1000)

Slika 5.6 Rezultati i usporedba za fotografiju

50,00%

55,00%

60,00%

65,00%

70,00%

75,00%

80,00%

85,00%

90,00%

95,00%

100,00%

jpeg(85%) jpeg(35%) jpeg(15%) jpeg(5%)Kompresija

Korelacija za sit1.pgm

Wang(0.3, 0.5, 1000)Xia(0.1, 1000)Zhu(0.2, 2, 1000)

Slika 5.7 Rezultati i usporedba za 1. stranicu knjige

Page 28: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

27

50,00%

55,00%

60,00%

65,00%

70,00%

75,00%

80,00%

85,00%

90,00%

95,00%

100,00%

jpeg(85%) jpeg(35%) jpeg(15%) jpeg(5%)Kompresija

Korelacija za sit2.pgm

Wang(0.3, 0.5, 1000)Xia(0.1, 1000)Zhu(0.2, 2, 1000)

Slika 5.8 Rezultati i usporedba za 2. stranicu knjige

50,00%

55,00%

60,00%

65,00%

70,00%

75,00%

80,00%

85,00%

90,00%

95,00%

100,00%

jpeg(85%) jpeg(35%) jpeg(15%) jpeg(5%)Kompresija

Korelacija za tekst.pgm

Wang(0.3, 0.5, 1000)Xia(0.1, 1000)Zhu(0.2, 2, 1000)

Slika 5.9 Rezultati i usporedba za stranicu čistog teksta

Iz prikazanih usporedbi vidljivo je da neki algoritmi u većoj ili manjoj mjeri ovise o vrsti slike. Tako je Wang shema bolja za realne slike, tj. fotografije, a lošija za tekstove. Algoritmi Xia i Zhu su jednaki ovisno o vrsti slika. Kako vrijednost korelacije Zhu algoritma ne pada ispod 70% kod kompresije, dobar je kandidat za primjenu u digitalnim knjigama.

Vizualnom usporedbom tih triju algoritama, Zhu [20] algoritam odnosi zasluženu pobjedu.

Page 29: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

28

Uz prethodna ispitivanja izveden je još napad promjenom veličine slike. Napad je izveden na slici tekst.pgm na način da je slika skalirana na određenu vrijednost i ponovno vraćena na 512 × 512. Prilikom promjene dimenzije slike izgubljene su informacije utoliko da tekst nije moguće pročitati (50%), a žig nije u potpunosti uništen. Za pobjednički algoritam Zhu, pragom od 20%, žig proživljava napad i moguće ga je detektirati.

Na grafikonu su prikazani rezultati napada.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

resize(50%) resize(80%) resize(120%) resize(150%)Veličina

Napad promjenom veličine na tekst.pgm

Wang(0.3, 0.5, 1000)Xia(0.1, 1000)Zhu(0.2, 2, 1000)

Slika 5.10 Rezultati napada promjenom veličine slike

Page 30: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

29

66.. PPrraakkttiiččnnaa iizzvveeddbbaa ssiigguurrnnee ddiiggiittaallnnee kknnjjiižžnniiccee

Sigurna digitalna knjižnica informacijski je sustav knjižnice ostvaren na računalu. Informacijski sustav Sigurne digitalne knjižnice omogućuje posuđivanje digitalnih knjiga preko Interneta. Termin digitalne knjige odnosi se na elektroničku knjigu u obliku digitalne slike. Stvaranje digitalne knjige ili digitalnog dokumenta nastaje skeniranjem papirnatih izdanja knjige ili nekog drugog papirnatog dokumenta. Postoji i drugi način stvaranja digitalne knjige, a to je iz već pripremljenog digitalnog dokumenta koji je spreman za tisak ili ispis. Prethodni način ostvaruje se jednostavnim snimanjem dokumenta engl. Save As u drugi format, format za pohranu slika (bmp, jpeg, pgm, …).

Posuđivanje tako pripremljenih digitalnih knjiga ostvaruje se preko Interneta. Internet kao medij za dijeljenje informacija, pružanje usluga komunikacije i poslovanja, zahtijeva međusobno povezana računala. Za ostvarivanje usluga na Internetu postoje dvije glavne strane: pružatelji usluga i korisnici usluga. Korisnici usluga za pristup usluzi rabe osobna računala, nazvana klijentska računala, dok pružatelji usluga upotrebljavaju računala poslužitelje na kojima se nalazi navedena usluga. Opisana arhitektura naziva se klijent-poslužitelj (Client-Server) arhitektura. Za svaku primjenu Interneta, kao medija za pružanje usluga, potrebno je načiniti sustav na klijent-poslužitelj arhitekturi prikazan na slici 6.1.

Sigurna digitalna knjižnica također rabi Internet kao prijenosni medij i izvedena je u klijent-poslužitelj arhitekturi, slika 6.1. Zbog jednostavnosti izvedbe, sustav je zamišljen tako da se korisnici koriste gotovim, dobro poznatim klijentskim programima za pretraživanje Interneta (Internet Explorer, Firefox, Opera, …) i čitanje elektroničke pošte (Outlook Express, Office Outlook, razne e-mail servise, npr. Google Mail, …). Takvim načinom izvedba sigurne digitalne knjižnice usmjerena je samo na poslužiteljski dio arhitekture.

Slika 6.1 Arhitektura klijent-poslužitelj

Page 31: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

30

Svi sigurnosni mehanizmi i svi programi za kvalitetno i sigurno funkcioniranje sustava (usluge posuđivanja i pretraživanja knjiga) smješteni su na jednom mjestu. Ovim načinom pojednostavljeno je administriranje i održavanje sustava. U slučaju kvara, prestanka rada informacijskog sustava ili drugog problema (hakeri, virusi, trojanci, …) potrebno je intervenirati samo na jednom mjestu. Vrijeme je rješavanja problema smanjeno i takav se sustav brzo vraća u normalno stanje. Korisnici su sustava zadovoljni jer je sustav u slučaju kvara nedostupan samo mali dio vremena. Usluga je cijelo vrijeme na raspolaganju, što je najvažnije za korisnike. Postoji i druga prednost navedene arhitekture. Za izradu cijelog informacijskog sustava potrebno je dizajnirati i ostvariti sustav na jednom računalu. To je jednostavnije od dizajna heterogenog sustava (na više su računala ostvareni različiti mehanizmi) koji, na kraju povezani, čine smislenu cjelinu.

6.1 Usluge sigurne digitalne knjižnice

Sigurna digitalna knjižnica kao siguran informacijski sustav za posuđivanje, tj. dohvat (download) knjiga omogućuje i druge usluge. Ostale usluge sigurne digitalne knjižnice jednake su uslugama gradskih knjižnica. Digitalna knjižnica sadržava knjige, popis korisnika koji su registrirani (učlanjeni) i pohranjuje informacije o skinutim knjigama (nadnevak, korisnik, knjiga, itd.). Digitalna knjižnica, za razliku od gradske knjižnice, ne omogućava vraćanje knjiga zbog svojstva umnožavanja digitalnih dokumenata. Svaka je kopija jednako vrijedna i ne razlikuje se od originala. Taj problem knjižnica rješava uporabom digitalnih vodenih žigova. Svaki korisnik nakon skidanja knjige dobije jedinstvenu kopiju u kojoj se nalazi njegov identitet. Zbog toga korisnik mora dobro čuvati svoju kopiju, odnosno ne smije je dijeliti s ostalim osobama jer je njegova knjiga jedinstvena.

Sve usluge digitalne knjižnice nalaze se na jednom mjestu. Kako knjižnicu mogu posjetiti učlanjeni korisnici, slučajni posjetitelji ili voditelji knjižnice, ona treba sadržavati mehanizme za prepoznavanje navedenih grupa posjetitelja. Takav je problem riješen autorizacijom. Postoje tri grupe korisnika koje upotrebljavaju njene usluge. Tako je sustav načinjen autorizacijom u tri razine:

♦ Gost korisnik

♦ Registrirani korisnik

♦ Administrator korisnik

Gost korisnik slučajan je posjetitelj koji ima najmanja ovlaštenja, registrirani korisnik ima veća ovlaštenja, a administrator korisnik ima najveća ovlaštenja koja uključuju administriranje cijelog sustava sigurne digitalne knjižnice. Razina ovlaštenja prikazana je na web stranici sigurne digitalne knjižnice, slika 6.2 u gornjem desnom uglu ispod zaglavlja.

Page 32: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

31

Slika 6.2 Razina autorizacije

Usluge koje može rabiti pojedina grupa korisnika razlikuju se u ovlaštenju. Kako bi sustav mogao prepoznati kojoj skupini korisnik pripada, potrebno je znati podatke osoba sustava. Sigurna digitalna knjižnica u svom temeljnom načinu rada (default) omogućuje osnovne usluge koje se odnose na popis knjiga, pretraživanje i pregled najtraženijih knjiga. Navedene su usluge dostupne svim korisnicima sustava: gost korisniku, registriranom korisniku i administrator korisniku. Te vrste usluga odgovaraju prvoj razini autorizacije, tj. dostupne su gost korisniku. Zbog toga se gost korisnici ne moraju prijaviti u sustav jer je gost razina autorizacije omogućena pri samom pristupu digitalnoj knjižnici. Usluge više razine zahtijevaju interakciju s korisnikom i registriranje korisnika u sustav. Registrirani korisnici na taj način imaju mogućnost posuđivanja (skidanja) knjiga. Za ostvarivanje navedene razine ovlaštenja, korisnici se prvo registriraju u sustav i kod uporabe sustava vrše prijavu. Administrator korisnik, kao korisnik s najviše prava u sustavu, može biti samo jedan. To je korisnik koji obavlja instaliranje i pokretanje sustava sigurne digitalne knjižnice. Administrator je također registriran u sustav i uz ovlasti registriranog korisnika ima dodatna ovlaštenja za administriranje sustava:

• Registriranje korisnika

• Suspenzija korisnika

• Dodavanje knjige

• Verificiranje knjige

• Praćenje zapisa (krive registracije, statistike korištenja sustava, …)

Navedenim je uslugama ukratko opisan cijeli sustav, tj. funkcionalnost sigurne digitalne knjižnice. Sustav je vrlo složen i zahtijeva napredne mehanizme autorizacije, praćenja statistike, pretraživanje knjiga i upravljanja sustavom. Također još zahtijeva i proces označavanja knjiga digitalnim vodenim žigom kod skidanja i verificiranja knjiga.

Page 33: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

32

6.2 Instaliranje i podešavanje poslužitelja

Izvedba informacijskog sustava Sigurne digitalne knjižnice, kako je navedeno, ostvarena je na klijent-poslužitelj arhitekturi. Poslužitelj, kao glavna komponenta cijelog sustava, detaljno je i pažljivo dizajniran i izveden. Za pristup podacima sustava Sigurne digitalne knjižnice, uporabljen je web poslužitelj. Tako klijenti (korisnici sustava) na jednostavan način mogu pristupiti sadržaju (digitalnim knjigama) iz bilo kojeg dijela svijeta, rabeći dobro poznate programe za pretraživanje web sadržaja.

Kao web poslužitelj, uporabljen je program otvorenoga koda (Open Source) jer je slobodan za uporabu. Program se zove Apache. Web poslužitelji su programi koji omogućuju pristupanje web sadržajima preko Interneta. Sam web poslužitelj nije dovoljan za ostvarivanje informacijskog sustava, ali je jedna od glavnih komponenata komunikacije. Uz navedeni web poslužitelj uporabljene su dodatne komponente kojima je ostvarena funkcionalnost informacijskog sustava Sigurne digitalne knjižnice. Uz komunikacijsku komponentu potrebna je “inteligentna“ komponenta, tj. program koji omogućuje traženje, prikaz informacija i obavlja sve poslove potrebne za posuđivanje knjiga. Navedena logika posuđivanja knjiga ostvarena je u PHP modulu (Personal Home Page “PHP“: Hypertext Preprocessor) koji kao dodatna komponenta komunicira s web poslužiteljem. Uz komunikaciju i logiku, informacijski sustav u sebi pohranjuje podatke te se kao zadnja komponenta nameće sustav za pohranu podataka. Podaci čine osnovicu svake usluge, a baza podataka čini osnovicu svakog informacijskog sustava. Komponenta za pohranu podataka je MySQL baza koja je uz ostale komponente također otvorenoga koda.

Nakon instaliranja navedenih programa na poslužitelj, potrebno je dodatno i pažljivo podesiti parametre programa radi pravilnog rada poslužitelja. Navedene komponente i veza između njih je prikazana na slici 6.3.

Slika 6.3 Komponente poslužitelja

Page 34: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

33

6.2.1 SSL – siguran komunikacijski kanal

Internet kao medij je nesiguran. Pun je različitih malicioznih programa koje putuju njegovim kanalima i hakera koji svakodnevno pokušavaju nanijeti štetu računalima radi zarade ili osobnog zadovoljstva. Zbog toga posebnu pozornost kod podešavanja poslužitelja treba posvetiti komunikaciji. Informacije koje putuju Internetom su nezaštićene te se vrlo lako može doći do njih. Kako bi se ostvarila sigurnost posuđivanja knjiga iz sigurne digitalne knjižnice, posuđenu knjigu koja putuje mrežom potrebno je zaštititi. Zaštita čistih podataka rješava se postupkom šifriranja (kriptiranja). Tim postupkom čitljivi podaci postaju nečitljivi i napadač ne može otkriti što se krije u njima. U današnje vrijeme svi poznati web poslužitelji (IIS, Apache, itd.) imaju mogućnost zaštite nesigurnih podataka postupkom kriptiranja. Sigurnost informacija iz web poslužitelja postiže se SSL (Secure Socket Layer) protokolom. SSL protokol u svom radu koristi mehanizme kriptiranja te na taj način osigurava sigurnu vezu. Prije samog prijenosa podataka, klijent i web poslužitelj stvaraju siguran komunikacijski kanal putem SSL-a. Nakon toga svi podaci na putu klijent poslužitelj i obrnuto su nečitljivi te ih napadač ne može odgonetnuti.

Razlika u pristupu na korisničkoj strani vidljiva je u polju za unos adrese u web pregledniku. Kod nezaštićenog poslužitelja adresa počinje s http://, a kod sigurnog web poslužitelja adresa počinje s https:// te je vidljiv simbol lokota u donjem desnom uglu.

Slika 6.4 Digitalni certifikat

Podešavanje web poslužitelja za rad sa sigurnim SSL komunikacijskim kanalom zahtijeva promjenu porta na kojem poslužitelj sluša zahtjeve te zahtijeva izradu digitalnog certifikata. On služi za certificiranje poslužitelja, tj. govori korisniku je li poslužitelj vjerodostojan za identitet s kojim se predstavlja. Klasičan web poslužitelj

Page 35: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

34

sluša na portu 80 dok zaštićeni poslužitelj sluša zahtjeve na portu 443. Navedene vrijednosti su definirane standardom, ali se mogu koristiti i proizvoljne vrijednosti veće od 1024. Digitalni certifikati definirani su hijerarhijski pa se dobiju od nadređene organizacije za izdavanje certifikata. Takvi certifikati se trebaju platiti pa se za navedeni web poslužitelj sigurne digitalne knjižnice rabio samostalni certifikat. Za izradu digitalnog certifikata korišten je program SimpleCA koji dolazi kao dodatak web poslužitelju. Primjer digitalnog certifikata vidljiv je na slici 6.4. Mijenjanje opisane komunikacijske sigurnosti izvodi se u konfiguracijskoj datoteci httpd.conf Apache web poslužitelja.

6.2.2 Upravljanje sjednicom

Sjednica je vrijeme koje autorizirani korisnik provede na web stranicama rabeći jednu instancu web pretraživača. Sjednica i njezino upravljanje važno je kod sigurnih sustava, a takav je i sustav sigurne digitalne knjižnice. Problem je identičan prijavom korisnika na osobno računalo. Na primjer, ako se korisnik nakon završenog rada u uredu ne odjavi iz sustava, sustav nakon njegova odlaska može biti kompromitiran. Druga osoba može raditi na sustavu iako nema ovlaštenje za rad. Ograničavanje trajanja sjednice rješava navedeni problem. Autorizirani korisnik nakon određenog vremena nekorištenja sustava prestaje biti autoriziran, tj. obavlja se automatska odjava iz sustava.

Uporaba sjednice omogućuje i druge pogodnosti kod sigurnih informacijskih sustava. Za vrijeme sjednice poslužitelj pohranjuje proizvoljne podatke o korisniku te uz pomoć tih podataka i baze podataka moguće je ostvariti višerazinsku autorizaciju korisnika. Takav način daje nam mogućnost da nekim korisnicima dodijelimo veća prava, a drugima stavimo ograničenja na korištenje sustava. Tako je za potrebe sigurne digitalne knjižnice ostvarena autorizacija s tri razine koja će kasnije biti opisana. Ograničenje trajanja sjednice konfigururano je u PHP modulu. Mijenjanjem navedenih parametara u konfiguracijskoj datoteci php.ini ostvareno je navedeno ograničenje.

PHP modul ujedno je i programska komponenta u kojoj je izrađena cijela logika sustava sigurne digitalne knjižnice. Sigurna digitalna knjižnica kao glavnu komponentu sigurnosti rabi digitalne vodene žigove. Označavanje knjiga, tj. slika digitalnim vodenim žigom, zahtjevan je proces i traži puno procesorskog vremena i memorijskog prostora. Cijeli postupak posuđivanja knjiga može vremenski potrajati od par sekundi do nekoliko minuta. Vrijeme posuđivanja ovisi o brzini poslužitelja i broju stranica knjige, što je i logično. Izvršavanje skripte (posuđivanje knjige) na poslužitelju sigurne digitalne knjižnice traje puno duže od dohvata web stranice kod klasičnih web poslužitelja. Zato je zbog stabilnosti poslužitelja potrebno povećati maksimalno vrijeme izvršavanja skripte i maksimalnu zauzetost memorije. Navedeni se parametri također mijenjaju u konfiguracijskoj datoteci PHP modula.

6.2.3 Pohrana podataka

Veliki informacijski sustavi, kakav je i sustav sigurne digitalne knjižnice, za pohranu podataka koristi bazu podataka (Database). Pohrana podataka izvedena je

Page 36: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

35

na MySQL bazi, koja je kao treći modul instalirana na poslužitelj. Baze podataka imaju veliku prednost pred spremanjem podataka u datoteke jer se do traženih podataka lako dolazi. Jednostavnim pisanjem i izvršavanjem SQL (Structured Query Language) upita dobijemo podatke koje smo tražili. Uporabom baze podataka kao sustava za pohranu informacija, omogućeno nam je brzo i jednostavno dohvaćanje informacija. Podatke je moguće jednostavno sortirati i brzo pretraživati. Velika prednost je to što se sve izvodi transparentno za krajnjeg korisnika. Za izradu sigurnosnih pohrana (Backup) i administriranja baze podataka postoje gotovi programi koji cijeli posao svode na par klikova mišem. Program koji je rabljen zove se SQL Manager i prikazan je na slici 6.5.

Druga je važna stvar zaštita podataka pohranjenih u bazu. Za rješavanje tog problema, kod pristupa MySQL bazi podataka potrebna je autorizacija uporabom korisničkog imena (User Name) i lozinke (Password). Uvođenjem takvog načina zaštite, moguće je korisnicima odrediti različita prava i na taj način zaštititi bazu od mogućeg uništenja ili netočnih podataka.

Slika 6.5 SQL Manager

Uz instaliranje i konfiguriranje prethodnih modula, završena je prva faza izrade sigurne digitalne knjižnice.

6.3 Ostvarivanje usluga sigurne digitalne knjižnice

Nakon instaliranja poslužitelja, druga faza u izradi sigurne digitalne knjižnice ostvarivanje je usluga. To je i jedna od najsloženijih faza jer je potrebno samostalno izraditi definirane usluge. Usluge, koje su logika cijelog sustava digitalne knjižnice, ostvarene su u PHP modulu. PHP modul upotrebljava skripte pisane u PHP programskom jeziku. Kako je cijeli sustav načinjen u klijent-poslužitelj arhitekturi, za komunikaciju se koriste web stranice. Prije pisanja samih skripti, potrebno je grafički dizajnirati web portal sigurne digitalne knjižnice, a nakon toga i dizajnirati bazu podataka kao središnje komponente informacijskog sustava.

Page 37: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

36

Oblikovanje web portala sigurne digitalne knjižnice ovisno je o samim uslugama digitalne knjižnice. Tako je za svaku uslugu digitalne knjižnice potrebno izraditi web stranicu. Grafički se dizajn odnosi na stalne komponente web portala: pozadinu, fontove i oblik slova, zaglavlje, podnožje, itd. Dizajn je ostvaren u HTML (Hypertext Markup Language) programskom jeziku za prikaz informacija uz uporabu CSS (Cascading Style Sheets) jezika za grafičko oblikovanje. Primjer web portala sigurne digitalne knjižnice prikazan je na slici 6.6.

Slika 6.6 Dizajn web stranica

6.3.1 Dizajniranje baze podataka

Baza podataka temelj je svakog informacijskog sustava. Zbog toga je pravilno dizajniranje baze podataka od velike važnosti za cijeli sustav sigurne digitalne knjižnice. Baza podataka, uz sustav za upravljanje bazom podataka DBMS (Database Management System), čini cijeli podatkovni sustav sigurne digitalne knjižnice. Kako je navedeno u prethodnom poglavlju, za DBMS koristi se MySQL koji upravlja cijelom bazom digitalne knjižnice. Baza podataka treba pohranjivati sve važne podatke za ispravno funkcioniranje sustava. Potrebni podaci za ispravan rad knjižnice su podaci o registriranim korisnicima, knjigama, zapisima za izradu

Page 38: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

37

statistika, itd. Svaki od navedenih podataka smješten je u zasebnu tablicu. Podaci su u cijelom sustavu međusobno zavisni pa su tako i tablice baze podataka povezane. Za ostvarenje baze podataka sigurne digitalne knjižnice, potrebno je devet tablica. Tablice s pripadnim relacijama prikazane su na slici 6.7. Blokovi na slici označavaju tablice, a linije s kružićem označavaju relaciju među njima. Tablica na kojoj se nalazi kružić referencira atribut iz tablice s kojom je povezana (npr. tablica login_ok referencira atribut user_name iz tablice student).

Naziv tablice upućuje na informacije koje su pohranjene u njoj. U tablici student pohranjeni su podaci o registriranim korisnicima, u našem slučaju studentima. Tablice sadrže samo osnovne podatke potrebne za ispravno funkcioniranje sigurne digitalne knjižnice. Tablica student sadržava podatke o matičnom broju studenta, imenu, prezimenu, e-mail adresi, datumu registracije u sustav sigurne digitalne knjižnice i digitalnom vodenom žigu studenta. Digitalni je vodeni žig jedinstven i najvažniji podatak jer digitalna knjižnica svoj siguran rad temelji na tehnologiji označavanja knjiga digitalnim vodenim žigovima.

Uz tablicu student nalaze se i druge tablice. Tablica knjiga sadrži osnovne podatke o knjigama, tablica skinute_knjige sadrži podatke o dohvaćenim knjigama, a tablica student_racun sadrži osnovne podatke za prijavu na sustav digitalne knjižnice (korisničko ime i lozinku korisnika). Tablice login_ok i logout_ok sadrže podatke o uspješnim prijavama u sustav i odjavama iz sustava, a tablica login_error sadrži neuspjele pokušaje prijava u sustav. Tablica temp_folder tablica je u kojoj se nalaze staze do skinutih knjiga. Tablica verifi_result privremena je tablica koja se koristi u postupku verifikacije knjiga. U njoj su pohranjeni podaci o korisnicima i podatak o sličnosti njihovog digitalnog vodenog žiga s digitalnim vodenim žigom sadržanim u verificiranoj knjizi. Ovo je samo kratak opis baze podataka sigurne digitalne knjižnice. Iz navedenog može se zaključiti da je dizajn baze podataka vrlo složen postupak i zahtijeva mnogo vremena. Postupak dizajniranja baze izvodi se u MySQL programu za upravljanje bazama podataka. Za dizajn baze koristi se SQL programski jezik. SQL sintaksa jezika vidljiva je iz sljedećeg koda za stvaranje tablice login_ok.

CREATE TABLE `login_ok` ( `user_name` varchar(16) NOT NULL default '', `IP_remote` varchar(15) NOT NULL default '', `datum_pristupa` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`user_name`,`IP_remote`,`datum_pristupa`), CONSTRAINT `login_ok_ibfk_1` FOREIGN KEY (`user_name`) REFERENCES `student_racun` (`user_name`) ) TYPE=InnoDB CHECKSUM=1;

Page 39: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

38

Slika 6.7 Baza podataka sigurne digitalne knjižnice

6.3.2 Ostvarivanje sustava autorizacije

Autorizacija je osnovni mehanizam sigurnosti u informacijskim sustavima i neovisan je o njihovoj namjeni. Autorizacija rješava problem ovlasti korisnika sustava.

Page 40: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

39

Za provođenje postupka autorizacije potrebni su dodatni mehanizmi identifikacije i autentifikacije. Identifikacija se odnosi na postupak kojim se korisnik predstavlja sustavu, odnosno daje svoje podatke sustavu kroz postupak prijave. Nakon identifikacije slijedi autentifikacija koja provjerava identitet korisnika za koji se predstavlja. Kad se uspješno izvrše identifikacija i autentifikacija, autentificiranom korisniku se dodjeljuju ovlasti, tj. prava koja ima u sustavu, a taj postupak se naziva autorizacija. Provjera autorizacije odvija se kroz cijelo vrijeme uporabe sustava. Nakon autorizacije korisnika, sustav cijelo vrijeme provjerava dodijeljene ovlasti te osigurava zaštitu od neovlaštene uporabe usluga sustava. Navedena tri mehanizma čine nedjeljivu cjelinu koja je osnova svih sigurnih informacijskih sustava. Autorizacija u sigurnoj digitalnoj knjižnici ostvarena je na isti način.

Slika 6.8 Prijava u sustav sigurne digitalne knjižnice

Autorizacija je programska procedura i ostvarena je uporabom sjednice. Pristup sigurnoj digitalnoj knjižnici ostvaren je u tri koraka i autorizacija ima tri razine. Najniža razina autorizacije je automatska i ne zahtijeva prijavu u sustav. Usluge koje su dostupne u najnižoj razini (gost) autorizacije su minimalne i opisane su u poglavlju 6.1. Više razine autorizacije (registrirani korisnik i administrator korisnik) zahtijevaju postupak od sva tri koraka (identifikacije, autentifikacije i autorizacije) pristupa sustavu. Pristup sustavu započinje identifikacijom. Za postupak identifikacije koristi se web stranica Prijava gdje korisnik popunjava formu za prijavu u sustav. Forma se sastoji od korisničkog imena i lozinke. Navedene podatke korisnik dobije prilikom registracije u sustav sigurne digitalne knjižnice. Primjer prijave prikazan je na slici 6.8. Nakon popunjavanja forme, ona se šalje na poslužitelj i izvršava se postupak autentifikacije. U postupku autentifikacije provjerava se identitet korisnika. U bazi podataka sigurne digitalne knjižnice traži se korisničko ime i lozinka upisani u formu. Ako navedeni zapis ne postoji u bazi podataka, korisnik nije identificiran i postupak završava krivom autentifikacijom obavještavajući korisnika da ponovo unese podatke.

Page 41: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

40

Nakon krivog postupka autentifikacije bilježi se podatak o neuspješnoj autorizaciji u tablicu login_error. Podaci iz tablice login_error sigurne digitalne knjižnice administratoru kasnije služe za statističku analizu. Ako je pronađen zapis u bazi, identitet je korisnika poznat i završava se postupak autentifikacije. Nakon toga slijedi autorizacija (treći korak pristupa sustavu). Za vrijeme se autorizacije autentificiranom korisniku dodjeljuju ovlasti. Prije dodjele ovlasti provjerava se status korisnika, odnosno je li korisnik aktivan u sustavu. Ako je korisnik suspendiran, postupak autorizacije završava krivom autorizacijom, a podatak se bilježi u tablicu login_error te se korisnika upućuje na novi unos podataka. U drugom slučaju, ako je status korisnika “aktivan u sustavu“, nastavlja se proces autorizacije te se u korisničku sjednicu pohranjuju podaci o razini autorizacije (registrirani korisnik ili administrator korisnik). Postupak autorizacije završava pohranom podataka o uspješnoj prijavi u bazu u tablicu login_ok.

Sjednica se korisnika proteže za vrijeme uporabe sigurne digitalne knjižnice i na taj je način u svakom trenutku omogućena provjera korisničkih ovlasti. Korisnik bezbrižno posjećuje druge web stranice i povratkom (u određenom vremenu) na web portal sigurne digitalne knjižnice, sustav ga prepoznaje kao autoriziranog korisnika. Korisnik je autoriziran u sustav sve do odjave iz sustava ili isteka definiranog vremena. Klikom na link Odjava pokreće se procedura odjave korisnika iz sustava. Odjava iz sustava podrazumijeva brisanje podataka iz sjednice, tj. postavljanje ovlasti na najmanju razinu te upis podatka o uspješnoj odjavi iz sustava u tablicu logout_ok. Nakon završene procedure korisnik ima mogućnost samo pretraživanja knjiga i njegova razina autorizacije jednaka je razini prije postupka prijave u sustav, tj. najniža (gost) razina autorizacije.

6.3.3 Registracija korisnika

Registracija korisnika jedna je od administratorskih usluga sigurne digitalne knjižnice. Za ispravan rad autorizacije opisane u prethodnom odjeljku u bazi podataka sigurne digitalne knjižnice, potrebno je imati pohranjene podatke o korisnicima sustava. Unos podataka o korisnicima omogućuje navedeni sustav za registraciju korisnika. Uslugu registracije korisnika može upotrebljavati samo autorizirani administrator koji se brine o cijelom sustavu sigurne digitalne knjižnice. Podaci o administratoru također se nalaze u bazi podataka, ali su uneseni u postupku pokretanja usluga sigurne digitalne knjižnice. Registracija je ostvarena za studente kao korisnike sustava. Samo osnovni podaci o studentu pohranjeni su u bazu, a to su: MBR – matični broj korisnika (jedinstven broj za svakog korisnika), ime i prezime korisnika, e-mail adresa te podaci važni za autorizaciju korisnika (korisničko ime i lozinka). Usluga registracije korisnika omogućena je nakon uspješne autorizacije administratora na web portal sigurne digitalne knjižnice. Nakon klika na link “Administriranje sustava“, prikazana je forma za unos podataka o novom korisniku sustava. Primjer usluge za registraciju korisnika prikazan je na slici 6.9. Kod registracije sva polja moraju biti popunjena, a u slučaju nedovoljno informacija sustav prikazuje poruku koja opisuje problem.

Page 42: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

41

Slika 6.9 Registracija korisnika

Dodatna ograničenja imaju polja za unos MBR-a i lozinke. U polju MBR mora biti upisano točno 8 znakova, a u polje Lozinka mora biti upisano najmanje 8 znakova. Navedene provjere ostvarene su na strani klijenta pomoću JavaScript-a (klijentskog skriptnog jezika), a dio koda je prikazan ispod odlomka. Nakon uspješno provedene provjere (klik na Registriraj), administratoru se upisani podaci prikazuju još jednom, a registriranje je dovršeno nakon potvrde administratorske lozinke. U slučaju krive lozinke, registracija nije moguća.

function submit_registracija() { if (document.user_form.new_user_mbr.value == "") { alert('Molimo unesite sve potrebne podatke!'); document.user_form.new_user_mbr.focus(); return false; }else if (document.user_form.new_user_mbr.value.length != 8) { alert('MBR treba imati ukupno 8 znamenaka!'); document.user_form.new_user_mbr.focus(); return false; }else if (document.user_form.new_user_ime.value == "") { alert('Molimo unesite sve potrebne podatke!'); document.user_form.new_user_ime.focus(); …

Page 43: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

42

U postupku registracije podaci koji su uneseni u polja pohranjuju se u bazu podataka, a na e-mail adresu korisnika šalje se aktivacijski link.

6.3.4 Aktivacija korisnika

Svrha aktivacije promjena je statusa registriranog korisnika. Ovu uslugu upotrebljavaju registrirani korisnici. Sve do aktivacije, registrirani korisnik ne može se autorizirati u sustav jer je njegov status “neaktivan“. Ovim načinom rješava se problem netočnih e-mail informacija registriranih korisnika. U slučaju netočnog e-maila registrirani korisnik ne može aktivirati svoj status i ne može se koristiti uslugama sigurne digitalne knjižnice. E-mail jedna je od glavnih komponenata komunikacije, a netočnost njezine informacije povlači i nemogućnost skidanja knjiga (glavne usluge sigurne digitalne knjižnice). Primjer e-maila koji sadržava link za aktivaciju prikazan je na slici 6.10.

Slika 6.10 Elektronička pošta s aktivacijskim linkom

Nakon primitka e-maila za aktivaciju potrebno je jednostavno kliknuti na navedeni link koji vodi do web portala sigurne digitalne knjižnice te se tako pokreće postupak aktivacije. Postupak aktivacije sličan je postupku prijave u sustav. Prije same aktivacije provjerava se registracija korisnika, a nakon toga korisnik treba ispuniti formu koja je jednaka formi za prijavu u sustav. Od korisnika se traži korisničko ime i lozinka. Nakon uspješno završenog postupka aktivacije, korisniku je promijenjen status u “aktivan“ i automatski je autoriziran u web portal sigurne digitalne knjižnice. Status “aktivan“ korisnik ima cijelo vrijeme do trenutka suspenzije. Propisnom i savjesnom uporabom usluga korisnik nikad neće biti suspendiran.

6.3.5 Suspenzija korisnika

Suspenzija korisnika moguća je kad registrirani korisnik nepropisno rabi usluge sigurne digitalne knjižnice. Nepropisna uporaba usluga odnosi se na dijeljenje skinutih knjiga drugim korisnicima koji nemaju pravo čitanja knjige. Nakon utvrđivanja nelegalnog dijeljenja knjige, tehnikom digitalnih vodenih žigova (usluga “Verifikacija knjige“), administrator može suspendirati registriranog korisnika, onemogućiti mu daljnju autorizaciju i uporabu usluga sustava. Suspenzija korisnika administratorska

Page 44: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

43

je usluga i može je koristiti administrator autoriziran u sustav sigurne digitalne knjižnice. Nakon autorizacije i odabira linka “Administriranje sustava“, administratoru su omogućene usluge za administriranje sustavom. Pronalaženjem korisnika, administrator dolazi do njegova korisničkog računa te ga suspendira potvrdom lozinke. Pronalaženje registriranih korisnika sigurne digitalne knjižnice omogućuju usluge “Traženje korisnika“ i “Popis svih korisnika“. Navedene usluge nalaze se također u grupi usluga “Administriranje sustava“. Suspenzija korisnika prikazana je na slici 6.11.

Slika 6.11 Suspenzija korisnika

Status suspendiranog korisnika je “neaktivan“. Takav status govori da je korisniku onemogućena autorizacija i uporaba sustava. Nakon suspenzije, korisnik ne može svoj status samostalno vratiti u “aktivan“. Status suspendiranog korisnika može promijeniti samo administrator istim postupkom kojim je i izvršena suspenzija.

6.3.6 Traženje i popis svih korisnika

Za pronalaženje korisnika koji je registriran u sustavu koriste se usluge “Traženje korisnika“ i “Popis svih korisnika“. Te su usluge također namijenjene za administratora sustava koji upravlja korisničkim računima sigurne digitalne knjižnice. “Popis svih korisnika“ jednostavnija je usluga od usluge “Traženje korisnika“, a omogućuje popis svih registriranih korisnika sustava sigurne digitalne knjižnice. Usluga “Traženje korisnika“ složenija je i zahtijeva složen mehanizam pretraživanja.

Page 45: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

44

Pretraživanje je moguće za sve atribute (MBR, ime, prezime, e-mail, …) korisnika sustava. Za ostvarivanje mehanizma pretraživanja potrebno je dobro poznavanje SQL jezika kojim se dohvaćaju podaci o korisnicima. Primjer traženja korisnika prikazan je na slici 6.12.

Slika 6.12 Traženje korisnika

Uz prikaz i traženje korisnika, ove usluge omogućuju sortiranje dobivenih podataka i upravljanje korisničkim računima. Sortiranje je ostvareno za glavne atribute korisnika: MBR, ime i prezime, što je vidljivo u tablici za prikaz rezultata pretraživanja (slika 6.12). Podaci se u osnovnom prikazu sortiraju po matičnom broju (MBR). Za sortiranje po drugom atributu potrebno je kliknuti na njegovo ime na zaglavlju tablice. Upravljanje korisničkim računom ostvaruje se klikom na zapis o korisniku. Sljedeći dio PHP koda pokazuje složenu izvedbu usluge za traženje i sortiranje korisnika.

function search_user($word, $sort, $all){ … if(!isset($sort)){ $sort = "mbr"; } if($all == 1){ //ispisi sve korisnike $log = "SELECT * FROM student ORDER BY '$sort'"; $pom_var = "Korisnici"; }else{ //trazi uz uvijet $log = "SELECT * FROM student WHERE mbr='$word' OR ime='$word' OR prezime='$word' OR e_mail='$word' ORDER BY '$sort'"; $pom_var = "Rezultati pretraživanja: "; }

Page 46: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

45

//izvrsi upit $result = mysql_query($log,$link); //odspoji se od baze mysql_close($link); …

6.3.7 Dodavanje knjige

Namjena je sigurne digitalne knjižnice posudba ili skidanje knjiga. Tako je usluga dodavanje knjige jedna od važnijih u sustavu. Nakon što se pokrene web portal sigurne digitalne knjižnice, skidanje knjiga nije moguće. U početku je sigurna digitalna knjižnica prazna. Da bi se knjige stavile u knjižnicu, potrebno je papirnate verzije knjiga digitalizirati, a zatim korištenjem usluge “Dodavanje knjige“ unijeti u sustav. “Dodavanje knjige“ usluga je koja zahtjeva najvišu razinu prava u sustavu. Takvu razinu ima administrator, kao što je vidljivo iz prethodnih poglavlja. Nakon autorizacije u sustav i pokretanja usluge “Dodavanje knjige“, administrator može unositi knjige u sigurnu digitalnu knjižnicu. Na slici 6.13 prikazana je usluga dodavanje knjige.

Slika 6.13 Dodavanje knjige

Page 47: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

46

Za dodavanje novih knjiga u knjižnicu potrebno je ispuniti formular koji je prikazan nakon pokretanja usluge. Podaci koji se unose u formular vezani su za detaljne informacije o knjizi te za datoteku u kojoj se nalazi digitalna knjiga. Detaljnije informacije o knjizi odnose se na ID knjige (jedinstven deseteroznamenkasti broj), autora knjige, naslov knjige, izdavača, godinu izdanja i broja stranica knjige. Sporedne se informacije odnose na ključne riječi, koje se često pojavljuju u tekstu knjige ili riječi tematike koju knjiga opisuje. Te informacije pohranjuju se u bazu podataka i služe za jednostavnije pronalaženje knjige, koju korisnik namjerava skinuti. Datoteka, koja se unosi u formular, ne pohranjuje se u bazu podataka, već u poseban direktorij na poslužitelju u kojemu se nalaze sve digitalne knjige. Knjige mogu imati do nekoliko tisuća stranica i njihovo pohranjivanje u bazu podataka izazvalo bi gušenje i nestabilnost samog sustava, stoga se u bazu pohranjuje samo staza do digitalne knjige. Ovaj način spremanja je vrlo efikasan po pitanju brzine i stabilnosti informacijskog sustava.

Kod dodavanja knjige veliku važnost treba posvetiti izradi datoteke digitalne knjige. Sustav prepoznaje knjigu i svaku njezinu stranicu na definiran način. Struktura datoteke digitalne knjige definirana je pravilom, a pridržavanje tog pravila kod stvaranje datoteke važno je za ispravno funkcioniranje sustava. Uslugu “Dodavanja knjige“ rabi administrator te mora biti upoznat s tim pravilom. Kako postoji samo jedan administrator sustava sigurne digitalne knjižnice, pogreške su svedene na minimum. Datoteka u kojoj je pohranjena digitalna knjiga je rar arhiva te takva datoteka ima ekstenziju .rar. U takvoj arhivi nalaze se slike stranica knjige. Slike stranica su u PGM (Portable Graymap) formatu. Nazivi stranica počinju od 1_orig.pgm – N_orig.pgm, gdje N označava maksimalni broj stranica knjige. Broj stranica (N) potrebno je unijeti i u formu za dodavanje knjige. Ime datoteke sastoji se od ID-a knjige i ekstenzije .rar (npr. 9539636019.rar). Sadržaj datoteke za unos u sustav prikazan je na slici 6.14.

Nakon ispunjavanja formulara, no prije dodavanja knjige, sustav provjerava ispunjene podatke. Ako su svi podaci uneseni, administratoru se ponovo prikazuju podaci te se traži potvrda dodavanja knjige. Unosom ispravne lozinke knjiga je dodana u sustav i dostupna je korisnicima za skidanje.

Slika 6.14 Datoteka digitalne knjige

Page 48: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

47

6.3.8 Traženje i popis svih knjiga

Traženje i popis knjiga usluga je slična usluzi za traženje korisnika. Neovisno o razini autorizacije, ove usluge omogućene su svim posjetiteljima web portala digitalne knjižnice. Posjetitelji web portala ne moraju biti registrirani za uslugu traženja knjige. Rezultati navedenih usluga popisi su knjiga smješteni u tablicu. Usluge su vrlo jednostavne za uporabu i na efikasan način rješavaju problem traženja knjige, koji u gradskoj knjižnici može potrajati do nekoliko desetaka minuta. Traženje se svodi na upisivanje ključne riječi u polje za pretragu. Nakon poslanog upita rezultati su prikazani u tablici. Usluga traženja izvršava se nad svim podacima koji opisuju knjigu, a pohranjeni su u bazu podataka. Podaci se u tablici nakon izvršenja upita mogu sortirati po atributima koji su prikazani u zaglavlju tablice (autor, naslov knjige, …). Primjer traženja knjige prikazan je na slici 6.15.

Slika 6.15 Rezultat traženja knjige Multimedia Security

Sličnu ulogu ima i usluga “Popis svih knjiga“. Ta usluga prikazuje sve knjige koje se nalaze u digitalnoj knjižnici. Rezultati se također mogu sortirati na isti način kao i rezultati traženja knjiga. Nakon dobivenog popisa knjiga, klikom na knjigu moguće je pokrenuti uslugu skidanja knjige. Za jednostavno ostvarivanje usluge traženja knjige, zaslužna je baza podataka koja indeksira podatke, SQL kojim se podaci dohvaćaju i PHP programski jezik koji objedinjuje funkcionalnost i generiranje tablice rezultata.

Page 49: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

48

Sljedeći primjer PHP programskog koda pokazuje dio implementacije navedenih usluga.

function search_book($word, $sort, $all){ global $trazi; … //kreiraj upit }else{ //trazi uz uvijet $log = "SELECT * FROM knjiga WHERE ID LIKE '%$word%' OR autor LIKE '%$word%' OR naslov LIKE '%$word%' OR izdavac LIKE '%$word%' OR godina_izdanja LIKE '%$word%' OR key_word LIKE '%$word%' ORDER BY '$sort'"; $pom_var = "Rezultati pretraživanja: "; } … while($row = mysql_fetch_array($result)){ … if($count%2 == 1){ $var .= "<tr class=\"e\" id=\"e$count\" onmouseover=\"row_select(this.id,'ee$count');\" onmouseout=\"row_unselect(this.id,'ee$count');\" onclick=\"location.href = 'user_knjiga.php?knjiga_ID_set=$id';\">"; $var .= "\n<td width=\"3%\">$count.</td>\n"; $var .= "<td style=\"color: #000066\" width=\"10%\" id=\"ee$count\">$id</td>\n<td width=\"15%\">$autor</td>\n<td width=\"25%\">$naslov</td>\n<td width=\"22%\">$izdavac</td>\n<td width=\"25%\">$key_word</td>\n</tr>"; } … //povecaj $count++; } //dodaj kraj $var .= "</tbody></table>\n"; return $var; }

6.3.9 Kopiranje knjige s poslužitelja na Internetu na lokalno računalo

Usluga skidanja knjige namijenjena je registriranim korisnicima. Svaki korisnik koji želi imati kopiju knjige iz sigurne digitalne knjižnice mora koristiti uslugu skidanja knjige. Nakon traženja i odabira knjige, klikom na knjigu pokreće se usluga dohvata knjige. Za korisnike koji nisu autorizirani, sustav zahtijeva prijavu. Nakon uspješne prijave i autorizacije u sustav, moguće je pokrenuti uslugu za dohvat knjige. Skidanje knjige hardverski je vrlo zahtjevna usluga jer se knjiga kod skidanja označuje digitalnim vodenim žigom. Ovisno o broju stranica, skidanje knjige može trajati i do nekoliko minuta. Sama implementacija usluge je također složena. Skidanje knjige izvedeno je tako da se komunikacija s korisnikom dijeli na dva dijela zbog sigurnosnih razloga opisanih u poglavlju 6.5. Nakon pokretanja usluge prikazuju se detaljni podaci o knjizi i forma za unos korisničke lozinke za potvrdu transakcije. Na slici 6.16 prikazana je forma za potvrdu skidanja knjige.

Procedura skidanja knjige sastoji se od nekoliko koraka. Nakon ispravno unesene lozinke, pokreće se postupak označavanja knjige digitalnim vodenim žigom. U slučaju neispravne lozinke korisnik se upućuje na njeno ponovno unošenje, a postupak se ponavlja dok lozinka nije ispravna. Postupak označavanja počinje dohvatom digitalnog vodenog žiga korisnika i kopiranjem knjige u javno dostupan

Page 50: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

49

direktorij na poslužitelju. U bazu podataka pohranjuje se ime direktorija i datum za dostupnost knjige. Knjiga je nakon skidanja dostupna na poslužitelju dva dana. U roku od dva dana korisnik je može kopirati na svoje računalo. Nakon isteka navedenog roka knjiga se zajedno s direktorijom briše s poslužitelja. U sljedećem koraku procedure stvara se skripta koja će izvršiti ubacivanje žiga i skripte za pristup direktoriju s Interneta. Kad su stvorene sve potrebne skripte, izvršava se skripta za ubacivanje digitalnog vodenog žiga u knjigu. Označavanje knjige može potrajati jer je procedura označavanja slika digitalnim vodenim žigom vremenski vrlo zahtjevna.

U daljnjem postupku komunikacija se razdvaja na web i e-mail komunikaciju. Nakon završenog označavanja knjige korisniku se šalje e-mail s potvrdom za uspješno skidanje knjige i link na direktorij u kojem se knjiga nalazi. U web pregledniku prikazuje se status skidanja knjige zajedno s lozinkom za pristup zaštićenom direktoriju.

Primljeni e-mail nakon skidanja knjige prikazan je na slici 6.17, a web potvrda skidanja knjige s lozinkom prikazana na slici 6.18.

Slika 6.16 Potvrda skidanja knjige unošenjem lozinke

Ovim postupkom završava usluga skidanja knjige. Samo dohvaćanje knjige na korisničko računalo pokreće se odabirom linka koji se nalazi u primljenom e-mailu, prikazanom na slici 6.17.

Page 51: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

50

Slika 6.17 Primljeni e-mail nakon skidanja knjige

Klikom na link prikazuje se forma za upis korisničkog imena i lozinke. Forma je prikazana na slici 6.19. Korisničko ime dobro je poznato svakom korisniku, a lozinka koja se upisuje u formu prikazana je u pregledniku nakon uspješnog dohvaćanja knjige (slika 6.18).

Slika 6.18 Obavijest o skinutoj knjizi i lozinka za pristup

Page 52: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

51

Slika 6.19 Zahtjev sustava za autorizaciju pristupa knjizi

Nakon uspješne autorizacije za pristup direktoriju u web pregledniku prikazuje se sadržaj direktorija. U direktoriju se nalazi samo jedna datoteka. Datoteka sadrži knjigu koju je korisnik skinuo s web portala sigurne digitalne knjižnice. Jednim klikom na link datoteke knjiga se dohvaća i sprema na korisničko računalo. Sadržaj direktorija prikazan je na slici 6.20.

Slika 6.20 Sadržaj zaštićenog direktorija na poslužitelju

6.3.10 Verificiranje knjige

Verificiranje je knjige usluga namijenjena administratoru sigurne digitalne knjižnice. Verificiranje se odnosi na utvrđivanje pripadnosti kopije knjige registriranom korisniku. U svakoj skinutoj knjizi, ubačen je digitalni vodeni žig. Uspoređivanjem vodenog žiga korisnika knjižnice i vodenog žiga izvađenog iz knjige može se jedinstveno utvrditi pripadnost knjige. Usluga verificiranja knjige prikazana je na slici 6.21.

Usluga ima veliku važnost kada se na Internetu pronađe ilegalna kopija knjige. Verifikacijom kopije može se utvrditi koji korisnik je knjigu ilegalno načinio javno dostupnom. Kada se verifikacijom utvrdi identitet, korisnik se može kazniti i suspendirati iz sigurne digitalne knjižnice.

Usluga je vrlo jednostavna za uporabu. Prije samog pokretanja usluge potrebno je provjeriti strukturu datoteke knjige. Kod dodavanja knjige u sustav, struktura je datoteke točno definirana i tu je strukturu potrebno poštovati kod verifikacije. Datoteka je rar arhiva u kojoj se nalaze stranice knjige u obliku slika s nazivljem od 1.pgm – N.pgm, gdje je N broj stranica knjige upisane u bazi podataka. Naravno

Page 53: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

52

redoslijed imenovanja mora slijediti i sam sadržaj stranica. To znači da se na slici 5.pgm treba nalaziti sadržaj iz originalne knjige 5_orig.pgm.

Slika 6.21 Verificiranje knjige

Nakon pokretanja usluge verifikacije, potrebno je najprije odabrati ime knjige koja se verificira, a zatim se odabiru korisnici. Korisnike je moguće odabrati pojedinačno ili je moguće odabrati sve korisnike. Kod odabira pojedinačnog korisnika, usporedba se odvija samo s tim korisnikom, a kod odabira svih korisnika usporedba se odvija sa svim korisnicima koji su skinuli odabranu knjigu. Nakon odabira korisnika u formu se dodaje pripremljena datoteka s knjigom te se odabire prag detekcije. Rezultati verifikacije prikazani su na slici 6.22.

Prag detekcije ima dvije razine: normalan i smanjen prag. Normalan prag odnosi se na 50% vjerojatnosti detekcije, a ta vrijednost standardna je kod većine algoritama za detekciju digitalnog vodenog žiga. Smanjeni prag detekcije iznosi 1% vjerojatnosti što se koristi kod napadnutog žiga u knjizi.

Page 54: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

53

Slika 6.22 Rezultati verifikacije

Procedura verifikacije odvija se u nekoliko koraka. Nakon što se na poslužitelj pošalje forma za verifikaciju knjige, unesena datoteka zajedno s originalnom knjigom kopira se u isti direktorij. Zatim se dohvati digitalni vodeni žig korisnika i generira se skripta za verificiranje. Nakon generiranja, skripta se pokreće i rezultati se upisuju u privremenu tablicu u bazi podataka. Podaci sadrže podatke o korisniku i statističku informaciju. Statistička informacija podatak je koji sadrži postotak podudaranja žigova i broj detektiranih stranica za odabrani prag detekcije. Kada se izvrši verificiranje za sve korisnike ili samo jednog odabranog, ispisuju se rezultati u tablicu i prikazuju u web pregledniku. Primjer rezultata prikazan je na slici 6.22. Verifikacija knjige programski je najzahtjevnija komponenta sigurne digitalne knjižnice i može trajati nekoliko minuta, što ovisi o broju korisnika, tj. koliko puta se ponavlja izvršavanje skripte. Primjer dijela stvaranja skripte prikazan je na sljedećem programskom kodu.

function stvori_batch_wm_cut($ime_dir, $wm, $br_stranica,…){ … //pozicioniraj se u radni direktorij $zapis = "cd \"$ime_dir\"\r\n"; //raspakiraj arhivu i obrisi original $zapis .= "C:\\programi_wm\\rar.exe e \"$ime_dat_knjige\"\r\ndel \"$ime_dat_knjige\"\r\n";

Page 55: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

54

$zapis .= "C:\\programi_wm\\rar.exe e \"$ime_wm_knjige\"\r\ndel \"$ime_wm_knjige\"\r\n"; //stvori zig $zapis .= "C:\\programi_wm\\gen_zhu_sig.exe -F C:\\programi_wm\\filter.dat -S $wm -o zig1000.sig\r\n"; //izdvoji blok iz originalne slike $zapis .= "C:\\programi_wm\\watermarking.exe -cut " . $br_stranica . "\r\n"; //izdvoji blok iz oznacene slike $zapis .= "C:\\programi_wm\\watermarking.exe -cut_wm " . $br_stranica . "\r\n"; //detektiraj zig for($i=1; $i<=$br_stranica; $i++){ $zapis .= "C:\\programi_wm\\wm_zhu_d.exe -a 0.2 -l 2 -i " . $i . "_blok.pgm -s zig1000.sig -o zig_ex_1000.sig " . $i . "_blok_wm.pgm\r\n"; $zapis .= "C:\\programi_wm\\cmp_zhu_sig.exe -C -s zig1000.sig zig_ex_1000.sig > " . $i . ".txt\r\n"; } //obrisi dodatne datoteke *.pgm i *.sig $zapis .= "del *.pgm\r\ndel *.sig\r\n"; if(!fwrite($file, $zapis)){ // echo "stvori_batch_wm_add(): nije moguce pisati u datoteku"; //zatvori datoteku fclose($file); // obrisi skriptu unlink($ime_skripte); return $var; }… }

6.3.11 Statistike i zapisi o transakcijama

Kako bi sigurna digitalna knjižnica u potpunosti slijedila trend modernih informacijskih sustava, knjižnica pruža usluge statističke analize logova. Usluge statistike logova podijeljeni su u dvije grupe. Jedna grupa namijenjena je svim posjetiteljima web portala, a sadrži uslugu 10 najtraženijih knjiga. Druga je grupa usluga namijenjena administratoru sustava. U toj grupi nalaze se tri usluge: uspješne, neuspješne prijave i 10 korisnika s najviše skinutih knjiga. Navedene usluge dovoljne su za praćenje i analizu rada sustava.

Usluga 10 najtraženijih knjiga prikazuje prvih deset knjiga koje su najviše puta skinute. Ova informacija omogućuje posjetiteljima web portala odabir najčitanijih knjiga. Statistika govori o traženosti i kvaliteti sadržaja knjiga. Druga grupa usluga namijenjena je administratoru koji na temelju statističkih rezultata donosi odluke. Uspješne i neuspješne prijave daju informaciju o broju prijava ili pogrešnih pokušaja prijava u sustav. Iz navedenih informacija može se zaključiti kojom se frekvencijom koristi web portal sigurne digitalne knjižnice te se može utvrditi pokušaj neovlaštenog upada u sustav. Primjer neuspješnih prijava prikazan je na slici 6.23.

Page 56: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

55

Slika 6.23 Neuspješne prijave

Top 10 korisnika prikazuje podatke o deset korisnika s najviše skinutih knjiga. Iz navedenih podataka administrator može vidjeti korisnike koji najviše rabe uslugu knjižnice. Ova informacija može služiti i kao temelj za naplaćivanje usluga skidanja knjiga. Sigurna digitalna knjižnica namijenjena je za studensko okruženje pa naplaćivanje usluga nije predviđeno. Implementacija statističkih usluga vrlo je zahtjevna za sustav za upravljanje bazama podataka jer se rješava izvršavanjem SQL upita. Primjer SQL upita za uslugu neuspješne prijave prikazan je na sljedećem PHP kodu.

function user_registration($sort, $all){ … $log = "SELECT login_error.user_name, student.mbr, student.ime, student.prezime, COUNT(*) AS br FROM login_error LEFT OUTER JOIN student_racun ON login_error.user_name = student_racun.user_name LEFT OUTER JOIN student ON student_racun.mbr_student = student.mbr WHERE login_error.opis LIKE '%PRIJAVA%' GROUP BY 1 ORDER BY '$sort'"; …

Page 57: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

56

6.4 Prilagodba Zhu algoritma

Sigurna digitalna knjižnica jedinstven je sustav i za njezin rad potreban je algoritam za označavanje slika digitalnim vodenim žigom. Za implementaciju odabran je Zhu algoritam zbog svojih dobrih osobina opisanih u prethodnim poglavljima. Zhu algoritam omogućuje označavanje kvadratnih slika s veličinom (broj piksela) stranica potencije broja dva (dimenzije 128×128, 256×256, 512×512, …). Slike stranica knjige su pravokutnog formata i označavanje takvih slika nije moguće Zhu algoritmom.

Zbog navedenih razloga potrebno je prilagoditi algoritam slikama pravokutnog formata. Prilagodba se može izvesti na razne načine. U sigurnoj digitalnoj knjižnici korištena je vrlo jednostavna metoda. Iz slike stranica knjige izdvoji se kvadratna slika koja se kasnije koristi u postupku označavanja digitalnim vodenim žigom. Veličina tog kvadrata je 512×512 piksela. Veličina kvadrata ima i praktičnu podlogu koja ovisi o skeniranju stranica knjige. Skenirane slike stranica su oko 2 puta veće od isječenog kvadrata (512×512). Veća vrijednost isječka, npr. 1024×1024, nema praktičnu primjenu jer se skeniranje knjiga ne odvija s tako visokom rezolucijom zbog prekomjerne uporabe računalne memorije. Nakon završenog označavanja, označeni kvadrat slike ponovno se vraća na mjesto iz kojega je izdvojen.

Slika 6.24 Područje digitalnog vodenog žiga

Vidljivo je da se zaštita sadržaja knjige izvodi samo na dijelu svake stranice. Takav pristup smanjuje vizualna izobličenja u kopijama knjige. S druge strane smanjuje se

Page 58: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

57

otpornost knjiga na napade. Ako napadač uspije uništiti samo žig, ostali dio sadržaja knjige je i dalje čitljiv, dok je dio s žigom potpuno uništen. Navedeni nedostatak otpornosti knjige na napade može se riješiti dobrim odabirom veličine žiga i pozicijom na stranici. Najviše informacija nalazi se u sredini stranica knjige, stoga se postavljanjem žiga na sredinu stranice rješava problem smanjene otpornosti. Uništavanjem žiga uništi se i najveći dio informacija pa je ostatak stranice neuporabljiv. Primjer ubacivanja žiga prikazan je na slici 6.24.

Prilagodba Zhu algoritma ostvarena je programskim jezikom C. Program ima dvije osnovne funkcije. Prva je funkcija izdvajanje dijela slike za označavanje digitalnim vodenim žigom, a druga je stavljanje označenog dijela slike u kopiju stranice. Izvedba je jednostavna jer se koriste slike pohranjene u nesažetom (PGM) formatu. Format slike ima jednostavnu strukturu i izdvajanje dijela slike izvodi se jednostavnim kopiranjem piksela u novonastalu sliku. Datoteka slike sastoji se zaglavlja i podataka. Zaglavlje se sastoji od definiranog identifikatora, dimenzije slike i broja razina sive boje u slici. Podaci o svjetlini piksela pohranjeni su slijedno jedan za drugim. Primjer izdvajanja kvadrata veličine 512×512 za prilagodbu prikazan je na sljedećem kodu.

int load_wm_image(char *file, int X, int Y, int *data) { … //zaglavlje ch1=getc(fp); ch2=getc(fp); if (ch1!='P' || (ch2!='5' && ch2!='2')){ printf("Greska: Krivi format zaglavlja datoteke!\n"); fclose(fp); return NULL; }… //pozicioniranje na pocetak bloka start = (Y)*width+X; if(fseek(fp,start*sizeof(char),SEEK_CUR) != 0){ printf("Greska: Neuspjelo citanje podataka iz datoteke!\n"); fclose(fp); return NULL; } //izdvoji podatke for (i=0; i<512; i++) { for(j=0; j<512; j++){ if (ch2=='5') *data=getc(fp); else *data=read_int(fp); data++; } if(i==511) continue; //preskaceno zadnje pomicanje … if(fseek(fp,(width-512)*sizeof(char),SEEK_CUR) != 0){ printf("Greska: Neuspjelo citanje podataka … fclose(fp); return NULL; } } fclose(fp); return 1; }

Page 59: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

58

6.5 Sigurnosni mehanizmi sigurne digitalne knjižnice

Sigurna digitalna knjižnica ostvarena je kao siguran informacijski sustav koji u sebi sadržava razne implementirane sigurnosne mehanizme. Osnovni je sigurnosni mehanizam označavanje sadržaja knjige digitalnim vodenim žigom. Najviše detalja posvećeno je njegovoj implementaciji i odabiru najprihvatljivijeg algoritma za označavanje sadržaja knjige (slika stranica knjige). Uz digitalne vodene žigove kao najvažniji dio sigurnosnih mehanizama, sigurnost je realizirana drugim mehanizmima koji rješavaju probleme tajnosti, integriteta podataka i neporecivosti.

Dio sigurnosnih mehanizama implementiran je već pri samom instaliranju komponenata na poslužitelj. Mehanizmi sigurnosti implementirani kod instaliranja komponenata na poslužitelj su: SSL komunikacija2, korisnička sjednica3 i pristup bazi podataka4. Ostali dio sigurnosnih mehanizama realiziran je u PHP serverskom skriptnom jeziku kojim su ostvarene sve usluge sigurne digitalne knjižnice. Svaka usluga sigurne digitalne knjižnice u sebi ima implementirane određene sigurnosne mehanizme.

Registriranje korisnika zahtijeva pohranjivanje autentifikacijskih podataka (korisničkog imena i lozinke) u bazu podataka. Podaci nakon pristupa bazi lako su čitljivi i potrebno ih je zaštititi od zlonamjernih administratora. Zaštita se temelji na pohrani sažetka (Hash) vrijednosti lozinke umjesto čistog teksta lozinke. Ovim sigurnosnim mehanizmom štite se identifikacijski podaci koji se koriste pri autorizaciji u sustav sigurne digitalne knjižnice. Uz ovaj mehanizam slijedi i sigurnosni mehanizam autorizacije korisnika čija je izvedba opisana u poglavlju 6.3.2. Autorizacija je izvedena u tri razine (detalji opisani u poglavlju 6.1) i dodatno je zaštićena vremenskim trajanjem sjednice. U bazi podataka uz osnovne se podatke o korisniku (ime i prezime) pohranjuje i e-mail adresa korisnika. E-mail adresa koristi se za razdvajanje komunikacije na dva dijela (web i e-mail). Razdvajanje komunikacije poznato je kod vodećih svjetskih tvrtki (Google, Adobe, …) koje koriste Internet kao medij za svoje poslovanje i pristup informacijama. Takav način omogućuje sigurniju komunikaciju dvije strane, klijenta i poslužitelja, u našem slučaju registriranog korisnika i sigurne digitalne knjižnice. Razdvajanje komunikacije otežava napadaču praćenje informacija koje dvije strane izmjenjuju (dio informacija prenosi se jednim

2 SSL omogućava tajnu komunikaciju između poslužitelja i korisnika usluga sigurne digitalne knjižnice. Zasniva se na kriptiranju informacija koje putuju između klijenta i poslužitelja. SSL komunikacija opisana je u poglavlju 6.2.1.

3 Sjednica omogućava autentifikaciju i autorizaciju korisnika u sustav sigurne digitalne knjižnice. Implementacija sjednice zasniva se na pohrani korisničkih podataka na strani web poslužitelja kod posjete web portala. Sjednica je opisana u poglavlju 6.2.2.

4 Pristup bazi podataka omogućen je poznavanjem korisničkog imena i lozinke. Implementacija pristupa izvedena je kod instaliranja MySQL baze podataka. Administrator jedini zna lozinku pristupa i jedini ima mogućnost pristupa informacijama pohranjenim u bazi. Više detalja nalazi se u poglavlju 6.2.3.

Page 60: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

59

komunikacijskim kanalom, a dio drugim). Vremenski odmak ovih dvaju komunikacijskih kanala povećava sigurnost. Web komunikacija događa se trenutno, a e-mail komunikacija odvija se kasnije (kad korisnik dohvaća elektroničku poštu). Vremenski odmak može trajati od par minuta do nekoliko sati. Napadom na samo jedan kanal napadač može dobiti samo dio informacija, a to mu nije dovoljno za narušavanje integriteta, tajnosti informacija i sigurnosti cijelog sustava. Ovaj mehanizam korišten je kod usluga registracije korisnika i dohvata knjige.

Povećanje sigurnosti sustava od napada hakera povećano je potvrdom aktiviranih usluga sigurne digitalne knjižnice. Nakon aktiviranja usluge koja mijenja stanje baze podataka, potrebno je lozinkom potvrditi transakciju navedene usluge5. Iako su korisnici kod pristupa sustavu unijeli svoje lozinke za svaku pojedinu akciju, traži se ponovi unos lozinke. Mehanizam je vrlo iritantan jer zahtijeva dodatnu interakciju s korisnikom, ali ima veliku snagu kod napada na sustav. Kad bi napadač uspio upasti u kriptiranu sjednicu, njegova aktivnost bila bi blokirana. Napadač, nakon upada u sjednicu, postaje prepoznat od strane sustava kao autorizirani korisnik. Nadalje, napadač je onemogućen izvršavati usluge jer svaka usluga zahtijeva potvrdu lozinkom koju on ne zna. Pokušaj napada ne narušava integritet i tajnost informacija u bazi podataka sigurne digitalne knjižnice što je najvažnija sigurnosna osobina informacijskih sustava.

Posljednji sigurnosni mehanizam namijenjen je zaštiti skinute digitalne knjige. U postupku skidanja knjige koristi se generator slučajnih brojeva. On služi za stvaranje naziva javnog direktorija i lozinke za pristup tom direktoriju. Naziv javnog direktorija nastaje generiranjem slučajnog naziva i sastoji se od 32 znaka. Veličina i slučajnost naziva javnog direktorija daje sigurnost skinutoj knjizi. Lozinka za razliku od direktorija sastoji se od 16 znakova. Znakovi ne čine cijelu abecedu i brojeve, već su to samo heksadekadski brojevi. Napadač javnog direktorija treba za upad u direktorij pogoditi ime direktorija koji ima 3216 različitih kombinacija, znati korisničko ime vlasnika i pogoditi lozinku koja ima 1616 različitih kombinacija. Problem koji napadač ima pred sobom jednak je slučajnom pogotku jednog broja koji se nalazi u intervalu veličine većem od 5016 brojeva6.Ovaj je problem nemoguće riješiti današnjim računalima jer im za to trebaju milijarde godina. Stoga je digitalna knjiga sigurno zaštićena u javno dostupnom direktoriju na poslužitelju sigurne digitalne knjižnice. Povećanje sigurnosti digitalne knjige postiže se vremenskom dostupnosti javnog direktorija. U roku od dva dan korisnik mora dohvatiti knjigu jer se javni direktorij briše s poslužitelja i knjiga više nije dostupna za dohvat. Za to se brine skripta koju pokreće operacijski sustav svakih nekoliko sati, ovisno o potrebama.

5 Administrator nakon dodavanja novog korisnika treba potvrditi izvršenje usluge ponovnim unošenjem lozinke. Registrirani korisnik kod skidanja knjige također treba svojom lozinkom potvrditi izvršenje usluge skidanja.

6 Za usporedbu, u poznatom dijelu svemira ima više od 22107× zvijezda. Izvor Wikipedia [21]

Page 61: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

60

77.. ZZaakklljjuuččaakk

Za ostvarivanje projekta sigurne digitalne knjižnice bilo je potrebno odabrati i implementirati mehanizme za zaštitu sadržaja digitalnih knjiga od nepovlaštenog kopiranja. Tehnologija koja se koristila za tu zaštitu je tehnologija označavanja slika digitalnim vodenim žigom. Kako je ta tehnologija izravno vezana za fotografije, potrebno je bilo odabrati algoritam koji može poslužiti i za druge vrste slika (slike koje na sebi sadrže i tekst). Prema rezultatima istraživanja, koje je provedeno na algoritmima za označavanje slika digitalnim vodenim žigom, odabran je najbolji algoritam kao mehanizam za zaštitu sadržaja od nepovlaštenog kopiranja.

Izdvojila su se tri algoritma: Wang, Xia i Zhu sa sličnim svojstvima. Stabilnost, visok stupanj korelacije i preživljavanje JPEG kompresije bile su karakteristike koje su presudile u odabiru. Završni odabir algoritma zahtijevao je dodatno ispitivanje ova tri algoritama na napad promjenom veličine slike i ponovim vraćanjem u prijašnje stanje. Odabran je Zhu algoritam zbog visoke korelacije nakon napada i vizualne kvalitete označene slike.

Prilagodbom ovog algoritma za zaštitu knjiga sigurne digitalne knjižnice načinjen je važan korak u razvoju i usavršavanju metoda za zaštitu sadržaja digitalnih knjiga od nepovlaštenog kopiranja. Implementacija cijelog sustava sigurne digitalne knjižnice načinjena je radi jednostavnog korištenja usluga: traženja i posuđivanja (skidanja) knjiga. Uz pojednostavljivanje usluga korisnicima, implementacija je omogućila i jednostavno vođenje knjižnice i upravljanje digitalnim knjigama. Administratori koji obavljaju taj posao vrlo jednostavno mogu registrirati korisnika, dodati knjigu, verificirati knjigu, pratiti statistike, itd.

Zaštita od nepovlaštenog kopiranja načinjena je transparentno za korisnike sigurne digitalne knjižnice. Korisnici sustava ne mogu ni na koji način zaključiti da je knjiga zaštićena digitalnim vodenim žigom, odnosno mehanizmom za zaštitu od nepovlaštenog kopiranja. Ako korisnik namjerno prekrši pravila kopiranja, može biti suspendiran i onemogućen u daljnjoj uporabi sustava. Nepovlašteno kopiranje može detektirati administrator sustava utvrđivanjem vlasnika knjige. U postupku verificiranja utvrđuje se vlasništvo nad kopijom knjige. Utvrđivanje vlasnika knjige identično je detektiranju digitalnog vodenog žiga. Kako je zaštita od nepovlaštenog kopiranja ovisna o odabranom algoritmu, tako je i cijeli sustav ovisan o otpornosti žiga na napade.

Utvrđivanje vlasnika knjige prolazi s visokih 99% sličnosti i ne događa se preklapanje vlasništva s drugim korisnikom. Za napadnute knjige (JPEG kompresija, dodavanje šuma) utvrđivanje vlasništva prolazi s nižom vrijednosti sličnosti koje se kreću od 10% na više, ovisno o vrsti napada. Ta niska sličnost ne treba predstavljati problem jer je sadržaj knjige potpuno nečitljiv. Napad na digitalnu knjigu najprije uništi sadržaj knjige, a identitet korisnika u digitalnom vodenom žigu ostaje i dalje sačuvan uz manju vrijednost detekcije.

Page 62: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

61

Ovako implementirani sustav sa svim modernim tehnologijama današnjice može ubrzo zamijeniti gradske knjižnice. Sadržaj knjižnica postaje dostupan cijelom svijetu i to na vrlo jednostavan način. Pretraživanje knjiga svodi se na unošenje ključnih riječi u tražilicu, a dohvat knjiga odvija se u par minuta. Ne može se dogoditi nestanak knjiga na “polici“, a knjige za svoj smještaj ne traže velik fizički prostor.

Nedostatak je sustava sigurne digitalne knjižnice taj što je većina knjiga još u papirnatim izdanjima i prethodi im dugotrajan postupak digitalizacije.

Primjena Zhu algoritma kao temeljnog mehanizma zaštite od nepovlaštenog kopiranja ima veliku prednost jer je navedeni algoritam predviđen i za označavanje pokretnih slika, tj. video sadržaja. Implementiranjem Zhu algoritma za označavanje video sadržaja i uporabom istog sustava jednostavno se može razviti sustav za zaštitu filmova od nepovlaštenog kopiranja.

Ova tehnologija je stara tek desetak godina i za njeno usavršavanje potrebno je mnogo istraživanja. Sadašnji su algoritmi za označavanje digitalnim vodenim žigovima slabo otporni na sve vrste napada. Potrebno je kombinacijom ili odabirom novih metoda načiniti nove algoritme koji bi riješili sadašnje nedostatke preživljavanja napada. Nadamo se da će i ovaj diplomski rad imati utjecaja na daljnji razvoj tehnologije i sustava za zaštitu sadržaja, kako digitalnih knjiga, tako i ostalih vrsta multimedijskih dokumenata.

Page 63: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

62

SSaažžeettaakk

U ovom diplomskom radu opisani su i ispitani sigurnosni mehanizmi za zaštitu sadržaja digitalne knjižnice od neovlaštenog kopiranja. Zaštita je temeljena na otpornim digitalnim vodenim žigovima s pomoću kojih se može dokazati izvornost digitalnih dokumenata. Sustav omogućuje sigurnu autentifikaciju i autorizaciju korisnika, upravljanje korisničkim računima, ažuriranje digitalne knjižnice te ubacivanje i detekciju digitalnih vodenih žigova.

AAbbssttrraacctt

In this thesis are described and explored securing mechanisms for protection of the content of the digital library from unauthorized copying. Protection is based on resistant digital watermarks with whom it can be proved the originality of the digital documents. The system enables safe authentication and authorization for users, managing of user counts, updating of a digital library and infiltration and detection of the digital watermarks.

Page 64: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

63

LLiitteerraattuurraa

[1] Andy Harris: PHP 5/MySQL Programming for the Absolute Beginner, Thomson Course Technology, 2004.

[2] Apache, dostupno na Internet adresi http://www.apache.org

[3] Christopher Cosentino: Advanced PHP for Web Professionals, Prentice Hall PTR, 2002.

[4] CiteSeer.IST, Scientific Literature Digital Library, dostupno na Internet adresi http://citeseer.ist.psu.edu

[5] Emily Vander Veer: JavaScript For Dummies, Wiley Publishing, 2004.

[6] FER, Digitalni vodeni žigovi, dostupno na Internet adresi http://os2.zemris.fer.hr/index.php?kat=81

[7] David Axmark i Michael “Monty” Widenius: MySQL Reference Manual, dostupno na Internet adresi http://downloads.mysql.com/docs/refman-4.1-en.chm

[8] Mehdi Achour, Friedhelm Betz i dr.: PHP Manual, dostupno na Internet adresi http://hr.php.net/get/php_manual_en.chm/from/this/mirror

[9] Jay Greenspan i Brad Bulger: MySQL/PHP Database Applications, M&T Books, 2001.

[10] Jonathan Cummins, Patrick Diskin, Samuel Lau and Robert Parlett: Steganography And Digital Watermarking, dostupno na Internet adresi http://www.cs.bham.ac.uk/~mdr/teaching/modules03/security/students/SS5/Steganography.pdf

[11] Mohammed J. Kabir: Apache Server 2 Bible, Hungry Minds, 2002.

[12] MySQL, dostupno na Internet adresi http://www.mysql.com

[13] NetPBM library, dostupno na Internet adresi http://wuarchive.wustl.edu/graphics/package/NetPBM/ ili http://netpbm.sourceforge.net

Page 65: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

64

[14] Peter Meerwald, Digital Watermarking, dostupno na Internet adresi http://www.cosy.sbg.ac.at/~pmeerw/Watermarking

[15] PHP, dostupno na Internet adresi http://www.php.net

[16] Randy J. Jarger, George Reese, Tim King, Hugh E. Williams: Managing and Using MySQL, O'Reilly, 2002.

[17] Saraju P. Mohanty: Digital Watermarking: A Tutorial Review, dostupno na Internet adresi http://citeseer.ist.psu.edu/mohanty99digital.html

[18] Tobias Ratschiller i Till Gerken: Web Application Development with PHP 4.0, New Riders, 2000.

[19] Watermarking World, dostupno na Internet adresi http://www.watermarkingworld.org

[20] Wenwu Zhu, Zixiang Xiong, i Ya-Qin Zhang: Multiresolution Watermarking for Images and Video, IEEE Transactions on Circuits and Systems for Video Technology, 1999.

[21] Wikipedia, broj zvijezda u vidljivom svemiru, dostupno na Internet adresi http://bs.wikipedia.org/wiki/Svemir#Veli.C4.8Dina_Svemira_i_opservabilni_Svemir

Page 66: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

65

SSaaddrržžaajj::

1. Uvod ............................................................................................................... 1

2. Tehnike skrivanja informacija.................................................................... 2

3. Digitalni vodeni žigovi.................................................................................. 8

3.1 Umetanje digitalnog vodenog žiga ..........................................................................8

3.2 Detekcija digitalnog vodenog žiga...........................................................................9

3.3 Podjela digitalnih vodenih žigova .........................................................................10

3.4 Primjena digitalnih vodenih žigova ......................................................................13

3.5 Napadi na digitalne vodene žigove........................................................................14

4. Označavanje slika digitalnim vodenim žigovima.................................... 16

5. Sigurna digitalna knjižnica ....................................................................... 20

5.1 Odabir algoritma za umetanje digitalnog vodenog žiga .....................................21

6. Praktična izvedba sigurne digitalne knjižnice......................................... 29

6.1 Usluge sigurne digitalne knjižnice.........................................................................30

6.2 Instaliranje i podešavanje poslužitelja .................................................................32 6.2.1 SSL – siguran komunikacijski kanal.................................................................................33 6.2.2 Upravljanje sjednicom......................................................................................................34 6.2.3 Pohrana podataka ............................................................................................................34

6.3 Ostvarivanje usluga sigurne digitalne knjižnice..................................................35 6.3.1 Dizajniranje baze podataka..............................................................................................36 6.3.2 Ostvarivanje sustava autorizacije ....................................................................................38 6.3.3 Registracija korisnika.......................................................................................................40 6.3.4 Aktivacija korisnika ..........................................................................................................42 6.3.5 Suspenzija korisnika .........................................................................................................42 6.3.6 Traženje i popis svih korisnika .........................................................................................43 6.3.7 Dodavanje knjige..............................................................................................................45 6.3.8 Traženje i popis svih knjiga..............................................................................................47

Page 67: DIPLOMSKI RAD br. 1667sigurnost.zemris.fer.hr/wm/2007_sobota/doc/FER_SDK.pdfNevidljivi su digitalni vodeni žigovi “nevidljivi“ u smislu da ih čovjek vizualno ne može

Sigurna digitalna knjižnica

66

6.3.9 Kopiranje knjige s poslužitelja na Internetu na lokalno računalo ...................................48 6.3.10 Verificiranje knjige ......................................................................................................51 6.3.11 Statistike i zapisi o transakcijama................................................................................54

6.4 Prilagodba Zhu algoritma .....................................................................................56

6.5 Sigurnosni mehanizmi sigurne digitalne knjižnice..............................................58

7. Zaključak .................................................................................................... 60

Sažetak................................................................................................................ 62

Literatura ........................................................................................................... 63