Zakład ochrony informacji



Pobieranie 0.78 Mb.
Strona11/12
Data28.04.2016
Rozmiar0.78 Mb.
1   ...   4   5   6   7   8   9   10   11   12
Metody transformacyjne


Metody substytucji umożliwiają w łatwy sposób ukrywać informacje w sposób niezauważalny dla człowieka lub dla systemu komputerowego. Jednak metody te mają zasadniczą wadę: dane ukryte za ich pomocą są mało odporne na zniszczenie nawet przy niewielkich modyfikacjach nośnika. W przypadku metody LSB wystarczy wykonać filtrowanie obrazu, przekształcenie geometryczne czy zmianę kolorystyki aby uszkodzić ukrytą informację lub doprowadzić do tego, że nie będzie możliwości jej odczytania. Dobitnie widoczne jest to przy stratnej kompresji obrazu, np. JPEG. Jeżeli z wykorzystaniem metody LSB ukryje się obraz w obrazie na 4 bitach w każdej składowej koloru, to już przy niewielkim stopniu kompresji, wyrażonej przez współczynnik jakości obrazu JPEG równy 90%, następuje zniszczenie 75% punktów obrazu ukrytego [12].

Najnowsze metody steganograficzne nie koncentrują się już na dźwięku w funkcji czasu czy obrazie w reprezentacji geometrycznej, ale na ich reprezentacjach częstotliwościowych. Reprezentacja częstotliwościowa, zwana także spektralną lub falową, jest aproksymacją funkcyjną zbioru cyfrowych danych, np. próbek dźwięku czy wartości barwy punktów obrazu. Aproksymacja funkcyjna uzyskiwana jest poprzez wykonanie przekształcenia transformującego, np. transformacji Fouriera lub transformacji kosinusowej. Odporność danych ukrytych metodami transformacyjnymi jest dużo większa niż danych ukrytych poprzez metody substytucji. Wynika to z faktu, że metody substytucji wykorzystują najmniej znaczące części danych lub puste miejsce, a metody transformacyjne ukrywają dane na przestrzeni całego nośnika i w znaczących jego częściach, a te części danych nośnika nie są eliminowane przez kompresję i proste zniekształcenia.

Dołączanie poufnej informacji w przestrzeni transformowanej polega na modyfikacji podzbioru wartości współczynników transformat dla całego nośnika lub jego wybranych obszarów. W przypadku obrazu idealne ukrycie danych w przestrzeni transformacji powoduje równomierny rozłożenie informacji w przestrzeni geometrycznej. Wynikiem jest modyfikacja układu bitów obrazu w taki sposób, że dane są odporne na zniszczenie, a jednocześnie trudne do wykrycia.

Odczyt informacji ukrytej może nastąpić przez: porównanie nośnika przed i po przetworzeniu, co wykorzystuje się w znakowaniu wodnym, lub użycia stego-klucza, który był użyty do ukrycia danych (tzn. określającego obszar lub sposób ukrycia danych).

Podstawowe transformacje stosowane w steganografii przedstawione są poniżej.
Transformacja Fouriera
Dyskretna transformacja Fouriera DFT (ang. Discrete Fourier Transform) polega na przybliżeniu wartości N próbek sygnału za pomocą złożenia wielu funkcji okresowych sinus i kosinus. Przekształcenie transformujące może być stosowane do funkcji dyskretnej jednej zmiennej, np. sygnału dźwiękowego (10) lub obszaru dwuwymiarowego, czyli obrazu (11).

(10)
(11)

gdzie:


I(m, n) – funkcja, określona na obszarze dwuwymiarowym M na N, reprezentująca wartości punktów obrazu,

u, v – częstotliwość pozioma i pionowa fali.


