Top Banner
JYRKI HÄYRYNEN TIEDON PIILOTTAMINEN KUVIIN Kandidaatintyö Tarkastaja: Lehtori Heikki Huttunen Työ jätetty tarkastettavaksi 10. toukokuuta 2009
32

Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

Mar 01, 2019

Download

Documents

truongkiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

JYRKI HÄYRYNEN

TIEDON PIILOTTAMINEN KUVIIN

Kandidaatintyö

Tarkastaja: Lehtori Heikki Huttunen Työ jätetty tarkastettavaksi 10. toukokuuta 2009

Page 2: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

II

TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO

Tietoliikenne-elektroniikan koulutusohjelma

Häyrynen, Jyrki: Tiedon piilottaminen kuviin

Kandidaatintyö, 27 sivua

Toukokuu 2009

Pääaine: Signaalinkäsittely ja multimedia

Tarkastaja: Lehtori Heikki Huttunen

Avainsanat: Tiedon piilotus, kuva, steganografia, digitaalinen vesileima, robusti,

taajuustaso

Tiedon piilottaminen tarjoaa työkaluja moneen digiajan ongelmaan. Yleensä tiedon

suojaaminen toteutetaan salaamalla se kryptografian avulla. Steganografiaa käyttämällä

tieto voidaan piilottaa siten, että hyökkääjä ei tiedä sen olemassaoloa. Digitaalisen

materiaalin tekijänoikeussuojaa voidaan myös parantaa tiedon piilottamisella lisäämällä

siihen digitaalisen vesileiman.

Tämän työn tavoitteena on esitellä tiedon piilotuksen teoriaa, yleistä toteutusta ja viime

aikoina kirjallisuudessa esitettyjä menetelmiä ja tutkimustuloksia. Teoriaosion pohjana

on käytetty muutamaa alan perusteosta ja toteutusmenetelmien esittelyn pohjana on

käytetty menetelmistä kertovia tieteellisiä julkaisuja.

Työssä on toteutettu myös erään julkaisun pohjalta yksinkertainen taajuustason

vesileimausmenetelmä. Tämän toteutuksen pohjalta saatuja tuloksia on verrattu

Photoshopin Digimarc-vesileimaan vastaavilla testikuvilla. Käytännön toteutuksessa

keskityttiin mahdollisimman robustin vesileiman luomiseen häviöllistä jpeg-pakkausta

vastaan. Testituloksista voidaan havaita, että tavoitteessa myös onnistuttiin ja toteutettu

menetelmä on robusti häviölliselle pakkaukselle.

Page 3: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

III

ALKUSANAT

Tämä tekniikan kandidaatintyö on tehty osana signaalinkäsittelyn laitoksen

kandidaattiseminaaria keväällä 2009. Haluan kiittää työn ohjaajaa Heikki Huttusta

aiheen ehdottamisesta ja työn etenemisen avustamisesta erityisesti käytännön

toteutuksen osalta. Haluaisin kiittää myös seminaarin toista vetäjää Konsta Koppista

kirjoitustyön etenemistä edistäneistä neuvoista.

Lämpimät kiitokset myös avovaimolleni Katariinalle, joka on tarjonnut tukea ja

patistanut työhön läpi kevään.

Tampereella, 8. Toukokuuta 2009

Jyrki Häyrynen

Page 4: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

IV

SISÄLLYS

1. Johdanto ................................................................................................................ 1

2. Tiedon piilottamisen teoriaa .................................................................................. 3

2.1. Tiedon piilottaminen ..................................................................................... 3

2.1.1. Tiedon piilottaminen valokuviin ..................................................... 4

2.1.2. Hyökkäykset .................................................................................. 6

2.2. Tilatason menetelmät tiedon piilotuksessa ..................................................... 7

2.2.1. Tilatason menetelmien esittelyä...................................................... 7

2.3. Taajuustason menetelmät tiedon piilotuksessa ............................................... 9

2.3.1. Muunnos taajuustasoon .................................................................. 9

2.3.2. Taajuustason menetelmien esittelyä.............................................. 12

3. Tiedon piilottaminen taajuustason menetelmällä.................................................. 14

3.1. Toteutus ...................................................................................................... 14

3.2. Testaus ........................................................................................................ 17

3.2.1. Kuvassa havaittavat muutokset ..................................................... 18

3.2.2. Pakkauksenkestävyys ................................................................... 21

3.3. Tulosten arviointi ........................................................................................ 23

4. Johtopäätökset ..................................................................................................... 24

5. Lähdeluettelo ...................................................................................................... 26

Page 5: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

V

TERMIT JA LYHENTEET

BMP Bittikarttagrafiikan tallennusformaatti (bitmap)

DCT Diskreetti kosinimuunnos (discrete cosine transformation)

DFT Diskreetti Fourier-muunnos (discrete Fourier

transformation)

DWT Diskreetti aallokemuunnos (discrete wavelet

transformation)

GIF Häviötön bittikarttagrafiikan tallennusformaatti (Graphic

interchange format)

JPEG Häviöllinen kuvanpakkausformaatti (Joint Photographic

Experts Group)

Kryptografia Tiedon salaaminen (cryptography)

PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable

network graphics). Kehitettiin korvaamaan vanhentunut

Gif-formaatti

RGB Punaisen, vihreän ja sinisen komponentin muodostama

väriavaruus (Red, Green, Blue)

Robustisuus Järjestelmän häiriösietoisuus (robustness)

RS-analyysi Stegokuvasta määritettävien muuttujien R ja S arvoihin

perustuva steganalyysimenetelmä (RS steganalysis)

Steganalyysi Piilotetun tiedon etsintä (steganalysis)

Steganografia Tiedon piilottaminen kuviin (steganography)

Page 6: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

1

1. JOHDANTO

Tietoverkkojen kautta kulkevan tiedon määrä on kasvanut valtavasti viime vuosien

aikana ja nykyisin valtaosa luottamuksellisesta kanssakäymisestä tapahtuu digitaalisessa

muodossa. Tällöin tietoturva on suuressa roolissa, etteivät sivulliset pääsisi käsiksi

vaihdettaviin tietoihin. Yleisin ratkaisu tietoturvaongelmiin on välitettävän viestin

salaaminen kryptografisia metodeja käyttäen. Tästä seuraa kuitenkin ongelmia mikäli

mahdollisella salakuuntelijalla on riittävästi tietotaitoa salauksen murtamiseksi.

Tietokoneiden laskentatehon kasvaessa salaukseen käytettävät algoritmit joutuvat

kovalle koetukselle ja heikoimmat niistä saadaankin murrettua varsin helposti.

Kryptografian ongelma onkin se, että salattu paketti kiinnittää helposti liikennettä

seuraavan tahon mielenkiinnon ja joutuu siten uhan alle. Steganografiassa tähän

ongelmaa on lähdetty hakemaan erilaista ratkaisua. Välitettävä salainen tieto pyritään

piilottamaan viattoman näköiseen kuoreen, jolloin salakuuntelija ei edes havaitse tiedon

olemassaoloa. Mahdollisimman tehokkaan suojauksen saavuttamiseksi tieto voidaan

salata kryptografisin menetelmin ennen sen piilottamista.

Sana steganografia tulee muinaisen kreikan kielen sanasta steganos (peitetty) ja latinan

kielen sanasta graphia (kirjoitus) [1]. Ensimmäiset kuvaukset tiedon

piilottamismenetelmien käytöstä ovat peräisin jo antiikin ajalta. Teoksessaan The

Histories, Kreikkalainen historioitsija Herodotus kertoo kuinka Kreikkalaisten ja

Persialaisten välisen sodan aikana vuonna 440 eKr. eräs mies ajoi hiukset palvelijansa

päästä ja tatuoi salaisen viestin tämän päänahkaan. Hiusten kasvettua takaisin viesti

katosi näkyvistä ja palvelija saattoi toimittaa sen perille kenenkään huomaamatta. Ennen

valokuvauksen kehittämistä steganografiset menetelmät perustuivat pitkälti tiedon

piilottamiseen tekstin sekaan erilaisia algoritmeja hyväksikäyttäen. 1800-luvulla

valokuvaustekniikan kehittyminen mahdollisti valokuvien hyödyntämisen tiedon

piilottamiseen. Ranskalainen valokuvaaja Drago kehitti menetelmän pienten,

mikroskoopilla luettavien valokuvien valmistamiseksi. Saksalaiset kehittivät

