Cyfrowy znak wodny

Z Wikipedii, wolnej encyklopedii
Przykład grafiki z widzialnym cyfrowym znakiem wodnym identyfikującym rok

Cyfrowy znak wodnytechnologia służąca do oznaczania plików dźwiękowych oraz graficznych.

Metoda cyfrowego znaku wodnego polega na umieszczeniu cyfrowego sygnału znakującego wewnątrz cyfrowej treści. Taki zapis do pliku unikalnej kombinacji bitów identyfikującej twórcę lub właściciela majątkowych praw autorskich może stanowić trudne do wykrycia i usunięcia zabezpieczenie[1]. Wiąże się to jednak z pogorszeniem jakości danych zapisanych w pliku. Co więcej, każda kopia oryginału posiada ten sam niewidoczny lub niemożliwy do usłyszenia dla człowieka znak wodny. W przypadku statycznego obrazu, znak zachowa się nawet po wydrukowaniu i ponownym zeskanowaniu. Metoda ta jest w dużym stopniu odporna na pakowanie plików algorytmami kompresji stratnej oraz ich modyfikacje (kadrowanie i obracanie obrazu, zmiana głębi kolorów, rozmiaru lub formatu pliku). Mimo że cyfrowy znak wodny nie chroni przed kopiowaniem plików, oznakowana w ten sposób grafika lub plik muzyczny może pomóc w lokalizacji stron WWW bądź serwerów FTP, na których pliki te są bezprawnie udostępniane. W związku z tym w cyfrowym znaku wodnym pokładane są obecnie duże nadzieje na skuteczną walkę z piractwem medialnym w Internecie[2].

Cyfrowy znak wodny został wykorzystany do oskarżenia Carmine'a Caridi, byłego członka Amerykańskiej Akademii Filmowej, który przekazywał filmy znajomemu, a ten publikował je w Internecie. Po przegranym procesie Caridi musiał zapłacić wytwórni Warner Bros. ponad 300 tys. USD kary.

Klasyfikacja[edytuj | edytuj kod]

Kryterium Podział Opis
Widoczność znaku wodnego Widoczny Znak wodny jest łatwo zauważalny, nie może jednak zakłócać treści samego obrazu.
Niewidoczny Znak wodny niezauważalny dla oka ludzkiego. Jego odczyt możliwy wyłącznie techniką cyfrową. Nieuniknione zmiany oryginalnego obrazu powinny być trudne do wychwycenia.
Odporność znaku wodnego na zakłócenia Odporny Znak wodny możliwy do wykrycia nawet po transformacjach obrazu oryginalnego.
Ulotny Jakakolwiek zmiana w obrazie oryginalnym powoduje zniszczenie znaku wodnego.
Dziedzina wstawienia znaku wodnego Dziedzina przestrzenna Znak wodny konstruowany poprzez zmianę wartości jasności kolorów pikseli.
Dziedzina transformaty Oryginalny obraz jest przekształcany poprzez transformatę, do której współczynników wstawiany jest znak wodny.
Uwzględnienie lokalnych właściwości obrazu Przystosowujący się do lokalnych cech obrazu Znak wodny wstawiany jest z różną siłą w różnych obszarach, w zależności od cech obszaru (np. jasność, kontrast). Zwykle w takim przypadku znaki wodne są odporne, wstawiane w dziedzinie transformaty. Wprowadzone zniekształcenia są bardzo słabo zauważalne.
Nieuwzględniający lokalnych cech obrazu Wszystkie piksele oryginalnego obrazu modyfikowane są równomiernie. Metoda wykorzystywana przy obrazach bez wyraźnych konturów i obszarów teksturowanych.
Sposób dekodowania znaku wodnego Niewymagany obraz oryginalny Odczyt znaku wodnego możliwy na podstawie obrazu ze znakiem wodnym.
Wymagany obraz oryginalny Do procedury dekodowania potrzebny jest oryginalny obraz, który zostaje porównany z weryfikowanym obrazem. Ta grupa znaków wodnych jest bardzo odporna na zniekształcenia.

Zastosowanie[edytuj | edytuj kod]

  • Ochrona praw autorskich i monitorowanie dystrybucji danych,
  • podpis do obrazu, ukryte adnotacje medyczne, astronomiczne itp.,
  • steganografia,
  • wykrywanie zmian w oznaczonym pliku,
  • widzialny znak wodny np. podpis autora na zdjęciu, logo stacji telewizyjnej w rogu ekranu.

Wymagania[edytuj | edytuj kod]

Korzystając z faktu, że w przekazach multimedialnych występują szumy, na tym poziomie wstawia się cyfrowy znak wodny. Algorytm tworzenia cyfrowego znaku wodnego powinien spełniać kilka podstawowych wymagań:

  • jawny,
  • zgodny ze standardem,
  • gwarantujący nieusuwalność znaku,
  • dający możliwość stosowania klucza prywatnego,
  • zapewniający niezależność znaku cyfrowego od merytorycznej zawartości pliku.

Technologia ta nie nadaje się do znakowania prostych plików graficznych obecnych na większości stron WWW - minimalny rozmiar obrazu, dla jakiego można zastosować cyfrowy znak wodny, to ok. 200x200 pikseli przy 256 kolorach. Spowodowane jest to dużą nadmiarowością zawartej w obrazie informacji - dzięki temu np. przy podziale zdjęcia na fragmenty, każdy z nich zachowa komplet danych.

System cyfrowych znaków wodnych[edytuj | edytuj kod]

Ogólny system wstawiania cyfrowego znaku wodnego
Ogólny system dekodowania cyfrowego znaku wodnego

Ogólny system cyfrowych znaków wodnych składa się zawsze z kodera i dekodera (lub detektora).