Wynikiem transformacji jest funkcja dwóch zmiennych reprezentujących częstotliwość poziomą i pionową. Reprezentację geometryczną obrazu można z powrotem przywrócić wykonując odwrotną transformację Fouriera:
(12)
Transformacja Fouriera zwraca zbiór liczb zespolonych. Na potrzeby przetwarzania obrazu wykorzystuje się zbiór modułów tych liczb |F(u, v)| - amplitud funkcji sinus i cosinus (tzw. widmo). Przykładowe wykresy widmowe przedstawia rys. 7. Usuwając lub wzmacniając amplitudy dla różnych częstotliwości można skutecznie przetwarzać obrazy, np. usuwać okresowe zakłócenia powstające przy skanowaniu obrazu lub filtrować obraz filtrami górnoprzepustowym i dolnoprzepustowym.


a)



b)



c)



d)


Rys. 27. Wykresy widma powstałego w wyniku transformacji Fouriera; a) i c) – obrazy przed transformacją; b) i d) – wykresy widma obrazów a) i c).

Zbiór amplitud prezentowany jest w postaci wykresu funkcji intensywności (im wyższa amplituda sygnału tym większa intensywność punktu na wykresie). Wymiary wykresu odpowiadają wymiarom transformowanego obrazu. Początek układu współrzędnych reprezentujący wartość średnią obrazu znajduje się po środku płaszczyzny wykresu ((u, v) = (0, 0)). W okolicy środka znajdują się moduły fal o małych częstotliwościach. Amplitudy składowych o coraz większych częstotliwościach reprezentowane są przez punkty coraz bardziej oddalone od środka wykresu. Najwyższe częstotliwości (najmniejsza długość periodycznego sygnału odpowiada dwom punktom obrazu) rozmieszczone są na brzegach płaszczyzny wykresu, tj. u = ± M/2 i  v = ± N/2. Linia łącząca dany punkt wykresu reprezentujący pewną amplitudę fali i środek układu współrzędnych określa kierunek przebiegu danej fali. Wykres jest symetryczny względem środka układu współrzędnych. Więcej na ten temat można przeczytać w pozycjach [27,28].

Niewielkie modyfikacje wartości amplitud fal nie powodują widocznych zniekształceń w obrazie po wykonaniu transformacji odwrotnej. Oznacza to, że modyfikacja składników widma może posłużyć ukrycia poufnych danych w obrazie bez wprowadzania do niego widocznych zniekształceń. Oprócz modyfikacji widma amplitudowego możliwa jest również zmiana wartości faz składników częstotliwościowych na potrzeby steganografii dźwiękowej.

Transformacja Fouriera ma ciekawe właściwości, które powodują że dobrze nadaje się do znakowania wodnego. Dane ukryte w widmie odporne są na zniszczenia w wyniku przekształceń geometrycznych nośnika [27]. W przypadku translacji obrazu o dowolny wektor widmo nie ulega zniekształceniu:
(13)

(14)


Jeżeli nośnik zostanie obrócony o pewien kąt Ө0 widmo też zostanie obrócone o ten sam kąt:


(15)
Skalowanie nośnika powoduje odpowiednie skalowanie widma:


(16)

Dzięki zastosowaniu transformacji DFT można uzyskać doskonały opis częstotliwościowy sygnału, ale nie da się uzyskać informacji o gdzie konkretne komponenty częstotliwościowe występują w czasie lub przestrzeni obrazu. Odpowiedzią na tą potrzebę jest analiza „krótkiego czasu” STFT (ang. Short-time Fourier Transform). Metoda polega na podziale sygnału na interwały o określonej długości i wykonaniu transformacji Fouriera na każdym odcinku osobno.



Transformacja kosinusowa
Dyskretna transformacja kosinusowa DCT (ang. Discrete Cosine Transform) stanowiła matematyczną podstawę kompresji JPEG zanim pojawił się nowy standard JPEG2000. DCT jest ulepszoną transformacją w stosunku do DFT ponieważ eliminuje wysokoczęstotliwościowe składniki powstające w wyniku występowania gwałtownych nieciągłości na granicy okresów czasu periodycznego sygnału lub na brzegach obrazu. Nieciągłości te reprezentowane są poprzez niezerowe wysokoczęstotliwościowe składniki transformacji DFT. Podczas kompresji te składniki są eliminowane co może doprowadzić do zniekształcenia obrazu. Te niepożądane składniki wysokoczęstotliwościowe są eliminowane poprzez połączenie jednego okresu sygnału ze zwierciadlanym obrazem przyległego okresu. Nowy przedział zawiera dwa razy więcej punktów, ale nie ma gwałtownych zmian na granicy. Tak wygładzona funkcja umożliwia zastosowanie przekształceń tylko na liczbach rzeczywistych, co skutkuje znacznym wzrostem wydajności obliczeniowej w stosunku do DFT [29].