myöhemmin ensimmäisen ja toisen maailmansodan aikaan tämän menetelmän niin

hyväksi, että heidän vakoojansa saattoivat piilottaa tavallisessa tekstissä olevaan

pisteeseen kokonaisen valokuvan. [2] 1980-luvulla Ison-Britannian silloinen

pääministeri Margaret Thatcher kyllästyi siihen, että lehdistön haltuun päätyi hallituksen

salaisia dokumentteja. Tietovuodon paljastamiseksi käytettiin yksinkertaista, mutta

toimivaksi osoittautunutta tiedon piilotusmenetelmää. Ministereille jaetuissa

dokumenteissa oli yksilöllinen sananväli ja tämän perusteella tietojen vuotaja pystyttiin

tunnistamaan lehdessä julkaistun kopion myötä. [3]

Page 7: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

2

Digitaalitekniikan leviämisen myötä steganografian käyttö on laajentunut

huomattavasti. Nykyisin myös alan tutkimustyö on lähtenyt voimakkaaseen kasvuun ja

julkaistujen tutkimustulosten määrä on kasvanut 1990-luvun alun muutamasta

vuosittaisesta julkaisusta nykyiseen useaan sataan vuosittaiseen julkaisuun. Suuri

vaikuttaja tähän kehitykseen on ollut digitaalisessa muodossa olevan tiedon heikko

tekijänoikeussuoja. Digitaalinen materiaali on mahdollista kopioida täydellisesti, jolloin

alkuperäisen erottaminen kopiosta on mahdotonta. Tällaisessa tilanteessa materiaaliin

piilotettu tekijänoikeusmerkintä on todella hyödyllinen.

Tiedon piilottaminen voidaan jakaa yleisellä tasolla kolmeen pääaihealueeseen: tiedon

piilottamiseen dataan (steganografia), olemassa olevan tiedon lisäämiseen digitaalisen

vesileiman (digital watermarking) avulla ja piilotetun tiedon etsintään (steganalyysi).

Tiedon piilottamisessa käytettävät menetelmät perustuvat digitaalisessa maailmassa

peitetiedon sisällön muokkaamiseen tila- tai taajuustasossa. Piilotetun tiedon etsintään

käytettävät menetelmät taas tutkivat tilastollisten testien avulla mahdollisia

peitetiedostoja.

Tiedon piilottamiseen käytettävät menetelmät vaihtelevat paljon käyttökohteen mukaan.

Steganografiassa päähuomio on siinä, kuinka hyvin tieto on piilossa, ja mahdollinen

häiriösieto on toissijaista. Tämä johtuu siitä, että jo pelkkä salaisten viestien vaihdon

paljastuminen voidaan tulkita tiedon piilottamisen epäonnistumiseksi. Steganografiassa

päähuomio siis kohdistuu piilotettavaan tietoon ja peitekuva on vain väline tavoitteen

saavuttamiseksi. Digitaalisessa vesileimauksessa taas päähuomio on itse tiedossa, johon

piilottamalla lisätään tietoa sen suojaamiseksi. Tällöin piilotetun tiedon olemassaolon

paljastuminen ei itsessään ole ongelma. Esimerkiksi tunnettujen valokuvien kohdalla on

oletettavaa, että ne on suojattu laittoman kopioinnin estämiseksi. Tällöin on tärkeää, että

tiedossa olevan merkinnän poistaminen on mahdollisimman vaikeaa, eli käytetyn

menetelmän tulee olla robusti.

Tässä työssä keskitytään ainoastaan tiedon piilottamisessa käytettäviin menetelmiin

digitaalisten kuvien tapauksessa. Päähuomio on tiedon piilottamisen toteutuksessa, ja

steganalyysimenetelmiä ja erilaisia hyökkäyksiä käydään läpi ainoastaan perusteiden

tasolla. Kappaleessa 2 käydään läpi tiedon piilottamisen teoriaa, menetelmien

toteutustapojen perusteita ja tutustutaan erilaisiin kirjallisuudessa ehdotettuihin

piilotustekniikoihin. Kappaleessa 3 toteutetaan tiedon piilottaminen kuvaan ja testataan

häviöllisen jpeg-pakkauksen vaikutusta piilotettuun tietoon. Toteutetulla menetelmällä

saatuja tuloksia verrataan myös Adoben Photoshop-kuvankäsittelyohjelmasta löytyvällä

Digimarc-ohjelmistolla piilotettuun vesileimaan. Lopuksi kappaleessa 4 vedetään

yhteen tekstin pohjalta saadut johtopäätökset.

Page 8: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

3 3

2. TIEDON PIILOTTAMISEN TEORIAA

Tiedon piilottamisen teorian kautta perehdytään tieteenalan kehitykseen ja tutustutaan

nykyisin käytössä oleviin menetelmiin. Tiedon piilottamiseen liittyvät operaatiot

voidaan jakaa muiden kuvankäsittelymenetelmien tapaan kahteen osa-alueeseen: tila- ja

taajuustason operaatioihin. Kappaleessa 2.2 tutustutaan tiedon piilottamiseen näitä

menetelmiä hyödyntäen. Ensiksi kuitenkin kappaleessa 2.1 käydään läpi tiedon

piilottamisen teoriaa ja tutustutaan erilaisiin hyökkäysmenetelmiin.

2.1. Tiedon piilottaminen

Tiedon piilottamisen avulla käytävän kommunikaation mallin pohjana pidetään

Gustavus Simmons:n vuonna 1983 julkaistua artikkelia ”The prisoners’ problem and the

subliminal channel” [4]. Tässä artikkelissa esitetyssä tilanteessa kaksi henkilöä on

joutunut vankilaan ja heidän tavoitteena on kehittää suunnitelma sieltä paetakseen.

Heidän tulisi välittää viestejä toisilleen vartijan välityksellä. Tällöin he eivät voi salata

viestejä suoraan kryptograafisin menetelmin, etteivät he kiinnitä vartijan huomiota.

Näin ollen heidän tulee käyttää steganografisia menetelmiä viestien välittämiseen. [2]

Vartijan toiminta voi tilanteessa olla aktiivista tai passiivista [5]. Passiivisessa

tapauksessa vartija vain tarkkailee välitettäviä viestejä ja reagoi ainoastaan epäilyttäviin

tapauksiin. Aktiivisen vartijan tapauksessa taas vartija pyrkii tutkimaan ja paljastamaan

salaiset viestit kaikesta läpikulkevasta materiaalista. Käytännön esimerkkinä aktiivisesta

vartijasta on sellainen henkilö joka pyrkii poistamaan vesileiman käyttämästään kuvasta

hyökkäyksen avulla. Aktiivinen vartija voi myös soveltaa jotain hyökkäystä kaikkeen

läpikulkevaan tietoon tuhotakseen mahdolliset steganografiset viestit tutkimatta

liikenteen sisältöä tarkemmin.

Tieto piilotetaan tiettyä algoritmia käyttäen ja sen erottaminen jälkikäteen tapahtuu

yleensä käänteisenä prosessina. Piilotetun tiedon erottaminen voidaan jakaa kolmeen

osa-alueeseen prosessissa tarvittavan tiedon määrän mukaan [6].

Näkevä (non-blind) irrottaminen. Tässä tapauksessa joko tarkkailijalla tai viestin

vastaanottajalla on oltava alkuperäinen peitemateriaali käytössä. Piilotettu tieto saadaan

irrotettua vertaamalla alkuperäistä ja muokattua dataa toisiinsa.

Page 9: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

4

Puolisokeassa (semi-blind) tiedon irrottamisessa ei tarvita alkuperäistä peitedataa.

Tiedon esille saamiseen tarvitaan kuitenkin ylimääräistä tietoa ja vesileiman

tapauksessa alkuperäinen vesileima vertailua varten.

Sokeassa (blind) tiedon irrotuksessa vastaanottaja tarvitsee ainoastaan piilotuksessa

käytetyn avaimen tiedon esiin saamiseksi. Tällainen järjestelmä on kaikkein hyödyllisin,

koska sitä käytettäessä osapuolten välinen liikenne voidaan pitää mahdollisimman

pienenä. Käytännön toteutuksen kannalta sokea järjestelmä on kuitenkin kaikista

vaikein toteuttaa.

2.1.1. Tiedon piilottaminen valokuviin

Tiedon piilottamisessa lähdetään liikkeelle salaisesta viestistä (secret message), joka

