STEGANOGRAFICZNE WYKORZYSTANIE PIRAMID KIEROWALNYCH FILTRÓW CYFROWYCH Piotr Kopniak Instyrut Informatyki, Politechnika Lubelska, p.kopniak@pollub.pl 1. Wstęp Znane powiedzenie Czas to pieniądz przyjmuje w dzisiejszych czasach nowe brzmienie: Czas i informacja... lub Informacja na czas to pieniądz. Posiadanie odpowiedniej wiedzy w odpowiednim czasie może przynieść wymierne zyski finansowe. Wiadomości z polityki lub wyniki badań gospodarczych wpływają błyskawicznie na ceny akcji na giełdzie papierów wartościowych i umożliwiają zyski dobrze i szybko poinformowanych graczy. Znajomość hasła do internetowego konta bankowego systemu informatycznego otwiera drogę do łatwych pieniędzy dla internetowego złodzieja. Dlatego tak istotną sprawą staje się zabezpieczanie poufnych danych przesyłanych przez nas poprzez różnego rodzaju publiczne kanały komunikacyjne. Wysyłając cenne dane pocztą elektroniczną wykorzystuje się najczęściej różnego rodzaju szyfrowanie, np. według standardu OpenPGP lub S-MIME [1]. Jednak bezpieczeństwo zapewniane dzięki kryptografii może okazać się złudne jeżeli nasz przeciwnik dysponuje odpowiednio dużą mocą obliczeniową do złamania klucza. Innym rozwiązaniem mającym na celu zmylenie przeciwnika jest steganografia. Jest to dziedzina nauki zajmująca się ukrywaniem informacji w niewinnie wyglądającym nośniku. Przeciwnik nieświadomy istnienia przekazu nie podejmie nawet próby przechwycenia i zdekodowania wiadomości. Przy obecnym rozwoju techniki stosuje się steganografię komputerową, czyli steganografę która wykorzystuje komputer do ukrycia cennych danych w nośniku cyfrowym, najczęściej reprezentującym dane multimedialne. Informacje ukrywane są w dźwięku, obrazach oraz filmach zapisanych cyfrowo ze względu na ich dużą objętość oraz niedoskonałość zmysłów człowieka, które nie potrafią dostrzec niewielkich, wprowadzanych podczas ukrywania informacji zniekształceń.. Piramidy kierowalne Istnieje wiele metod steganograficznych różniących się odmiennymi sposobami modyfikacji nośnika []. Dla każdej metody steganograficznej adwersarze, czyli stegoanalitycy próbują odnaleźć metodę jej detekcji [3], dlatego tak ważne jest
rozwijanie nowych metod ukrywania informacji. W odpowiedzi na ten problem stworzono nową metodę steganograficzną polegającą na wykorzystaniu dekompozycji wielorozdzielczej obrazu oraz modyfikacji współczynników powstałej transformaty. Metoda wykorzystuje nadkompletną dekompozycję za pomocą piramidy cyfrowych filtrów kierowalnych, zwanej także piramidą kierowalną opracowaną przez Freemana, Adelsona i Simoncelliego [4, 5]. Schematycznie jeden poziom piramidy filtrów kierowalnych przedstawia rys. 1. X(ω) H 0 (-ω) H 0 (ω) X(ω) ^ L 0 (-ω) B 0 (-ω) B 0 (ω) L 0 (ω)... B n (-ω) B n (ω) L 1 (-ω) L 1 (ω) Rys. 1. Piramida filtrów kierowalnych o jednym poziomie rozdzielczości. H 0 niezorientowany filtr górnoprzepustowy, L 0 filtr dolnoprzepustowy, L 1 wąskopasmowy filtr dolnoprzepustowy, B 1 - B k zorientowane w kierunku filtry pasmowe, - decymacja sygnału o czynnik, - interpolacja sygnału. Przedstawiona piramida może być rozwinięta o kolejne poziomy niższych rozdzielczości rozdzielczości w punkcie rozszerzeń oznaczonym kropką na schemacie. Umieszcza się w nim blok filtrów objętych na schemacie linią przerywaną.. Stąd odpowiedź systemu w przestrzeni częstotliwości wygląda następująco: n Xˆ ( ) H 0 ( ) L0 ( ) L1 ( ) Bk ( ) X ( ) a k 0 gdzie: a - eliminowany podczas dekompozycji składnik związany z występowaniem aliasingu Przekształcenie wykorzystuje algorytm różnicowy, a funkcjami bazowymi transformacji są pochodne kierunkowe wymaganego rzędu. Rząd n pochodnej oznacza n+1 pasmowych filtrów kierunkowych B na każdym poziomie piramidy. Połączenie algorytmu dekompozycji wielorozdzielczej oraz filtrów kierowalnych umożliwia analizę obrazu na różnych poziomach rozdzielczości oraz w wybranym kierunku geometrycznym. W wyniku transformacji powstaje szereg podobrazów o różnych rozdzielczościach i będących wynikami (1)
filtrowania w n+1 kierunkach. Takie podejście umożliwia wyliczenie różnic pomiędzy pikselami obrazu w dowolnym kierunku i skuteczną detekcję krawędzi lub rekonstrukcję obiektów trójwymiarowych na podstawie obrazów dwuwymiarowych [6]. Wielorozdzielczą dekompozycję obrazu najlepiej opisuje jej reprezentacja w przestrzeni częstotliwościowej Fouriera gdzie podpasma częstotliwościowe są idealnie separowalne w układzie współrzędnych biegunowych. Rysunek rys. przedstawia widmo Fouriera dekompozycji obrazu za pomocą piramidy kierowalnej o czterech podpasmach kierunkowych, co obrazuje podział kąta półpełnego widma na cztery części i dwóch poziomach rozdzielczości tworzących dwa pierścienie o różnej odległości od środka wykresu. ω y B1 B0 B0 ω x B1 Rys.. Idealna spektralna dekompozycja obrazu przy wykorzystaniu piramidy filtrów kierowalnych. B0, B1 obszary częstotliwości pasm przepustowych zorientowanych kierunkowo filtrów pasmowych, ω x, ω y częstotliwości w kierunku osi x i y od -π do π. Odpowiedź częstotliwościową filtru pasmowego zorientowanego w określonym kierunku k, czyli pochodnej kierunkowej n-tego rzędu można zapisać jako iloczyn składnika radialnego i kątowego [5]: gdzie: i tan 1 ( / ), B ( ) B( ) j cos( ) k y x k k, dla k {0,1,, n} n 1 N B( ) B k k 0 ( ). k n ()
Piramida kierowalna zapewnia perfekcyjną rekonstrukcję obrazu po wykonaniu transformacji odwrotnej dzięki temu, że spełnione są następujące warunki: 1. Amplituda odpowiedzi systemu jest jednostkowa: n L0 ( ) L1 ( ) Bk ( ) H 0 ( ) 1 (3) k 0. Występuje rekursywna niezmienność, tzn. w przypadku dołączania rekursywnej części systemu (otoczonej przerywaną linią na diagramie z rys. 1) w celu budowania kolejnych poziomów piramidy nie zmienia się odpowiedź systemu: L n 1 ( / ) L1 ( ) Bk ( ) L1 ( / ) k 0 3. Wyeliminowany jest aliasing: (4) L ( ) 0 dla / (5) 1 Przykładową dekompozycję obrazu za pomocą piramidy kierowalnej przedstawia rysunek rys. 3. Rys. 3. Dekompozycja wielorozdzielcza obrazu za pomocą piramidy kierowalnej o dwóch poziomach i czterech pasmach kierunkowych. Dekompozycja obrazu za pomocą piramidy kierowalnej eliminuje wady, które występują w przypadku innych transformacji wielorozdzielczych takich jak transformacja falkowa, czy transformacja Laplace'a. Pierwszą z nich jest aliasing w podpasmach, a drugą brak możliwości sterowania kierunkiem
filtrowania. Jedyną wadą jest większy nakład obliczeniowy wynikający z nadkompletności transformaty, która posiada o 4k/3 więcej współczynników niż transformata falkowa o takiej samej ilości poziomów rozdzielczości. 3. Algorytm steganograficzny Podpasma transformaty obrazu uzyskanej w wyniku zastosowania piramidy kierowalnej wykorzystane zostały przez nas do ukrycia informacji w obrazie. Ten typ transformacji został wybrany ze względu na perfekcyjną rekonstrukcję obrazu oraz nadkompletność oferującą możliwość wyboru wielu różnych pasm do ukrycia wiadomości. Sam algorytm ukrywania danych oparto na algorytmie steganograficznym opracowanym przez Lee i Chena do ukrywania informacji w przestrzeni geometrycznej obrazu monochromatycznego [7]. Wybrane elementy tego algorytmu wykorzystano do przetransformowanego obrazu barwnego RGB, w postaci mapy bitowej o trzech 8-bitowych składowych koloru. Opracowana metoda polega na modyfikacji wartości średniej współczynników należących do kwadratowych obszarów, na które dzielone jest podpasmo transformaty obrazu. Algorytm składa się z kroków schematycznie przedstawionych na rys. 4. Kluczowym elementem algorytmu wzorowanym na algorytmie Lee i Chena jest generacja stegotabeli. Jest to tablica, która jest budowana na podstawie wyliczonych wartości średnich dla każdej składowej barwnej. Na podstawie ekstremalnych wartości wyliczonych średnich z obszarów podpasma wyznaczane są granice zakresu ich zmienności. Zakres ten jest dzielony na podprzedziały, do których pseudolosowo dodawane są wartości bitowe 0 lub 1. Wygenerowane wartości bitowe przed dodaniem do stegotabeli są modyfikowane w taki sposób, że 1 zastępowana jest ciągiem 10, a 0 ciągiem 01, co zapewnia, że zawsze w sąsiedztwie bitu o wartości 1 będzie bit o wartości 0 i na odwrót. Stegotabela jest podstawą ukrywania danych w tej metodzie. W celu ukrycia jednego bitu wiadomości w wybranym obszarze współczynników obrazu wybierany jest ze stegotabeli przedział wartości średnich, w którym mieści się wartość średnia tego obszaru. Porównywana jest następnie wartość bitowa przypisana do przedziału z bitem wiadomości do ukrycia. Jeśli się zgadzają to współczynniki obszaru modyfikowane są w taki sposób, aby ich wartość średnia była równa wartości centralnej przedziału. Jeśli bity się nie zgadzają współczynniki modyfikowane są w taki sposób, aby wartość średnia osiągnęła wartość centralną przedziału sąsiedniego ze stegotabeli, do którego przypisany jest bit o przeciwnej wartości. Wiadomość podczas dołączania do nośnika powtarzana jest wielokrotnie w celu wykorzystania wszystkich obszarów współczynników oraz w celu
zapewnienia skutecznego jej odczytu. Nadkompletność transformacji powoduje, że dane z wielu podpasm w wyniku rekonstrukcji obrazu tworzą jeden obraz. Podpasma poddawane są dodatkowo filtracji, co wpływa na uszkodzenia ukrytej wiadomości. Redundancja umożliwia prawidłową rekonstrukcję wiadomości ukrytej podczas jej odczytu na podstawie wielu jej częściowo uszkodzonych wystąpień. Zastosowanie tego podejścia oraz wstępnej permutacji wiadomości uodparnia również ukrytą informację na niewielkie zniekształcenia stegoobrazu, które mogą zostać wprowadzone w skutek dalszego jego przetwarzania. START Wybór podpasma transformaty Podział podpasma na składowe barwne Podział współczynników składowych na kwadratowe obszary Wyliczenie średnich dla każdego z obszarów Określenie zakresu średnich dla każdej składowej Podział zakresów średnich na podprzedziały Generacja stegotabeli Przypisanie podprzedziałom wartości bitu 0 lub 1 tak by w sąsiedztwie były różne wartości bitów Pobierz kolejny bit wiadomości, jeśli nie ma to pobierz pierwszy oraz bit ze stegotabeli odpowiadający przedziałowi zawierającemu średnią z obszaru TAK Bity takie same? NIE TAK Zmień średnią współczynników do wartości centralnej przedziału Zmień średnią współczynników do wartości centralnej sąsiedniego przedziału posiadającego wartość bitową zgodną z bitem wiadomości Jest kolejny obszar do modyfikacji? NIE KONIEC Rys. 4. Schemat algorytmu steganograficznego. Bezpieczeństwo przekazu uzyskiwane jest dzięki temu, że odczyt informacji ukrytych tą metodą możliwy jest tylko w przypadku znajomości klucza steganograficznego, na który składają się następujące części: ilość poziomów i pasm kierunkowych piramidy,
indeks składowej barwnej, numer poziomu i pasma kierunkowego, do którego dołączana jest wiadomość, długość wiadomości, rozmiar obszaru współczynników przechowujących jeden bit wiadomości, ilość przedziałów wartości średnich, wartości startowe generatorów pseudolosowych do utworzenia stegotabeli oraz wstępnej permutacji wiadomości. Poziom bezpieczeństwa może być dodatkowo zwiększony poprzez zastosowanie szyfrowania wiadomości przed jej ukryciem. Klucz steganograficzny wydłuża się w takim przypadku o długość klucza kryptograficznego. 4. Przeprowadzone badania i wnioski Weryfikacja opracowanej metody steganograficznej przeprowadzona została na barwnych obrazach BMP o rozdzielczości 56x56 punktów. Dla takiej rozdzielczości obrazu możliwe było ukrycie w nośniku średnio 300 bitów wiadomości. Dołączanie wiadomości powodowało zniekształcenia nośnika niezauważalne gołym okiem. Poziom zakłóceń wyrażony poprzez SNR, czyli miarę odstępu sygnału od szumu wahał się w granicach 30-40 db w zależności od obrazu i wybranych parametrów ukrywania. Jest to wynikiem dobrym i porównywalnym z zakłóceniami wprowadzanymi w wyniku wykonania samej transformacji obrazu przy wykorzystaniu piramidy kierowalnej [5]. Przykładowe obrazy przed i po dołączeniu przekazu przedstawia rys. 5. a) b)
Rys. 5. Obraz Pawian: a) przed dodaniem wiadomości, b) po dodaniu 140 bitów wiadomości przy 140 przedziałach i obszarach x punkty. Przeprowadzono także badania wpływu kompresji stratnej oraz dodania zakłóceń do pliku z dołączoną wiadomością dla różnych długości wiadomości. Ukryta wiadomość o długości 70 bitów jest całkowicie odporna na zniszczenia wprowadzone kompresją stratną JPEG o współczynniku jakości 100%. W przypadku kompresji o współczynniku 90% prawidłowo może być odczytana jedynie wiadomość o długości około 10 bitów. Ukryte dane odporne są także na zniekształcenia nośnika poprzez szum Gaussa o wartości średniej 0,0 i wariancji 0,000 oraz szum typu sól i pieprz modyfikujący do wartości ekstremalnych wartości losowych pikseli obrazu przy parametrze funkcji środowiska Matlab dodającej szum (imnoise) o wartości 0.01. Badania wykazały, że możliwe jest wykorzystanie piramidy kierowalnych filtrów pasmowych w celu ukrycia wiadomości w obrazie cyfrowym. Metoda może być wykorzystana nie tylko do ukrywania wiadomości w celu stworzenia niewidocznego kanału komunikacyjnego. Moze być wykorzystana także na potrzeby znakowania wodnego materiału cyfrowego oraz jego opisu, np. w celu dodania danych pacjenta do zdjęć medycznych. Literatura [1] Kopniak P., Evaluation of Possibilities of Java Cryptography Architecture and Java Mail Libraries Usage to Encrypt E-Mail Massages, Annales UMCS Informatica AI, Lublin, 004, s. 379-389. [] Garbarczuk W., Świć A., Kopniak P., Kozieł G., Charaszczuk R., Miłosz M., Podstawy ochrony informacji, Politechnika Lubelska, Lublin, 005, s.47-307. [3] Katzenbeisser S., Petitcolas F. - editors, Information Hiding Techniques for Steganography and Digital Watermarking, Artech House, 000. [4] Simoncelli E. P., Freeman W. T., The Steerable Pyramid: A Flexible Architecture For Multi-Scale Derivative Computation, nd IEEE International Conference on Image Processing, Washington, DC. vol III, pp. 444-447, October 1995. [5] Karasaridis A., Simoncelli E., A Filter Design Technique for Steerable Pyramid Image Transforms, Proc. ICASSP-96, May 7-10, Atlanta, GA, 1996. [6] Freeman W. T., Adelson E. H., The Design and Use of Steerable Filters, IEEE Trans. Patt. Anal. and Machine Intell., Vol. 13, No. 9, pp. 891-906, Sept., 1991. [7] Lee Y. K., Chen L. H., A Secure Robust Image Steganographic Model, Tenth National Conference of Information Security, pp. 75-84.