POLITECHNIKA BIAŁOSTOCKA
WYDZIAŁ INFORMATYKI
KATEDRA Systemów Komputerowych
PRACA DYPLOMOWA
MAGISTERSKA
TEMAT:
Analiza algorytmów ukrywania w d wi ku
WYKONAWCA: Marcin Tomaszewski
Imi i nazwisko
PODPIS: .................................
PROMOTOR: dr in . Eugenia Busłowska
Imi i nazwisko
BIAŁYSTOK 2006 r.
2
Spis tre ci
Wst p
1. Wprowadzenie do steganografii
1.1. Rys historyczny
1.2. Idea ukrywania danych
1.3. Systematyka steganografii
1.4. Wybór kontenera
2. Wybrane media
2.1. Tekst
2.2. Obrazy i multimedia
2.3. Protokoły sieciowe
3. D wi k jako kontener
3.1. HAS (Human Auditory System)
3.2. Zało enia bezpiecznego stego- systemu
3.3. Wybrane metody
3.3.1. LSB
3.3.2. DSSS
3.3.3. Dodawanie szumów
3.3.4. Modulacja fazy
3.3.5. Autokorelacja
3.4. Podsumowanie
4. Analiza metod ukrywania w d wi ku
4.1. rodowisko bada
4.1.1. Borland c++ Builder
4.1.2. Aplikacja StegoSound
4.2. Badane algorytmy
4.3. Próbki danych
4.4. Wyniki poszczególnych analiz
Zako czenie i wnioski
Bibliografia
3
Wst p
Celem niniejszej pracy jest zaprezentowanie istniej cych technik i metod
steganograficznych ze szczególnym naciskiem na algorytmy wykorzystuj ce jako
kontener d wi k cyfrowy.
W pracy zostały przeprowadzone analizy porównawcze dwóch wybranych
algorytmów steganograficznych, których celem było okre lenie która z nich
zapewnia wy szy stopie bezpiecze stwa przy pomocy badania amplitudy d wi ku.
Przeprowadzone badania miały równie na celu sprawdzenie czy styl muzyczny
kontenera ma znaczenie dla bezpiecze stwa ukrywanych danych.
4
1. Wprowadzenie do steganografii
Steganografia jest nauk , której celem jest opracowywanie mechanizmów
ukrywania danych przed niepowołanymi oczami. Najlepsz definicj wysnuł
Duncan Sellars w "An Introduction To Steganography":
"The goal of steganography is to hide messages inside other harmless messages in a
way that does not allow any enemy to even detect that there is a second secret
present" [1]
Celem steganografii jest ukrycie wiadomo ci wewn trz innej wiadomo ci w taki
sposób, aby przeciwnik nawet nie był w stanie wykry , e wyst puje druga, sekretna
informacja.
Problem steganograficzny został precyzyjnie okre lony przez Simmonsa na
przykładzie "problemu wi niów".
Alice i Bob siedz w wi zieniu, w oddzielnych celach, bez mo liwo ci
prywatnej rozmowy. Aby uzgodni plan ucieczki musz wykorzysta otwarty kanał
komunikacyjny w postaci listów, które podlegaj cenzurze. Cenzor Wendy nie
przepu ci adnej wiadomo ci zaszyfrowanej lub te wydaj cej si niebezpieczn . W
przypadku jednego, silnie monitorowanego kanału komunikacyjnego klasyczna
kryptografia jest nieskuteczna, wiadomo musi by tak przemycona, aby sprawne
oko Wendy nie zauwa yło nic niebezpiecznego. Tu do gry wchodzi steganografia,
umo liwiaj ca wi niom swobodn wymian informacji.[2]
1.1. Rys historyczny
Termin steganografia pochodzi z j zyka greckiego. Dosłownie znaczy
"ukryte pismo" od słów steganos - ukryty i graphos - pismo.
Historia ukrywania informacji si ga dalekich czasów przed Chrystusem,
pierwszy udokumentowany przypadek u ycia technik steganograficznych pojawia
5
si w pismach Herodota (484 - 425 p. n. e.), który opisuje histori Histiausa
uwi zionego przez perskiego władc Dariusa. Herodot dokładnie opisuje sposób w
jaki Histiaus przekazał informacj o swoim poło eniu do swego szwagra.
Wiadomo została ukryta pod włosami niewolnika, który został wysłany z nic nie
znacz cym i nie wzbudzaj cym jakichkolwiek podejrze listem ze strony stra y
Dariusa. Niewolnikowi zgolono włosy, w nast pnej kolejno ci na skórze głowy
Histiaus wytatuował mu prawdziw wiadmo . Gdy włosy odrosły, niewolnik bez
trudu przeszedł przez perskie stra e, które nie wykryły adnych tajnych informacji
w przewo onym przez niewolnika li cie.[1]
Na przestrzeni wielu lat techniki steganograficzne rozprzestrzeniły si
znacznie, wzrosła ró norodno stosowanych metod tajnego przekazywania
informacji. Do tego celu wykorzystywane były np. tabliczki drewniane pokryte
warstw wosku słu ce do nauki pisania. Informacja była grawerowana na drewnie
a nast pnie pokrywana równ warstw wosku, doskonale wygładzaj c
powierzchni deszczółki i skutecznie przykrywaj c wiadomo . Zdarzały si
przypadki zwini cia listu w kulk i pokrycie jej woskiem, która w nast pnej
kolejno ci połykana była przez posła ca.
W miar upływu czasu, kiedy sztuka pisania stała si bardziej powszechna, a jako
materiały były wykorzystywane ju papier i inkaust, techniki steganograficzne
ewoluowały. Pojawiły si specjalnie spreparowane substancje, zwane atramentami
symptaycznymi, którymi mo na było napisa wiadomo w sposób niewidoczny.
W dalekich Chinach lub Egipcie popularny stał si sok z cytryny. Napis wykonany
sokiem z cytryny po wyschni ciu całkowicie znikał. Jako atramenty sympatyczne
wykorzystywano równie mleko jak i w niektórych przypadkach uryn .
Wiadomo ci napisane powy szymi substancjami odczytywano po uprzednim
podgrzaniu papieru. Wysoka temperatura utleniała w giel zawarty w substancjach
organicznych u ytych jako atrament, przez co litery ciemniały i stawały si
widoczne. Organiczne atramenty sympatyczne miały dwie du e wady - były łatwe
do wykrycia oraz istniało du e ryzyko uszkodzenia papieru podczas podgrzewania
materiału. Znacznie bardziej zaawansowane techniki wykorzystywały substancje
nieorganiczne. W ok. 250 roku przed Chrystusem Filon z Bizancjum zastosował
kwas garbarski do napisania tajnej wiadomo ci. Podgrzewanie materiału nic nie
6
dawało, informacja nadal pozostawała ukryta przed nieodpowiednimi osobami. Aby
j odczyta , nale ało papier pokry solami elaza, które wchodziły w reakcj
chemiczn z kwasem, przez co postawione znaki ciemniały uwidaczniaj c pismo.
Niestety technika ta te była niedoskonała - czas pomi dzy napisaniem wiadomo ci
a jej odczytaniem musiał by stosunkowo krótki.
Pierwsz prac opisuj c metody ukrywania wiadomo ci była
Steganographica napisana w 1665 roku przez Gaspari Schotti, który oparł j na
podstawie bada niemieckiego mnicha Johannesa Trithemiusa. Praktycznie ka de
kolejne opracowanie odwoływało si do Steganographici uzupełniaj c zawarte w
niej wiadomo ci. Powstała w 1883 roku Cryptographie militaire przedstawia wiele
reguł, b d cych podwalinami dzisiejszej steganografii. Napisana 24 lata pó niej w
1907 roku Les Filigranes Charlesa Biqueta przez wiele lat była podstaw znaków
wodnych.
Najwi kszy rozwój steganografii nast pił w czasie Drugiej Wojny wiatowej,
zwłaszcza ze strony niemieckiego wywiadu. Przykładem mo e by przechwycona
przez wywiad ameryka ski pozornie bezpieczna depesza:
Apparently neutral's protest is thoroughly discounted and ignored. Isman hard hit.
Blockade issue affects pretext for embargo on by-products, ejecting suets and
vegetable oils.[3]
Czytaj c jedynie drug liter ka dego słowa otrzymano:
Pershing sails form NY June 1.[3]
Metoda zapisywania kluczowych dla wywiadu informacji polegaj ca na
odczycie poszczególnych znaków wiadomo ci była wielokrotnie wykorzystywana.
Dopiero w momencie wynalezienia systemu mikrokropek technika ta poszła do
lamusa. Wg. J. Edgara Hoovera, dyrektora FBI było to "arcydzieło wrogiego
wywiadu". Technika ta została zdradzona przez byłego agenta niemieckiego aparatu
szpiegowskiego, gdyby nie ten fakt, prawdopodobnie amerykanie nigdy nie
dowiedzieliby si o tym systemie.
7
Mikrokropki były to zdj cia wykonane w bardzo wysokiej rozdzielczo ci
miniaturyzowane do rozmiarów zwykłej kropki umieszczanej np. w li cie lub
znaczkach pocztowych. Wyselekcjonowanie mikrokropki i jej wielokrotne
powi kszenie pozwalało odczyta tajny przekaz. Technika ta pozwalała na
przesłanie bardzo du ej ilo ci danych, ł cznie z mapami, szkicami lub planami,
b d cymi prawdziwym rarytasem dla wrogiego wywiadu.
W czasie trwaj cej wojny obowi zuj ca cenzura starała si ograniczy nie tylko
wydawane publikacje, ale równie wszelkiego typu rebusy czy krzy ówki, b d ce
doskonałym medium dla technik ukrywania wiadomo ci. W dobie II Wojny
wiatowej, gdy w USA prasa codzienna docierała do niektórych obszarów kraju z
opó nieniem nawet tygodniowym, bardzo popularne stało si wysyłanie
dzienników lub tygodników rodzinie zamieszkałej w rejonach o trudnej dost pno ci
do prasy. Otworzyło to kolejne mo liwo ci dla ukrywania informacji, zwłaszcza, e
poczta była wielokrotnie poddawana cenzurze. System ten zwany szyfrem
ksi kowym polegał na dziurkowaniu cienk igł poszczególnych liter w słowach
zawartych w gazetach. Adresat wiadomo ci odczytywał wypunktowane litery
składaj c całe słowa i zdania.
Steganografia analogowa jednak oddała pole na rzecz steganografii cyfrowej, która
powstała w momencie upowszechnienia si licz cych maszyn cyfrowych. Powstały
nowe, ogromne mo liwo ci, nowe mechanizmy niezwykle trudne do wykrycia bez
przeprowadzenia szczegółowych a zarazem czasochłonnych analiz.
1.2. Idea ukrywania
Idea ukrywania jest jedna i podstawowa – potencjalny agresor nie mo e
dowiedzie si o istnieniu tajnej wiadomo ci. Kryptografia nie dysponuje
narz dziami umo liwiaj cymi to – wiadomo mimo e bezpiecznie zaszyfrowana
jest widoczna – a to ju wystarczaj co du e zagro enie.
W przypadku opisanego przez Herodota zdarzenia steganografia była
jedynym narz dziem umo liwiaj cym przekazanie wiadomo ci. Tylko i wył cznie
wiadomo niewidoczna mogła zosta przepuszczona przez stra e Dariusa.
Czasami jawne istnienie informacji, mimo e bezpiecznie zaszyfrowanej ju
jest zagro eniem dla niej. Po przechwyceniu zaszyfrowanych informacji mo na je
8
zniszczy w sposób nieodwracalny uniemo liwiaj c dostarczenie ich do odbiorcy.
Mimo faktu, e szyfr nie został złamany transmisja została przerwana i wymiana
danych nie doszła do skutku. Ka da wiadomo zaszyfrowana wzbudza podejrzenia
– informacja musi by naprawd wa na skoro została zamkni ta przed
niepowołanymi oczami, informacja skutecznie ukryta, która nie jest widoczna nie
wzbudzi adnego zainteresowania. Zdj cia z wakacji, zdj cia swojego psa lub kota
nie zainteresuj nikogo poza ich wła cicielem, dlatego te umieszczaj c w nich
dane mo na zapewni im bardzo wysoki poziom bezpiecze stwa faktem, e nie
wzbudzaj zainteresowania osób trzecich.
Kolejn cech mechanizmów steganograficznych jest mo liwo
„znakowania” plików graficznych lub multimedialnych w celu zaznaczenia np.
praw autorskich. Wkomponowanie tzw. Znaku wodnego (ang. Watermark) do
sygnału kontenera w taki sposób, aby niemo liwe było jego usuni cie bez znacznej
utraty jako ci zapewnia ochron praw autorskich. Jest to wykorzystywane min. W
systemach zarz dzania prawami DRM (ang. Digital Rights Management).
1.3. Systematyka steganografii
Tajna wiadomo mo e zosta osadzona praktycznie w ka dym typie
sygnału. Jednak e w zale no ci od formatu sygnału stosowane s ró ne techniki jej
umieszczania. Wiele mediów charakteryzuje si ró nymi cechami, wi c nie mo na
sprecyzowa jednego – uniwersalnego algorytmu pasuj cego do ka dego medium.
Ró ne cechy sygnału przykrywaj cego wpływaj na dobór nie tylko algorytmu, ale
równie na wybór miejsca osadzenia danych. Ze wzgl du na t cech steganografi
komputerow mo na podzieli na sze głównych klas:
• substitution systems – zast powanie nieistotnych elementów
kontenera poszczególnymi tajnymi danymi.
• transform domain techniques – osadzenie informacji w
zmodyfikowanej
przestrzeni
sygnału,
np.
w
dziedzinie
cz stotliwo ciowej
• spread spectrum techniques – rozszerzanie widma sygnału – cz sto
wykorzystywane w d wi kach
9
• statistical methods - ukrywanie informacji poprzez zmodyfikowanie z
góry okre lonych cech statystycznych kontenera.
• disortion techniques – zanieczyszczanie sygnału poprzez dodanie
białego szumu zawieraj cego tajne informacje
• cover generation methods – osadzania wiadomo ci w momencie
tworzenia kontenera. Sygnał przykrywaj cy jest specjalnie tworzony
w celach steganograficznych.[4]
Aby zastosowanie technik steganograficznych zapewniało wysoki poziom
bezpiecze stwa nale y odpowiednio przygotowa sygnał b d cy kontenerem
wiadomo ci. U ycie nieodpowiedniego sygnału mo e nie zapewni
bezpiecze stwa, a wr cz narazi dane na wykrycie. Przykładem le wybranego
medium mo e by doskonale biały obraz – umieszczenie w nim nawet
najdoskonalsz technik porcji danych spowoduje zachwianie doskonało ci bieli i
modyfikacje mog by widoczne nawet gołym okiem – taka sytuacja jest
niedopuszczalna. Siła steganografii nie le y jednak jedynie po stronie sygnału
przykrywaj cego. Bezpieczny stegosystem musi spełni nast puj ce warunki:
• kontener nie mo e zosta zmodyfikowany w sposób na tyle znaczny,
e zmiany b d widoczne okiem nieuzbrojonym.
• struktura kontenera musi pozosta nienaruszona przy jednoczesnym
upakowaniu danych zewn trznych
• osadzona informacja musi by odporna na uszkodzenia lub celowe
przetwarzanie sygnału poprzez edycj , samplowanie, kompresj
stratn
• ukryta wiadomo (a przynajmniej jej fragment) musi by mo liwa do
wyodr bnienia nawet w przypadku utraty cz ci kontenera.[1]
Ka dy stegosystem nara ony jest na uszkodzenia jak i celowe ataki ze strony
potencjalnych agresorów. Przykładem niecelowego uszkodzenia osadzonej
informacji jest potraktowanie obrazu posiadaj cego ukryty przekaz osadzony prost
technik LSB dowolnym edytorem graficznym – np. zastosowanie opcji sharpen,
ang. Wyostrzanie. Jest to jeden z cz ciej wykorzystywanych filtrów, zwłaszcza
przy obróbce grafiki dopiero co zmniejszonej. Przy prostych technikach
10
ukrywaj cych mo e to skutecznie zniszczy tajn informacj .
Do ataku na stegosystem mo e doj w dwóch przypadkach. W pierwszym
główn rol zagrał przypadek – atakuj cy sprawdzaj c du ilo danych
przypadkiem natrafił na kontener z danymi. Jest to przypadek bardzo rzadko
spotykany i raczej nieprawdopodobny. Drugi przypadek jest bardziej realny.
Atakuj cy miał podstawy s dzi , e przechwycony sygnał zawiera „co ” ukrytego,
np niepokoj ce szumy i zakłócenia w sygnale d wi kowym. Je eli to b dzie miało
miejsce wówczas stegosystem mo na uzna ju za bliski kompromitacji. Całkowita
kompromitacja systemu steganograficznego nast pi wówczas, gdy atakuj cy system
skutecznie wyodr bni dane. Klasyczny atak na stegosystem przebiega trzyetapowo:
• wykrycie (ang. Detection) – atakuj cy mo e znale si w trzech
stanach na etapie wykrywanie osadzonej informacji:
o
mo e wykry osadzon informacj – oznacza to pełn
kompromitacj systemu
o
mo e nie wykry informacji popełniaj c bł d II typu –
wówczas stegosystem nie zostaje skompromitowany i
osadzone informacje pozostaj bezpieczne
o
mo e niepoprawnie wykry osadzon informacj popełniaj c
bł d I typu – stegosystem jest na granicy kompromitacji,
jednak informacja jest nadal bezpieczna.[4]
Konstruuj c algorytm steganograficzny d y si do osi gni cia
prawdopodobie stwa wyst pienia bł du II typu równego 1.
Prawdopodobie stwo wykrycia zale y zarówno od u ytej techniki
osadzania danych jak i od jako ci i typu medium przykrywaj cego.
Je eli zostanie wybrany nieodpowiedni sygnał, taki w którym
łatwo jest zauwa y „zanieczyszczenia” wprowadzone przez
funkcj steganograficzn to prawdopodobie stwo wykrycia
znacznie wzrasta. Dysponuj c pewn baz wiedzy o statystyce
danego typu sygnału mo na przeprowadzi atak statystyczny,
przynosz cy dobre efekty. Udowodniono równie , e niektóre
aplikacje steganograficzne osadzaj c informacj nara aj j na
łatwe wykrycie przez atakuj cego. Aplikacje te działaj w sposób
11
szablonowy i znaj c sposób jej działania wiadomo gdzie i czego
szuka – niektóre wr cz zapisuj informacje o sobie w pliku
wynikowym.
Na etapie wykrywania osadzonej informacji mo na posłu y si
nast puj cymi metodami ataku:
• stego-only attack – metoda o bardzo niskiej skuteczno ci ze
wzgl du na du ilo dost pnych metod stganograficznych.
Posiadanie samego stegosystemu nie gwarantuje poprawno ci
wykrycia czegokolwiek
• known cover attack – atakuj cy ma dost p zarówno do
stegosystemu
jak
i
pierwotnej
wersji
kontenera
nieposiadaj cego ukrytych danych
• known message attack – atakuj cy dysponuje pełn tre ci
ukrytego przekazu – atak maj cy na celu skompromitowanie
algorytmu.
• Chosen stego attack – algorytm jest znany dla agresora – adna
wiadomo nie jest bezpieczna, prawdopodobie stwo
skompromitowania równe 1.
• chosen message attack – atak polegaj cy na poddawaniu próbki
wcze niej przygotowanych informacji działaniu ró nych
algorytmów steganograficznych w celu wykrycia podobie stwa
lub wzorca do znanej metody. Technika ataku przypominaj ca
metod łamania haseł brute-force.
• known stego attack – atakuj cy dysponuje kompletn wiedz
na temat uzytego algorytmum, posiada przechwycony
stegosystem jak i oryginalny sygnał u yty jako medium
przykrywaj ce.[4]
• Wyodr bnianie (ang. Extraction) – je eli na etapie wykrywania nie
został popełniony bł d I typu istnieje wysokie prawdopodobie stwo
wyodr bnienia i poprawnego odczytania ukrytych informacji z
kontenera.
12
• Usuwanie (ang. Deletion) – mo e zdarzy si , e atakuj cy po
wyodr bnieniu informacji z kontenera b dzie starał si zniszczy
przekaz, nie wzbudzaj c podejrze zarówno u nadawcy jak i odbiorcy
przekazu, lub informacj t sfałszowa . Atakuj cy mo e usiłowa
zniszczy wiadomo w momencie gdy nie uda mu si poprawnie ich
wyodr bni i odczyta . Przy wykorzystaniu wielu technik zniszczenie
ukrytych danych jest procesem stosunkowo prostym i niezbyt
czasochłonnym.
W praktyce wyst puj trzy typy algorytmów steganograficznych, których
podobie stwo zasady działania mo na zauwa y do algorytmów kryptograficznych:
• Prosty algorytm steganograficzny (ang. Pure steganography).
Definicja 1:
, , ,
C M D E
∂ =<
>
, gdzie C jest zbiorem mo liwych kontenerów (ang.
Covers), M jest zbiorem wiadomo ci, przy czym musi zachodzi
własno
| | |
|
C
M
≥
.
:
E CxM
C
→
jest funkcj osadzaj ca wiadomo w
kontenerze,
:
D C
M
→
jest funkcj wyodr bniaj c , przy zachowaniu
własno ci:
( ( , ))
D C m c
m
=
, gdzie dla ka dego
m M
∈
i ka dego
c C
∈
nazywamy prostym algorytmem steganograficznym.[4]
Cech główn prostego algorytmu steganograficznego jest to, e wcze niej,
pomi dzy nadawc i odbiorc wiadomo ci nie musi doj do wymiany lub
uzgodnienia klucza – wystarczy znajomo algorytmu przez obie strony. Aby
algorytm był bezpieczny musi by utrzymany w cisłej tajemnicy, ujawnienie jego
zasady działania spowoduje totaln kompromitacj .
Formalnie osadzanie przebiega nast puj co:
:
E CxM
C
→
Gdzie C jest zbiorem wszystkich mo liwych kontenerów za M zbiorem
wiadomo ci. Proces wyodr bniania to:
:
D C
M
→
. Przy czym konieczne jest
spełnienie zale no ci
| | |
|
C
M
≥
13
Zalet prostego algorytmu steganograficznego jest fakt, e przed wysłaniem
informacji nie musi nast pi przekazanie klucza otwartym kanałem informacyjnym,
gdzie mo e by nara ony na przechwycenie przez osoby trzecie. Jednak e stało
algorytmu znacz co odbija si na jego bezpiecze stwie. Dysponuj c odpowiednio
du ilo ci danych do analizy mo na zrekonstruowa struktur algorytmu, jak to
ma miejsce przy łamaniu prostych szyfrów podstawieniowych lub
przedstawieniowych.
• Algorytm z kluczem prywatnym
Definicja 2:
, , ,
,
k
k
C M K D E
∂ =<
>
, gdzie C jest zbiorem mo liwych kontenerów, M jest
zbiorem tajnych wiadomo ci, gdzie musi wyst pi własno
| | |
|
C
M
≥
, K jest
zbiorem kluczy prywatnych,
:
k
x x
E C M K
C
→
i
:
k
x
D C K
M
→
z zachowaniem
zale no ci
( ( , , ))
k
k
D E c m k
m
=
dla ka dego
m M
∈
, ka dego
c C
∈
i ka dego
k K
∈
nazywamy algorytmem steganograficznym z kluczem prywatnym.[4]
Rys. 1. Osadzanie i wyodr bnianie z wykorzystaniem klucza prywatnego
Aby uniezale ni si od samego algorytmu, uwa aj c aby nie został złamany
lub odtajniony wprowadzono algorytmy steganograficzne bazuj ce na kluczu
prywatnym. Wyst puje tu pewne podobie stwo do algorytmów kryptograficznych
symetrycznych, gdzie istniał jeden klucz – zarówno do szyfrowania jak i
deszyfrowania wiadomo ci.
Warunkiem koniecznym do spełnienia jest wcze niejsza propagacja klucza –
zarówno nadawca jak i odbiorca musz posiada identyczny. Przesyłanie otwartym
i niebezpiecznym kanałem wi e si z ryzykiem przechwycenia klucza. Aby
14
zminimalizowa te ryzyko mo na posłu y si algorytmami kryptograficznymi
słu cymi do ustalania kluczy na odległo .
Algorytm Diffie-Hellmana:
„publicznie znane s p, która jest wystarczaj co du liczb pierwsz , oraz
generator alfa dla Zp. Protokół ma nast puj c posta :
1.
Alice wybiera Z
a
, Bob wybiera Z
b
, gdzie
,
2
a
b
Z Z
p
≤ −
. liczby Z
ai
Z
b
s trzymane w tajemnicy.
2.
Alice przesyła Bobowi liczb
mod
Za
a
C
p
α
=
, Bob przesyła Alice
liczb
mod
Zb
b
C
p
α
=
.
3.
jako uzgodniony klucz przyjmowana jest liczba
mod
Za Zb
k
p
α
=
.
Alice oblicza k jako
( ) mod
Za
b
C
p
, Bob korzysta z równo ci
( ) mod
Zb
a
k
C
p
=
Algorytm Diffie-Hellmana mimo e nie korzysta z adnego szyfrowania przy
przekazywaniu warto ci obliczonych przez Alice i Boba uznawany jest za metod
wzgl dnie bezpieczn . Agresor podsłuchuj cy transmisj pomi dzy Alice i Bobem
nie jest w stanie obliczy klucza k mimo znajomo ci danych publicznych. Aby
obliczy klucz k, atakuj cy musiałby wyliczy logarytm dyskretny do wyznaczenia
liczb Z
a
i Z
b
z C
a
i C
b
, gdzie nie znany jest jeszcze efektywny algorytm wyznaczania
logarytmu dyskretnego.[5]
Algorytm Diffie-Hellmana nie jest jedynym algorytmem wymiany klucza.
Istniej jego odmiany, równie dobrze nadaj ce si do ustalenia kluczy
steganograficznych takie jak: protokół STS (Stadion-To-Station) lub protokół MTI
(Matsumoto Takashima Imai).[5]
Stałe u ywanie jednego klucza wi e si z niebezpiecze stwem jego utraty
lub odkrycia przez osoby niepowołane. Lepszym rozwi zaniem s klucze
jednorazowe - ich bezpiecze stwo jest znacznie wy sze ni jednego, stałego
klucza, gdy nawet w przypadku odkrycia klucza przez osoby trzecie, praktycznie
nie istnieje prawdopodobie stwo odszyfrowania danych zakodowanych innymi
kluczami. Wad kluczy jednorazowych jest konieczno posiadania karty kodów
lub ksi ki kodowej (jak np. w przypadku Enigmy). W algorytmach
steganograficznych istnieje mo liwo zastosowania klucza jednorazowego poprzez
15
klucz sesji.
Klucz sesji jest obliczany z funkcji:
(
)
K H feature
=
[4]
Gdzie H jest niezmienn , z góry okre lon funkcj , natomiast feature jest
pewn niezmienn cech kontenera. Cecha ta musi by tak wybrana, aby osadzanie
wiadomo ci nie zaburzyło jej – w tym przypadku wyodr bnienie informacji stanie
si niemo liwe, gdy nie b dzie sposobu na obliczenie klucza sesji przez adresata.
Cech t mo e by np długo sygnału d wi kowego, rozmiar kontenera w bajtach,
rozdzielczo u ytego obrazu, lub kombinacja tych cech razem.
Zastosowanie klucza sesji zapewnia bardzo wysoki poziom bezpiecze stwa.
Praktycznie ka dy stegosystem tworzony jest na bazie innego klucza, nie ma
potrzeby wcze niejszego ustalania lub wymiany kluczy pomi dzy adresatem i
nadawc . Niezb dne natomiast jest ustalenie funkcji H() i cechy.
• Algorytm z kluczem publicznym
Istniej pewne sytuacje gdzie u ycie jednego klucza do osadzania
wiadomo ci, jak i do wyodr bniania nie zapewnia odpowiedniego poziomu
bezpiecze stwa, lub w przypadku gdy rozpropagowanie klucza czy te jego
ustalenie jest zbyt niebezpieczne, stegosystem mo e zosta przedwcze nie
skompromitowany.
Zupełnie jak w przypadku kryptografii symetrycznej posiadaj c wiedz na
temat u ytego algorytmu i dysponuj c odpowiedni ilo ci danych wej ciowych do
analizy, atakuj cy jest w stanie odtworzy klucz.
W 1990 roku w ten sposób udało si złama kryptograficzny algorytm
symetryczny DES, przez wiele lat uznawany za niełamliwy metodami innymi ni
brute-force. Eli Biham i Adi shamir opracowali metod kryptoanalizy ró nicowej
bazuj cej na tym, e znany był algorytm i dysponowano du ilo ci danych
wej ciowych (w przypadku 16 rundowego DES wymagane były 2
55
znane teksty
jawne) dla złamania klucza. Trzy lata pó niej nast pił kolejny przełom, Matusi
opracował metod kryptoanalizy liniowej, bazuj cej na liniowej aproksymacji do
„odgadni cia” klucza.[5]
U ycie jednego klucza do szyfrowania a drugiego klucza do
odszyfrowywania dostało miano kryptografii asymetrycznej. W steganografii
16
asymetrycznej jeden klucz przeznaczony jest do osadzania wiadomo ci, natomiast
drugi do jej wyodr bniania.
Klucz za pomoc którego nast puje osadzania informacji w kontenerze nosi
miano klucza publicznego b d cego dost pnym ka demu. Klucz słu cy do
wyodr bniania danych jest kluczem prywatnym, znanym jedynie dla adresata
wiadomo ci. Par kluczy publiczny-prywatny nale y wygenerowa przed
rozpocz ciem transmisji.
Definicja 3:
Stegosystem z kluczem publicznym jest potrójnym zło eniem probabilistycznych
algorytmów
(
,
,
)
S
SG SE SD
=
, gdzie
(1 )
k
SG
generuje par kluczy
( , )
k
k
p s
PKxSK
∈
.
(1 )
{ , }
k
k
k
SG
p s
→
SE bierze publiczny klucz p
k
nale cy do PK oraz tekst jawny m nale cy do {0,1}.
Funkcja SE zwraca wiadomo ukryt s:
( , )
k
SE p m
s
=
SD wykorzystuj c prywatny klucz s
k
nale cy do SK i stegosystem s, zwraca
wyodr bnion wiadomo m.
( , )
k
SD s s
m
=
[4]
Standardowo klucz publiczny jest kluczem mocno rozpowszechnionym i
znanym szerokiemu kr gu ludzi. Wiadomo osadzona/zaszyfrowana za pomoc
klucza publicznego danej osoby mo e zosta wyodr bniona/odszyfrowana jedynie
przez wła ciciela klucza publicznego, posiadaj cego równie klucz prywatny.
Aby techniki steganograficznej były jeszcze skuteczniejsze i bardziej
bezpieczne mo na posiłkowa si algorytmami kryptograficznymi. Przed
osadzeniem do kontenera wiadomo jest szyfrowana wybranym algorytmem i
dopiero szyfrogram jest umieszczany w sygnale przykrywaj cym i transmitowany
do odbiorcy.
Wcze niejsze u ycie kryptografii, oprócz zmniejszenia prawdopodobie stwa
prawidłowego odczytania osadzonego przekazu poprzez podwojenie siły systemu,
zwi ksza równie prawdopodobie stwo popełnienia bł du II typu przy ataku na
stegosystem. Agresor nie wiedz c o fakcie wykorzystania siły szyfrowania, nawet
po prawidłowym wyodr bnieniu danych otrzyma przypadkowo wygl daj cy ci g
17
znaków. Prawdopodobie stwo domy lenia si jakiego algorytmu szyfruj cego
u yto jest bliskie 0.
1.4. Wybór kontenera
Od prawidłowego wyboru sygnału przeznaczonego na kontener w du ej
mierze zale y skuteczno ukrywania danych. Idealny kontener to taki, który został
stworzony bezpo rednio w celu ukrycia w nim danych i jest ci le prywatny dla
jego wła ciciela. Nie istnienie adnej innej kopii uniemo liwi wykorzystanie ataku
typu Known-Cover-Attack. Przygotowanie kontenera zale y od typu i wielko ci
danych jakie ma przechowywa . Niedopuszczalne s sygnały mało zró nicowane –
takie jak obraz jednolicie kolorowy lub o bardzo niskim kontra cie i ró norodno ci
barw, sygnał d wi kowy posiadaj cy prawie płask amplitud , d wi k stworzony z
niewielkiej ilo ci mało zró nicowanych ampli.
Wskazane jest, aby sygnał kontenera jak i dane do ukrycia spełniały w jak
najwi kszym stopniu zale no funkcji podobie stwa (ang. Similarity function)
Definicja 4:
Niech C b dzie niepustym zbiorem, Funkcja
2
:
(
,1]
sim C
→ −∞
, jest nazywana
funkcj podobie stwa dla C, je eli dla x,y nale cego do C zachodzi:
Sim(x,y)=1 x=y
Dla x<>y sim(x,y)<1
Dla systemów steganograficznych:
( ( ( , ))
sim C E c m
zbiega do 1, dla ka dego
c C
∈
i
m M
∈
, gdzie C to zbiór
wszystkich mo liwych kontenerów,
( , )
E c m
jest funkcj osadzaj c wiadomo m
w kontenerze c.[4]
Im wi ksze podobie stwo stegosystemu i kontenera tym sygnał kontenera
został mniej zmodyfikowany poprzez osadzanie i przeprowadzenie stegoanalizy
b dzie znacz co utrudnione.
Przy doborze medium nale y pami ta o spełnieniu zale no ci:
| | |
|
C
M
≥
W przeciwnym wypadku wiadomo nie zostanie prawidłowo ukryta lub
mo e ulec zniszczeniu cało lub jej cz
.
18
2. Wybrane media
Wraz z rozwojem technologii cyfrowej steganografia musiała ewoluowa .
Opracowanie cyfrowych no ników informacji stworzyło olbrzymie mo liwo ci dla
ukrywania informacji. Dane nie były ju reprezentowane analogowo posiadaj c
znacznie mniejsze mo liwo ci, sposoby osadzania jak i wyodr bniania danych
uległy pełnej automatyzacji, wymagany nakład pracy zmniejszył si do operacji
kilkuminutowych. To co kiedy wymagało sporej dawki wiedzy, wyobra ni i
niemałej ilo ci czasu zostało zredukowane do automatycznych programów
wykonuj cych wszystkie mudne czynno ci za człowieka. Sam sygnał cyfrowy
stworzył kolejne mo liwo ci - opracowywane techniki steganograficzne s co raz
doskonalsze pod wzgl dem bezpiecze stwa i niezmienno ci kontenera. Proste
zasady oszukiwania ludzkich zmysłów zostały wzbogacone o skomplikowane
reguły matematyczne pozwalaj ce uzyska lepsze efekty w stosunku do ery
przedkomputerowej. Ró norodno cyfrowych formatów danych stworzyło wr cz
nieograniczone mo liwo ci dla steganografów. Ka da informacja zapisana cyfrowo,
niezale nie od jej formatu nadaje si w mniejszym lub wi kszym stopniu do bycia
kontenerem na inn wiadomo , zale nie od jej konstrukcji.
2.1. Tekst
Tekst jawny jest jednym z najstarszych mediów wykorzystywanych w
steganografii. Pozornie nieskomplikowana wiadomo zapisana na skrawku papieru
lub w formie elektronicznej mo e nie pewn dawk informacji niejawnej.
Podczas II Wojny wiatowej steganografia tekstowa wykorzystywała specjalnie
preparowane wiadomo ci, gdzie przy znajomo ci algorytmu lub klucza mo na było
wyodr bni inna, niejawn wiadomo . Przykładem historycznym mo e by
zapisywanie wiadomo ci w ci le okre lonych literach ka dego słowa.
Tekst jako kontener posiada jednak spore ograniczenia:
- jest w stanie pomie ci niewielk ilo danych
- wykrycie informacji transportowanej w tek cie jawnym jest łatwe do wykonania,
nawet bez specjalistycznego oprogramowania
- bardzo łatwo uszkodzi lub całkowicie zniszczy informacj w nim zapisan .
19
Algorytmy steganograficzne bazuj ce na kontenerach tekstowych mo na
zakwalifikowa do dwóch grup:
1. algorytmy osadzj ce informacj w sposób daj cy mo liwo przechowywanie
stegosystemu w formie niecyfrowej (np. Jako wydrukowany arkusz papieru)
2. algorytmy wył cznie cyfrowe.
Do pierwszej kategorii zalicza si grup mechanizmów zaproponowanych przez J.
T. Brassila okre lanych jako line-shift-coding, word-shift-coding, feature-coding,
metod semantyczn i syntaktyczn . Do grupy drugiej zalicza si algorytm białych
znaków.
2.1.1.
Line shift coding
Algorytm line-shift-coding opiera si na precyzyjnym manipulowaniem
poło enia wiersza tekstu w stosunku do wierszy nad i pod nim. Przesuni cie
powinno mie stał warto i wynosi ok. 1/300 cala. Zalet tego algorytmu jest fakt,
e ukryta informacja nie zostanie zniszczona nawet po wydrukowaniu dokumentu.
Badania dowiodły, e mo liwe jest poprawne wyodr bnienie osadzonej wiadomo ci
nawet z 10 pokolenia oryginału przy fotokopiowaniu dokumentu. Natomiast
podstawow wad jest to, e prawdopodobie stwo wykrycia informacji przez
niepowołane osoby jest bardzo wysokie i nie wymaga specjalistycznych narz dzi.
Algorytm zakłada, e przesuni ciu ulegaj tylko wybrane wiersze tekstu, wi c dany
wiersz mo e znale si w jednym z trzech stanów:[6]
{0, 1,1}
S
=
−
gdzie S=0 – brak przesuni cia wiersza
S=1 – przesuni cie wybranego wiersza w gór
S=-1 – przesuni cie wybranego wiersza w dół.
Aby umo liwi prawidłowe wyodr bnienie danych z tekstu nale y zało y , e
poło enie nie wszystkich wierszy mo e ulec zmianie. Zało ono, e wiersze parzyste
pozostaj w stanie S=0, natomiast jedynie wiersze nieparzyste mog przyj stan
S=1 lub S=-1. Nie zachowuj c tej zasady nie b dzie mo na okre li punktu
odniesienia do obliczenia przesuni cia. Przykładowo b d ce w s siedztwie wiersze:
wiersz 1
- stan S=-1
wiersz 2
- stan S=-1
20
wiersz 3
- stan S=-1
s niepoprawnie zakodowane. Niemo liwe jest jasne okre lenie ich stanu. Równie
dobrze ka dy z nich mo e by w stanie S=0 jak i S=1.
Je eli jednak wiersz 1 i 3 b d w stanie S=0, wówczas analizuj c dokument mo na
zauwa y , e wiersz 2 jest na pewno w stanie S=-1.
Line-shift-coding bazuje na słowach kodowych. Słowo kodowe jest zdefiniowanym
zbiorem warto ci przesuni cia poszczególnych wierszy dokumentu, w ten sposób
mo na odda reprezentacj bitow , np.:
S=-1 – warto bitowa 1
S=1 – warto bitowa 0
Oznaczanie słów kodowych jest dowolne i zale ne od implementacji
algorytmu. Za pomoc 19 wierszy tekstu mo na okre li 2
19
słów kodowych co daje
warto : 524588 wszystkich mo liwych słów kodowych.
Systemy wyodr bniaj ce osadzon informacj mog opiera si na jednej z dwóch
metod:
• baseline detection decision rule
Niech wiersze i-1 oraz i +1 nie b d przemieszczone w pionie (stan S=0),
wiersz i b dzie w stanie S={-1,1}, niech l b dzie odległo ci pomi dzy
wierszami i-1 oraz i, oraz odległo ci pomi dzy wierszami i oraz i+1
wówczas reguła wykrywania przesuni cia wiersza przyjmuje posta :
je eli l(i-1,i)>l(i,i+1) wówczas wiersz jest w stanie S=-1
je eli l(i-1,i)<l(i,i+1) wówczas wiersz jest w stanie S=1
je eli l(i-1,i)=l(i,i+1) wówczas wiersz jest w stanie S=0[6]
• centroid detection decision rule
Niech S
i
-1 oraz S
i
b d centroidami pomi dzy wierszami i-1 oraz i, a tak e
wierszami i+1 oraz i w dokumencie kontenera. Niech t
i
-1 oraz t
i
b d odpowiednimi
centroidami pomi dzy wierszami w niezmodyfikowanym dokumencie kontenera,
wówczas reguła ma posta :
je eli s
i
-1 – t
i
-1 > s
i
– t
i
wówczas wiersz jest w stanie S=-1
je eli s
i
-1 – t
i
-1 < s
i
– t
i
, wówczas wiersz jest w stanie S=1
w pozostałym przypadku wiersz b dzie w stanie S=0.
21
Wykorzystuj c reguł baseline detection decision rule istnieje pewne
prawdopodobie stwo nieprawidłowego zinterpretowania stanów badanego wiersza.
Stan S=-1 mo e zosta odczytany jako stan S=1 i odwrotnie, co mo e spowodowa
bł d I typu w procesie wykrywania osadzonej informacji. Reguła bazuj ca na
centroidzie jest niepodatna na tego typu bł d.
Przeprowadzaj c atak na stegosystem oparty na algorytmie line-shift-coding
mo na posłu y si analiz profilu zale no ci pomi dzy poło eniem wierszy w
dokumencie. Posiadaj c wykres z łatwo ci mo na zauwa y odchylenia od normy.
Rys. 2 przykładowy profil zale no ci pomi dzy wierszami
2.1.2. word-shift-coding
W odró nieniu od line-shift-coding ta metoda opiera si na manipulowaniu
poło eniem nie całego wiersza w pionie, ale poło eniem pojedynczych słów lub
bloków słów w wierszu wzgl dem osi X. Najlepiej do tego celu nadaj si
dokumenty wyrównane do obu kraw dzi strony, aczkolwiek gdy nie ma
spełnionego tego warunku u ycie word-shift-coding jest równie mo liwe.
Sprecyzowano dwie odmiany:
• w ka dym wierszu dokumentu odnajdywana jest najwi ksza i
najmniejsza odległo pomi dzy słowami. Nast pnie najwi ksza
odległo jest pomniejszana o stał warto , natomiast najmniejsza
powi kszana o warto identyczn .
• Wiersz dokumentu dzielony jest na trzy bloki słów. Przesuni ciom
podlega jedynie blok rodkowy wzgl dem bloku skrajnie lewego lub
22
skrajnie prawego.
Rys. 3. przykładowe przesuni cie w lewo słowa „for”
Metoda manipulowania pozycj słów w wierszu równie bazuje na słowach
kodowych. Słowo kodowe mo e zatem by zapisane za pomoc 3 stanów.
S=0 gdy słowo nie uległo przesuni ciu
S=1 gdy słowo uległo przesuni ciu w lewo
S=-1 gdy słowo uległo przesuni ciu w prawo
Ilo słów kodowych mo liwych do zapisania w danym wierszu dokumentu
jest ci le zwi zana z rodzajem u ytego algorytmu oraz długo ci wiersza – nie w
ka dym mo na zmodyfikowa poło enie takiej samej ilo ci słów.
Word-shift-coding jest metod bezpieczniejsz od line-shift-coding. Istnieje
mniejsze prawdopodobie stwo wykrycia przesuni cia pojedynczych słów lub
bloków słów ni całego wiersza. Jednak e wraz ze wzrostem bezpiecze stwa
osadzonej informacji wzrasta ryzyko jej uszkodzenia. Jak w przypadku line-shift-
coding mo liwe było poprawne wyodr bnienie wiadomo ci z 10 pokolenia
fotokopii dokumentu, tak w przypadku word-shift-coding niemo liwe to ju jest w
przypadku drugiego pokolenia.
Aby móc odczyta osadzon informacj nale y posiada zarówno
stegosystem jak i oryginalny dokument, który został u yty jako kontener. W
przeciwnym wypadku nie sposób okre li przesuni cie których słów zostało
zmienione. Rozszerzaj c ten klasyczny algorytm o mo liwo wykorzystania klucza
mo na wyeliminowa konieczno posiadania dokumentu oryginalnego. W tym
przypadku klucz mo e opisywa , które słowa lub bloki słów mog ulec
przesuni ciu.[7]
23
2.1.3.
Feature-coding
Najpopularniejszym kodowaniem za pomoc wybranych cech jest
wykorzystanie wysoko ci liter nale cych do zbioru:
{ , , , , , , }
L
b d f h k l t
=
Algorytm feature-coding w tym przypadku opiera si na zmianie wysoko ci
znaków nale cych do zbioru L. Słowo kodowe mo e zosta zapisane jako
„wydłu enie” lub „skrócenie” wysoko ci poszczególnych znaków. Znak mog
znajdowa si w stanach[6]
S=0 je eli wysoko pozostaje niezmieniona
S=1 je eli wysoko uległa zmianie.
Dzi ki czemu mo na słowa kodowe zapisywa binarnie.
Proces osadzania danych t metod przebiega dwuetapowo:
1.
wysoko ci wszystkich znaków ze zbioru L s zwi kszane lub zmniejszane o
losow warto w celu utrudnienia osobie niepowołanej okre lenia ich
wysoko ci w stanie S=0.
2.
Słowo kodowe jest zapisywane poprzez modyfikacj wysoko ci wybranych
znaków ze zbioru L poprzez zwi kszenie lub zmniejszenie.
Metoda ta zapewnia do wysoki poziom bezpiecze stwa ukrytych danych,
gdy niewielka zmiana wysoko ci znaków jest ignorowana przez ludzki mózg.
Jednak w celu prawidłowego wyodr bnienia informacji niezb dny jest dokument
oryginalny. U ycie klucza steganograficznego mo e wyeliminowa konieczno
posiadania niemodyfikowanego oryginału dokumentu – klucz mo e ci le
wskazywa na znaki w których zapisane jest słowo kodowe.
Rys. 4. Działanie algorytmu feature-coding.
24
2.1.4.
Metoda białych znaków
Jest to jedyna metoda ukrywania danych w tek cie jawnym, która nie mo e
by wykorzystywana do dokumentów przeznaczonych do druku. Wyst powanie
białych znaków w tek cie jest widoczne dla człowieka jedynie w tedy, gdy s one
umieszczone pomi dzy znakami lub słowami oraz gdy wyst puj na pocz tku
wiersza. Białe znaki ulokowane na ko cu wiersza s dla człowieka nie widoczne –
wyj tkiem jest dokument, w którym tekst jest wyrównany do obu marginesów – w
tym przypadku nie jest zalecane u ywanie tej metody.
Poprzez dodanie okre lonej liczby białych znaków takich jak spacja na
koniec wiersza mo liwe jest osadzenie słowa kodowego binarnie. Ilo spacji
okre la maksymaln ilo bitów mo liw do osadzenia w jednym wierszu:
2 spacje reprezentuj 1 bit, gdzie 1 spacja oznacza 0 binarne, 2 spacje 1 binarne
4 spacje reprezentuj 2 bity
8 spacji reprezentuje 3 bity.[1]
Wiersz 1 __
Wiersz 2 _
Wiersz 3 __
Zakładaj c, e znak „_” reprezentuje spacj , na powy szych 3 wierszach
zakodowano binarnie 101.
Im wi cej znaków spacji zostanie u yta, tym łatwiej jest wykry , lub
uszkodzi skonstruowany w ten sposób stegosystem.
Mo liwa do osadzenia ilo danych jest mocno ograniczona, zakładaj c
kodowanie tylko 2 znakami spacji na wiersz, w dokumencie zło onym z 80 wierszy
mo na osadzi jedynie 10 bajtów danych:
_
8
il wierszy
I
=
Zamiast znaków spacji mo na u ywa dowolnych innych białych znaków,
niewidocznych dla człowieka.
Przez swoj prostot mechanizm ukrywania danych posiada bardzo du e
ograniczenia:
25
1.
jest łatwy do wykrycia
2.
bardzo du a podatno na uszkodzenia
3.
niewielka mo liwa ilo danych do ukrycia
4.
wielko kontenera znacznie wzrasta
2.1.5.
metoda syntaktyczna
Metoda syntaktyczna bazuje na ludzkiej tendencji do popełniania bł dów
ortograficznych, gramatycznych i interpunkcyjnych.
Zakładaj c, e obie konstrukcje s gramatycznie poprawne:
1)
chleb, masło i mleko
2)
chleb, masło, i mleko
mo na zało y , i w dokumencie oryginalnym, zawsze u ywana jest forma 1), w
której nie wyst puje przecinek przed spójnikiem „i”. Konstruuj c stegosystem
opartym na interpunkcji zakłada si , e:
binarne 0 okre lone jest jako brak przecinka przed spójnikiem (konstrukcja 1))
binarne 1 okre lane jest jako wyst powanie przecinka przed spójnikiem
(konstrukcja 2)).[8]
Zapisuj c w kontener słowo kodowe nale y zmodyfikowa ustawienie
przecinka przed spójnikiem „i” w odpowiednich miejscach tekstu kontenera.
Pewn odmian tej metody syntaktycznej jest technika bazuj ca na bł dach.
Je eli poprawn konstrukcj gramatyczn jest wyst powanie znaku przecinka przed
słowem „ e” i przypiszemy jej warto binarn 1, to usuwaj c znak „,” popełniaj c
przy tym bł d gramatyczny mo na zapisa stan binarny 0.
Obie odmiany algorytmu steganograficznego opartego na syntaktyce
charakteryzuj si du ym poziomem bezpiecze stwa. W procesie detekcji istnieje
bardzo wysokie prawdopodobie stwo popełnienia bł du II typu. Je eli u yty jest
pierwszy wariant, który bazuje jedynie na poprawnie gramatycznych konstrukcjach
wykorzystanie programów do automatycznej korekty dokumentu nie uszkodzi
osadzonej zawarto ci.
Problemem jest dobór kontenera, gdy równie w tym przypadku osadzenie
du ej ilo ci danych jest niemo liwe. Dokument kontenera mo e zosta specjalnie
stworzony w celu osadzenia w nim danych, lub te , korzystaj c z gotowego tekstu
26
nale y zapewni jego wystarczaj c du obj to .
Stegosystemy utworzone metod syntaktyczn doskonale nadaj si do
przekazywania ich w formie zarówno drukowanej jak i elektronicznej. Poprzez
wydrukowanie ich na papier nie ma mo liwo ci uszkodzenia informacji niejawnej,
jak ma to miejsce w technikach line-shift-coding, word-shift-coding, feature-coding
lub te metody białych znaków.
2.2.
Obrazy graficzne
W erze szeroko rozpowszechnionej komputeryzacji obrazy graficzne stały
si łakomym k skiem dla steganografów. Główn cech stegosystemów opartych
na grafice jest bardzo du a ilo danych, jak mo na ukry , oraz wysoki poziom ich
bezpiecze stwa.
Ze wzgl du na budow formatu graficznego, mo na je podzieli na dwie
główne kategorie:
• obrazy bez kompresji stratnej – s to formaty takie jak standardowy
BMP opracowany pierwotnie dla systemu IBM OS/2, a nast pnie
zaadoptowany na praktycznie wszystkie pozostałe platformy.
Charakteryzuje si tym, e przechowuje obrazy jedynie jako
kombinacj 3 składowych barw:
1.
czerwony (ang. Red)
2.
zielony (ang. Green)
3.
niebieski (ang. Blue)
posiada bardzo prost konstrukcj i składa si z nagłówka, opcjonalnie z
palety kolorów i danych obrazu, który jest zapisywany od dołu do góry, jako
lustrzane
odbicie w pionie. W przypadku obrazów zapisanych w wi kszej ilo ci
kolorów ni 256 paleta kolorów nie wyst puje, a ka dy kolor liczony jest wg
256
65535
K R
G
B
= +
+
i ka dy piksel obrazu reprezentowany jest przez 3 bajty odpowiedzialne za
poszczególne składowe koloru. W przypadku obrazów w trybie 256 kolorów,
ka dy piksel reprezentowany jest przez jeden bajt zawieraj cy indeks do palety
kolorów.[9]
27
• obrazy z kompresj stratn – najpopularniejszym formatem jest jpeg.
Standard został opublikowany w 1991 roku i definiuje od 4 typy
kompresji:
• sekwencyjny, oparty na DCT
• progresywny, oparty na DCT
• sekwencyjny, bez stratny
• hierarchiczny
kompresja stratna znacz co wpływa na jako obrazu, dlatego te , format ten
jest zalecany do stosowania w przypadku grafiki nie zawieraj cej du ej ilo ci
ostrych kraw dzi i małych detali, np. zdj cia pejza y, portrety.
Kompresja stratna to metoda zmniejszania ilo ci bitów potrzebnych do
wyra enia danej informacji, która nie daje gwarancji, e odtworzona informacja
b dzie identyczna z oryginałem. Dla niektórych informacji algorytm kompresji
stratnej mo e odtworzy informacj w sposób identyczny.[9]
Kompresja stratna wykorzystuje fakt, e ludzki zmysł wzroku eliminuje
najmniej istotne elementy obrazu w celu znacznego zmniejszenia rozmiaru pliku.
W zale no ci od u ywanego formatu pliku kontenera istniej ró ne metody
steganograficzne.
2.2.1.
Algorytm LSB
Jedna z najprostszych technik steganograficznych, przeznaczona do
ukrywania informacji niejawnej w obrazach bez kompresji stratnej,
nieposiadaj cych palety kolorów – czyli np. Plików zapisanych w standardzie BMP
TrueColor 24bits. Algorytm LSB bazuje na modyfikacji najmłodszych bitów
okre lonych bajtów, LSB – najmniej znacz cy bit (ang. Least Significant Bit).
Je eli obraz zapisany jest z 24 bitow gł bi , wówczas ka dy piksel
reprezentowany jest przez 3 bajty, opisuj ce poszczególne składowe barwy. Do
zapisania jednego bajta ukrywanych danych niezb dne s zatem 3 piksele = 9
bajtów.
Kolor biały reprezentowany jako funkcja RGB(255,255,255) w zapisie binarnym
28
b dzie miał posta :
R G B
11111111 11111111 11111111
Poddaj c modyfikacji najmłodszy bit ka dego bajtu uzyska si kolor biały o jeden
stopie jasno ci ciemniejszy
R G B
11111110 11111110 11111110
czyli funkcj RGB(254,254,254). Dla niedoskonałego oka ludzkiego taka zmiana
koloru jest niezauwa alna i całkowicie ignorowana. Dzi ki tej zale no ci mo na
swobodnie modyfikowa najmłodsze bity w obrazie zapisuj c w nich informacj
niejawn bez nara ania obrazu na znaczny spadek jako ci, lub widoczne gołym
okiem zmiany.
Przykładowo dysponuj c obrazem, którego fragment ma posta binarn :
00110110 11101001 01011000 11000011 10101000 00011010 00101011 11001011
i znakiem „K” o reprezentacji ASCII 1001011, mo na go zapisa w obrazie w
nast puj cy sposób:
00110111 11101000 01011000 11000011 10101000 00011011 00101011 11001011
Do zakodowania litery „K” niezb dne było zmodyfikowanie jedynie 3
bajtów oryginalnego obrazu, co nie wpłynie znacz co na dany fragment. W
przypadku maksymalnie pesymistycznym wszystkie 8 bajtów wymagałyby
zamiany.
Ilo danych mo liwych do osadzenia metod LSB w pliku bmp TrueColor mo na
wyliczy ze wzoru:
(
)
8
8
K
x y
{1}
gdzie X jest szeroko ci obrazu w pikselach
Y jest wysoko ci obrazu w pikselach
K jest gł bi koloru w bitach.
Oznacza to, e w niewielkim obrazku o rozdzielczo ci 100px / 100px TrueColor
mo na osadzi 3750 bajtów danych, nie obni aj c znacz co jako ci obrazu
kontenera.[4]
Aby zwi kszy ilo danych mo liwych do ukrycia wykorzystano słabo
29
ludzkich zmysłów do rozpoznawania zmian poszczególnych barw. Zmysł wzroku
jest najmniej podatny na zmiany koloru niebieskiego, natomiast najbardziej podatny
na zmiany barwy zielonej. Stosunek czuło ci dla poszczególnych barw ma posta
3:6:1 dla modelu RGB. Oznacza to, e modyfikacja wi kszej ilo ci młodszych
bitów dla barwy niebieskiej nie wpłynie na jako obrazu.
Dysponuj c fragmentem obrazu:
00110110 11101001 01011000 11000011 10101000 00011010 00101011 11001011
oraz znakiem ASCII „K” w postaci 01001011, mo na zapisa go jedynie na 3
bajtach obrazu – nie na o miu jak w poprzednim przypadku:
00101101 11010110 00101011
Umo liwia to zapisanie wi kszej ilo ci danych w tym samym obrazie, jednak
kosztem jego jako ci.
Proces ukrywania informacji metod LSB przebiega wg. Schematu:
for i=1 to l(c) do
si<-ci endfor
for i=1 to l(m) do
compute index ji where to storage message bit
sji<-cji endfor
natomiast proces wyodr bniania przyjmuje posta :
for i=1 to l(M) do
compute index ji where the ith message bit is stored
mi<-LSB(cji)
Endor[4]
W procesie wyodr bniania mo e pojawi si problem, e wraz z poprawnie
odczytan informacj niejawn zostan wyci gni te szumy. Wynika to z tego, e
standardowo algorytm nie ma informacji o długo ci ukrytych danych. Aby unikn
za miecania wyniku wyodr bniania zalecane jest zapisanie przed danymi
informacj i ich długo ci na kilku pierwszych bajtach kontenera.
Konstruuj c system steganograficzny oparty na metodzie LSB nale y
dokładnie wybra plik kontenera, jaki ma zosta u yty. W pierwszej kolejno ci
30
musi by spełniona zale no :
| | |
|
C
M
≥
gdzie C jest maksymaln pojemno ci kontenera w bajtach liczon ze wzoru {1}, a
M jest wielko ci osadzanej wiadomo ci w bajtach.
W zale no ci od u ywanego wariantu metody LSB nale y odpowiednio
dobra obraz. W przypadku 1 metody, praktycznie nadaje si ka dy obraz
spełniaj cy zale no
| | |
|
C
M
≥
. w przypadku 2 wariantu istotne jest, aby w obrazie
nie wyst powały płynne przej cia mi dzy odcieniami jednej barwy (tzw. Gradient),
gdy modyfikacja najmłodszych bitów mo e znacznie zaburzy płynno przej cia.
2.2.2.
Obrazy z palet kolorów
W plikach graficznych, w których wyst puje paleta kolorów zastosowanie
metody zmiany najmłodszego bitu jest niemo liwe. Kolor poszczególnego piksela
nie jest reprezentowany przez 3 bajty lecz jedynie 1 bajtem, zawieraj cym indeks
do tablicy – palety kolorów. Zmodyfikowanie najmłodszego bajtu w indeksie
spowoduje znaczne zniszczenie obrazu, gdy indeksy zaczn wskazywa na
zupełnie inne kolory.[10]
Rys.5. Paleta kolorów – indeksy
Proces ukrywania danych w obrazach z palet przebiega nast puj co:
1.
zredukowanie palety barw.
Proces ten obni a jako kontenera w stosunku do oryginału poprzez
zmniejszenie ilo ci wyst puj cych w nim kolorów. Wykonuje si to poprzez
zmian odwoła indeksów, tak, aby barwy zbli one do siebie zast powany
były tylko jednym kolorem. Redukcja palety wykonywana jest o warto
31
2
n k
=
, gdzie k przyjmuje warto ci od 1.
zredukowanie palety 256 kolorów o n=3 spowoduje, e obraz b dzie
reprezentowany jedynie przez 32 kolory co spowoduje znaczn utrat
jako ci.
Redukcja ma na celu zapewnienie okre lonej nadmiarowo ci danych w
palecie, która nast pnie b dzie u yta do osadzania danych.
Najprostszym sposobem na zredukowanie palety jest zastosowanie metody
histogramowej, gdzie redukowane s kolory najrzadziej wyst puj ce w
obrazie – takie do których indeksu jest najmniej odwoła . Jest to metoda
zawodna, gdy niektóre obrazy charakteryzuj si tym, e kolor, który nie
jest cz sto wykorzystywany mo e mie znacz cy wpływ na jako obrazu.
Doskonalsz metod jest redukcja kolorów podobnych:[11]
niech w palecie wyst puj barwy o zapisie dziesi tnym 145 144 i 147,
wówczas redukcja kolorów podobnych mo e wyeliminowa wskazania
indeksów do kolorów 145 i 147 zast puj c je kolorem 144. Spowoduje to
spadek jako ci obrazu, jednak przy odpowiednim skonstruowaniu kontenera,
strata mo e by mało zauwa alna.
2.
Zwielokrotnienie palety kolorów.
Po zredukowaniu ilo ci kolorów w palecie barw, tablic nale y
zwielokrotni w celu uzyskania identycznego rozmiaru w stosunku do
oryginału. Je eli paleta zredukowana była ze współczynnikiem n=2 to
zwielokrotnienie równie musi by przeprowadzone n-razy. Wynikiem
zwielokrotnienia jest n identycznych palet umieszczonych jedna pod drug ,
przez co dany kolor wyst puje n-razy.
Rys. 6. Zwielokrotnione palety barw
32
3.
Zmiana indeksów.
W zwi zku z tym, e cz
kolorów została usuni ta z obrazu, kontener
nale y przeindeksowa w taki sposób, aby „martwe” indeksy odnosiły si do
istniej cych kolorów w palecie. Wykonuje si to poprzez obliczenie normy
luminancji dla poszczególnych barw i wskazanie na indeks najbli szy w
palecie. Norm luminancji mo na wyliczy z normy euklidesowej:
2
2
2
11
12
21
22
31
32
|
|
((
)
(
)
(
) )
W
L
L
L
L
L
L
=
−
+
−
+
−
{2}
natomiast luminancj jako sum warto ci składowych RGB z
uwzgl dnieniem wag:
1
2
3
L L L
L
= + +
, gdzie:
L1=3R;
L2=6G;
L3=1B;
współczynniki równania {2} L11, L12, i L13 s współczynnikami dla
pierwszej porównywalnej barwy, natomiast L12, L22 i L32 s
współczynnikami dla drugiej porównywalnej barwy.
4.
Wła ciwe osadzenie danych
Informacja niejawna kodowana jest na indeksach odwołuj cych si do
palety. Je eli tablica kolorów została zredukowana ze współczynnikiem n=2,
wówczas jeden kolor wyst puje 2 razy w palecie. Modyfikuj c indeksy w
kontenerze, tak aby poszczególne piksele odwoływały si zarówno do
podstawowej palety jak i zarówno do jej kopii mo na zakodowa , e
odwołanie do pierwszej palety jest równoznaczne z binarn warto ci 1,
natomiast odwołanie do drugiej palety jest równoznaczne z binarn warto ci
0. Wówczas osiem pikseli obrazu mo e przechowywa 1 bajt danych
informacji niejawnej. Redukuj c palet z wy szym współczynnikiem n
mo liwe jest zakodowanie 1 bajta niejawnych danych na mniejszej ilo ci
bajtów kontenera.
5.
Wymieszanie palety
W ostatnim kroku, ka d kopi palety nale y wymiesza , tak aby wizualnie
nie było wida , e wyst puje kilka identycznych kopii palety, zmieniaj c
33
równocze nie odwołania indeksów.
Sił algorytmu jest fakt, e modyfikuj c kolory w obrazie poprzez np.
ciemnianie lub rozja nianie poszczególnych fragmentów obrazu nie spowoduje
utraty osadzonych informacji. Zmianie ulegn jedynie poszczególne kolory w
palecie kolorów, jednak indeksy do nich pozostan niezmienione, przez co nie
nast pi utrata danych. W procesie detekcji istnieje wysokie prawdopodobie stwo
popełnienia bł du zarówno I jak i II typu. Stego-only attack jest praktycznie
niemo liwy do poprawnego przeprowadzenia – niezb dne jest posiadanie
oryginalnego, niemodyfikowanego pliku z obrazem.[10]
2.2.3.
DCT
DCT (ang. Discreet Cosinus Transform) – dyskretna transformata cosinusowa
to jedna z najpopularniejszych blokowych transformat danych. Jest szczególnie
popularna w stratnej kompresji danych[9]
Transformata DCT jest wykorzystywana min. w obrazach formatu jpeg,
które dzi ki swojej popularno ci w sieci web stały si jednym z głównych
zainteresowa steganografów. Algorytm kompresji stratnej w formacie jpeg
przebiega nast puj co:
1.
konwersja obrazu z kanałów RGB na luminancj i 2 kanały chrominancji
2.
wst pne odrzucenie cz ci pikseli ze wzgl du na ni sz rozdzielczo barwy
oka ludzkiego ni rozdzielczo ci jasno ci
3.
kanały s dzielone na bloki 8x8
4.
na wyszczególnionych blokach dokonywana jest dyskretna transformata
cosinusowa, zamieniaj c warto ci poszczególnych pikseli na redni warto
wewn trz bloku oraz cz stotliwo ci zmian.
5.
Zast pienie rednich warto ci wewn trz bloku przez ró nice wobec warto ci
poprzedniej
6.
zamiana warto ci zmiennoprzecinkowych na warto ci całkowite powoduj c
utrat cz ci danych – kwantyzacja
7.
współczynniki DCT umieszcza si tak, aby warto ci zerowe wyst powały
34
obok siebie
8.
współczynniki niezerowe s kompresowane algorytmem Huffmana.
Po dokonaniu kompresji obrazu za pomoc DCT mo na zauwa y pewne efekty
blokowe mog ce znacznie wpływa na jako obrazu, w zale no ci od u ytego
stopnia kompresji:
- Obraz niekompresowany o rozmiarze 196662 bajtów:
rys. 7. Płynne przej cia mi dzy barwami spirali
- Obraz potraktowany bardzo siln kompresj DCT o rozmiarze 1741 bajtów:
Rys. 8. Widoczne efekty blokowe
W pierwszym etapie działania algorytmu steganograficznego bazuj cego na
plikach w formacie jpeg nast puje podział kontenera na bloki o rozmiarze 8x8
pikseli w identyczny sposób co przy dyskretnej transformacie cosinusowej. Zakłada
si , e ka dy z bloków mo e przechowywa jedynie 1 bit informacji niejawnej,
poprzez zmodyfikowanie np. współczynników kwantyzacji luminancji.[9]
35
Rys. 9. Tablica kwantyzacji luminancji wykorzystywana w formacie jpeg.[4]
Osadzanie danych powinno przebiega , w odró nieniu od metody LSB lub
modyfikacji palety kolorów w najbardziej istotnych elementach obrazu – fakt ten
zapewnia wysoki poziom bezpiecze stwa i odporno ci na uszkodzenia poprzez np.
ponown kompresj , danych niejawnych.
Ka dy wybrany blok b
i
mo e przechowywa tylko jeden i-ty bit osadzanych
danych. Aby prawidłowo ukry , a nast pnie wyodr bni dane na pocz tku nale y
ustali poło enie dwóch modyfikowanych współczynników kwantyzacji (u1,v1) i
(u2,v2).
Je eli
1
1
2
2
( , )
( , )
i
i
B u v
B u v
>
wówczas blok kontenera przechowuje binarn
warto 1, w przeciwnym wypadku 0.
funkcja B
i
ma posta :
( )
i
i
B
D b
=
[12]
Odpowiednio manipuluj c współczynnikami kwantyzacji dla poszczególnych
bloków danych mo na ukry du ilo informacji w sposób bardzo bezpieczny –
dane osadzone s w wa nych punktach obrazu, oraz s odporne na stratn
kompresj obrazu.
36
2.3. Protokoły sieciowe
Powstanie protokołów sieciowych z rodziny stosu TCP/IP stworzyło nowe
mo liwo ci dla steganografii cyfrowej. Du a ilo danych przemierzaj cych sie
zarówno globaln jak i lokaln umo liwiła transmitowanie równie du ej ilo ci
informacji niejawnych w bardzo bezpieczny sposób, bez konieczno ci u ywania
jakiegokolwiek pliku zewn trznego jako kontenera na dane. Same protokoły
posiadaj ce budow blokow umo liwiaj osadzenie pewnej ilo ci danych.
TCP/IP jest protokołem otwartym, co oznacza mo liwo komunikacji mi dzy
dowoln kombinacj urz dze , bez wzgl du na ich fizyczn ró norodno . {wiki}
Model stosu protokołów TCP/IP posiada czterowarstwow struktur :
1.
warstwa ł cza, obsługuj ca transmisj pakietów
2.
warstwa sieciowa
3.
warstwa transportowa, odpowiedzialna za dostarczenie pakietów
4.
warstwa aplikacji [13]
Ka da transmisja danych oparta o protokoły TCP/IP bazuje na datagramach,
strumie danych przeznaczony do wysłania jest dzielony na sprecyzowane na
poziomie specyfikacji protokołu paczki danych, opatrzone odpowiednim
nagłówkiem zawieraj ce informacje niezb dne do prawidłowego dostarczenia i
odebrania ich przez adresata. Algorytmy steganograficzne wykorzystuj ce TCP/IP
opieraj si w wi kszo ci na wyst powaniu pewnej nadmiarowo ci danych w
nagłówkach pakietów, dzi ki czemu sam datagram nie ulega uszkodzeniom lub
zmianie. Bardzo du a ilo transmitowanych pakietów w jednostce czasu
umo liwia przesłanie du ej porcji danych niejawnych, bez konieczno ci
przygotowywania specjalnego pliku kontenera, co jest zalet takich systemów.
Wad jest to, e aby skutecznie przesła osadzone steganograficznie dane do
adresata musi nast pi bezpo rednia transmisja danych pomi dzy nadawc jak i
odbiorc . Niemo liwe jest przechowywanie sygnału w formie np. pliku, gdy
wszystkie niejawne dane ukrywane s w nagłówkach, które ulegaj utracie zaraz po
ich odebraniu lub zako czeniu transmisji.
37
2.3.1.
Protokół TCP
Jest to strumieniowy protokół obsługi transmisji pomi dzy dwoma hostami w
sieci. Zapewnia wiarygodny sposób dostarczenia pełnego strumienia danych do
odbiorcy poprzez kontrol bł dów oraz numery sekwencyjne, dzi ki którym
mo liwe jest ponowne poprawne zło enie danych w cało .
Poł czenie TCP nast puje w trzech krokach (ang. three-way handshake):
1.
Nadawca wysyła pakiet z ustawion flag SYN.
2.
Je eli odbiorca chce odebra poł czenie odsyła pakiet z ustawionymi flagami
SYN i ACK.
3.
Nadawca wysyła pierwszy pakiet danych z aktywn flag ACK i nieaktywn
ju flag SYN.
Je eli host odbiorcy nie mo e obsłu y poł czenia odsyła pakiet z ustawion
flag RST. W momencie zamkni cia poł czenia wysyłany jest datagram z
ustawion flag FIN.
Rys. 10. Schemat budowy nagłówka TCP[13]
Technika steganograficzna ukrywaj ca dane w nagłówkach TCP bazuje na 6
bitach przeznaczonych na flagi, odpowiedzialne za odpowiedni interpretacj pakietu
przez transmituj ce hosty. Ka da z flag mo e przyj warto ci z zbioru {0,1}.
istniej 64 kombinacje ustawienia flag, jednak w trakcie normalnej transmisji
danych wykorzystywanych jest jedynie 29 kombinacji.
Ustawienie flagi URG na warto 0 spowoduje, e odbiorca b dzie ignorował
38
dane zapisane w polu nagłówka Urgent Pointer, co umo liwia na zapisanie tam 16
bitów danych, nie maj cych adnego wpływu na poprawno komunikacji danych.
Odpowiednio skonstruowany program pozwoli na odczytanie pola Urgent Pointer i
zło enie z nich osadzon wiadomo . [14]
2.3.2.
Protokół Ipv4
Protokół odpowiedzialny za przekazanie datagramów pomi dzy dwoma
hostami w sieci. Rozpoznawanie i adresowanie hostów polega na identyfikacji po
unikatowych w obr bie danej sieci adresach IP. Cech charakterystyczn Ipv4 jest
fragmentacja datagramów wynikaj ca z ró norodnej konstrukcji sieci, dane
pofragmentowane zostaj ponownie prawidłowo zło one, pomimo faktu, e mog
zosta odebrane w ró nej kolejno ci, niekoniecznie takiej w jakiej zostały wysłane.
Wi e si to z ustanowieniem ł cza wirtualnego przebiegaj cego poprzez ró ne
w zły sieciowe, tak, e datagramy mog by transmitowane ró nymi drogami.
Rys. 11. Budowa nagłówka protokołu IP
Konstrukcja nagłówka protokołu IP zakłada, e wyst puj w nim trzy bity
przeznaczone na flagi wymuszaj ce mi dzy innymi proces fragmentacji pakietu:
1.
pierwszy bit zarezerwowany
2.
drugi bit – flaga DF – je eli DF=1 to nast puje wymuszenie fragmentacji
3.
trzeci bit – flaga MF
Zakładaj c stał i niezmienn warto MTU sieci, czyli maksymaln wielko
datagramu (ang. Maximum Transfer Unit) mo na manipulowa bitem DF w taki
sposób, aby mo liwe było przesłanie informacji niejawnej bit po bicie w ka dej
39
ramce IP. Mo liwe jest to jednak, wył cznie w sieciach lokalnych o stałej warto ci
MTU. W sieci globalnej Internet, metoda ta nie sprawdza si ze wzgl du na mog c
wyst pi ró norodno warto ci MTU na poszczególnych w złach transmisyjnych.
Do przesyłania przekazów steganograficznych poprzez sie Internet mo na
zastosowa inn własno protokołu IP. Pole opcji jest zazwyczaj
niewykorzystywane w sieci globalnej, sprawia to, e do osadzenia danych mo na
przeznaczy 5 32 bitowych słów danych. Modyfikuj c pola version, internet header
length oraz identification mo na przygotowa struktur nagłówka odpowiedni dla
osadzenia danych.
Proces osadzania danych przebiega nast puj co:
1.
dwa czterobitowe pola version i internet header length przyjmuj
odpowiednie warto ci po usuni ciu pola opcji. Niech bity te b d oznaczone
jako [h1...hs]. Stanowi one pierwsze 8 bitów pierwszego słowa nagłówka.
2.
Pole identification stanowi pierwsze 16 bitów drugiego słowa nagłówka i
niech b d oznaczone jako [i1...is]. Pierwsze 8 bitów pierwszego słowa i
drugiego słowa nale y traktowa indywidualnie. Pierwsze 8 bitów powinno
da warto ci [h1...hs]=01000101, natomiast 8 bitów drugiego słowa warto ci
[c1...cs] mog ce zawiera osadzane dane.
3.
Pierwsze 8 bitów pierwszego i drugiego słowa powinny by poddane funkcji
XOR
4.
pozostałe 8 bitów pola identification mo e zosta wygenerowana losowo i
zosta poł czone z pierwszymi 8 bitami w celu uzyskania unikatowej
warto ci, niezb dnej do prawidłowej transmisji danych.[14]
Utworzony w ten sposób datagram, zawieraj cy ukryty przekaz mo e by
transmitowany w sieci Internet. Je eli nast pi konieczno pofragmentowania
danych, to przy ponownym jej zło eniu nie nast pi uszkodzenie zawartych
informacji.
Protokoły TCP oraz IP nie s jedynymi protokołami mo liwymi do u ycia w
steganografii, praktycznie dla ka dego protokołu mo liwe jest opracowanie
odpowiedniego algorytmu, jednak e ich wykorzystanie mo e by ograniczone.
Metody steganograficzne oparte na transmisji sieciowej posiadaj wysoki
poziom bezpiecze stwa, jednak wykrycie ich jest mo liwe poprzez długotrwałe
40
analizowanie danego fragmentu sieci pod k tem budowy nagłówków. Ka da
modyfikacja nagłówka mo e zosta odebrana jako anomalia, jednak momencie gdy
powtarza si ona cyklicznie i tylko pomi dzy okre lonymi hostami w sieci, istnieje
wysokie prawdopodobie stwo, e zostanie to odebrane jako celowe działania
steganograficzne.
Wad protokołów sieciowych jako kontenera jest fakt, e niemo liwe jest
przechowywanie zabezpieczonych steganograficznie informacji. Mo liwa jest
jedynie ich transmisja w czasie rzeczywistym.
41
3.
D wi k jako kontener
D wi k mo e wyst powa w dwóch postaciach – jako sygnał analogowy
oraz sygnał cyfrowy. Aby sygnał d wi kowy mógł by przetwarzany przez
komputer musi on ulec zmianie z analogowego na cyfrowy. Wykonywane jest to
poprzez próbkowanie sygnału analogowego i zapisywanie warto ci próbek do pliku.
Zsamplowany d wi k traci jednak na jako ci w procesie próbkowania, gdy
analizowanie sygnału odbywa si z pewn szybko ci , która nie jest w stanie
wiernie odwzorowa sygnału analogowego.
Rys. 12. Samplowanie d wi ku analogowego
Czym ni szy czas pomi dzy pobieraniem kolejnych próbek (wy sza cz stotliwo
samplowania) tym wierniejsze odwzorowanie sygnału.
Odpowiednio przygotowany plik audio stanowi doskonały kontener dla
ukrywanych informacji, dzi ki zastosowaniom zaawansowanych technik
steganograficznych mo liwe jest osadzenie du ej ilo ci danych niejawnych w
stosunkowo krótkim pliku audio, przy zachowaniu wysokiego poziomu
bezpiecze stwa na wykrycie lub uszkodzenie. Przy zastosowaniu superdokładnych
przetworników analogowo - cyfrowych i cyfrowo – analogowych mo liwe jest
poprawne wyodr bnienie informacji z sygnału analogowego, powstałego z sygnału
cyfrowego zawieraj cego dodatkowe informacje.
Steganografia w d wi ku analogowym jest trudna do zrealizowania, gdy
wymaga realizacji bezpo rednio na sprz cie o du ej mocy obliczeniowej, b d cego
w stanie dokona oblicze transformaty Fouriera w czasie rzeczywistym.
Wyodr bnienie tak osadzonej informacji wymaga porównywalnego sprz tu.
Zastosowanie sygnału cyfrowego, zapisanego na no nikach w postaci plików
jest znacznie prostsze i skuteczniejsze. Transmisja danych za pomoc sygnału
42
analogowego podlega tym samym ograniczeniom co w przypadku metod
steganograficznych opartych na stosie protokołów TCP/IP – niemo liwe jest
składowanie sygnału bez uszkodzenia osadzonej w nim zawarto ci za pomoc
no ników analogowych, pomin tu mo na urz dzenia doskonale czułe, które nie s
w u ytku powszechnym. Informacja zapisana w cyfrowym pliku audio mo e by
przesyłana na ró ne sposoby, nie jest konieczne odtworzenie pliku w celu
wyodr bnienia informacji – wystarczy fakt jego posiadania.
3.1.
HAS (ang. Human Auditory System) - ludzki układ słuchu.
Steganografia w plikach audio stanowi wi ksze wyzwanie ni jej
odpowiednik w plikach graficznych. Ludzki system słuchu jest bardziej czuły na
zakłócenia spowodowane przez biały szum AWGN (ang. Additive White Gaussian
Noise). Zakłócenia te mog by wykrywalne nawet gdy wyst puj o 70db ciszej od
poziomu normalnego d wi ku. Z drugiej strony, układ HAS charakteryzuje si
nisk czuło ci na zmiany siły tonu. Oznacza to, e gło ne d wi ki przykrywaj
d wi ki o ni szej gło no ci, przez co staj si one niesłyszalne. Cecha ta jest
wykorzystywana min. w kompresji sygnałów d wi kowych mp3.[15]
MP3 (ang. MPEG Audio Layer-3) jest przykładem kompresji stratnej
opracowanej do zmniejszania obj to ci plików muzycznych. Bazuje na
odpowiednio zmodyfikowanej dyskretnej transformacie cosinusowej i modelu
psychoakustycznym. D wi k skompresowany z przepływno ci (ang. bitrate)
128kbps daje zazwyczaj jako niskiej klasy odtwarzaczom CD. Bitrate rz du
192kbps jest dla wi kszo ci ludzi nieodró nialny od oryginału.[9]
Model psychoakustyczny jest matematycznym modelem, mówi cym jakie
informacje o d wi ku s rozpoznawalne dla ludzkiego zmysłu słuchu, przykładowo
czuło ludzkiego ucha na d wi ki o ró nych cz stotliwo ciach (d wi ki bardzo
niskie i bardzo wysokie s niesłyszalne). Zakres cz stotliwo ci słyszalnego d wi ku
szacuje si w przedziale od 20hz do 20khz i maksymaln czuło w zakresie 2khz-
4khz.
Badaj c ludzki układ słuchowy zaobserwowano zjawisko maskowania jednych
d wi ków przez drugie. Wyró nia si 3 typy maskowania:
• maskowanie jednoczesne - ciche d wi ki o cz stotliwo ciach zbli onych do
43
cz stotliwo ci d wi ku gło nego nie s słyszalne
• maskowanie pobod cowe - gło ny d wi k potrafi zagłuszy cichsze d wi ki
wyst puj ce bezpo rednio po nim
• maskowanie wsteczne - cichy d wi k, poprzedzaj cy d wi k gło ny nie jest
słyszalny.[15]
Pewne niedoskonało ci układu HAS s podstaw dla konstruowania
systemów steganograficznych. Jest to min. wspomniane wcze niej zjawisko
maskowania lub chocia by przyzwyczajenie ludzkie do niskiej jako ci d wi ku
posiadaj cego słyszalne zakłócenia. Przyzwyczajenie to mo e wynika z niskiej
jako ci odbiorników radiowych lub telewizyjnych, gdzie wyst powanie szumów,
trzasków lub innych zakłóce jest rzecz normaln i ju praktycznie nie dra ni c .
Umo liwia to dodanie odpowiednio skonstruowanych zanieczyszcze do sygnału
kontenera tak, aby jednocze nie zawierały informacj niejawn , ale równie nie
obni ały znacz co jako ci d wi ku.
3.2.
Zało enia bezpiecznego stegosystemu
Konstruuj c bezpieczny stegosystem oparty na sygnale audio nale y spełni
poni sze warunki:
• ka da osadzona informacja powinna by odporna na przetwarzanie pliku
kontenera poprzez jego kompresj /dekompresj w stopniu generuj cym
akceptowaln jako wynikow d wi ku. Niedopuszczalne jest, aby
podziałanie na stegosystem kompresj o niewielkim współczynniku redukcji
sygnału spowodowało uszkodzenie wiadomo ci.
• ka da wiadomo powinna by odporna na ataki maj ce na celu jej wykrycie
lub uszkodzenie.
W celu uzyskania wi kszego poziomu bezpiecze stwa danych mo na
zastosowa zwielokrotnienie ukrywanych danych i ka d z kopii umie ci w innej
cz ci pliku kontenera. W przypadku uszkodzenia pliku lub strumienia w trakcie
przesyłu
danych
istnieje
wy sze
prawdopodobie stwo
prawidłowego
wyodr bnienia osadzonych informacji, ni w przypadku, gdy ukryta zostanie tylko
44
jedna kopia wiadomo ci.
Regulacja wykorzystania pasma w sieciach komputerowych mo e
spowodowa , e sygnał strumieniowy audio b dzie ulegał uszkodzeniom w trakcie
przesyłu w przypadku wysokiego obci enia ł cza. Mechanizm ten jest
powszechnie wykorzystywany przy dzieleniu pasma, gdy u jego zało e le y fakt,
e uszkodzenie strumienia multimedialnego jest dopuszczalne i nie wpłynie
znacz co na odbiór informacji, czego nie mo na powiedzie o zwykłych danych
binarnych, które nie mog ulec uszkodzeniom. Oznacza to, e w przypadku
jednoczesnego działania radia internetowego i pobierania np. archiwum,
przeznaczane jest szersze pasmo dla pobierania pliku - aden bajt danych nie mo e
zosta utracony. W przypadku utraty cz ci pakietów z pasma wykorzystanego
przez radio, wyst pi jedynie słyszalne zakłócenia, jednak interpretacja sygnału
b dzie mo liwa.
3.3.
Wybrane metody
3.3.1.
LSB
Zasada działania techniki LSB (ang. Least Significant Bite) w plikach
muzycznych jest zbli ona do tej samej metody u ywanej przy algorytmach
bazuj cych na grafice.
W standardowym algorytmie LSB wybierany jest pewien zbiór danych
reprezentuj cych pojedyncze d wi ki – sampli za pomoc klucza lub okre lonego z
góry algorytmu. Ukrywanie informacji odbywa si poprzez zamian najmłodszych
bitów poszczególnych bajtów wybranego zestawu sampli.
Xj[i]->m[i];
Du y rozmiar plików audio umo liwia umieszczenie w nich du ej ilo ci
danych poprzez manipulowanie najmłodszym bitem. Ze wzgl du na specyficzn
cech układu HAS, manipulowanie najmłodszymi bitami powinno by
przeprowadzone ostro nie, wysoka czuło ludzkiego ucha na biały szum AWGN
powoduje, e ilo modyfikowanych bitów nie mo e by zbyt du a. Powstałe w ten
sposób zniekształcenia d wi ku mog by łatwo wykrywalne. Ogranicza to
znacznie ilo mo liwych do wykorzystania bitów. Badania [16] wykazały, e
wprowadzenie informacji na warstwy LSB powy ej 4 spowoduje znaczn utrat
45
jako ci kontenera i znacz ce obni enie poziomu bezpiecze stwa – zmiany były ju
dobrze słyszalne.
Wyodr bnienie osadzonych wcze niej danych wykonywane jest poprzez
odczyt okre lonej ilo ci najmłodszych bitów z zestawu danych opisanych kluczem
lub algorytmem.
Pomimo faktu, e mo liwe jest osadzenie du ej ilo ci danych algorytmem
LSB, nie oferuje on wystarczaj cego poziomu bezpiecze stwa danych. Ich
uszkodzenie lub całkowite zniszczenie jest mo liwe poprzez np. przypadkow
zmian losowo wybranych najmłodszych bitów w całym pliku kontenera – jest to
jeden z najprostszych ataków prowadzonych na metod LSB.
W pracy „Increasing Roustness of LSB Audio Steganography by Reduced
Distortion LSB Coding” przeprowadzonej na University of Oulu w Finlandii przez
Cvejica i Sappanena zaproponowano zmodyfikowan wersj algorytmu LSB.
Zaproponowany algorytm pozwala na przeniesienie ukrywanych danych z warstwy
4 na warstw 6. Podstawow ró nic w działaniu jest fakt, e standardowy algorytm
zast puje odpowiedni bit sampla na odpowiedni bit tajnej wiadomo ci, je eli bity te
si ró ni . Dysponuj c danymi:
16 bitowa próbka danych o warto ci: 0000000000001000
fragment tajnej wiadomo ci: 00000000
osadzanie danych w 4 warstwie LSB spowoduje, e warto modyfikowanej próbki
danych b dzie:
16 bitowa próbka danych po modyfikacji: 0000000000000000.
spowoduje to znaczn zmian d wi ku, gdy z warto ci 8 spadł on nagle do
warto ci 0.
Zmodyfikowana metoda LSB umo liwia bezpieczne osadzenie danych nawet na 6
warstwie LSB, poprzez zamian warto ci sampla na najbardziej zbli ony do
oryginału.
16 bitowa próbka danych o warto ci: 0000000000001000
fragment tajnej wiadomo ci: 00000000
Wynikiem działania zaproponowanego w [16] algorytmu b dzie sygnał:
16 bitowa próbka danych o warto ci: 0000000000000111
46
Jak wida , zmiana d wi ku nast piła jedynie o 1 a nie warto 8 jak w przypadku
standardowej techniki. Dzi ki temu, mo na podnie próg bezpiecznej warstwy dla
LSB z 4 na 6, a co za razem idzie podniesienie bezpiecze stwa danych. Mimo
przej cia na drug warstw kontener nie straci jako ciowo tyle, co w przypadku
poprzedniej metody. Zamiana sampla na najbardziej zbli ony mo e zapewni
mniejsz ilo „niezgodno ci” pomi dzy stegosystemem a oryginałem.
Zaproponowany w [16] algorytm ma posta :
if host sample a>0
if bit 0 is to be embedded
if a i-1 =0 then a i-1 a i-2 ...a 0 =11...1
if a i-1 =1 then a i-1 a i-2 ...a 0 =00...0 and
if a i+1 =0 then a i+1 =1
else if a i+2 =0 then a i+2 =1
...
else if a 15 =0 then a 15 =1
else if bit 1 is to be embedded
if a i-1 =1 then a i-1 a i-2 ...a 0 =00...0
if a i-1 =0 then a i-1 a i-2 ...a 0 =11...1 and
if a i+1 =1 then a i+1 =0
else if a i+2 =1 then a i+2 =0
...
else if a 15 =1 then a 15 =0
if host sample a<0
if bit 0 is to be embedded
if a i-1 =0 then a i-1 a i-2 ...a 0 =11...1
if a i-1 =1 then a i-1 a i-2 ...a 0 =00...0 and
if a i+1 =1 then a i+1 =0
else if a i+2 =1 then a i+2 =0
...
else if a 15 =1 then a 15 =0
else if bit 1 is to be embedded
47
if a i-1 =1 then a i-1 a i-2 ...a 0 =00...0
if a i-1 =0 then a i-1 a i-2 ...a 0 =11...1 and
if a i+1 =1 then a i+1 =0
else if a i+2 =1 then a i+2 =0
...
else if a 15 =1 then a 15 =0 {618}
Je eli algorytm osadzaj cy informacj niejawn jest ró ny w obu odmianach
algorytmu LSB, tak mechanizm wyodr bniania jest jednakowy i nie uległ zmianie i
polega o odczytaniu bitu z i-tej warstwy LSB.
Podsumowuj c technik LSB mo na stwierdzi e jej pierwsza odmiana
wprowadza wi ksz ilo zanieczyszcze do kontenera, poprzez niekontrolowan
zmian bitów na okre lonej warstwie. Wysoko warstwy nie powinna przekracza
czwartej, gdy spowoduje to znaczne obni enie jako ci kontenera. W przypadku
metody zaproponowanej na Univeristy of Oulu wysoko warstwy mo e zwi kszy
si do szóstej, osadzanie danych nie powoduje znacznej modyfikacji sampla, gdy
jego warto jest obni ana do warto ci mu najbli szej przy zmodyfikowanym
okre lonym bicie – czyli próbka d wi ku wynikowa b dzie bardzo zbli ona do
oryginalnej.
3.3.2.
DSSS
Direct Sequence Spread Spectrum a dokładniej directly carrier-modulated,
code sequence modulation) czyli bezpo rednie modulowanie no nej sekwencj
kodow . Jest to jedna z technik rozpraszania widma w systemach
szerokopasmowych przy pomocy ci gów kodowych. Jeden ze sposobów
działania tej techniki polega na tym, e przy wysyłaniu, strumie danych jest
mno ony przez odpowiedni ci g kodowy o wi kszej szybko ci bitowej. W ten
sposób wyj ciowy strumie informacji zajmuje znacznie szersze pasmo. Dobór
ci gu kodowego musi spełnia szereg wymaga . Wła ciwy jego dobór pozwala
na zaszyfrowanie informacji [9]
Technika osadzania danych bazuj ca na DSSS jest metod niedoskonał o
48
niskim progu odporno ci danych na uszkodzenia i ataki maj ce na celu zniszczenie
osadzonej informacji. Przyspieszanie lub spowalnianie sygnału audio mo e
skutecznie uszkodzi dane niejawne. Wszelkiego typu konwersje z sygnału
analogowego na cyfrowy i odwrotnie mog zniszczy osadzone dane.
Spowodowane jest to niezgodno ci zegarów w konwerterach D/A i A/D.
3.3.3.
Dodawanie echa
Wiele technik steganograficznych bazuje na kodowaniu informacji niejawnej
poprzez dodawanie echa do sygnału kontenera. Pomimo wysokiej czuło ci układu
HAS na biały szum metoda ta jest skuteczna, gdy zastosowanie bardzo krótkich
odległo ci pomi dzy sygnałem oryginalnym i echem powoduje traktowanie
zakłóce jako rezonansu. Po dodaniu echa do kontenera okazuje si , e jego
wła ciwo ci statystyczne pozostaj niezmienione.
Rys. 13. Echo hiding
Stegosystem bazuj cy na dodawaniu echa posiada 4 główne cechy
- amplituda inicjacyjna
- tempo
- przesuni cie „one” (ang. „one” offset)
- przesuni cie „zero” (ang. „zero” offset)[15]
Odległo pomi dzy oryginalnym sygnałem kontenera a dodanym echem jest w
pełni zale na od u ytego przesuni cia – zero lub jeden.
W procesie osadzania danych sygnał kontenera jest dzielony na mniejsze porcje,
49
które s traktowane jako niezale ne sygnały. Nast pnie do ka dej porcji dodawane
jest echo z okre lonym bitem informacji. Informacja jest osadzana w kontenerze
poprzez dodanie echa z przesuni ciem 0 lub 1.
Proces wyodr bniania informacji polega na wykryciu odległo ci pomi dzy
sygnałem a echem za pomoc transformaty Fouriera F i odwróconej transformaty
Fouriera F
-1
.
2
1
{log( ( ) }
F
F x
−
.
Je eli wynik powy szego równania (cepstrum) jest wy szy na pozycji
1
ni na
pozycji
0
wówczas wyodr bniany bit ustawiany jest na warto 1, w przeciwnym
przypadku ustawiany jest na warto 0.[15]
3.3.4.
Modulacja fazy
Algorytmy bazuj ce na modyfikacji fazy mo na podzieli na dwie grupy:
• algorytmy wykorzystuj ce kodowanie fazowe.
Proste kodowanie fazowe polega na podzieleniu sygnału kontenera na bloki i
osadzenie całej informacji niejawnej w spektrum fazowym pierwszego bloku.
Jest u ywane min. przy znakach wodnych (ang. Watermarks)
• algorytmy wykorzystuj ce modulowanie fazy
Wykorzystywany jest mechanizm niezale nego wielozakresowego modulowania
fazy sygnału. W tym celu u ywany jest stosunkowo długi blok danych o
długo ci
14
2
N
=
. Algorytm dokonuje powolnej zmiany fazy w przestrzeni
czasowej. Ukrywana informacja, np. znak wodny osadzana jest poprzez dodanie
jednej jednostki skali Bark do fazy bloku. Jedna jednostka skali Bark mo e
przechowywa jedynie jeden bit informacji niejawnej.
Skala Bark jest psychoakustyczn skal z warto ciami z zakresu 0-24
opisuj cymi 24 słyszalnych zakresów d wi ku. Oblicza si j wg:
2
13arctan(0.00076 ) 3,5arctan((
) )
7500
f
BARK
f
=
+
Gdzie f jest cz stotliwo ci wyra on w hercach.
Udowodniono, e sensowny zakres dla osadzanych danych przedstawiony w
skali Bark to 0-24 czyli zakres 0-15khz.
Mechanizmy modulowania lub kodowania fazy s technikami niewykorzystuj cymi
50
cechy układu HAS, maskowania słabych d wi ków, d wi kami silniejszymi.[17]
3.3.5.
Autokorelacja
Autokorelacja - statystyka opisuj ca dla danego szeregu czasowego, w jakim
stopniu dany wyraz szeregu zale y od wyrazów poprzednich. {wiki}.
Jest to funkcja która dla argumentu k przypisuje warto współczynnika
korelacji Pearsona pomi dzy szeregiem czasowym a tym samym szeregiem
cofni tym o k jednostek czasu.
Korelacja Pearsona okre la poziom zale no ci liniowej mi dzy zmiennymi
losowymi. Niech x i y b d zmiennymi losowymi o ci głych rozkładach x
i
, y
i
oznaczaj warto ci prób losowych zmiennych (i=1,2…n), natomiast
X
i
Y
-
warto ci rednie tych prób, tj.
1
1
n
i
i
x
x
n
=
=
oraz
1
1
n
i
i
y
y
n
=
=
Wówczas współczynnik korelacji liniowej zdefiniowany jest nast puj co:
1
2
2
1
1
(
)(
)
(
)
(
)
n
i
i
i
xy
n
n
i
i
i
i
x x y
y
r
x x
y
y
=
=
=
−
−
=
−
−
Technika manipulowania współczynnikami autokorelacji doskonale nadaje si
do osadzania informacji w sygnale analogowym. Nale y ona do rodziny modulacji
cech statystycznych.[18]
Rys. 14. Diagram blokowy osadzania danych metod manipulowania współczynnikiem
autokorelacji
51
Wej ciowy sygnał kontenera poddawany jest wst pnej filtracji maj cej na celu
poprawienie własno ci kontenera. Nast pnie sygnał ten u ywany jest do utworzenia
specjalnego sygnału zawieraj cego zmodyfikowane współczynniki autokorelacji.
Wykonywane jest to w generatorze sygnału pokazanego na rysunku 13. sygnał ten
tworzony jest poprzez dodanie okre lonej zmiennej opó nienia. Liczba dodawanych
opó nie jest równa współczynnikowi autokorelacji modulowanego sygnału.
Rys. 15. schemat blokowy generatora sygnału
Krótkoterminowa autokorelacja przefiltrowanego sygnału mo e przyjmowa
posta :
( , )
( ) (
)
t
t T
R t
s x s x
dx
τ
τ
−
=
−
W wi kszo ci implementacji systemu utrzymuje si , e zmienna g opisuj ca
opó nienie przyjmuje niewielk warto , aby opó nienia były transparentne.
Oblicza si je z:
( , )
( , )
( , 2 )
(
,0)
m
R t
R t
g
R t
R t
τ
τ
τ
τ
−
≈
+
−
lub z
( , )
( , )
( , 2 )
(
,0)
m
R t
R t
g
R t
R t
τ
τ
τ
τ
−
≈
+
+
Ta technika steganograficzna bazuje na słowach kodowych, które s
reprezentowane przez odpowiednio zmodulowane zmiany współczynników
autokorelacji, takich jak rednia warto opó nie . Istnieje kilka metod
reprezentacji słowa kodowego:
52
1.
kodowanie proste, w którym jeden symbol odpowiada dokładnie
jednej warto ci współczynnika autokorelacji
2.
multi-level symbol mapping – ka de osadzone słowo kodowe
opisane jest sko czonym zbiorem warto ci współczynników
autokorelacji.
3.
Manchester symbol encoding – niech sygnał b dzie dzielony na
dwie równe cz ci, dla ka dej z nich zostanie obliczona warto
współczynnika autokorelacji. Nast pnie ró nica pomi dzy tymi
dwoma współczynnikami jest modulowana w celu zakodowania
danych.
4.
delay hoping – poszczególne elementy sygnału zmieniaj swoje
warto ci opó nienia w zale no ci od wcze niej predefiniowanej
tablicy, której istnienie musi pozosta tajne.[18]
Metoda modulowania współczynników autokorelacji przeznaczona jest przede
wszystkim do osadzania niewielkiej porcji danych w transmitowanym sygnale
analogowym. Najcz ciej wykorzystywana jest do znakowania wodnego sygnału.
Oznakowana w ten sposób informacja mo e by swobodnie przechowywana na
no nikach bez utraty zapisanych niejawnych danych. W przypadku wykorzystania
modulacji współczynników autokorelacji w stosunku do sygnału cyfrowego uzyska
si stegosystem o wysokim poziomie bezpiecze stwa. Niejawne dane nie s
podatne na kompresj , dodanie białego szumu Gaussa AWGN o sile nawet 36db nie
spowoduje uszkodzenia danych, zmiana tempa o warto do 10% nie uszkodzi
przekazu.
3.4.
Podsumowanie
D wi k cyfrowy jest doskonałym medium transmisyjnym dla ukrywania
danych. Jego du a pojemno steganograficzna i oferowane bezpiecze stwo danych
spowodowały, e pliki d wi kowe stały si celem zainteresowania steganografów.
Niedoskonało ci ludzkiego układu słuchowego HAS umo liwiaj skuteczne ukrycie
danych w d wi ku bez wprowadzania du ych zmian w samym sygnale. Istniej
techniki, których wynikiem działania jest stegosystem o identycznych parametrach
53
statystycznych jak oryginalny sygnał u yty jako kontener. Istniej algorytmy
pozwalaj ce ukrywa informacje w takich obszarach d wi ku, e ich poziom
bezpiecze stwa na wykrycie lub uszkodzenie jest bardzo wysoki. Kompresja stratna
nie jest ju zagro eniem dla steganografii. Cz
algorytmów gwarantuje ochron
osadzonych danych przy u yciu kompresji.
Ilo próbek d wi ku jaka mo e zosta u yta jako kontener jest bardzo du a,
mo liwo ci ró nej parametryzacji d wi ku – jego cz stotliwo ci, przepływno ci czy
nawet stylu muzycznego jaki reprezentuj umo liwiaj bezpieczne ukrycie danych.
54
4.
Analiza metod ukrywania w d wi ku
W tej cz ci pracy zostanie zaprezentowana aplikacja StegoSound, oraz
wykonane za jej pomoc analizy. Analizie porównawczej zostały poddane dwa
algorytmy osadzania danych w d wi ku, działaj ce na szeregu próbek danych
wej ciowych.
Celem przeprowadzonych bada jest stwierdzenie która z metod gwarantuje
wy szy poziom bezpiecze stwa, oraz sprawdzenie, czy na poziom bezpiecze stwa
wpływa styl muzyczny reprezentowany przez poszczególne próbki.
Analizie została poddana amplituda d wi ku.
4.1. rodowisko bada
4.1.1. Borland c++ Builder
rodowisko Borland C++ Builder w wersji Personal zostało u yte do
napisania aplikacji testuj cej algorytmy na poszczególnych próbkach danych.
Cało projektu została wykonana za pomoc jedynie darmowych i powszechnie
dost pnych komponentów do pakietu firmy Borland. Obiekty jakie zostały u yte to:
Image, pole edycyjne Edit, Pole tekstowe Label, Pole kombi ComboBox, pole
tekstowe CSpinEdit, checkbox, pasek post pu CGauge oraz przyciski BitBtn.
Projekt nie wykorzystuje adnych zewn trznych bibliotek, i dzi ki
kompilacji wraz z wymaganymi modułami jest mo liwy do uruchomienia na
komputerach na których nie zainstalowano pakietu firmy Borland.
4.1.2. Aplikacja StegoSound
Aplikacja StegoSound jest narz dziem umo liwiaj cym przeprowadzenie
analiz porównawczych dwóch badanych algorytmów steganograficznych
bazuj cych na sygnale d wi kowym.
55
Rys. 16. Aplikacja testowa StegoSound
Aplikacja umo liwia wczytanie pliku kontenera oraz pliku zawieraj cego
tekst jawny przeznaczony do osadzenia. Na podstawie wyboru metody oraz
warstwy bitowej na jakiej ma działa program dokonuje wpisania tekstu do sygnału
d wi kowego a nast pnie generuje wykresy obu sygnałów:
- oryginalnego przed osadzeniem danych tekstowych
- zmodyfikowanego, zawieraj cego ukryte dane
Do operacji na poszczególnych bitach została u yta prosta klasa napisana w C++
która ma posta :
class bin
{
public:
char *CharToBin(int);
void SetChar(char*);
char BinToChar();
char *SetBit(int);
char *SetBit2(int,int);
char GetBit(int);
private:
char *chars; //wartosc bitowa znaku
};
//metoda zapisujaca wartosc binarna do obiektu
//do dalszej obrobki
void bin::SetChar(char *_liczba)
56
{
chars=new char[strlen(_liczba)-1];
strcpy(chars,_liczba);
}
//metoda zamieniajacy znak na zapis binarny
char *bin::CharToBin(int liczba)
{
chars=new char[9];
int tmp=0;
for(int i=7;i>-1;i--)
{
tmp=liczba%2;
if(tmp==1) chars[i]='1';
else chars[i]='0';
tmp=0;
liczba=liczba/2;
chars[8]='\0';
}
return(chars);
}
//metoda zamieniajaca zapis binarny na znak
char bin::BinToChar()
{
int tmp=0;
int mnoznik=128;
int liczba=0;
for(int i=0;i<8;i++)
{
liczba=(chars[i]-48)*mnoznik;
tmp=tmp+liczba;
mnoznik=mnoznik/2;
}
return tmp;
}
//metoda ustawiajaca najmlodszy bit na bit przeciwny
char *bin::SetBit(int n)
{
if(chars[n]=='1')
chars[n]='0';
else
chars[n]='1';
return chars;
}
char *bin::SetBit2(int n, int wart)
{
if((chars[n]=='1')&&(wart==1));
else if((chars[n]=='1')&&(wart==0))
57
chars[n]='0';
else if((chars[n]=='0')&&(wart==1))
chars[n]='1';
else if((chars[n]=='0')&&(wart==0));
}
//metoda zwracajaca najmlodszy bit
char bin::GetBit(int n)
{return chars[n];}
Wykorzystanie metod zawartych w klasie bin mo liwe było skuteczne
manipulowanie poszczególnymi bitami zarówno d wi ku jak i tekstu, za pomoc
których dane zostały osadzone do kontenera.
Aplikacja po wczytaniu danych wej ciowych dokonuje analizy pojemno ci
kontenera – je eli informacji przeznaczonych do ukrycia jest wi cej ni
maksymalna pojemno kontenera, program uniemo liwi dalsze operacje.
4.2. Badane algorytmy
Stworzony program StegoSound dokonuje analizy dwóch odmian algorytmu
Least Significant Bit – LSB:
• standardowa metoda LSB polegaj ca na zamianie warto ci bitu kontenera na
okre lonej warstwie w zale no ci od warto ci bitu ukrywanych danych
• zmodyfikowana metoda LSB polegaj ca dodatkowo na zamianie bitów na
ni szych warstwach w celu mo liwie jak najmniejszego zmodyfikowania
warto ci próbki d wi ku. Metoda opracowana na Univeristy of Oulu.
W dalszej cz ci pracy b d okre lone odpowiednio jako:
• Algorytm 1
• Algorytm 2
58
4.3. Próbki danych
Analizie zostało poddanych 5 próbek d wi ku o małej długo ci (poni ej
sekundy) reprezentuj ce ró ne style muzyczne.
numer
próbki Długo
cz stotliwo
próbkowania
gł bia
bitów Kanały
Autor
Styl muzyczny
Utwór
1
0,417
44,1
8 mono Saturnus
Doom Metal
I Long
2
0,509
44,1
8 mono Seven Main Sins Death Metal
Kamienna Tablica
3
0,601
44,1
8 mono Omega
Rock
Dziewczyna o
perłowych włosach
4
0,546
44,1
8 mono Puff Dady
Rap
Godzilla
5
0,493
44,1
8 mono
Eugenia Vlasova &
Andru Donalds
Nowoczesna
Wind of hope
Ka da próbka d wi ku została pobrana z pierwszej sekundy ka dego utworu.
Jako danych podlegaj cych osadzaniu u yto jednej strony niniejszej pracy.
Przeprowadzone analizy przebiegały:
• Ka da próbka d wi ku została poddana działaniu dwóch algorytmów
• Ka dy algorytm został przetestowany na dwóch warstwach bitowych –
pierwszej i czwartej
• Do ka dej próbki danych został wpisany ten sam tekst
4.4. Wyniki poszczególnych analiz
Wyniki analiz prezentowane s wg schematu:
• Numer badania
• Numer próbki
• Algorytm
• Warstwa bitowa
• Wykresy
• komentarz
59
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
1
1
1
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Widoczne niewielkie odkształcenia sygnału w pierwszej cz ci wykresu
amplitudy. Zniekształcenia nieznaczne.
60
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
2
1
2
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Niewielkie zniekształcenia widoczne w pocz tkowej cz ci sygnału.
D wi k wynikowy identyczny jak w przypadku algorytmu 1 działaj cego na tej
samej warstwie.
61
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
3
1
1
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Widoczne mocne zniekształcenia sygnału na całej długo ci. Bardzo
du e ró nice mi dzy oryginałem a sygnałem wynikowym.
62
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
4
1
2
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku po wpisaniu danych
Komentarz:
Du e zniekształcenie sygnału d wi kowego. W stosunku do
algorytmu 1 zmiany dokonane w procesie ukrywania danych s znacznie mniejsze.
Zwłaszcza jest to widoczne w rodkowej cz ci sygnału.
63
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
5
2
1
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany widoczne praktycznie tylko w pocz tkowej cz ci sygnału.
Reszta sygnału z powodu du ych skoków amplitudy jest utrudniona w analizie.
64
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
6
2
2
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany widoczne jedynie w pocz tkowej cz ci sygnału. Zmiany dokonane
przez algorytm identyczne jak w przypadku algorytmu 1.
65
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
7
2
1
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany sygnału widoczne w pocz tkowej cz ci d wi ku. Pozostała cz
równie zmodyfikowana, jednak analiza utrudniona przez cz st zmian amplitudy.
66
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
8
2
2
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Niewielkie zmiany sygnału na całej długo ci.
67
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
9
3
1
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany sygnału widoczne na całej długo ci – spowodowane niewielk
zmian amplitudy.
68
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
10
3
2
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Modyfikacja identyczna jak w przypadku algorytmu 1.
69
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
11
3
1
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Widoczne mocna modyfikacja sygnału. Ostatnia cz
d wi ku
niezmodyfikowana – spowodowane du ró nic mi dzy długo ci osadzanych
danych a maksymaln pojemno ci kontenera.
70
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
12
3
2
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Bardzo mocno zarysowane ró nice w sygnale
71
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
13
4
1
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany praktycznie niewidoczne
72
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
14
4
2
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany praktycznie niewidoczne – zupełnie jak w przypadku algorytmu 1.
73
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
15
4
1
3
Amplituda przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany mało widoczne, jednak w stosunku do warstwy 1 modyfikacje s
wi ksze.
74
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
16
4
2
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Modyfikacje mało widoczne – znacznie mniej zmian ni w przypadku
algorytmu 1.
75
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
17
5
1
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Ze wzgl du na bardzo du e skoki amplitudy modyfikacje sygnału
niewidoczne zupełnie.
76
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
18
5
2
1
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Ze wzgl du na bardzo du e skoki amplitudy zmiany niewidoczne
77
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
19
5
1
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany minimalne, ale jednak widoczne
78
Badanie nr
Numer
próbki
Algorytm
Warstwa
bitowa
20
5
2
3
Amplituda d wi ku przed wpisaniem danych
Amplituda d wi ku z wpisanymi danymi
Komentarz:
Zmiany mniej widoczne w porównaniu do algorytmu 1
79
Zako czenie i wnioski
Celem pracy było zaprezentowanie istniej cych technik steganograficznych,
oraz dokonanie analizy porównawczej dwóch wybranych technik ukrywania danych
w sygnale d wi kowym.
Z przeprowadzonych bada wynika, e modyfikacja algorytmu LSB
opracowana na University of Oulu generuje mniejsze zakłócenia sygnału, przez co
zapisana w kontenerze informacja jest bezpieczniejsza. Algorytmy porównywane
były za pomoc tych samych danych wej ciowych i identycznych ustawieniach
konfiguracyjnych programu testowego StegoSound.
Kolejnym wnioskiem, jaki mo na wysnu analizuj c wyniki
przeprowadzonych 20 bada jest taki, e niezale nie od u ytego algorytmu ani
warstwy bitowej informacja jest bezpieczniejsza w d wi ku o du ych skokach
amplitudy ni w d wi ku o małej zmianie. Mo na wi c przypuszcza , e osadzaj c
dane w muzyce, najdoskonalszym medium b d nagrania stylów muzycznych
takich jak metal, jazz, czy muzyka elektroniczna. Ballady lub delikatna muzyka
klasyczna mo e nie sprosta wymaganiom stawianym bezpiecznemu kontenerowi.
Ró nica w amplitudzie łagodnej muzyki jest o tyle mała, e wszelkiego typu
zmiany mog by łatwiej zauwa one.
Wprowadzanie zakłóce do nagrania wymienionego jako gatunek
bezpieczny gwarantuje, e akustycznie bardzo trudno b dzie rozró ni oryginał od
stegosystemu, lub nawet nie zauwa y wyst puj cych zakłóce . Ostatni przypadek
mo e zdarzy si przy muzyce metalowej.
80
Bibliografia
[1]
Duncan
Sellars,
An
Introduction
To
Steganography,
http://www.cs.uct.ac.za/courses/CS400W/NIS/papers99/dsellars/stego.html
[2] Nicholas J. Copper, John Langford, Luis von Anh, Provably secure steganography,
2002
[3] Cristian Cachin, AnInformation-Theoretic Model for Steganography, MIT Labs,
1998
[4] Stefan Katzenbeisser, Fabien A. P. Petitcolas, Information Hiding – techiques for
steganography and digital watermarking, wydawnictwo Artech House, Boston 1999
[5] Reinhard Wobst, Kryptologia. Budowa I łamanie zabezpiecze , wydawnictwo RM,
Warszawa 2002
[6] J. T. Brassil, Electronic Marking and Identification Techniques to Discourage
Document Copying, IEEE Journal on selected areas in communicatons, vol 13, no. 8,
October 1995
[7] J. T. Brassil, Document Marking and Identification using Both Line and Word
Sifting, AT&T Bell Laboratories, Murray Hill NJ 07974
[8] Luther Deyo, Steganography
[9] http://pl.wikipedia.org
[10] Niels Provos, Peter Honeyman, Hide and Seek – Introduction to Steganography,
University of Michigan, IEEE Computer Society, 2003
[11] W. Bender, D. Gruhl, N. Morimoto,
and A. Lu., Techniques for data hiding,
IBM Systems Journal, vol 35, NOS 384, 1996
[12] M. Celik, G. Sharma, M. Teklap, Universal Image Steganalysis using rate-
distortion curves, University Istanbul 2004
[13] autor anonimowy, Internet Agresja i Ochrona, wydawnictwo Robomatic,
Wrocław 1998
[14] Kamran Ahsan, Covert Channel Analysis and Data Hiding in TCP/IP
[15] N.Cvejic, Algorhitms for audio watermaring and steganography, Oulu 2004
[16] N. Cvejic, T. Sappanen, Incerasing robustness of lsb audio by reduced distortion
LSB Coding, Oulu University
[17] C. Matthews, Behind the music: principles of audio steganography, 2003
[18] R. Petrovic, J. Winograd, K. Jemili, E. Metois, Data Hiding Whitin Audio Signal,
1999 Yugoslavia