halutaan sijoittaa peitekuvaan (cover-image) salaista avainta käyttäen. Tuloksena tästä

prosessista (kuva 2.1) saadaan stegokuva (stego-image) sekä piilottamiseen käytetyn

tekniikan avain.

Kuva 2.1. Tiedon piilotusprosessi.

Tiedon piilottamisen toteutusmenetelmissä on kolme pääkohtaa, joiden perusteella

niiden toimivuutta voidaan arvioida. Seuraavaksi käydään nämä kriteerit läpi.

Havaitsemattomuus (imperceptibility). Havaitsemattomuudella tarkoitetaan sitä, että

kuvassa ei saisi olla ihmissilmällä havaittavia häiriöitä ja sen tulisi näyttää muutenkin

alkuperäisen kaltaiselta. Steganografiassa tämä ominaisuus on äärimmäisen tärkeä, sillä

mikäli stegokuvassa on selkeitä häiriötä havaittavissa, menettää koko piilottamisen idea

merkityksensä. Myös digitaalisessa vesileimauksessa tällä asialla on merkitystä, sillä

suojattavan kuvan laatu ja muut ominaisuudet halutaan säilyttää ennallaan. Menetelmän

toimivuutta tämän kriteerin suhteen voidaan tutkia kuvan kohinan avulla. Stegokuvaa

voidaan verrata alkuperäiseen kuvaan laskemalla keskimääräisen neliövirheen, MSE

(mean squared error). MSE lasketaan ottamalla keskiarvo kahden kuvan pikseliarvojen

erotuksen neliöstä:

Page 10: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

5

(2.1)

Kaavassa 2.1 I1 ja I2 ovat vertailtavat kuvat ja M sekä N merkitsevät kuvien pysty- ja

vaakarivien määrää. [7] MSE-arvo tulkitaan siten, että pienempi arvo tarkoittaa

parempaa yhtäläisyyttä kuvien välillä ja suurempi huonompaa.

Keskimääräisen neliövirheen ongelmana on sen riippuvuus kuvan intensiteettitasojen

määrästä. Tällöin jos kuva on 8-bittinen, niin suuri keskimääräinen neliövirhe näkyy

siinä selkeästi, kun taas 16-bittisessä kuvassa samankokoinen virhe ei näy. Tämä

ongelma voidaan välttää käyttämällä laskentaan signaali-kohina suhdetta PSNR (peak

signal-to-noise ratio). PSNR lasketaan MSE:n avulla ja sen idea on skaalata MSE

kuvan intensiteettitasojen mukaan. PSNR lasketaan ottamalla kymmenkantainen

logaritmi kuvan suurimman intensiteettiarvon neliöstä jaettuna keskineliövirheellä ja

kertomalla tämä kymmenellä:

(2.2)

Kaavassa 2.2 R on kuvan suurin intensiteettiarvo. PSNR-arvo on desibeleinä ja sitä

tulkitaan siten, että suurempi arvo tarkoittaa parempaa yhtäläisyyttä muokatun ja

alkuperäisen kuvan välillä. [7]

Robustisuus (robustness). Tämä ominaisuus kuvastaa käytetyn menetelmän kykyä

vastustaa tahallisia ja tahattomia hyökkäyksiä. Erityisesti digitaalisessa

vesileimauksessa käytetyn menetelmän tulisi olla sellainen, että se kestää

mahdollisimman monia erilaisia hyökkäyksiä ilman, että piilotettu tieto tuhoutuu.

Digitaalisessa vesileimauksessa voidaan tinkiä kuvan laadusta robustisuuden hyväksi.

Tällöin robustimpaa vesileimaa poistaessaan hyökkääjä tuhoaa myös alkuperäisen

kuvan. Steganografiassa tiedon joutuminen tahallisen hyökkäyksen kohteeksi kertoo jo

osaltaan menetelmän epäonnistumisesta. Robustisuuden puutetta voidaan myös

hyödyntää joissain sovelluksissa, kun tarkoituksena on selvittää onko viestiä havaittu.

Tällöin särkyvä (fragile) tiedon piilotus estää vastaanottajaa saamasta väärää,

hyökkääjän muokkaamaa tietoa. Menetelmän robustisuutta voidaan tutkia altistamalla

luotu stegokuva erilaisille hyökkäyksille ja tämän jälkeen tutkimalla esimerkiksi

piilotetun tiedon korrelaatiota alkuperäisen kanssa. [3]

Kapasiteetti (capacity). Tämä ominaisuus on mielenkiinnon kohteena erityisesti

steganografiassa, jolloin salassa välitettävä tieto voi vaatia paljon tilaa. Digitaalisessa

vesileimauksessa tämä ominaisuus ei ole kovinkaan tärkeä, sillä yleensä leima on

kooltaan pieni.

Page 11: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

6

Joissain tapauksissa myös tiedon salaus lasketaan kuuluvaksi näihin kriteereihin, mutta

tämän työn puitteissa keskitytään ainoastaan tiedon piilottamiseen ja mahdollisesti siinä

yhteydessä käytettäviin kryptografisiin menetelmiin ei puututa. Yllä lueteltujen

ominaisuuksien toteuttaminen yhtä aikaa on käytännössä mahdotonta ja nykyiset

menetelmät ovatkin kompromisseja sovelluskohteen tarpeiden mukaan.

2.1.2. Hyökkäykset

Erilaiset hyökkäykset steganografisia menetelmiä vastaan voidaan jakaa kahteen

luokkaan: tahalliset ja tahattomat hyökkäykset. Molemmissa hyökkäyksissä käytetyt

menetelmät ovat pitkälti samanlaisia. Tahattomissa hyökkäyksissä hyökkääjä ei vain

tiedä tekevänsä jotain haitallista. Hyökkäyksessä käytettävät metodit ovat varsin laajat

ja tässä työssä käsitellään niitä vain pintapuolisesti. Lisää aiheesta löytyy seuraavista

lähteistä [2], [3], [8] ja [9].

Tahallisen hyökkäyksen tapauksessa hyökkääjä tietää tai epäilee, että kohteena oleva

kuva sisältää piilotettua tietoa. Steganografiassa kyse on epäilystä, sillä mikäli

tarkkailija tietäisi kuvan sisältävän piilotettua tietoa, olisi menetelmä jo epäonnistunut.

Tällöin epäilyttävää kuvaa tutkitaan tilastollisilla menetelmillä, joista tunnetuimmat

ovat RS-analyysi [8] ja Chi-neliö [9] hyökkäys. Steganografian paljastuessa seuraukset

ovat parhaimmillaankin huonot. Tarkkailijan havaitessa viestin voi hän pelkän

viestinnän estämisen lisäksi saada aikaan suurempaakin vahinkoa. Esimerkiksi jos

tarkkailija pystyy steganalyysin avulla selvittämään käytetyn tiedon piilotustekniikan ja

sitä kautta saamaan selville viestin sisällön. Pahimmassa tapauksessa tarkkailija pystyy

myös muokkaamaan viestin sisältöä ja johtamaan vastaanottajaa harhaan.

Digitaalisessa vesileimauksessa tiedon piilottamisen paljastuminen ei yleensä ole suuri

ongelma, sillä piilottamisessa käytetyt menetelmät on valittu siten, että ne selviävät

mahdollisista hyökkäyksistä. Hyökättäessä digitaalista vesileimaa vastaan kohdekuvalle

suoritetaan erilaisia signaalinkäsittelyn perusoperaatioita. Tällaisia ovat esimerkiksi

suodatus, kohinan lisäys ja kuvan kääntäminen. Hyökkäyksessä käytetyn menetelmän

tulisi olla sellainen, että se tuhoaa leiman jättäen kuvan kuitenkin melko

muuttumattomaksi. Esimerkiksi kehittyneimmälläkin piilotusmenetelmällä lisätty

vesileima voidaan poistaa lisäämällä kuvaan tarpeeksi kohinaa ja suodattamalla sitä eri

tavoin. Tällaisen käsittelyn jäljiltä kuva ei kuitenkaan enää vastaa alkuperäistä ja siitä

saatava hyöty hyökkääjälle on olematon.

Tahattomat hyökkäykset käyttävät osittain samoja menetelmiä tahallisten hyökkäysten

kanssa, mutta tekijän päällimmäisenä tavoitteena ei ole poistaa piilotettua tietoa.

Tällaisesta toiminnasta esimerkkinä on vaikkapa kuvan leikkaus ja häviöllinen

