Cyfrowy znak wodny

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

KryteriumPodziałOpis
Widoczność znaku wodnegoWidocznyZnak wodny jest łatwo zauważalny, nie może jednak zakłócać treści samego obrazu.
NiewidocznyZnak 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łóceniaOdpornyZnak wodny możliwy do wykrycia nawet po transformacjach obrazu oryginalnego.
UlotnyJakakolwiek zmiana w obrazie oryginalnym powoduje zniszczenie znaku wodnego.
Dziedzina wstawienia znaku wodnegoDziedzina przestrzennaZnak wodny konstruowany poprzez zmianę wartości jasności kolorów pikseli.
Dziedzina transformatyOryginalny obraz jest przekształcany poprzez transformatę, do której współczynników wstawiany jest znak wodny.
Uwzględnienie lokalnych właściwości obrazuPrzystosowujący się do lokalnych cech obrazuZnak 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 obrazuWszystkie piksele oryginalnego obrazu modyfikowane są równomiernie. Metoda wykorzystywana przy obrazach bez wyraźnych konturów i obszarów teksturowanych.
Sposób dekodowania znaku wodnegoNiewymagany obraz oryginalnyOdczyt znaku wodnego możliwy na podstawie obrazu ze znakiem wodnym.
Wymagany obraz oryginalnyDo 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

  • 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

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

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

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

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

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ż

Przypisy

  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

Media użyte na tej stronie

CyfrowyZnakWodnyDekoder.PNG
Autor: Floof, Licencja: CC-BY-SA-3.0
Dekoder - ogólny system cyfrowego znaku wodnego
CyfrowyZnakWodnyKoder.PNG
Autor: Floof, Licencja: CC-BY-SA-3.0
Koder - ogólny system cyfrowego znaku wodnego
Copyright.svg
The copyright symbol drawn in SVG. Image version of the symbol ©.