Dwuwymiarowa dyskretna transformacja kosinusowa dla macierzy wartości intensywności punktów obrazu przedstawia równanie:


(17)

gdzie:

Transformacja odwrotna przekształcająca obraz do postaci geometrycznej wygląda następująco:
(18)

W kompresji JPEG transformacja DCT wykonywana jest na blokach 8x8 punktów, na które dzielony jest obraz.



Transformacja falkowa
Dyskretna transformacja falkowa DWT (ang. Discrete Wavelet Transform) wykorzystywana jest w kompresji obrazu JPEG2000 [30]. Zastosowanie tej transformacji poprawia stopień kompresji i zwiększa rozdzielczość częstotliwościową w stosunku do wcześniej opisywanych transformacji [29].

Transformacje falkowe konstruują model danych w ten sam sposób co transformacja Fouriera czy kosinusowa, tzn. wyliczają współczynniki wyrażające w jakim stopniu konkretna funkcja opisuje dane sygnału. Jednak analiza z ich zastosowaniem rozszerzona jest o dwa zasadnicze czynniki: wybór funkcji bazowej opisującej sygnał oraz wybór okna - interwału sygnału poddawanego analizie (interwału, w którym funkcja bazowa jest niezerowa). Transformacja Fouriera wykorzystuje funkcje sinus i kosinus jako funkcje bazowe, a interwał w którym funkcja jest niezerowa to przedział (-∞, ∞), nie opisuje więc tak dobrze lokalnych zmian częstotliwościowych sygnału. Metoda STFT wprawdzie rozwiązuje w pewnym stopniu ten problem dzięki temu, że dzieli sygnał na ustalone interwały, ale posiada zasadniczą wadę mianowicie nie uwzględnia w opisie sygnału wpływu fal o okresie większym niż długość ustalonego interwału. Najlepszy opis sygnału dają metody falkowe ponieważ biorą pod uwagę różne funkcje bazowe, które w najlepszy sposób opisują sygnał w danym oknie, które może mieć różną długość. Funkcje bazowe dobierane są różnie. Funkcją bazową (falką) może być każda funkcja o wartości średniej równej zero i skończonej energii. Często stosowaną funkcją bazową jest funkcja Meyera ψ [6]. Przykładowe zbiór funkcji bazowych przedstawia rys. 8.




F
unkcja Haara

M
eksykański kapelusz

F
unkcja Meyera


Rys. 28. Przykładowe falki.
Cały zbiór funkcji bazowych jest wzajemnie ortonormalny (tak jak w przypadku baz sinusoidalnych) i wygenerowany z jednej bazowej funkcji zwanej falką macierzystą (ang. mother wavelet) poprzez skalowanie i translację [29].

Funkcja bazowa jest stosowana lokalnie do określonej części sygnału dzięki technice okna. Rozmiar okna oznaczający rozdzielczość nie jest stały. W przypadku funkcji o dużych okresach stosowane jest duże okno, a w przypadku funkcji o małych okresach – małe. Bardziej skomplikowane okna używają wielu funkcji zdefiniowanych na wielu poziomach. Proces tego typu zwany jest analizą w wielu rozdzielczościach (ang. multiresolution analysis) [6], patrz rys.29.