pakkaaminen. Hyökkääjä ottaa esimerkiksi Internet-sivustolta mieluisan kuvan omalle

kotisivulleen ja tilaa säästääkseen pakkaa sen jpeg-pakkauksella, jolloin kuvassa ollut

tunnistetieto tuhoutuu.

Page 12: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

7

2.2. Tilatason menetelmät tiedon piilotuksessa

Tilatason menetelmissä muokkaus kohdistuu suoraan kuvan sisältämien pikseleiden

väriarvoihin. Yksinkertaisin menetelmä toteuttaa tiedon piilottaminen kuvaan on

vähiten merkitsevän bitin (LSB) korvaaminen. LSB-menetelmä on yksinkertainen

toteuttaa ja piilotetun tiedon esiin saaminen on helppoa. Myös kapasiteetti on hyvä tätä

menetelmää käytettäessä. Menetelmän huonot puolet tekevät siitä kuitenkin heikon

työkalun todellisiin tilanteisiin. Perinteinen LSB-menetelmä ei kestä hyökkäyksiä ja

jopa kuvan tallentaminen uudelleen samaa formaattia käyttäen saattaa tuhota piilotetun

tiedon.

2.2.1. Tilatason menetelmien esittelyä

Tilatason menetelmät ovat edelleen mielenkiinnon kohteena, sillä niiden toteuttaminen

on laskennallisesti yksinkertaista ja niiden avulla saavutetaan korkea piilotettavan

tiedon kapasiteetti. Tästä hyötyvät erityisesti steganografiset toteutukset, joissa

tärkeimmät käytettävältä menetelmältä vaadittavat ominaisuudet ovat

huomaamattomuus ja kapasiteetti. Vähiten merkitsevän bitin muokkaamisen lisäksi

yleisesti käytettyjä menetelmiä ovat bittitasojen jakaminen osiin kompleksisuuden

mukaan (BPCS) ja piilotettavan tiedon sijoittaminen useaan kohtaan peitekuvaa.

LSB:n tapauksessa peitekuvan muokkaus kohdistuu ainoastaan vähiten merkitsevään

bittiin. Ihmissilmän havainnointikyky on kuitenkin niin heikko, että myös muita

bittitasoja on mahdollista käyttää tiedon piilottamiseen. Tietoa voidaan piilottaa suoraan

korvaamalla useampi alemmista bittitasoista [7], jolloin piilotettavan tiedon

kapasiteettia saadaan kasvatettua. Ongelmat ovat kuitenkin tässä tapauksessa samat kuin

pelkän vähiten merkitsevän bitin tapauksessa. BPCS-menetelmässä peitekuva jaetaan

myös bittitasoihin, mutta tämän jälkeen bittitasot jaetaan vielä 8x8 pikselin lohkoihin.

Näistä lohkoista määritetään kompleksisuusarvo laskemalla bittitason lohkon

mustavalkoisen reunan suhde reunan pituuteen ja verrataan sitä asetettuun

kynnysarvoon. Kompleksisuusarvo on suuri, mikäli mustat ja valkoiset pikselit

vaihtelevat paljon ja pieni jos lohko koostuu yhtenäisistä mustien ja valkoisten

pikseleiden alueista. Lohkon kompleksisuusarvon ollessa pienempi kuin kynnysarvo, on

lohko informatiivinen lohko. Tällöin sen sisältö jätetään ennalleen. Mikäli lohkon

kompleksisuus taas on suurempi kuin kynnysarvo, on kyseessä paljon kohinaa sisältävä

lohko, johon tietoa voidaan piilottaa. Bittitasojen kompleksisuuteen perustuva tiedon

piilotus on erityisen toimiva steganografisissa sovelluksissa. Sen avulla saavutetaan

korkea kapasiteetti piilotettavalle tiedolle ja muokkaus on vaikea havaita, koska tieto on

piilotettu kuvan kohinaa sisältäviin kohtiin. [10]

BPCS-menetelmästä edelleen kehittämällä on päädytty ABCDE (A Block Complexity-

based Data Embedding) menetelmään, jota on käytetty artikkelissa [11] potilastietojen

piilottamiseen potilaasta otettuihin kuviin. ABCDE-menetelmä eroaa BPCS-

Page 13: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

8

menetelmästä siten, että kuvan pikselilohkoista lasketaan yhden kompleksisuusarvon

sijaan kaksi kompleksisuusarvoa. Näitä kahta kompleksisuusarvoa verrataan vastaaviin

kynnysarvoihin ja sen perusteella tehdään päätös voidaanko lohkoon piilottaa tietoa.

Tätä menetelmää käyttäen saadaan alkuperäistä BPCS-menetelmää parannettua sekä

kapasiteetin, että havaitsemattomuuden osalta.

Qi:n et al. artikkelissa [12] kuvatulla BCBS- (blind consistency-based steganography)

menetelmällä voidaan saavuttaa hyvä turvallisuus piilotetulle tiedolle, sillä vastaanottaja

huomaa viestiä purkaessaan onko sitä yritetty muokata välillä. Lisäksi menetelmä on

myös sokea, jolloin vastaanottaja saa salaisen tiedon esiin pelkällä piilottamiseen

käytetyllä avaimella. Myös tutkimuksessa [13] esitelty menetelmä tarjoaa työkalun

viestin sisällön ehjyyden tarkastamiseen. Tässä tapauksessa on yhdistetty tilatason ja

taajuustason menetelmiä, sillä aluksi salainen viesti muutetaan taajuustasoon DWT:n

avulla ja generoidaan tämän jälkeen bittivirraksi. Seuraavaksi bittivirta sijoitetaan

peitekuvaan tilatasossa.

Steganografian tapauksessa on tärkeää, että menetelmä toimii myös tilastollista

analyysia vastaan. Tähän ongelmaa on esitetty ratkaisuna muokattua LSB-algoritmia

[14]. Tässä algoritmissa yhdistetään kaksi peitekuvan vähiten merkitsevää bittiä modulo

2 laskennalla ja tämän jälkeen verrataan arvoa salaisen viestin osan arvoon. Mikäli arvot

ovat samat, ei peitekuvaan tehdä muutoksia. Jos taas arvot ovat erisuuret, lisätään tämä

erotus toiseen peitekuvan LSB:n arvoon. RS-analyysia vastaan kehitetty menetelmä on

esitelty artikkelissa [15]. Menetelmässä piilotettava tieto liitetään satunnaisiin

paikkoihin peitekuvan LSB-tasolle. Tämän jälkeen stegokuvaa muokataan siten, että

tilastollista analyysia saadaan hämättyä.

Edellä mainitut tilatason menetelmät soveltuvat käytännössä vain steganografisiin

tarkoituksiin niiden huonon robustisuuden vuoksi. Myös digitaalista vesileimausta

varten on kehitetty tilatason ratkaisuja. Tällöin voidaan esimerkiksi sijoittaa vesileima

useaan kohtaan kuvaa [16]. Vesileimana käytetään binäärikuvaa joka permutoidaan

Gray koodausta käyttäen. Tämän jälkeen vesileima sijoitetaan RGB-kuvan B-

komponenttiin nelinkertaisena siten, että kuvan ylä- ja alareunassa on yksi vesileima ja

kuvan keskiosassa kaksi. Tällä tavoin toteutettu tiedon piilotus on artikkelin mukaan

robusti kappaleessa 2.1.2 läpikäytyjä hyökkäyksiä vastaan.

Page 14: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

9

2.3. Taajuustason menetelmät tiedon piilotuksessa

Tässä osiossa tarkastellaan diskreettiin Fourier-, kosini- ja aallokemuunnokseen

perustuvia menetelmiä. Aluksi kappaleessa 2.3.1 käydään lyhyesti läpi edellä

mainittujen taajuustason muunnosten toteutus. Tämän jälkeen kappaleessa 2.3.2

tutustutaan kirjallisuudessa esitettyihin taajuustason piilotusmenetelmiin.

2.3.1. Muunnos taajuustasoon

Taajuustason menetelmiä käyttäen voidaan hyödyntää ihmisen näköaistin heikkouksia

tiedon piilotukseen. Ihmissilmä havaitsee kuvista matalilla taajuuksilla olevaa

informaatiota korkeita taajuuksia herkemmin. Tällöin korkeita taajuuksia voidaan

muokata kuvan visuaalisen laadun kärsimättä. Tähän samaan teoriaan perustuu myös