Koder na podstawie oryginalnego obrazu i innych opcjonalnych parametrów ma za zadanie stworzyć cyfrowo oznakowany obraz.

Informacja ukryta w pliku może mieć dowolną naturę – tekst, liczba, obraz lub wyłącznie identyfikator, pozwalający stwierdzić, że w obrazie jest cyfrowy znak wodny. Taka informacja przekształcana jest w ciąg bitów, który dodatkowo można zaszyfrować przy pomocy klucza publicznego lub prywatnego. Uzyskany w ten sposób ciąg łączony jest z obrazem bazowym, w wyniku czego otrzymujemy obraz z wstawionym cyfrowym znakiem wodnym.

Dekoder ma za zadanie odczytać informację zawartą w cyfrowym znaku wodnym bądź jedynie wykryć jego obecność w pliku. Schemat dekodera ściśle związany jest ze schematem kodera. Jeśli przy kodowaniu użyto klucza, taki sam klucz powinien zostać podany na wejście dekodera. Dodatkowo może być wymagane podanie na jego wejście obrazu bazowego bądź cyfrowego znaku wodnego w przypadku detektora, który ma za zadanie stwierdzić obecność cyfrowego znaku wodnego.

Techniki wstawiania znaków wodnych[edytuj | edytuj kod]

Poniżej przedstawiono podstawowe metody tworzenia cyfrowych znaków wodnych:

  • algorytmy wstawiania znaków wodnych w dziedzinie przestrzennej:
    • algorytm LSB,
    • algorytm U.C.L.,
    • prosty algorytm modyfikujący średnią jasność bloków,
    • algorytm modyfikujący luminancję z wykorzystaniem szablonów;
  • algorytmy wstawiania znaków wodnych w dziedzinie DCT:
    • algorytm I.G.D.,
    • prosty algorytm modyfikujący współczynniki transformaty,
    • algorytm działający w dziedzinie DCT z rozpraszaniem widma;
  • algorytmy wstawiania znaków wodnych w dziedzinie FFT:
    • prosty algorytm modyfikujący amplitudę współczynników transformaty Fouriera,
    • algorytm wstawiania znaków wodnych odpornych na przekształcenia geometryczne;
  • algorytmy wstawiania znaków wodnych w dziedzinie przekształcenia falkowego;
  • algorytmy wykorzystujące szablon do synchronizacji:
    • algorytm poszukiwania szablonu przy wykorzystaniu funkcji korelacji,
    • algorytm poszukiwania szablonu na podstawie relacji między punktami,
    • algorytm poszukiwania szablonu przy wykorzystaniu funkcji autokorelacji.

Ataki[edytuj | edytuj kod]

Cyfrowy znak wodny powinien być odporny na próby jego usunięcia. Ataki na oznaczone cyfrowo pliki mogą być zamierzone, świadome lub nie – np. można nieświadomie usunąć znak wodny podając oznaczony obraz kompresji JPEG. Tego typu ataki można podzielić na:

  • proste – proste próby usunięcia znaku wodnego poprzez manipulacje danymi np. poprzez zastosowanie filtrów liniowych i nieliniowych, dodanie szumu, wprowadzenie przesunięcia, obcięcie obrazu itd.;
  • udaremniające detekcję znaku wodnego – za zadanie mają uniemożliwienie wykrycia bądź odczytania cyfrowego znaku wodnego. Najczęściej polega to na zniszczeniu synchronizacji między danymi wyjściowymi z kodera a danymi wejściowymi dekodera np. poprzez filtrowanie w dziedzinie transformaty, powiększanie lub pomniejszanie obrazu, przesuwanie w przestrzeni lub w czasie (wideo) itd.;
  • wprowadzające niejednoznaczność znaku wodnego – za zadanie mają zmylenie detektora lub uniemożliwienie jednoznacznego określenia własności poprzez utworzenie fałszywego obrazu oryginalnego bądź fałszywego znaku wodnego np. poprzez atak inwersyjny zwany „atakiem IBM” – odjęcie od podpisanego cyfrowo obrazu fałszywego znaku wodnego. W ten sposób złodziej może twierdzić, że to on pierwszy wstawił znak wodny, gdyż dysponuje (fałszywym) obrazem oryginalnym. Taka operacja uniemożliwia udowodnienie, kto jest prawowitym właścicielem obrazu, gdyż nie ma obiektywnej metody określenia, który obraz jest oryginalny, a który fałszywy;
  • usuwające znak wodny – próby oddzielenia znaku wodnego od obrazu oryginalnego np. metody z dziedziny kryptoanalizy, usuwanie szumu, filtry nieliniowe, ataki wykorzystujące kilka kopii obrazu z różnymi znakami wodnymi w celu otrzymania oryginalnego obrazu.

Oprogramowanie[edytuj | edytuj kod]

W celu ochrony prywatnej twórczości niezbędne jest oprogramowanie do tworzenia cyfrowych podpisów. Podobne funkcje realizuje także większość nowych programów graficznych, takich jak Adobe Photoshop czy Corel PhotoPaint.

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Ingemar J. Cox i inni, Steganography, Elsevier, 2008, s. 425–467, DOI10.1016/b978-012372585-1.50015-2 [dostęp 2022-04-02].
  2. N.F. Johnson, FRANK Y. SHIH * Digital Watermarking and Steganography: Fundamentals and Techniques. CRC/Taylor & Francis (2008). * [[Specjalna:Książki/9781420047578|ISBN 978-1-4200-4757-8]].  46.99. 180 pp. Hardcover, „The Computer Journal”, 53 (5), 2009, s. 616–617, DOI10.1093/comjnl/bxp057, ISSN 0010-4620 [dostęp 2022-04-02].

Linki zewnętrzne[edytuj | edytuj kod]