Rys.29. Podział przestrzeni czas-częstość dla wielorozdzielczej analizy falkowej.
Analiza DWT sygnału polega na dekompozycji i próbkowaniu eliminującemu (ang. downsampling). Dekompozycja separuje składniki nisko i wysokoczęstotliwościowe sygnału poprzez filtrowanie dolnoprzepustowe i górnoprzepustowe na wielu etapach (z różnymi rozdzielczościami). Funkcjami filtra górnoprzepustowego są funkcje bazowe, a funkcje filtra dolnoprzepustowego są funkcjami uzupełniającymi. Etap eliminacji usuwa z sygnału dane niepotrzebne do dalszej rekonstrukcji. Powrót do reprezentacji czasowej sygnału wymaga wykonania próbkowania uzupełniającego (ang. up-sampling) i rekombinacji danych z dwóch pasm powstałych w wyniku filtrowania [29].

Jest wiele funkcji mogących być funkcjami bazowymi dla przekształcenia falkowego. W zależności od samego sygnału jedne funkcje mogą być lepsze od innych. Wybór odpowiedniej funkcji może stanowić klucz steganograficzny jeżeli tylko nadawca i odbiorca znają określoną falkę zastosowaną w transformacji.



Metody relatywnych wartości współczynników DCT
Metoda opisana w publikacji [2] opiera się na modyfikacji relatywnej wartości dwóch lub większej ilości współczynników transformacji DCT obrazu. Metoda wykorzystuje podział obrazu na obszary o rozmiarze 8x8 punktów na których wykonywane są transformacje, tak jak podczas kompresji JPEG. Nadawca kodując informację dzieli obraz na takie obszary, a następnie wybiera je pseudolosowo. Każdy z obszarów bi będzie przechowywał jeden (i-ty) bit informacji.

Przed rozpoczęciem komunikacji nadawca i odbiorca ustalają położenie w bloku dwóch współczynników które będą przechowywały informację. Współczynniki powinny odpowiadać funkcjom kosinus o średnich częstotliwościach. Wynika to z tego, że modyfikacje niskich częstotliwości wprowadzają znaczne zniekształcenia do obrazu, a wysokie częstotliwości odpowiadające szumowi są eliminowane podczas kompresji. Aby zapewnić odporność na zniszczenie ukrytej informacji podczas kompresji JPEG powinno się wybierać współczynniki DCT, którym odpowiadają te same wartości kwantyzacji (oba współczynniki podczas kompresji będą dzielone przez tą samą wartość), np. 22 dla częstotliwości (u1, v1) = (3, 2) i (u2, v2) = (4, 1) wg tabeli 1.


Tabela 1. Wartości kwantyzacji używane w algorytmie kompresji JPEG.


(u,v)

0

1

2

3

4

5

6

7

0

16

11

10

16

24

40

51

61

1

12

12

14

19

26

58

60

55

2

14

13

16

24

40

57

69

56

3

14

17

22

29

51

87

80

62

4

16

22

37

56

68

109

103

77

5

24

35

55

64

81

104

113

92

6

49

64

78

87

103

121

120

101

7

72

92

95

98

112

100

103

99

W przypadku gdy wartości współczynników transformacji spełniają nierówność w(u1, v1) > w(u2, v2) to blok odpowiada bitowi równemu „1”, jeżeli nie - bitowi równemu „0”. Jeżeli różnica wartości nie odpowiada kolejnemu bitowi ukrywanej wiadomości wartości obu współczynników są zamieniane miejscami. Różnica wartości współczynników powinna być odpowiednio duża, aby nie została zniwelowana w procesie kwantyzacji obrazu. Można to uzyskać dodając losowe wartości do obu współczynników. Po dodaniu informacji wykonywana jest odwrotna transformacja. Odbiorca w celu odczytania danych musi wykonać transformację DCT i porównać wartości współczynników.

Podobna metoda, ale bardziej odporna na zniszczenie poufnych danych, została zaproponowana przez Zhao i Kocha [31]. Bit poufnej wiadomości ukrywany są poprzez modyfikację różnic trzech współczynników transformacji DCT zlokalizowanych w obszarze średnich częstotliwości. Dodatkowo przed dodaniem danych wykonywana jest kwantyzacja. Blok przenoszący bit o wartości „1” charakteryzuje się tym, że spełnione są zależności:

Wartości współczynników w bloku przenoszącym „0” są następujące:

Odporność na zniszczenie ukrytej informacji zależy od wartości różnicy D. Jeżeli dany blok nie może spełnić powyższych zależności bez wprowadzania znaczących zmian, które mogłyby wprowadzać znaczne zniekształcenia obrazu, oznaczany jest jako nieprawidłowy. Oznaczenie to polega na modyfikacji współczynników tak aby spełniały jedną z zależności:

Dodawanie informacji po wcześniejszym wykonaniu kwantyzacji umożliwia wybór współczynników w bardziej dowolny sposób w stosunku do wcześniej opisywanej metody, co przyczynia się również do zwiększenia jej bezpieczeństwa.

Metoda modyfikacji widma


Metoda opracowana została przez Licksa i Jordana [32]. Założeniem autorów było opracowanie metody dzięki której dołączane dane będą odporne na zniekształcenia geometryczne nośnika w postaci obrazu. W związku z tym metoda operuje w widmie DFT obrazu.

Wynikiem transformacji jest zbiór liczb zespolonych o rozmiarze odpowiadającym rozmiarowi wejściowego obrazu monochromatycznego (dla obrazu RGB trzy liczby zespolone odpowiadające każdej składowej koloru opisującej jeden punkt obrazu). Na potrzeby tej metody wykorzystano zbiór modułów liczb zespolonych |F(u, v)|, czyli amplitud funkcji sinus i cosinus (tzw. widmo).

Ciąg bitów ukrywanej informacji dodawany jest do wartości poszczególnych składników widma. Do modyfikacji wybierane są amplitudy fal o średnich częstotliwościach ze względu na to, że modyfikacje niskich częstotliwości znaczne zniekształcają obraz, a wysokie częstotliwości są eliminowane podczas kompresji. Zanim poszczególne bity o wartości „1” zostaną dodane mnożone są przez określony mnożnik. To wzmocnienie daje możliwość odczytu informacji nawet po modyfikacjach nośnika. Aby zapewnić większą skuteczność podczas odczytu danych wszystkie amplitudy, do których dodawane są zera dzielone są przez wartość użytego mnożnika.

Metoda modyfikacji widma zapewnia dużą odporność danych na przekształcenia geometryczne obrazu jak: translacja czy skalowanie oraz kompresję stratną JPEG co wynika z właściwości transformacji i widma. Dodatkowo dane umieszczane są na okręgu o określonym promieniu (rys. 10) co powoduje, że łatwo je odczytać również po ataku polegającym na rotacji nośnika, ponieważ widmo obraca się w taki sam sposób (o taki sam kąt) jak obraz.



Rys. 30. Schemat dodawania danych do widma obrazu.

Metoda współczynnika postrzegania
Metoda opisana w pozycji [29] opiera się na transformacji Fouriera i umożliwia ukrycie jednego obrazu w drugim. Oba obrazy (FCnośnik i FE – obraz ukrywany) są transformowane do przestrzeni spektralnej, a następnie łączone według formuły:


gdzie:

J(u,v) – współczynnik postrzegania (ang. perceptual factor) obliczany dla każdego składnika częstotliwościowego.
Współczynnik postrzegania może być addytywny, tzn. reprezentować współczynnik tłumienia α dostosowujący amplitudy ukrywanych fal wg równania (23) lub multiplikatywny gdzie współczynniki transformacji nośnika są związane zgodnie z równaniem (24).



Jeżeli współczynnik postrzegania J(u,v) ustawiony zostanie na wartość równą 1 to otrzymamy liniową kombinację obu obrazów:


Współczynnik α może zostać dobrany eksperymentalnie dla każdego zestawu obrazów. Wynik przykładowego ukrycia wykonanego ze współczynnikiem α=0,05 [29] przedstawia rys. 31.


a)

b)


c)


d)

e)


f)


1   ...   4   5   6   7   8   9   10   11   12


©absta.pl 2016
wyślij wiadomość

    Strona główna