kuvien häviöllinen pakkaus. Kuvan taajuussisältöön taas päästään käsiksi taajuustason

muunnoksilla joita esitellään seuraavasti lyhyesti.

Yleisesti käytetty taajuustason muunnos signaalinkäsittelyssä on diskreetti Fourier-

muunnos (DFT) [17]. Diskreetillä Fourier-muunnoksella signaali voidaan ilmaista

yhteenlaskettuina sini- ja kosiniaaltoina, eli nähdään signaalin taajuussisältö.

Digitaalisessa kuvankäsittelyssä käytetään DFT:n kaksiulotteista versiota. Käytännössä

tämä tarkoittaa sitä, että kuvalle lasketaan kahdesti yksiulotteinen DFT. Tilatason M*N

kokoiselle kuvalle f(x,y) muunnos taajuustasoon tehdään seuraavalla kaavalla:

, (2.3)

Taajuustasosta päästään takaisin tilatasoon käänteisellä Fourier-muunnoksella (IDFT).

Tästäkin käytetään kuvankäsittelyssä kaksiulotteista versiota:

, (2.4)

Toinen laajassa käytössä oleva taajuustason muunnos on diskreetti kosinimuunnos

(DCT) [17]. Muunnos on hyvin samantyylinen DFT:n kanssa ja erona on se, että

kosinimuunnos ilmaisee signaalin sisällön ainoastaan kosiniaaltoina. Tämän lisäksi

kosinimuunnoksen tulos on aina reaalinen. DCT:tä käytetään signaalinkäsittelyssä

erityisesti tiedon pakkaamiseen, koska sen avulla voidaan erotella vähemmän

merkitsevä tieto merkitsevästä. Yleisessä käytössä oleva jpeg-pakkausalgoritmi

perustuu diskreetin kosinimuunnoksen hyödyntämiseen [17]. Tästä johtuen

kosinimuunnosta käytetään laajalti myös tiedon piilottamiseen taajuustasossa. Diskreetti

kosinimuunnos M*N kokoiselle kuvalle lasketaan seuraavasti:

, (2.5)

Page 15: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

10

(2.6)

(2.7)

Kaavoissa 2.5, 2.6, 2.7 ja 2.8 esiintyvät funktiot , , ja

ovat diskreetin kosinimuunnoksen kantafunktiot. Kosinimuunnoksen

käänteismuunnos lasketaan Fourier-muunnoksen tapaan käänteisenä operaationa:

, (2.8)

Kolmas tässä tekstissä esiteltävä taajuustason muunnos on diskreetti aallokemuunnos

(DWT). Aallokemuunnos poikkeaa merkittävästi aikaisemmin esitellyistä taajuustason

muunnoksista. Sini- ja kosiniaaltojen sijaan aallokemuunnoksen perusfunktiona ovat eri

taajuuksiset ja pituiset aallot, aallokkeet (kuva 2.2). Erilaisia aallokkeita on esitetty

kirjallisuudessa useita ja näistä tässä työssä käytetään Haar-aalloketta (ψ(x,y)).

Aallokemuunnoksen avulla signaalista saadaan DFT:hen ja DCT:hen verrattuna

laajemmin tietoa, sillä sen avulla saadaan tietoon signaalin sisältämien taajuuksien

lisäksi myös niiden sijaintipaikat.

Kuva 2.2. Aallokemuunnoksen ja DFT/DCT:n kantafunktiot.

Aallokemuunnoksen laskeminen on hieman monimutkaisempi operaatio edellä

esiteltyihin taajuustason muunnoksiin verrattuna. Operaation tuloksena saadaan yhden

taajuustason kuvan sijaan neljä kuvaa (kuva 2.3). Tuloskuvan vasemmassa yläkulmassa

on alkuperäisen kuvan skaalausfunktiolla kerrottu versio. Skaalausfunktiolla kertomisen

Page 16: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

11

tuloksena saadaan alkuperäistä vastaava neljäsosaan skaalattu kuva. Kolme muuta

kuvaa koostuvat aallokefunktioilla horisontaalisesti, vertikaalisesti ja diagonaalisesti

kerrotusta alkuperäiskuvasta. Tämä operaatio mittaa intensiteettivaihteluja kuvassa

edellä mainituista suunnista.

Kuva 2.3. Aallokemuunnoksen periaate.

Kaksiulotteisen aallokemuunnoksen neljä osakomponenttia lasketaan M*N kokoiselle

kuvalle seuraavasti:

(2.9)

(2.10)

Kaavassa 2.9 φ(x,y) on kaksiulotteinen skaalausfunktio ja kaavassa 2.10 ψi(x,y) on

kaksiulotteinen Haar-aalloke, jossa H on horisontaalinen, V vertikaalinen ja D

diagonaalinen aalloke.

Aallokemuunnoksen tapauksessa on myös olemassa käänteismuunnos, jonka avulla

saadaan palautettua alkuperäinen kuva. Käänteismuunnoksen toteuttava kaava on

seuraava:

(2.11)

Page 17: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

12

Aallokemuunnoksen käyttö tiedon piilotuksessa on lisääntynyt viime vuosina. Tätä

kehitystä on edesauttanut Dwt:tä hyödyntävien pakkausmenetelmien, esimerkiksi

jpeg2000 [18], käyttöönotto.

2.3.2. Taajuustason menetelmien esittelyä

Taajuustasossa toteutettava tiedon piilotus on toimiva ratkaisu digitaaliseen

vesileimaukseen, sillä tällöin saavutetaan hyvä kestävyys erilaisia hyökkäyksiä vastaan

kuvanlaadun kärsimättä liikaa. Steganografiassa taajuustason menetelmiä käytetään

vähemmän, sillä piilotettavan tiedon kapasiteetti on pienempi kuin tilatason

menetelmillä. Taajuustasossa tiedon piilottaminen toteutetaan muokkaamalla

taajuustasoon muunnetun signaalin kertoimia piilotettavan tiedon mukaan.

Artikkelissa [19] esitellään jpeg-pakkaukselle immuuni tiedonpiilotusmenetelmä, joka

on toteutettu DWT:n avulla. Menetelmässä peitekuvalle tehdään kolminkertainen

häviötön aallokemuunnos ja tämän jälkeen muunnostason kertoimiin lisätään salainen

viesti. Testitulosten perusteella käytetty menetelmä toimii hyvin häviöllistä pakkausta

vastaan. Tutkimuksessa [20] on myös sovellettu aallokemuunnosta, mutta tässä

tapauksessa tiedon piilotus on tehty käyttämällä LSB-menetelmää muunnostasossa.

Menetelmässä käytetään erityistä aallokemuunnostekniikkaa, jonka ansiosta kertoimien

arvot pysyvät kokonaislukuina. Tämän avulla bittitason operaatioita voidaan suorittaa

ilman haitallisia pyöristysvirheitä. Artikkelissa menetelmää on sovellettu

puhesignaaliin, mutta sama periaate pätee myös kuviin.

Taajuustason muunnoksetkin ovat havaittavissa tilatason muunnosten tapaan

tilastollisten testien avulla. Steganografiassa tiedon pitäisi olla piilotettu niin, ettei sitä

voida havaita ja tähän ongelmaan onkin kehitetty ratkaisuja. Salainen viesti voidaan

piilottaa esimerkiksi näennäissatunnaislukugeneraattorin avulla tai osaa muunnostason

kertoimista voidaan käyttää tiedon piilottamisen sijaan kuvan ominaisuuksien

muokkaamiseksi alkuperäisen kaltaiseksi. Fard et al. esittävät artikkelissaan [21]

geneettisen algoritmin tiedon piilotuksen kannalta parhaiden kertoimien määrittämiseksi

DCT-menetelmää käytettäessä. Tällä menetelmällä voidaan tieto piilottaa samaan

aikaan robustisti ja havaitsemattomasti.

Myös artikkelissa [22] on käytetty geneettistä algoritmia DCT-menetelmällä toteutetun

vesileiman luomiseen. Menetelmässä pyritään hakemaan geneettisen algoritmin avulla

optimaaliset ratkaisut tiedon piilottamisen kolmeen päävaatimukseen:

havaitsemattomuuteen, robustisuuteen ja kapasiteettiin. Edellä mainitut menetelmät [21]

ja [22] ovat perusidealtaan samanlaisia, mutta niissä on selkeästi havaittavissa

käyttötarkoituksesta johtuvia eroja toteutuksessa. Ensin mainittu menetelmä on

suunniteltu steganografiaa varten ja siinä pääpaino on kuvanlaadun optimoinnissa ja

havaitsemattomuudessa. Jälkimmäinen taas on menetelmä digitaaliseen

Page 18: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

13

vesileimaukseen. Ehdotettujen menetelmien eroavaisuuden huomaa geneettisen

algoritmin sopivuusfunktion (fitness function) määrittelystä.

Taajuustasossa tehtävä tiedon piilotus tarjoaa toimivia ratkaisuja sekä steganografiaan ja

digitaaliseen vesileimaukseen. Geneettisten algoritmien avulla käytettävän menetelmän

ominaisuuksia voidaan optimoida sovelluskohteen mukaan ja näin saavuttaa parempi

tehokkuus tiedon piilotukseen.

Page 19: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

14 14

3. TIEDON PIILOTTAMINEN TAAJUUSTASON

MENETELMÄLLÄ

Käytännön osuutena tässä työssä toteutettiin tiedon piilottaminen testikuvaan diskreettiä

aallokemuunnosta käyttäen. Toteutettua menetelmää verrattiin Adoben Photoshopista

löytyvään Digimarc-rutiiniin. Aikaansaaduista stegokuvista tutkittiin tiedon

piilottamisen havaittavuutta, menetelmän pakkauksenkestävyyttä ja piilotettavan tiedon

määrää. Pakkaukseen käytettiin häviöllistä jpeg-pakkausalgoritmia. Testikuvina

toimivat Matlabista löytyvät kahdeksanbittiset harmaasävykuvat Lena.jpg ja

Cameraman.jpg. Testit toteutettiin Matlabin (R2008b), Photoshopin (CS4 v.11) ja sen

mukana tulevan Digimarc:n ilmaisversion avulla.

3.1. Toteutus

Tiedon piilottamiseen aallokemuunnoksen avulla sovellettiin artikkelissa [19] esitettyä

ideaa aallokemuunnoksen ja diskreetin kosinimuunnoksen yhtäläisyyksistä. Tämä

toteutustapa valittiin, koska tavoitteena oli saavuttaa mahdollisimman hyvä häviöllisen

jpeg-pakkauksen kesto. Toteutuksen tarkoituksena oli rakentaa algoritmi, jolla voidaan

toteuttaa vesileiman piilotus kuvaan ja tämän jälkeen etsiä merkkejä vesileimasta

hyökkäyksen kohteeksi joutuneesta kuvasta.

Kuten aikaisemmin kappaleessa 2.3.1 mainittiin, ihmissilmä on herkin matalimmille

taajuuskomponenteille. Tiedon pakkauksessa tätä hyödynnetään karsimalla korkeita

taajuuksia pois kuvista. Jpeg-pakkauksessa suurinta kompressiota käytettäessä jäljelle

jäävät vain 8x8 lohkojen matalimmat taajuudet F(0,0) (kuva 3.1). Kolminkertaisella

aallokemuunnoksella päästään käsiksi tähän vastaavaan alueeseen cA3. [19]

Kuva 3.1. Kosinimuunnoksen ja kolminkertaisen aallokemuunnoksen yhtäläisyys.

Page 20: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

15

Aluksi peitekuva luetaan tietokoneen muistiin ja kuvalle toteutetaan kolminkertainen

aallokemuunnos. Kuvassa 3.2 näkyvät alkuperäinen testikuva, sekä siitä otetun

kolminkertaisen aallokemuunnoksen vaihekuvat. Alun perin 512x512 testikuvasta jää

taajuustason muunnosten jälkeen jäljelle 64x64 alue vesileiman sijoitusta varten. Tämä

operaatio suoritetaan vesileimauksen kohteena olevalle kuvalle ja tämän jälkeen edetään

kuvassa 3.3 esitellyn algoritmin mukaiseen varsinaiseen vesileiman liittämiseen.

Kuva 3.2. Testikuvalle Lena.jpg suoritettu kolminkertainen aallokemuunnos.

Vesileimana toimii näennäissatunnaislukugeneraattorilla luotu matriisi W, joka

sijoitetaan kuvaan kertomalla sillä peitekuvan muunnostason kertoimia:

(3.1)

Kertolasku suoritetaan siten, että matriisien vastinalkiot kerrotaan keskenään. Tämä

operaatio on samankokoisten matriisien Hadamard tulo, jota merkitään tässä työssä

symbolilla . Kaavan 3.1 muut muuttujat ovat peitekuva I, operaation tuloksena

saatava stegokuva IW ja parametri α, jonka arvoa muuttamalla säädetään vesileiman

vahvuutta. Mikäli tavoitteena on luoda mahdollisimman robusti vesileima, asetetaan α:n

arvo suureksi. Tällöin kuitenkin kuvaan muodostuu kuvanlaatua heikentäviä artefakteja.

Page 21: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

16

Kuvassa 3.4 olevista testikuvien suurennoksista voidaan havaita häiriöitä α:n arvoa

kasvatettaessa. Samalla huomataan myös, että vesileiman vahvuus riippuu käytettävästä

peitekuvasta. Tässä tapauksessa testikuva Lena.jpg toimii paremmin vahvemman

vesileiman kanssa.

Toteutettu menetelmä vaatii vesileiman irrottamiseen sekä stegokuvan että alkuperäisen

peitekuvan. Tämän lisäksi tarvitaan tieto käytetystä α:n arvosta ja vesileiman luontiin

käytetty avain. Tästä johtuen menetelmä on näkevä (non-blind). Piilotetun tiedon esille

saamiseen tarvittavan tiedon suuri määrä tekee siitä huonon menetelmän steganografiaa

varten. Tässä tapauksessa oli kuitenkin tarkoituksena luoda robusti vesileima, joten

tämä ei ole niin haitallinen vaatimus.

Kuva 3.3. Käytetyn vesileiman piilotus- ja lukualgoritmin pseudokoodit.

Page 22: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

17

Digimarc-rutiini käyttää tiedon piilotuksessa sekä taajuus- että tilatason menetelmiä.

Ohjelman valmistajan sivuilla menetelmää kutsutaan sekatasotekniikaksi (mixed domain

technique). Tarkkaa algoritmia rutiinin toiminnasta ei ole saatavilla, koska ohjelma on

kaupallinen toteutus. Perusideana menetelmässä on jakaa kuva useaan lohkoon, joihin

jokaiseen asetetaan vesileima. Itse vesileiman sijoitus tehdään hajaspektritekniikalla.

Tällöin piilotetun tiedon peitekuvaan aiheuttamat häiriöt saadaan minimoitua. Digimarc

tarjoaa myös pelkkää digitaalista vesileimaa laajempia ominaisuuksia, kuten esimerkiksi

mahdollisuutta jäljittää vesileimattuja kuvia verkosta, mutta näihin ominaisuuksiin ei

tutustuta tarkemmin tässä työssä. [23]

Kuva 3.4. Vesileiman α-arvon vaikutus havaittavuuteen omassa toteutuksessa.

3.2. Testaus

Testausta varten molempiin testikuviin piilotettiin vesileima neljällä tavalla.

Kappaleessa 3.1 esitellyllä omalla toteutuksella asetettiin vesileima kahdella

vahvuudella ja saatuja tuloksia verrattiin Adoben Photoshop-kuvankäsittelyohjelmiston

mukana tulevan Digimarc-rutiinin vesileimaan. Digimarc:sta käytettiin testaukseen

myös kahta eri vahvuista vesileimaa.

Page 23: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

18

Vesileiman sijoituksen jälkeen testikuvat pakattiin Matlabilla käyttäen häviöllistä jpeg-

pakkausalgoritmia. Pakkaus toteutettiin 11 eri laadulla siten, että paras laatu oli 100 ja

huonoin 0. Pakkauskestävyyden lisäksi menetelmistä testattiin havaittavuutta

visuaalisella tarkastelulla ja laskemalla MSE- ja PSNR-arvot.

3.2.1. Kuvassa havaittavat muutokset

Visuaalisessa tarkastelussa omalla toteutuksella ei havaittu muutoksia testikuvissa

heikompaa vesileimaa käytettäessä, mutta vahvempaa vesileimaa käytettäessä kuviin

muodostui havaittavia artefakteja. Digimarc:lla asetettu vesileima ei myöskään

aiheuttanut heikompana versiona testikuviin havaittavia muutoksia. Sen sijaan

Digimarc:n vahvempi vesileima muutti testikuvaa Cameraman.jpg huomattavasti.

Erityisesti muutos on havaittavissa kuvassa olevan miehen takin alareunasta, joka on

selkeästi vaaleampi kuin alkuperäisessä kuvassa (kuvat 3.5 ja 3.6).

Kuvatiedostoa tarkastellessa voidaan myös huomata Digimarc:lla asetetun vesileiman

lisäävän tiedoston kokoa alkuperäiseen verrattuna (taulukko 3.1). Omassa toteutuksessa

muutos kuvatiedoston koossa on lähes olematon. Tämä ero ei kuitenkaan johdu siitä,

että oma toteutus olisi parempi. Syynä tähän ovat todennäköisesti Digimarc:n

vesileiman lisäksi tarjoamat muut ominaisuudet, jotka kasvattavat stegokuvan kokoa.

Digimarc-rutiinilla luodut stegokuvat saivat omalla toteutuksella luotuja stegokuvia

heikompia tuloksia laskettaessa kuvien MSE- ja PSNR-arvoja (taulukko 3.1). Kuvien

visuaalisen laadun tarkastelu ei kuitenkaan tue näitä tuloksia, sillä esimerkiksi

testikuvassa Lena.jpg oman toteutuksen vahvempi vesileima aiheuttaa selkeästi

havaittavia muutoksia kuvaan (kuva 3.4), vaikka sen PSNR-arvo on suurempi kuin

Digimarc:n vahvemman vesileiman, joka ei aiheuta näkyviä virheitä testikuvaan.

Testikuvan Cameraman.jpg kohdalla on jälleen nähtävissä häiriötä omalla toteutuksella

vahvempaa vesileimaa käytettäessä. Samalla testikuvalla on nähtävissä muutoksia myös

Digimarc:n vahvemman vesileiman tapauksessa.

Stegokuvien häiriöt ovat erilaisia. Omalla toteutuksella ne näkyvät kuvan 3.4 kaltaisina

neliöinä ja Digimarc:n kohdalla taas stegokuvan tummien alueiden vaalentumisen

alkuperäiseen kuvan verrattuna. Tämä johtuu eroavaisuuksista vesileiman

piilotustavassa. Oman toteutuksen kohdalla kaikkia muunnostason kertoimia on

muokattu vesileimalla, jolloin osa arvoista saattaa muuttua paljon ja tällöin erottua

stegokuvasta. Digimarc:n algoritmi muokkaa hajaspektritekniikalla tilatasossa vain osaa

kuvan pikseliarvoista, ja tällöin stegokuvaan ei synny niin suuria eroavaisuuksia.

Page 24: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

19

Kuva 3.5. Alkuperäinen testikuva Lena.jpg (a), omalla toteutuksella (α=0.05) tehty

stegokuva (b), omalla toteutuksella (α=0.025) tehty stegokuva (c), Digimarc:n

vahvempi vesileima (d) ja heikompi vesileima (e).

Page 25: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

20

Kuva 3.6. Alkuperäinen testikuva Cameraman.jpg (a), omalla toteutuksella (α=0.025)

tehty stegokuva (b), omalla toteutuksella (α=0.015) tehty stegokuva (c), Digimarc:n

vahvempi vesileima (d) ja heikompi vesileima (e).

Page 26: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

21

Taulukko 3.1. Toteutusmenetelmien kuvankoko, MSE ja PSNR.

Kuvan koko (Kt) MSE PSNR (dB)

Lena.jpg 158

Oma toteutus (α=0.025) 158 3,60 42,56

Oma toteutus (α=0.05) 159 14,12 36,63

Digimarc (heikko) 168 6,30 40,14

Digimarc (vahva) 182 21,96 34,71

Cameraman.jpg 109

Oma toteutus (α=0.015) 112 1,39 46,70

Oma toteutus (α=0.025) 112 3,72 42,43

Digimarc (heikko) 148 4,71 41,40

Digimarc (vahva) 166 16,15 36,05

3.2.2. Pakkauksenkestävyys

Piilotetun vesileiman kestävyyttä häviöllisen pakkauksen tapauksessa tutkittiin

pakkaamalla stegokuvat eri jpeg-laaduilla ja tämän jälkeen etsimällä vesileimaa

tuloskuvista.

Kuvassa 3.7a on oman toteutuksen vesileiman kunto pakkauksen jälkeen testikuvan

Lena.jpg kohdalla. Kuvaajasta voidaan nähdä leiman pysyneen hyvin sekä heikompana

että vahvempana versiona pakkauksesta huolimatta. Kuvassa 3.7b on vastaava kuvaaja

testikuvalle Cameraman.jpg. Tässä tapauksessa vesileiman laatu on huomattavasti

heikompi pakkauksen jälkeen.

Digimarc:n tapauksessa ohjelma ilmoittaa vesileiman vahvuuden näyttämällä käyttäjälle

graafisen palkin, jossa on vahvuusasteikko. Kuvassa 3.8a on tulokset testikuvalle

Lena.jpg ja kuvassa 3.8b testikuvalle Cameraman.jpg. Vahvuusasteikolla 0 tarkoittaa

sitä, että Digimarc ei kyennyt löytämään kuvasta vesileimaa. Muutoin arvot kuvaavat

vesileiman vahvuutta pakkauksen jälkeen. Testikuvassa Lena.jpg myös Digimarc toimii

hyvin ja selviää tuhoutumatta suurimmasta osasta pakkauksia. Toisessa testikuvassa

tulee kuitenkin ongelmia. Heikompi Digimarc:lla asetettu vesileima tuhoutuu jo, kun

jpeg-pakkauksen laatu on puolet alkuperäisestä. Vahvempi leima sen sijaan kestää

edelleen hyvin.

Page 27: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

22

Kuva 3.7. Oman toteutuksen pakkauksenkestävyys (a) testikuvalla Lena.jpg ja (b)

testikuvalla Cameraman.jpg.

Kuva 3.8. Digimarc:n pakkauksenkestävyys (a) testikuvalla Lena.jpg ja (b) testikuvalla

Cameraman.jpg.

Page 28: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

23

3.3. Tulosten arviointi

Oman toteutuksen osalta testiarvot vastasivat pitkälti odotuksia. Testikuvassa Lena.jpg

menetelmä osoittautui varsin robustiksi jpeg-pakkausta vastaan. Testikuvan tiedettiin

vaikuttavan menetelmän toimivuuteen, mutta siitä huolimatta oli pieni yllätys, kuinka

paljon testitulokset muuttuivat testikuvan Cameraman.jpg kohdalla. Digimarc-rutiini on

tarkoitettu ainoastaan kuvan vesileimaukseen ja tästä johtuen sen käyttö kasvattaa

tiedoston kokoa melko paljon alkuperäiseen verrattuna. Steganografiassa tämä olisi

huono ominaisuus, mutta digitaalisen vesileiman kohdalla sillä ei ole merkitystä mikäli

vesileima on robusti erilaisia hyökkäyksiä vastaan.

Sekä omalla menetelmällä että Digimarc-rutiinilla saadaan testikuva Lena.jpg suojattua

jpeg-pakkausta vastaan, sillä vesileiman poistamisen jälkeen tuloskuvan laatu on huono

verrattuna alkuperäiseen kuvaan. Toisen testikuvan kohdalla tulokset olivat huonommat.

Pakkaus-hyökkäyksellä saatiin tuhottua vesileimat Digimarc:n vahvempaa vesileimaa

lukuun ottamatta, tuloskuvan laadun pysyessä siedettävänä.

Tässä tutkimuksessa ei perehdytty häviöllisen pakkauksen lisäksi muihin mahdollisiin

hyökkäyksiin, joten testitulokset antavat varsin yksipuolisen kuvan menetelmien

todellisesta robustisuudesta hyökkäyksiä vastaan. Digimarc:n kohdalla muunlaisiin

hyökkäyksiin on varmasti varauduttu, mutta oma toteutus on suunniteltu vain häviöllistä

pakkausta ajatellen. Toteutuksen taustalla olevan teorian perusteella sen voi olettaa

olevan jossain määrin robusti myös muita hyökkäyksiä vastaan, mutta ilman käytännön

testausta tätä ei voi varmistaa.

Page 29: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

24

4. JOHTOPÄÄTÖKSET

Nykytekniikalla toteutettu tiedon piilotus tarjoaa toimivia työkaluja moneen

tilanteeseen. Analogiset tiedon piilotusmenetelmät vaativat paljon erikoislaitteistoa

(microdot) tai olivat muutoin epäkäytännöllisiä yksinkertaistenkin viestien

piilottamisessa. Digitaalitekniikan kehityksen myötä tiedon piilotuksesta on tullut

yksinkertaisempaa ja nykyisin yksityishenkilöidenkin saatavilla on monenlaisia

ohjelmistoja tiedon piilotukseen.

Suurin kaupallinen mielenkiinto tiedon piilotuksessa on varmasti digitaalisen

materiaalin tekijänoikeuksien suojaamisessa. Viimeisimmistä tutkimusjulkaisuista

voidaan nähdä, että nykyisin on kehitetty menetelmiä jotka ovat erittäin robusteja

erilaisia hyökkäyksiä vastaan. Kun samaan aikaan piilotettavan tiedon kapasiteettia on

saatu kasvatettua, on tämä mahdollistanut monimuotoisempien ominaisuuksien

lisäämisen vesileimojen yhteyteen. Esimerkiksi käytännön toteutuksessa

vertailukohteena ollut Digimarc tarjoaa pelkän digitaalisen vesileimauksen lisäksi

laajempaa kokonaispalvelua, Digimarc Mediabridgeä [23]. Tämän kokonaisuuden

avulla digitaalisen vesileiman käyttötarkoitusta voidaan laajentaa pelkästä

tekijänoikeuksien valvonnasta laajempaan tunnistukseen. Palvelun avulla voi

esimerkiksi tunnistaa mainoskuvasta yrityksen ja saada tämän yhteystiedot tai siirtyä

yrityksen kotisivuille.

Työn kokeellisessa osiossa toteutettiin järjestelmä, jolla voidaan asettaa kuvaan

digitaalinen vesileima. Toteutetulla järjestelmällä saatiin onnistuneesti piilotettua

vesileima testikuviin ja myös tavoitteena ollut robustius häviöllistä pakkausta vastaan

saavutettiin osittain. Järjestelmä ei kuitenkaan sovi käytännön sovellutuksiin ilman

laajoja muokkauksia. Nykyisessä muodossa järjestelmä toimii vain testipenkkinä

suunnittelun takana olleelle teorialle. Tässä työssä käytetty testimateriaali on suppea ja

sen perusteella on vaikea tehdä johtopäätöksiä käytetyn menetelmän soveltuvuudesta eri

kuville. Tämä ongelma tosin on vaikea ratkaista, sillä myös Digimarc:lla piilotettu

vahvempi vesileima aiheutti havaittavia häiriöitä testikuvalla Cameraman.jpg.

Kehitettävää omassa menetelmässä olisi myös vesileiman havainnoinnissa. Siihen tulisi

määrittää tietyt arvot, joiden perusteella voitaisiin sanoa varmasti onko vesileima

paikalla vai ei. Nykyisellään menetelmä ilmoittaa vain korrelaation alkuperäisen ja

testikuvasta löydetyn vesileiman välillä, eikä ota kantaa siihen mikä arvon tulisi olla

jotta vesileiman voitaisiin tulkita olevan havaittavissa. Piilotetun vesileiman kestävyyttä

Page 30: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

25

pitäisi myös testata häviöllisen pakkauksen lisäksi muita hyökkäyksiä vastaan. Tässä

työssä mielenkiinnon kohteena olleiden digitaalisten valokuvien lisäksi esitellyt teoriat

ja menetelmät soveltuvat pienin varauksin myös tiedon piilottamiseen muunlaiseen

digitaalisen peitemateriaaliin. Olisikin mielenkiintoista tutkia minkälaisia tuloksia

saavutettaisiin esimerkiksi äänisignaalin tapauksessa.

Page 31: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

26

5. LÄHDELUETTELO

[1] (2009) Merriam-Webster Online Dictionary. [Online]. http://www.merriam-

webster.com/dictionary/steganography

[2] S. Katzenbeisser and F. A. P. Petitcolas, Information Hiding Techniques for

Steganography and Digital Watermarking. Boston: Artech house, 2000.

[3] I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich, and T. Kalker, Digital

Watermarking and Steganography. Burlington: Morgan Kaufman Publishers,

2008.

[4] G. J. Simmons. (1984) Advances in Cryptology: Proceedings of Crypto.

[Online]. http://dsns.csie.nctu.edu.tw/research/crypto/HTML/PDF/C83/51.PDF

[5] R. J. Anderson and F. A. P. Petitcolas, "On the Limits of Steganography," IEEE

journal on selected areas in communication, vol. 16, no. 4, pp. 474-481, 1998.

[6] M. Carli, Perceptual Aspects in Data Hiding. Tampere: Tampereen teknillinen

yliopisto, 2008, Ph.d. Thesis.

[7] D. Neeta, K. Snehal, and D. Jacobs, "Implementation of LSB Steganography and

Its Evaluation for Various Bits," in 1st International Conference on Digital

Information Management, 2006, pp. 173-178.

[8] J. Fridrich, M. Goljan, and R. Du, "Detecting LSB steganography in color and

gray-scale images," Magazine of IEEE Multimedia and Security, vol. 8, no. 4,

2001.

[9] A. Westfield and A. Pfitzmann, "Attacks on Steganographic systems," in In

proceedings of information hiding - third international workshop, 1999.

[10] M. Chen, R. Zhang, X. Niu, and Y. Yang, "Analysis of current steganography

tools: classifications & features," in Intelligent information hiding and

multimedia signal processing, Beijing, 2006, pp. 384-387.

[11] Y. Srinivasan, B. Nutter, S. Mitra, B. Phillips, and D. Ferris, "Secure

transmission of medical records using high capacity steganography," in

Computer-Based Medical systems, 2004, pp. 122-127.

[12] H. Qi, W. E. Snyder, and W. A. Sander, "Blind consistency-based stganography

for information hiding in digital media," in Multimedia and Expo, vol. 1, 2002,

pp. 585-588.

[13] K. S. Babu, et al., "Authentication of Secret Information in Image

Steganoraphy," in TENCON, 2008, pp. 1-6.

[14] H.-J. Zhang and H.-J. Tang, "A Novel Image Steganography Algorithm Against

Statistical Analysis," in Machine learning and cybernetics, vol. 7, 2007, pp.

3884-3888.

Page 32: Tiedon piilottaminen kuviin - cs.tut.fi Hayrynen.pdf · Kryptografia Tiedon salaaminen (cryptography) PNG Häviötön bittikarttagrafiikan tallennusformaatti (Portable network graphics).

27

[15] L. Xiangyang, L. Bin, and L. Fenlin, "A Dynamic Compensation LSB

Steganography Resisting RS steganalysis," in SoutheasatCon, 2005, pp. 244-

249.

[16] I. A. Nasir, Y. Weng, and J. Jiang, "A New Robust Watermarking Scheme for

Color Image in Spatial Domain," in Third international IEEE Conference on

Signal-Image Technologies and Internet-Based System, Bradford, 2007.

[17] R. C. Gonzalez and R. E. Woods, Digital image processing. New Jersey:

Pearson Prentice hall, 2008.

[18] A. Skodras, C. Christopoulos, and T. Ebrahimi, "The JPEG 2000 still image

compression standard," Signal Processing Magazine, vol. 18, no. 5, pp. 36-58,

Sep. 2001.

[19] J. Xu, A. H. Sung, P. Shi, and Q. Liu, "JPEG Comprerssion Immune

Steganography Using Wavelet Transform," in Information technology: coding

and computing, 2004.

[20] S. S. Shahreza and M. T. M. Shalmani, "High capacity error free wavelet

Domain Speech Steganography," in IEEE International Conference on

Acoustics, Speech and Signal Processing, 2008. ICASSP 2008., 2008, pp. 1729-

1732.

[21] A. M. Fard, M.-R. Akbarzadeh-T, and F. Varasteh-A, "A New Genetic

Algorithm Approach for Secure JPEG Steganography," in Engineering of

intelligent systems, Mashhad, 2006, pp. 1-6.

[22] C.-M. Chu, H.-C. Huang, and J.-S. Pan, "An Adaptive Implementation for DCT-

Based Robust Watermarking with Genetic Algorithm," in Innovative computing

information and control, 2008.

[23] A. M. Alattar. Digimarc kotisivu. [Online].

https://www.digimarc.com/resources/docs/tech_papers/dmrc_bridging_printed_

media.pdf